From d30babc23b4f25be970ada2e63a50220a3672281 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Tue, 17 May 2016 12:28:46 -0600 Subject: [PATCH] Import upstream version 1.29 --- ChangeLog | 1336 ++-- ChangeLog.1 | 2 +- INSTALL | 320 +- Make.rules | 32 +- Makefile.am | 4 +- Makefile.in | 105 +- NEWS | 90 +- README | 5 +- THANKS | 7 + TODO | 3 +- acinclude.m4 | 44 +- aclocal.m4 | 11 +- build-aux/config.guess | 47 +- build-aux/config.rpath | 18 +- build-aux/config.sub | 49 +- build-aux/depcomp | 2 +- build-aux/gitlog-to-changelog | 174 +- build-aux/install-sh | 31 +- build-aux/mdate-sh | 2 +- build-aux/snippet/arg-nonnull.h | 4 +- build-aux/snippet/c++defs.h | 4 +- build-aux/snippet/unused-parameter.h | 4 +- build-aux/snippet/warn-on-use.h | 4 +- build-aux/texinfo.tex | 664 +- config.h.in | 195 +- configure | 2771 +++---- configure.ac | 11 +- doc/Makefile.am | 2 +- doc/Makefile.in | 71 +- doc/dumpdir.texi | 2 +- doc/fdl.texi | 2 +- doc/gendocs_template | 2 +- doc/genfile.texi | 43 +- doc/header.texi | 4 +- doc/intern.texi | 2 +- doc/mastermenu.el | 2 +- doc/parse-datetime.texi | 4 +- doc/rendition.texi | 4 +- doc/snapshot.texi | 4 +- doc/sparse.texi | 2 +- doc/stamp-vti | 8 +- doc/tar-snapshot-edit.texi | 2 +- doc/tar.1 | 185 +- doc/tar.info | 863 ++- doc/tar.info-1 | 6436 ++++++++-------- doc/tar.info-2 | 5655 ++++++++------ doc/tar.texi | 896 ++- doc/texify.sed | 2 +- doc/value.texi | 2 +- doc/version.texi | 8 +- gnu/Makefile.am | 3491 ++++++++- gnu/Makefile.in | 356 +- gnu/acl-errno-valid.c | 4 +- gnu/acl-internal.c | 507 ++ gnu/acl-internal.h | 83 +- gnu/acl.h | 9 +- gnu/acl_entries.c | 4 +- gnu/alignof.h | 50 + gnu/alloca.c | 2 - gnu/alloca.in.h | 4 +- gnu/allocator.c | 2 - gnu/allocator.h | 4 +- gnu/anytostr.c | 4 +- gnu/areadlink-with-size.c | 104 + gnu/areadlink.c | 4 +- gnu/areadlink.h | 4 +- gnu/areadlinkat-with-size.c | 132 + gnu/areadlinkat.c | 4 +- gnu/argmatch.c | 4 +- gnu/argmatch.h | 4 +- gnu/argp-ba.c | 4 +- gnu/argp-eexst.c | 4 +- gnu/argp-fmtstream.c | 4 +- gnu/argp-fmtstream.h | 4 +- gnu/argp-fs-xinl.c | 4 +- gnu/argp-help.c | 12 +- gnu/argp-namefrob.h | 4 +- gnu/argp-parse.c | 4 +- gnu/argp-pin.c | 4 +- gnu/argp-pv.c | 4 +- gnu/argp-pvh.c | 4 +- gnu/argp-version-etc.c | 4 +- gnu/argp-version-etc.h | 4 +- gnu/argp-xinl.c | 4 +- gnu/argp.h | 4 +- gnu/asnprintf.c | 4 +- gnu/asprintf.c | 4 +- gnu/assure.h | 37 + gnu/at-func.c | 4 +- gnu/at-func2.c | 4 +- gnu/backupfile.c | 4 +- gnu/backupfile.h | 4 +- gnu/basename-lgpl.c | 4 +- gnu/basename.c | 4 +- gnu/bitrotate.c | 2 - gnu/bitrotate.h | 4 +- gnu/btowc.c | 4 +- gnu/c-ctype.c | 4 +- gnu/c-ctype.h | 4 +- gnu/c-strcase.h | 4 +- gnu/c-strcasecmp.c | 4 +- gnu/c-strcaseeq.h | 4 +- gnu/c-strncasecmp.c | 4 +- gnu/canonicalize-lgpl.c | 4 +- gnu/careadlinkat.c | 4 +- gnu/careadlinkat.h | 4 +- gnu/chdir-long.c | 19 +- gnu/chdir-long.h | 4 +- gnu/chmodat.c | 2 - gnu/chown.c | 9 +- gnu/chownat.c | 2 - gnu/cloexec.c | 4 +- gnu/cloexec.h | 4 +- gnu/close-stream.c | 4 +- gnu/close-stream.h | 2 - gnu/close.c | 4 +- gnu/closedir.c | 4 +- gnu/closeout.c | 4 +- gnu/closeout.h | 4 +- gnu/config.charset | 6 +- gnu/dirent--.h | 5 +- gnu/dirent-private.h | 4 +- gnu/dirent-safer.h | 4 +- gnu/dirent.in.h | 6 +- gnu/dirfd.c | 4 +- gnu/dirname-lgpl.c | 4 +- gnu/dirname.c | 4 +- gnu/dirname.h | 12 +- gnu/dosname.h | 4 +- gnu/dup-safer.c | 4 +- gnu/dup.c | 4 +- gnu/dup2.c | 4 +- gnu/errno.in.h | 4 +- gnu/error.c | 27 +- gnu/error.h | 18 +- gnu/euidaccess.c | 4 +- gnu/exclude.c | 12 +- gnu/exclude.h | 4 +- gnu/exitfail.c | 4 +- gnu/exitfail.h | 4 +- gnu/faccessat.c | 4 +- gnu/fchdir.c | 10 +- gnu/fchmodat.c | 4 +- gnu/fchown-stub.c | 2 - gnu/fchownat.c | 4 +- gnu/fcntl.c | 26 +- gnu/fcntl.in.h | 24 +- gnu/fd-hook.c | 4 +- gnu/fd-hook.h | 4 +- gnu/fd-safer.c | 4 +- gnu/fdopendir.c | 17 +- gnu/fdutimensat.c | 4 +- gnu/file-has-acl.c | 480 +- gnu/fileblocks.c | 4 +- gnu/filename.h | 4 +- gnu/filenamecat-lgpl.c | 4 +- gnu/filenamecat.h | 4 +- gnu/float+.h | 4 +- gnu/float.c | 4 +- gnu/float.in.h | 4 +- gnu/fnmatch.c | 4 +- gnu/fnmatch.in.h | 4 +- gnu/fnmatch_loop.c | 4 +- gnu/fpending.c | 4 +- gnu/fpending.h | 4 +- gnu/fprintftime.c | 2 - gnu/fprintftime.h | 8 +- gnu/fseek.c | 4 +- gnu/fseeko.c | 15 +- gnu/fstat.c | 4 +- gnu/fstatat.c | 4 +- gnu/full-write.c | 4 +- gnu/full-write.h | 4 +- gnu/futimens.c | 4 +- gnu/get-permissions.c | 291 + gnu/getcwd-lgpl.c | 4 +- gnu/getcwd.c | 12 +- gnu/getdelim.c | 4 +- gnu/getdtablesize.c | 42 +- gnu/getfilecon.c | 5 +- gnu/getgroups.c | 4 +- gnu/getline.c | 4 +- gnu/getopt.c | 56 +- gnu/getopt.in.h | 4 +- gnu/getopt1.c | 4 +- gnu/getopt_int.h | 4 +- gnu/getpagesize.c | 4 +- gnu/gettext.h | 4 +- gnu/gettime.c | 4 +- gnu/gettimeofday.c | 4 +- gnu/group-member.c | 4 +- gnu/hash.c | 12 +- gnu/hash.h | 8 +- gnu/human.c | 4 +- gnu/human.h | 4 +- gnu/imaxtostr.c | 2 - gnu/intprops.h | 4 +- gnu/inttostr.c | 2 - gnu/inttostr.h | 4 +- gnu/inttypes.in.h | 8 +- gnu/iswblank.c | 4 +- gnu/itold.c | 4 +- gnu/langinfo.in.h | 22 +- gnu/lchown.c | 4 +- gnu/link.c | 4 +- gnu/linkat.c | 22 +- gnu/localcharset.c | 83 +- gnu/localcharset.h | 4 +- gnu/locale.in.h | 4 +- gnu/localeconv.c | 4 +- gnu/lseek.c | 4 +- gnu/lstat.c | 4 +- gnu/malloc.c | 4 +- gnu/malloca.c | 4 +- gnu/malloca.h | 4 +- gnu/mbchar.c | 4 +- gnu/mbchar.h | 4 +- gnu/mbrtowc.c | 11 +- gnu/mbscasecmp.c | 4 +- gnu/mbsinit.c | 4 +- gnu/mbsrtowcs-impl.h | 4 +- gnu/mbsrtowcs-state.c | 4 +- gnu/mbsrtowcs.c | 4 +- gnu/mbtowc-impl.h | 4 +- gnu/mbtowc.c | 4 +- gnu/mbuiter.c | 2 - gnu/mbuiter.h | 4 +- gnu/memchr.c | 4 +- gnu/mempcpy.c | 4 +- gnu/memrchr.c | 4 +- gnu/mkdir.c | 4 +- gnu/mkdirat.c | 4 +- gnu/mkdtemp.c | 4 +- gnu/mkfifo.c | 4 +- gnu/mkfifoat.c | 4 +- gnu/mknod.c | 4 +- gnu/mknodat.c | 4 +- gnu/mktime-internal.h | 2 - gnu/mktime.c | 8 +- gnu/modechange.c | 4 +- gnu/modechange.h | 4 +- gnu/msvc-inval.c | 4 +- gnu/msvc-inval.h | 4 +- gnu/msvc-nothrow.c | 4 +- gnu/msvc-nothrow.h | 4 +- gnu/nl_langinfo.c | 257 +- gnu/obstack.c | 373 +- gnu/obstack.h | 765 +- gnu/offtostr.c | 2 - gnu/open.c | 4 +- gnu/openat-die.c | 8 +- gnu/openat-priv.h | 4 +- gnu/openat-proc.c | 12 +- gnu/openat.c | 4 +- gnu/openat.h | 4 +- gnu/opendir-safer.c | 4 +- gnu/opendir.c | 4 +- gnu/parse-datetime.c | 6 +- gnu/parse-datetime.h | 4 +- gnu/parse-datetime.y | 6 +- gnu/pathmax.h | 4 +- gnu/pipe-safer.c | 4 +- gnu/printf-args.c | 4 +- gnu/printf-args.h | 4 +- gnu/printf-parse.c | 4 +- gnu/printf-parse.h | 4 +- gnu/priv-set.c | 4 +- gnu/priv-set.h | 4 +- gnu/progname.c | 4 +- gnu/progname.h | 4 +- gnu/quote.h | 4 +- gnu/quotearg.c | 6 +- gnu/quotearg.h | 4 +- gnu/raise.c | 4 +- gnu/rawmemchr.c | 4 +- gnu/read.c | 4 +- gnu/readdir.c | 4 +- gnu/readlink.c | 4 +- gnu/readlinkat.c | 58 +- gnu/realloc.c | 4 +- gnu/ref-add.sin | 2 +- gnu/ref-del.sin | 2 +- gnu/regcomp.c | 26 +- gnu/regex.c | 4 +- gnu/regex.h | 21 +- gnu/regex_internal.c | 8 +- gnu/regex_internal.h | 8 +- gnu/regexec.c | 4 +- gnu/rename.c | 10 +- gnu/renameat.c | 4 +- gnu/rewinddir.c | 4 +- gnu/rmdir.c | 4 +- gnu/root-uid.h | 4 +- gnu/rpmatch.c | 4 +- gnu/safe-read.c | 4 +- gnu/safe-read.h | 4 +- gnu/safe-write.c | 4 +- gnu/safe-write.h | 4 +- gnu/same-inode.h | 4 +- gnu/save-cwd.c | 4 +- gnu/save-cwd.h | 4 +- gnu/savedir.c | 7 +- gnu/savedir.h | 4 +- gnu/se-context.c | 2 - gnu/se-context.in.h | 2 - gnu/se-selinux.c | 2 - gnu/se-selinux.in.h | 4 +- gnu/secure_getenv.c | 4 +- gnu/selinux-at.c | 4 +- gnu/selinux-at.h | 4 +- gnu/set-permissions.c | 846 ++ gnu/setenv.c | 4 +- gnu/signal.in.h | 12 +- gnu/size_max.h | 4 +- gnu/sleep.c | 4 +- gnu/snprintf.c | 4 +- gnu/stat-macros.h | 2 - gnu/stat-time.c | 2 - gnu/stat-time.h | 20 +- gnu/stat.c | 4 +- gnu/statat.c | 2 - gnu/stdalign.in.h | 18 +- gnu/stdarg.in.h | 4 +- gnu/stdbool.in.h | 4 +- gnu/stddef.in.h | 56 +- gnu/stdint.in.h | 4 +- gnu/stdio-impl.h | 9 +- gnu/stdio.in.h | 14 +- gnu/stdlib.in.h | 27 +- gnu/stpcpy.c | 4 +- gnu/strcasecmp.c | 4 +- gnu/strchrnul.c | 4 +- gnu/strdup.c | 4 +- gnu/streq.h | 4 +- gnu/strerror-override.c | 4 +- gnu/strerror-override.h | 4 +- gnu/strerror.c | 4 +- gnu/strftime.c | 76 +- gnu/strftime.h | 11 +- gnu/string.in.h | 25 +- gnu/strings.in.h | 4 +- gnu/stripslash.c | 4 +- gnu/strncasecmp.c | 4 +- gnu/strndup.c | 4 +- gnu/strnlen.c | 4 +- gnu/strnlen1.c | 4 +- gnu/strnlen1.h | 4 +- gnu/strtoimax.c | 4 +- gnu/strtol.c | 4 +- gnu/strtoll.c | 4 +- gnu/strtoul.c | 4 +- gnu/strtoull.c | 4 +- gnu/strtoumax.c | 2 - gnu/symlink.c | 4 +- gnu/symlinkat.c | 30 +- gnu/sys_stat.in.h | 4 +- gnu/sys_time.in.h | 4 +- gnu/sys_types.in.h | 4 +- gnu/sysexits.in.h | 4 +- gnu/tempname.c | 122 +- gnu/tempname.h | 19 +- gnu/time-internal.h | 49 + gnu/time.in.h | 33 +- gnu/time_r.c | 4 +- gnu/time_rz.c | 326 + gnu/timegm.c | 38 + gnu/timespec-sub.c | 68 + gnu/timespec.c | 2 - gnu/timespec.h | 8 +- gnu/uinttostr.c | 2 - gnu/umaxtostr.c | 2 - gnu/unistd--.h | 4 +- gnu/unistd-safer.h | 4 +- gnu/unistd.c | 2 - gnu/unistd.in.h | 41 +- gnu/unitypes.in.h | 4 +- gnu/uniwidth.in.h | 4 +- gnu/uniwidth/cjk.h | 4 +- gnu/uniwidth/width.c | 154 +- gnu/unlink.c | 4 +- gnu/unlinkat.c | 25 +- gnu/unlinkdir.c | 4 +- gnu/unlinkdir.h | 4 +- gnu/unlocked-io.h | 4 +- gnu/unsetenv.c | 4 +- gnu/utimens.c | 6 +- gnu/utimens.h | 4 +- gnu/utimensat.c | 4 +- gnu/vasnprintf.c | 201 +- gnu/vasnprintf.h | 4 +- gnu/vasprintf.c | 4 +- gnu/verify.h | 4 +- gnu/version-etc-fsf.c | 4 +- gnu/version-etc.c | 6 +- gnu/version-etc.h | 4 +- gnu/vsnprintf.c | 4 +- gnu/wchar.in.h | 13 +- gnu/wcrtomb.c | 4 +- gnu/wctype-h.c | 2 - gnu/wctype.in.h | 4 +- gnu/wcwidth.c | 4 +- gnu/write.c | 4 +- gnu/xalloc-die.c | 4 +- gnu/xalloc-oversized.h | 4 +- gnu/xalloc.h | 23 +- gnu/xasprintf.c | 4 +- gnu/xgetcwd.c | 4 +- gnu/xgetcwd.h | 4 +- gnu/xmalloc.c | 4 +- gnu/xsize.c | 2 - gnu/xsize.h | 4 +- gnu/xstrndup.c | 4 +- gnu/xstrndup.h | 4 +- gnu/xstrtol-error.c | 4 +- gnu/xstrtol.c | 13 +- gnu/xstrtol.h | 4 +- gnu/xstrtoul.c | 2 - gnu/xstrtoumax.c | 2 - gnu/xvasprintf.c | 4 +- gnu/xvasprintf.h | 4 +- lib/Makefile.am | 5 +- lib/Makefile.in | 79 +- lib/attr-xattr.in.h | 2 +- lib/stdopen.c | 2 +- lib/wordsplit.c | 6 +- lib/wordsplit.h | 12 +- lib/xattr-at.c | 6 +- lib/xattr-at.h | 2 +- m4/00gnulib.m4 | 2 +- m4/absolute-header.m4 | 2 +- m4/acl.m4 | 63 +- m4/alloca.m4 | 2 +- m4/argp.m4 | 2 +- m4/backupfile.m4 | 2 +- m4/bison.m4 | 2 +- m4/btowc.m4 | 2 +- m4/canonicalize.m4 | 2 +- m4/chdir-long.m4 | 2 +- m4/chown.m4 | 2 +- m4/clock_time.m4 | 2 +- m4/close-stream.m4 | 2 +- m4/close.m4 | 2 +- m4/closedir.m4 | 2 +- m4/closeout.m4 | 2 +- m4/configmake.m4 | 2 +- m4/d-ino.m4 | 2 +- m4/dirent-safer.m4 | 2 +- m4/dirent_h.m4 | 2 +- m4/dirfd.m4 | 2 +- m4/dirname.m4 | 2 +- m4/double-slash-root.m4 | 2 +- m4/dup.m4 | 2 +- m4/dup2.m4 | 84 +- m4/eealloc.m4 | 2 +- m4/environ.m4 | 2 +- m4/errno_h.m4 | 2 +- m4/error.m4 | 2 +- m4/euidaccess.m4 | 2 +- m4/exponentd.m4 | 2 +- m4/extensions.m4 | 7 +- m4/extern-inline.m4 | 45 +- m4/faccessat.m4 | 2 +- m4/fchdir.m4 | 2 +- m4/fchmodat.m4 | 2 +- m4/fchownat.m4 | 2 +- m4/fcntl-o.m4 | 2 +- m4/fcntl.m4 | 48 +- m4/fcntl_h.m4 | 2 +- m4/fdopendir.m4 | 2 +- m4/fileblocks.m4 | 2 +- m4/filenamecat.m4 | 2 +- m4/flexmember.m4 | 41 + m4/float_h.m4 | 2 +- m4/fnmatch.m4 | 2 +- m4/fpending.m4 | 2 +- m4/fseek.m4 | 2 +- m4/fseeko.m4 | 2 +- m4/fstat.m4 | 2 +- m4/fstatat.m4 | 2 +- m4/futimens.m4 | 2 +- m4/getcwd-abort-bug.m4 | 2 +- m4/getcwd-path-max.m4 | 15 +- m4/getcwd.m4 | 9 +- m4/getdelim.m4 | 2 +- m4/getdtablesize.m4 | 8 +- m4/getgroups.m4 | 2 +- m4/getline.m4 | 2 +- m4/getopt.m4 | 2 +- m4/getpagesize.m4 | 2 +- m4/gettext.m4 | 1 - m4/gettime.m4 | 2 +- m4/gettimeofday.m4 | 2 +- m4/glibc21.m4 | 2 +- m4/gnulib-common.m4 | 64 +- m4/gnulib-comp.m4 | 123 +- m4/group-member.m4 | 2 +- m4/human.m4 | 2 +- m4/iconv.m4 | 61 +- m4/include_next.m4 | 2 +- m4/intmax_t.m4 | 2 +- m4/inttostr.m4 | 2 +- m4/inttypes-pri.m4 | 2 +- m4/inttypes.m4 | 2 +- m4/inttypes_h.m4 | 2 +- m4/iswblank.m4 | 2 +- m4/langinfo_h.m4 | 2 +- m4/largefile.m4 | 2 +- m4/lchown.m4 | 2 +- m4/lib-ld.m4 | 2 +- m4/lib-link.m4 | 2 +- m4/lib-prefix.m4 | 2 +- m4/libunistring-base.m4 | 2 +- m4/link-follow.m4 | 2 +- m4/link.m4 | 2 +- m4/linkat.m4 | 74 +- m4/localcharset.m4 | 2 +- m4/locale-fr.m4 | 2 +- m4/locale-ja.m4 | 2 +- m4/locale-zh.m4 | 2 +- m4/locale_h.m4 | 2 +- m4/localeconv.m4 | 2 +- m4/longlong.m4 | 2 +- m4/lseek.m4 | 2 +- m4/lstat.m4 | 50 +- m4/malloc.m4 | 2 +- m4/malloca.m4 | 2 +- m4/manywarnings.m4 | 51 +- m4/mbchar.m4 | 2 +- m4/mbiter.m4 | 2 +- m4/mbrtowc.m4 | 48 +- m4/mbsinit.m4 | 2 +- m4/mbsrtowcs.m4 | 2 +- m4/mbstate_t.m4 | 2 +- m4/mbtowc.m4 | 2 +- m4/memchr.m4 | 2 +- m4/mempcpy.m4 | 2 +- m4/memrchr.m4 | 2 +- m4/mkdir.m4 | 2 +- m4/mkdirat.m4 | 2 +- m4/mkdtemp.m4 | 2 +- m4/mkfifo.m4 | 2 +- m4/mkfifoat.m4 | 2 +- m4/mknod.m4 | 2 +- m4/mktime.m4 | 2 +- m4/mmap-anon.m4 | 2 +- m4/mode_t.m4 | 2 +- m4/modechange.m4 | 2 +- m4/msvc-inval.m4 | 2 +- m4/msvc-nothrow.m4 | 2 +- m4/multiarch.m4 | 2 +- m4/nl_langinfo.m4 | 2 +- m4/nocrash.m4 | 2 +- m4/obstack.m4 | 35 + m4/off_t.m4 | 2 +- m4/open.m4 | 2 +- m4/openat.m4 | 2 +- m4/opendir.m4 | 2 +- m4/parse-datetime.m4 | 2 +- m4/pathmax.m4 | 2 +- m4/po.m4 | 4 +- m4/printf.m4 | 67 +- m4/priv-set.m4 | 2 +- m4/progtest.m4 | 2 +- m4/quote.m4 | 2 +- m4/quotearg.m4 | 2 +- m4/raise.m4 | 2 +- m4/rawmemchr.m4 | 2 +- m4/read.m4 | 2 +- m4/readdir.m4 | 2 +- m4/readlink.m4 | 2 +- m4/readlinkat.m4 | 27 +- m4/realloc.m4 | 2 +- m4/regex.m4 | 2 +- m4/rename.m4 | 2 +- m4/renameat.m4 | 2 +- m4/rewinddir.m4 | 2 +- m4/rmdir.m4 | 2 +- m4/rpmatch.m4 | 2 +- m4/safe-read.m4 | 2 +- m4/safe-write.m4 | 2 +- m4/save-cwd.m4 | 2 +- m4/savedir.m4 | 2 +- m4/secure_getenv.m4 | 2 +- m4/selinux-context-h.m4 | 2 +- m4/selinux-selinux-h.m4 | 2 +- m4/setenv.m4 | 2 +- m4/signal_h.m4 | 2 +- m4/size_max.m4 | 2 +- m4/sleep.m4 | 2 +- m4/snprintf.m4 | 2 +- m4/ssize_t.m4 | 2 +- m4/stat-time.m4 | 2 +- m4/stat.m4 | 2 +- m4/stdalign.m4 | 10 +- m4/stdarg.m4 | 2 +- m4/stdbool.m4 | 2 +- m4/stddef_h.m4 | 10 +- m4/stdint.m4 | 2 +- m4/stdint_h.m4 | 2 +- m4/stdio_h.m4 | 31 +- m4/stdlib_h.m4 | 4 +- m4/stpcpy.m4 | 2 +- m4/strcase.m4 | 2 +- m4/strchrnul.m4 | 2 +- m4/strdup.m4 | 2 +- m4/strerror.m4 | 2 +- m4/strftime.m4 | 2 +- m4/string_h.m4 | 2 +- m4/strings_h.m4 | 2 +- m4/strndup.m4 | 2 +- m4/strnlen.m4 | 2 +- m4/strtoimax.m4 | 2 +- m4/strtol.m4 | 2 +- m4/strtoll.m4 | 2 +- m4/strtoul.m4 | 2 +- m4/strtoull.m4 | 2 +- m4/strtoumax.m4 | 2 +- m4/symlink.m4 | 2 +- m4/symlinkat.m4 | 37 +- m4/sys_socket_h.m4 | 2 +- m4/sys_stat_h.m4 | 2 +- m4/sys_time_h.m4 | 3 +- m4/sys_types_h.m4 | 2 +- m4/sysexits.m4 | 2 +- m4/tempname.m4 | 2 +- m4/time_h.m4 | 22 +- m4/time_r.m4 | 2 +- m4/time_rz.m4 | 21 + m4/timegm.m4 | 26 + m4/timespec.m4 | 2 +- m4/tm_gmtoff.m4 | 2 +- m4/ulonglong.m4 | 48 + m4/unistd-safer.m4 | 2 +- m4/unistd_h.m4 | 6 +- m4/unlink.m4 | 2 +- m4/unlinkat.m4 | 3 +- m4/unlinkdir.m4 | 2 +- m4/unlocked-io.m4 | 2 +- m4/utimbuf.m4 | 2 +- m4/utimens.m4 | 2 +- m4/utimensat.m4 | 2 +- m4/utimes.m4 | 2 +- m4/vasnprintf.m4 | 2 +- m4/vasprintf.m4 | 2 +- m4/version-etc.m4 | 2 +- m4/vsnprintf.m4 | 2 +- m4/warn-on-use.m4 | 2 +- m4/warnings.m4 | 2 +- m4/wchar_h.m4 | 2 +- m4/wchar_t.m4 | 2 +- m4/wcrtomb.m4 | 2 +- m4/wctype_h.m4 | 2 +- m4/wcwidth.m4 | 2 +- m4/wint_t.m4 | 2 +- m4/write.m4 | 2 +- m4/xalloc.m4 | 2 +- m4/xgetcwd.m4 | 2 +- m4/xsize.m4 | 2 +- m4/xstrndup.m4 | 2 +- m4/xstrtol.m4 | 2 +- m4/xvasprintf.m4 | 2 +- po/Makefile.in.in | 120 +- po/Makevars | 2 - po/POTFILES.in | 4 +- po/bg.gmo | Bin 55003 -> 54636 bytes po/bg.po | 1378 ++-- po/ca.gmo | Bin 53748 -> 62909 bytes po/ca.po | 1596 ++-- po/cs.gmo | Bin 61702 -> 64778 bytes po/cs.po | 1397 ++-- po/da.gmo | Bin 50516 -> 59109 bytes po/da.po | 1545 ++-- po/de.gmo | Bin 61544 -> 63166 bytes po/de.po | 1397 ++-- po/el.gmo | Bin 14403 -> 14403 bytes po/el.po | 1343 ++-- po/eo.gmo | Bin 58268 -> 59707 bytes po/eo.po | 1393 ++-- po/es.gmo | Bin 46448 -> 64905 bytes po/es.po | 1665 ++-- po/et.gmo | Bin 56801 -> 59526 bytes po/et.po | 1388 ++-- po/eu.gmo | Bin 32619 -> 32421 bytes po/eu.po | 1356 ++-- po/fi.gmo | Bin 51931 -> 55279 bytes po/fi.po | 1464 ++-- po/fr.gmo | Bin 55949 -> 67125 bytes po/fr.po | 1673 ++-- po/ga.gmo | Bin 49802 -> 49287 bytes po/ga.po | 1390 ++-- po/gl.gmo | Bin 10629 -> 10629 bytes po/gl.po | 1346 ++-- po/hr.gmo | Bin 52151 -> 62929 bytes po/hr.po | 1687 ++-- po/hu.gmo | Bin 64160 -> 67278 bytes po/hu.po | 1400 ++-- po/id.gmo | Bin 51823 -> 60422 bytes po/id.po | 1543 ++-- po/it.gmo | Bin 60563 -> 63502 bytes po/it.po | 1404 ++-- po/ja.gmo | Bin 56488 -> 59176 bytes po/ja.po | 1390 ++-- po/ko.gmo | Bin 3670 -> 3670 bytes po/ko.po | 1340 ++-- po/ky.gmo | Bin 55586 -> 55204 bytes po/ky.po | 1380 ++-- po/ms.gmo | Bin 9594 -> 9594 bytes po/ms.po | 1343 ++-- po/nb.gmo | Bin 4092 -> 60767 bytes po/nb.po | 3353 ++++---- po/nl.gmo | Bin 60799 -> 63676 bytes po/nl.po | 1400 ++-- po/pl.gmo | Bin 53966 -> 64860 bytes po/pl.po | 1660 ++-- po/pt.gmo | Bin 3256 -> 3256 bytes po/pt.po | 1335 ++-- po/pt_BR.gmo | Bin 44560 -> 44246 bytes po/pt_BR.po | 1355 ++-- po/ro.gmo | Bin 22989 -> 22819 bytes po/ro.po | 1385 ++-- po/ru.gmo | Bin 79076 -> 83032 bytes po/ru.po | 1397 ++-- po/sk.gmo | Bin 10239 -> 10239 bytes po/sk.po | 1343 ++-- po/sl.gmo | Bin 60216 -> 61686 bytes po/sl.po | 1390 ++-- po/sr.gmo | Bin 77755 -> 79830 bytes po/sr.po | 1382 ++-- po/sv.gmo | Bin 58448 -> 59952 bytes po/sv.po | 1411 ++-- po/tar.pot | 1325 ++-- po/tr.gmo | Bin 52741 -> 52198 bytes po/tr.po | 1383 ++-- po/uk.gmo | Bin 68734 -> 84183 bytes po/uk.po | 1918 ++--- po/vi.gmo | Bin 65742 -> 67313 bytes po/vi.po | 1453 ++-- po/zh_CN.gmo | Bin 47820 -> 57290 bytes po/zh_CN.po | 1532 ++-- po/zh_TW.gmo | Bin 48424 -> 47918 bytes po/zh_TW.po | 1375 ++-- rmt/Makefile.in | 69 +- scripts/Makefile.am | 3 +- scripts/Makefile.in | 72 +- scripts/backup-specs | 2 +- scripts/backup.sh.in | 2 +- scripts/dump-remind.in | 3 +- scripts/restore.in | 2 +- src/Makefile.am | 9 +- src/Makefile.in | 83 +- src/arith.h | 2 +- src/buffer.c | 70 +- src/checkpoint.c | 2 +- src/common.h | 84 +- src/compare.c | 14 +- src/create.c | 67 +- src/delete.c | 2 +- src/exclist.c | 70 +- src/exit.c | 2 +- src/extract.c | 71 +- src/incremen.c | 26 +- src/list.c | 51 +- src/map.c | 283 + src/misc.c | 24 +- src/names.c | 532 +- src/sparse.c | 175 +- src/suffix.c | 2 +- src/system.c | 17 +- src/tar.c | 736 +- src/tar.h | 8 +- src/transform.c | 18 +- src/unlink.c | 99 +- src/update.c | 2 +- src/utf8.c | 3 +- src/warning.c | 2 +- src/xattrs.c | 2 +- src/xattrs.h | 2 +- src/xheader.c | 27 +- tests/Makefile.am | 33 +- tests/Makefile.in | 157 +- tests/T-cd.at | 2 +- tests/T-dir00.at | 46 + tests/T-dir01.at | 46 + tests/T-empty.at | 2 +- tests/T-mult.at | 2 +- tests/T-nest.at | 2 +- tests/T-nonl.at | 2 +- tests/T-null.at | 2 +- tests/T-null2.at | 43 + tests/T-rec.at | 2 +- tests/T-recurse.at | 90 + tests/T-zfile.at | 2 +- tests/acls01.at | 2 +- tests/acls02.at | 2 +- tests/acls03.at | 2 +- tests/append.at | 5 +- tests/append01.at | 2 +- tests/append02.at | 3 +- tests/append03.at | 2 +- tests/append04.at | 2 +- tests/append05.at | 96 + tests/atlocal.in | 25 +- tests/backup01.at | 2 +- tests/capabs_raw01.at | 2 +- tests/checkseekhole.c | 92 + tests/chtype.at | 2 +- tests/ckmtime.c | 69 + tests/comperr.at | 39 + tests/comprec.at | 3 +- tests/delete01.at | 3 +- tests/delete02.at | 3 +- tests/delete03.at | 2 +- tests/delete04.at | 3 +- tests/delete05.at | 3 +- tests/exclude.at | 2 +- tests/exclude01.at | 2 +- tests/exclude02.at | 2 +- tests/exclude03.at | 2 +- tests/exclude04.at | 2 +- tests/exclude05.at | 2 +- tests/exclude06.at | 2 +- tests/exclude07.at | 2 +- tests/exclude08.at | 2 +- tests/exclude09.at | 2 +- tests/exclude10.at | 2 +- tests/exclude11.at | 2 +- tests/exclude12.at | 2 +- tests/exclude13.at | 2 +- tests/exclude14.at | 2 +- tests/exclude15.at | 2 +- tests/exclude16.at | 2 +- tests/extrac01.at | 3 +- tests/extrac02.at | 3 +- tests/extrac03.at | 2 +- tests/extrac04.at | 3 +- tests/extrac05.at | 3 +- tests/extrac06.at | 2 +- tests/extrac07.at | 2 +- tests/extrac08.at | 2 +- tests/extrac09.at | 2 +- tests/extrac10.at | 2 +- tests/extrac11.at | 2 +- tests/extrac12.at | 2 +- tests/extrac13.at | 2 +- tests/extrac14.at | 2 +- tests/extrac15.at | 2 +- tests/extrac16.at | 2 +- tests/extrac17.at | 2 +- tests/extrac18.at | 2 +- tests/extrac19.at | 2 +- tests/filerem01.at | 2 +- tests/filerem02.at | 2 +- tests/genfile.c | 98 +- tests/grow.at | 2 +- tests/gzip.at | 4 +- tests/ignfail.at | 3 +- tests/incr01.at | 4 +- tests/incr02.at | 3 +- tests/incr03.at | 4 +- tests/incr04.at | 4 +- tests/incr05.at | 3 +- tests/incr06.at | 3 +- tests/incr07.at | 3 +- tests/incr08.at | 3 +- tests/incr09.at | 3 +- tests/incr10.at | 65 + tests/incr11.at | 76 + tests/incremental.at | 4 +- tests/indexfile.at | 2 +- tests/label01.at | 2 +- tests/label02.at | 2 +- tests/label03.at | 2 +- tests/label04.at | 2 +- tests/label05.at | 2 +- tests/link01.at | 3 +- tests/link02.at | 2 +- tests/link03.at | 2 +- tests/link04.at | 7 +- tests/listed01.at | 5 +- tests/listed02.at | 4 +- tests/listed03.at | 9 +- tests/listed04.at | 4 +- tests/listed05.at | 3 +- tests/long01.at | 2 +- tests/longv7.at | 3 +- tests/lustar01.at | 2 +- tests/lustar02.at | 2 +- tests/lustar03.at | 2 +- tests/map.at | 71 + tests/multiv01.at | 4 +- tests/multiv02.at | 3 +- tests/multiv03.at | 2 +- tests/multiv04.at | 2 +- tests/multiv05.at | 2 +- tests/multiv06.at | 2 +- tests/multiv07.at | 2 +- tests/multiv08.at | 2 +- tests/multiv09.at | 48 + tests/numeric.at | 74 + tests/old.at | 2 +- tests/onetop01.at | 2 +- tests/onetop02.at | 2 +- tests/onetop03.at | 4 +- tests/onetop04.at | 4 +- tests/onetop05.at | 73 + tests/opcomp01.at | 2 +- tests/opcomp02.at | 2 +- tests/opcomp03.at | 2 +- tests/opcomp04.at | 2 +- tests/opcomp05.at | 2 +- tests/opcomp06.at | 2 +- tests/options.at | 3 +- tests/options02.at | 3 +- tests/owner.at | 2 +- tests/package.m4 | 4 +- tests/pipe.at | 2 +- tests/recurs02.at | 9 +- tests/recurse.at | 2 +- tests/remfiles01.at | 2 +- tests/remfiles02.at | 2 +- tests/remfiles03.at | 2 +- tests/remfiles04a.at | 2 +- tests/remfiles04b.at | 2 +- tests/remfiles04c.at | 2 +- tests/remfiles05a.at | 2 +- tests/remfiles05b.at | 2 +- tests/remfiles05c.at | 2 +- tests/remfiles06a.at | 2 +- tests/remfiles06b.at | 2 +- tests/remfiles06c.at | 2 +- tests/remfiles07a.at | 2 +- tests/remfiles07b.at | 2 +- tests/remfiles07c.at | 2 +- tests/remfiles08a.at | 2 +- tests/remfiles08b.at | 4 +- tests/remfiles08c.at | 2 +- tests/remfiles09a.at | 2 +- tests/remfiles09b.at | 4 +- tests/remfiles09c.at | 2 +- tests/remfiles10.at | 2 +- tests/rename01.at | 3 +- tests/rename02.at | 3 +- tests/rename03.at | 3 +- tests/rename04.at | 2 +- tests/rename05.at | 2 +- tests/same-order01.at | 3 +- tests/same-order02.at | 3 +- tests/selacl01.at | 2 +- tests/selnx01.at | 2 +- tests/shortfile.at | 2 +- tests/shortrec.at | 3 +- tests/shortupd.at | 2 +- tests/sigpipe.at | 2 +- tests/sparse01.at | 3 +- tests/sparse02.at | 5 +- tests/sparse03.at | 2 +- tests/sparse04.at | 2 +- tests/sparse05.at | 47 + tests/sparse06.at | 54 + tests/sparsemv.at | 3 +- tests/sparsemvp.at | 3 +- tests/spmvp00.at | 2 +- tests/spmvp01.at | 2 +- tests/spmvp10.at | 2 +- tests/star/README | 4 +- tests/star/gtarfail.at | 3 +- tests/star/gtarfail2.at | 3 +- tests/star/multi-fail.at | 3 +- tests/star/pax-big-10g.at | 3 +- tests/star/quicktest.sh | 3 +- tests/star/ustar-big-2g.at | 3 +- tests/star/ustar-big-8g.at | 3 +- tests/testsuite | 10246 ++++++++++++++++++++----- tests/testsuite.at | 37 +- tests/time01.at | 2 +- tests/time02.at | 43 + tests/truncate.at | 2 +- tests/update.at | 2 +- tests/update01.at | 2 +- tests/update02.at | 2 +- tests/verbose.at | 2 +- tests/verify.at | 2 +- tests/version.at | 3 +- tests/volsize.at | 2 +- tests/volume.at | 3 +- tests/xattr01.at | 2 +- tests/xattr02.at | 2 +- tests/xattr03.at | 2 +- tests/xattr04.at | 2 +- tests/xattr05.at | 2 +- tests/xform-h.at | 2 +- tests/xform01.at | 2 +- tests/xform02.at | 36 + 993 files changed, 62528 insertions(+), 43437 deletions(-) create mode 100644 gnu/acl-internal.c create mode 100644 gnu/alignof.h create mode 100644 gnu/areadlink-with-size.c create mode 100644 gnu/areadlinkat-with-size.c create mode 100644 gnu/assure.h create mode 100644 gnu/get-permissions.c create mode 100644 gnu/set-permissions.c create mode 100644 gnu/time-internal.h create mode 100644 gnu/time_rz.c create mode 100644 gnu/timegm.c create mode 100644 gnu/timespec-sub.c create mode 100644 m4/flexmember.m4 create mode 100644 m4/obstack.m4 create mode 100644 m4/time_rz.m4 create mode 100644 m4/timegm.m4 create mode 100644 m4/ulonglong.m4 create mode 100644 src/map.c create mode 100644 tests/T-dir00.at create mode 100644 tests/T-dir01.at create mode 100644 tests/T-null2.at create mode 100644 tests/T-recurse.at create mode 100644 tests/append05.at create mode 100644 tests/checkseekhole.c create mode 100644 tests/ckmtime.c create mode 100644 tests/comperr.at create mode 100644 tests/incr10.at create mode 100644 tests/incr11.at create mode 100644 tests/map.at create mode 100644 tests/multiv09.at create mode 100644 tests/numeric.at create mode 100644 tests/onetop05.at create mode 100644 tests/sparse05.at create mode 100644 tests/sparse06.at create mode 100644 tests/time02.at create mode 100644 tests/xform02.at diff --git a/ChangeLog b/ChangeLog index 5bd14213..7c7865dc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,735 @@ +2016-05-16 Sergey Poznyakoff + + Version 1.29 + + Minor fix + * src/names.c (new_name): rename to make_file_name. All uses + changed. + +2016-04-14 Sergey Poznyakoff + + Fix argument handling when running external commands. + * 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 + + Remove iotty test + 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. + * 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 + + xattrs: fix build on Darwin + Be careful to define HAVE_XATTRS when not all needed xattr-related + functions are properly defined either in libc or libattr. + Reported independently by Denis Excoffier and Dominyk Tille. + * 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 + + Remove --preserve option + * src/tar.c: Remove --preserve option + * NEWS: Update. + * doc/tar.texi: Update. + + Fix testcase + * tests/time02.at: Sort tar -d output + + Update THANKS file + +2016-03-24 Jeremy Bobbio + + New option --clamp-mtime + 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`. + 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 + for more information. + Patch submitted by Jeremy Bobbio and + Daniel Kahn Gillmor + * doc/tar.1: Document --clamp-mtime + * doc/tar.texi: Likewise. + * 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 + * tests/time02.at: New testcase. + * tests/Makefile.am: Add new testcase + * tests/testsuite.at: Likewise. + +2016-03-21 Sergey Poznyakoff + + Acknowledgments + * THANKS: Add Dagobert Michelsen + + Fix the testsuite + * 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. + + Fix ckmtime + * gnulib.modules: Use timespec-sub + * tests/ckmtime.c: Use second resolution. + +2016-03-20 Sergey Poznyakoff + + Fix the testsuite + * 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 + + Testsuite fixes. + * 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. + + Revise docs + + Fix build with --enable-gcc-warnings + * configure.ac: Disable stack-protector warnings + +2016-03-17 Sergey Poznyakoff + + Improve testsuite + * tests/iotty.at: Skip test if ttyemu can't do its job + +2016-03-16 Sergey Poznyakoff + + Document xattrs, ACL and SELinux-related options. + * doc/tar.1: Document all options. + * doc/tar.texi: Likewise. + +2016-03-15 Sergey Poznyakoff + + Fix appending to archive with changed blocking factor. + * 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). + * tests/append05.at: New test case. + * tests/Makefile.am: Add new test. + * tests/testsuite.at: Likewise. + +2016-03-14 Sergey Poznyakoff + + Fix coredump on parsing invalid traditional option + * src/tar.c (find_argp_option): Fix loop termination condition. + +2016-01-20 Sergey Poznyakoff + + Update copyright years + + Allow escaped delimiters in transform expressions. + Patch provided by Charles McGarvey and Flavio Poletti. + * 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 + + Fix eventual dereference of uninitialized pointer. + * src/exclist.c (hg_initfn): Initialize hgopt. + +2015-12-17 Pavel Raiskup + + sparse: fix use of indeterminate value + * src/xheader.c (sparse_map_decoder): Move 'e' up from loop-block. + +2015-12-11 Sergey Poznyakoff + + fix a typo + * doc/tar.texi (Incremental Dumps): Add missing --file to the + '--list' example. + + Minor fixes. + * 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 + + Minor fix + + Fix handling of filename-selection options. + 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. + 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. + * 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) : Change type. + : 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 + * tests/T-dir00.at: Fix typo. + * tests/T-recurse.at: Remove expected failure. + +2015-12-10 Pavel Raiskup + + better test --{,no-}recursion options + * 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 + + Bugfix + * 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 + + Fix segfault when extracting from a multi-volume archive. + Fix suggested by Pavel Raiskup. + * 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. + + Fix NEWS + +2015-12-06 Pavel Raiskup + + numeric-owner: print big UID/GID correctly + * 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 + + Use SEEK_HOLE for hole detection + Based on patch by Pavel Raiskup. + Use SEEK_HOLE/SEEK_DATA feature of lseek on systems that support + it. This can make archiving of sparse files much faster. + Implement the --hole-detection option to allow users to select + hole-detection method. + * 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 + * 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. + * 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 + + Catch compressor execution errors. + * 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 + + Upgrade paxutils + +2015-11-29 Sergey Poznyakoff + + Fix extraction from concatenated incremental archives with + renamed directories. + Complements 15c02c2b. + * 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. + * 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 + + Fix bug in the inplementation of --one-top-level. + 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. + * 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 + + Work around unlinkat bug on FreeBSD and GNU/Hurd + * 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 + + Fix coredump on FreeBSD when TAR_OPTIONS is set + * 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 + + Use sort in T-dir tests. + + Fix distclean in tests/ + * tests/Makefile.am: Remove "download" + + New options: --owner-map and --group-map. + * NEWS: Update. + * doc/tar.1: Document --owner-map and --group-map + * doc/tar.texi: Likewise. + * 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. + * tests/map.at: New file. + * tests/Makefile.am: Add map.at + * tests/testsuite.at: Include map.at. + +2015-09-24 Kir Kolyshkin (tiny change) + + doc: fix font and spelling typos + * doc/tar.1: Fix font and spelling typos in man page. + +2015-09-24 Paul Eggert + + Fix problems caught by static checking + 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 + + Improve option sanity checking + 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. + * 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. + * lib/prepargs.c: Remove. + * lib/prepargs.h: Remove. + * lib/Makefile.am: Update. + +2015-08-24 Sergey Poznyakoff + + Improve check-full + * tests/atlocal.in: Download external archives to + $abs_builddir/download. + (tarball_prereq): Create destination directory if necessary. + * tests/.gitignore: Add download + + Fix check-full + * tests/atlocal.in (TAR_DATA_URL): Berlios is dead. Get + test archives from gnu.org.ua + + Include gnulib and paxutils as submodules. + * .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 + + Update docs. + * doc/tar.1: Document --verbatim-files-from option. + +2015-08-20 Sergey Poznyakoff + + Add missing VCS files to --exclude-vcs list + * src/tar.c (vcs_file_table): Add .gitmodules and .gitattributes + * doc/tar.texi: Update. + +2015-08-03 Sergey Poznyakoff + + Options to control option handling in file lists. + The --verbatim-files-from option disables option handling in + file lists. The --no-verbatim-files-from reverts its effect. + The --null option implies --verbatim-files-from. This restores + the documented behavior, broken by 26538c9b. + * 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. + * doc/tar.texi: Document --verbatim-files-from and + --no-verbatim-files-from options. + * NEWS: Update. + * configure.ac: Version 1.28.90 + * tests/T-null2.at: New testcase. + * tests/Makefile.am: Update. + * tests/testsuite.at: Update. + +2015-07-25 Anders Jonsson (tiny +change) + + Fix typos (preceeded etc.) + +2015-07-13 Paul Eggert + + tar: fix symlink race and symlink transform bug + 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. + + tar: port -d to longer symlinks + * 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. + + tar: port to recent gnulib + * gnulib.modules: Remove 'acl' and add 'file-has-acl'. + + tar: pacify GCC 5.1 -Wformat-signedness + * 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 + + Fix extraction from concatenated incremental archives. + * 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 + + Fix make installcheck + Make installcheck would fail unless make check had been run + before it. + Reported by Erik Brangs + * tests/Makefile.am (installcheck-local): Depend on + $(check_PROGRAMS) + +2015-03-18 Paul Eggert + + tar: don't assume GZIP + * Makefile.am (dist-hook): Port to gzip implementations that + warn about nontrivial settings in the GZIP environment var. + +2015-03-17 Paul Eggert + + tar: don't suggest GZIP + * 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 + + Improve compression format recognition + Some comressed archives can pass the checksum test, which + makes tar + treat them as uncompressed archives. + * 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 + + tar: port xattr-at.c to Solaris 10 + * 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. + + tar: port wordsplit attribute to Sun C + 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 + + Silent a cc warning + * src/xheader.c (xheader_string_end): Make sure pointer + arithmetics applies on char*. + +2014-12-12 Paul Eggert + + tar: port ISFOUND, WASFOUND to C89 + 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 + + Fix tar -c -l file file + When the same file is added several times to the archive, count + correctly the number of hard links. See also 37ddfb0b. + * 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 + + Honor the pax-option overrides when creating archive. + Changes proposed by Denis Excoffier. + * 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. + + Add testcase for the previous commit. + * tests/sparse05.at: New file. + * tests/Makefile.am: Add sparse05.at + * tests/testsuite.at: Include sparse05.at + +2014-11-07 Pavel Raiskup + + Fix bug in sparse file listing + 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). + * 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 + + Fix a typo + +2014-10-01 Sergey Poznyakoff + + Fix README + Remove the reference to PORTS + +2014-09-25 Sergey Poznyakoff + + Bugfixes. + * 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 + + Bugfix: entries read from the -T file did not get proper + matching_flag. + * 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. + * 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 + + Improve documentation. + * doc/tar.1: Document --skip-old-files and --warning=existing-file + * doc/tar.texi: Document --warning=existing-file + 2014-07-27 Sergey Poznyakoff Version 1.28 @@ -12,7 +744,6 @@ Don't build ttyemu and run tty I/O test if grantpt is not available. - * configure.ac (TAR_COND_GRANTPT): Define conditional depending on whether grantpt is available. * gnulib.modules: Remove grantpt. It relies upon a helper binary @@ -25,20 +756,17 @@ 2014-07-22 Benno Schulenberg Fix a typo and some wordings in the documentation. - * 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 Fix the testsuite - * tests/incr07.at: Don't assume case-sensitive filesystem. 2014-07-11 Paul Eggert tar: minor fixups related to recent checkpoint.c change - * 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, @@ -47,14 +775,12 @@ 2014-07-11 Sergey Poznyakoff Bugfixes - * gnulib.modules: Add faccessat * src/checkpoint.c: Include termios.h 2014-06-29 Nathan Stratton Treadway tar: document xgetcwd test case better - * src/misc.c (normalize_filename): Add commentary for clarity. * tests/extrac09.at: Retitle test case and add comments for clarity. @@ -62,7 +788,6 @@ 2014-06-24 Sergey Poznyakoff Fix typos in ChangeLog - * ChangeLog.CVS: Fix typos. * ChangeLog.amend: New file. * Makefile.am: Define changelog_amend_file. @@ -70,7 +795,6 @@ 2014-04-30 Paul Eggert tar: do not dereference NULL pointer with '--remove-files .' - Problem reported by Thorsten Hirsch in: http://lists.gnu.org/archive/html/bug-tar/2014-04/msg00011.html * src/unlink.c (flush_deferred_unlinks): @@ -83,7 +807,6 @@ 2014-03-27 Sergey Poznyakoff Refuse to write archive contents to a tty. - * NEWS: Update. * src/buffer.c (_open_archive): Refuse to write to a tty. * tests/iotty.at: Test output to a tty. @@ -91,15 +814,12 @@ 2014-03-26 Vitezslav Cizek fix an eternal loop in handle_option - * src/names.c (handle_option): increment loop counter 2014-03-20 Sergey Poznyakoff Fail if archive comes from a terminal. - Based on patch from Pavel Raiskup . - * 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 @@ -111,7 +831,6 @@ 2014-03-13 Paul Eggert tar: port to Solaris 9 - 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 @@ -119,8 +838,7 @@ 2014-02-25 Sergey Poznyakoff - Test the --[no-]recursive options (see commit 2bd9c153_. - + Test the --[no-]recursive options (see commit 2bd9c153). * tests/recurs02.at: New test case. * tests/Makefile.am: Add new file. * tests/testsuite.at: Add new file. @@ -128,7 +846,6 @@ 2014-02-22 Sergey Poznyakoff Support exclusion patterns from various VCS ignore lists. - * src/Makefile.am (tar_SOURCES): Add exclist.c * src/common.h (EXCL_DEFAULT, EXCL_RECURSIVE) (EXCL_NON_RECURSIVE): New flags. @@ -146,7 +863,6 @@ and --exclude-vcs-ignores. (tar_stat_destroy): Free exclist. * src/tar.h (tar_stat_info): New member exclude_list. - * NEWS: Document new exclusion options. * doc/tar.texi: Likewise. * doc/tar.1: Likewise. @@ -154,46 +870,34 @@ 2014-02-14 Sergey Poznyakoff Fix in testsuite - * acls03.at: Fix improper invocation of setfacl. 2014-02-14 Pavel Raiskup testsuite: add test for buggy default ACLs - * tests/Makefile.am: Mention acls03.at. * tests/testsuite.at: Likewise. * tests/acls03.at: New testcase. -2014-02-14 Pavel Raiskup - acls: bugfix for default ACLs extraction - 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. - * 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. - References: http://www.mail-archive.com/bug-tar@gnu.org/msg04355.html Thanks: Juan J. Martínez and Mark Steinborn -2014-02-14 Pavel Raiskup - tar: imply --xattrs when --xattrs-{inc,exc}lude used - Options --xattrs-include=MASK and --xattrs-exclude=MASK now turn on the --xattrs option. - Fix also bug in printing in xattrs.c - don't print when option is negative. - * src/tar.c (set_xattr_option): New static function. (parse_opt): Call new function when --xatrrs, --xattrs-include or --xattrs-exclude option is used. @@ -204,13 +908,9 @@ THANKS: Add Anthony G. Basile. -2014-02-14 Sergey Poznyakoff - Use correct headers/libraries when providing xattr support - See https://savannah.gnu.org/patch/index.php?8252. Patch provided by Anthony G. Basile. - * acinclude.m4 (TAR_HEADERS_ATTR_XATTR_H): Look for first and then for . Link against libattr.so if needed. @@ -218,28 +918,21 @@ on which one is detected. * src/Makefile.am [TAR_LIB_ATTR] (tar_LDADD): Link against -lattr. -2014-02-14 Sergey Poznyakoff - Minor change - * src/tar.c (decode_options): Silently ignore --one-top-level if used with a non-reading command. 2014-02-14 Sergey Poznyakoff New option --sort=ORDER - This option makes tar sort the entries of directories that will be - added to an archive according to ORDER (none, name, or order). - + added to an archive according to ORDER (none, name, or inode). Based on proposition by Dick Streefland (https://savannah.gnu.org/patch/?7892). - * 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. - * NEWS: Update. * doc/tar.texi: Document the --sort option. * doc/tar.1: Likewise. @@ -247,14 +940,12 @@ 2014-02-13 Sergey Poznyakoff Fix the testsuite - * tests/opcomp01.at: Update expected error messages. * tests/opcomp03.at: Likewise. 2014-02-13 Sergey Poznyakoff Fix --one-top-level used together with --list. - * src/extract.c: Move one_top_level stuff to tar.c (decode_options). * src/tar.c (option_conflict_error): New function. @@ -267,33 +958,25 @@ * tests/Makefile.am: Add new testcase. * tests/testsuite.at: Add new testcase. -2014-02-13 Sergey Poznyakoff - Fix NEWS - * NEWS: Remove duplicate description of the --one-top-level option. 2014-02-12 Sergey Poznyakoff configure.ac: look for host-prefixed ar - See https://savannah.gnu.org/patch/?8183 2014-02-10 Sergey Poznyakoff Bugfix - * src/suffix.c (find_compression_suffix): Fix eventual coredump. 2014-02-10 Sergey Poznyakoff Fix docs. -2014-02-10 Sergey Poznyakoff - Update docs. - * NEWS: Document --one-top-level * THANKS: Mention Connor Behan @@ -304,10 +987,8 @@ 2014-01-28 Sergey Poznyakoff Improve one-top-level functionality - Make sure the changes become visible with --show-transformed-names. - * src/common.h (strip_compression_suffix): New function. (one_top_level): Rename to one_top_level_dir. All uses changed. * src/extract.c (extr_init): Use strip_compression_suffix. @@ -322,10 +1003,8 @@ terminate with NULL entry. (find_compression_suffix): New static. (strip_compression_suffix): New function. - * doc/tar.1: Update. * doc/tar.texi: Update. - * tests/onetop01.at: New testcase. * tests/onetop02.at: New testcase. * tests/onetop03.at: New testcase. @@ -335,7 +1014,6 @@ 2014-01-27 Connor Behan Detect tarbombs while extracting - * src/common.h (one_top_level_option): New global. (one_top_level): New global. * src/extract.c (extr_init): If one_top_level_option is set, @@ -344,7 +1022,7 @@ (extract_archive): If one_top_level_option is set, prepend one_top_level to all names that don't already start with it. - * src/tar.c (ONE_TOP_LEVEL_OPTION): New contant. + * src/tar.c (ONE_TOP_LEVEL_OPTION): New content. (options): New option --one-top-level. (parse_opt): Handle this option. (decode_options): Make it conflict with --absolute-names. @@ -352,24 +1030,18 @@ 2014-01-27 Sergey Poznyakoff Don't install rmt.8 if rmt is not built. - * doc/Makefile.am [PU_RMT_COND]: Define RMT_8 (dist_man_MANS): use RMT_8 instead of the hardcoded rmt.8 -2014-01-27 Sergey Poznyakoff - Provide tar(1) and rmt(8) manpages. - * NEWS: Update. * doc/Makefile.am: Add manpages. * doc/tar.1: New file. - * src/tar.c (tar_help_filter): Handle LZOP_OPTION. 2014-01-23 Sergey Poznyakoff Make sure transformed file names retain trailing slash in listing. - * src/list.c (simple_print_header): Print trailing slash if using the transformed name. Use had_trailing_slash instead of analyzing last byte if temp_name @@ -377,7 +1049,6 @@ 2014-01-22 Sergey Poznyakoff checkpoint actions: further improvements. - * NEWS: Update. * doc/tar.texi: Update. * src/buffer.c (print_stats): Avoid use of additional string @@ -396,7 +1067,6 @@ 2014-01-22 Sergey Poznyakoff Improve checkpoint interface. - * src/buffer.c (format_total_stats): The format arg is const All uses updated. (default_total_format): const @@ -409,7 +1079,6 @@ 2014-01-21 Sergey Poznyakoff Implement statistics display in checkpoint actions. - * NEWS: Update. * configure.ac: Version 1.27.90 * gnulib.modules: Add fprintftime. @@ -433,24 +1102,20 @@ 2014-01-10 Sergey Poznyakoff Remove shar archives from distribution. - These are going to phase out in automake 2.0 2014-01-10 Sergey Poznyakoff Fix the use of --no-recursion and --recursion options. - Each option remains in effect until cancelled by the next - ocurrence + occurrence of its counterpart, as stated in the documentation. - * src/names.c (name_next_elt): Restore recursion_option from the value of matching_flags. 2014-01-09 Sergey Poznyakoff Minor bugfixes - * src/compare.c (diff_dumpdir): Close descriptor if fstat failed. (diff_multivol): Make sure the descriptor is closed and eventual errors reported if lseek fails. @@ -458,8 +1123,7 @@ 2014-01-07 Paul Eggert - tar: work aruond IBM XL C bug - + tar: work around IBM XL C bug * src/incremen.c (show_snapshot_field_ranges) (write_directory_file_entry): Use simpler array size expression, one that evaluates to the same value. This works around @@ -470,7 +1134,6 @@ 2014-01-03 Paul Eggert tar: update ancient configure cruft - * configure.ac: Use AC_PROG_CC_STDC, not just AC_PROG_CC. Remove obsolete macros AC_ISC_POSIX, AC_HEADER_SYS_WAIT, AC_HEADER_DIRENT, AC_HEADER_STAT, AC_HEADER_STDC, AC_TYPE_SIGNAL, @@ -485,24 +1148,15 @@ Version 1.27.1 -2013-11-17 Sergey Poznyakoff - Fix star compatibility (sparse headers) - * src/sparse.c (star_get_sparse_info): Update file->dumped_size -2013-11-17 Sergey Poznyakoff - Fix GNU long link header. - * src/create.c (write_gnu_long_link): Set timestamp to 0 for backward compatibility. Bug reported by David Barri. * THANKS: Update. -2013-11-17 Sergey Poznyakoff - Fix unquoting of input file names. - * src/names.c (read_next_name): Unquote file names coming from the -T argument. Bug reported by Nicolas Dudebout. * THANKS: Update. @@ -510,7 +1164,6 @@ 2013-10-24 Paul Eggert build: fix bug where 'configure --with-posix-acls' disables ACLs - Reported by Lars Wendler in . * configure.ac (with_posix_acls): Fix typo. @@ -518,7 +1171,6 @@ 2013-10-23 Paul Eggert Fix core dump on Solaris 10 when "." isn't readable. - Reported by Peter Kruse in . This doesn't fix all the Solaris 10 test failures, just the @@ -534,14 +1186,10 @@ 2013-10-06 Sergey Poznyakoff Version 1.27 - * NEWS: Update. * configure.ac: Update. -2013-10-06 Sergey Poznyakoff - Minor fixes. - * src/names.c: Include argp.h * tests/testsuite.at (AT_XATTRS_UTILS_PREREQ) (AT_SELINUX_UTILS_PREREQ,AT_ACLS_UTILS_PREREQ) @@ -554,26 +1202,22 @@ 2013-10-05 Sergey Poznyakoff Xfail the remfiles09b test. - * tests/remfiles09b.at: Turn into expected failure. 2013-10-05 Nathan Stratton Treadway Tiny change - * scripts/tar-snapshot-edit: Mention --show-snapshot-field-ranges option 2013-10-05 Pavel Raiskup Tiny change - * configure.ac (RSH): Define as AC_ARG_VAR. 2013-10-05 Sergey Poznyakoff Fix namespace contamination in testsuite. - * tests/append01.at: Use m4_pushdef/m4_popdef to define local macros. * tests/delete03.at: Likewise. @@ -591,7 +1235,6 @@ 2013-10-05 Nathan Stratton Treadway Provide comprehensive testcases for various file removal modes. - * tests/Makefile.am: Add new testcases. * tests/testsuite.at: Likewise. * tests/incr09.at: Add description. @@ -622,7 +1265,6 @@ 2013-10-03 Sergey Poznyakoff Tiny changes. - * src/misc.c: Fix comments, rename wd.cwd to wd.abspath (Nathan Stratton Treadway); @@ -637,9 +1279,7 @@ 2013-10-01 Sergey Poznyakoff Revamp tar_getcwd/normalize_filename stuff. - The changes are based on the discussion with Nathan. - * src/common.h (normalize_filename): Take two arguments. All callers updated. (tar_getcwd): Replaced with .. @@ -649,7 +1289,6 @@ structure. (tar_getcwd): Removed. (tar_getcdpath): New function. - * tests/incr09.at: New test case. * tests/Makefile.am: Add new tests. * tests/testsuite.at: Likewise. @@ -657,17 +1296,15 @@ 2013-09-27 Sergey Poznyakoff Bugfix - * tests/remfiles08.at: Restore missing find 2013-09-26 Sergey Poznyakoff Use relative addressing in deferred unlinks. - * src/common.h (tar_dirname): New function. * src/misc.c (normalize_filename_x): Make extern. (tar_dirname): New function. - (tar_getcwd): Take into account absoulte pathnames. + (tar_getcwd): Take into account absolute pathnames. * src/unlink.c (deferred_unlink) : New member; keeps the value of chdir_current at the moment of structure allocation. (flush_deferred_unlinks): Use chdir_do and relative addressing. @@ -681,7 +1318,6 @@ 2013-09-25 Nathan Stratton Treadway Improve tar-snapshot-edit - Support architecture-specific field ranges for the "-c" function. Better handle negative or larger-than-32-bit field values even when running in 32-bit Perl (for the default "print a summary" @@ -690,7 +1326,6 @@ 2013-09-25 Sergey Poznyakoff Improve tar_getcwd - * src/common.h (tar_getcwd): Return pointer is const. * src/misc.c (wd) : New member. (chdir_arg): Initialize cwd. @@ -701,7 +1336,6 @@ * src/names.c (name_next_elt): Remove leftover call chdir(). * tests/Makefile.am: Add new tests. * tests/testsuite.at: Likewise. - * tests/incr08.at: New testcase. * tests/remfiles04.at: New testcase. * tests/remfiles05.at: New testcase. @@ -711,12 +1345,10 @@ 2013-09-24 Sergey Poznyakoff Fix normalize_filename. - The function did not take into account eventual -C options, which in particular led to various problems when using -C and --remove-files together. - * src/common.h (namebuf_add_dir,namebuf_finish) (tar_getcwd): New prototypes. * src/misc.c (namebuf_add_dir,namebuf_finish) @@ -726,7 +1358,6 @@ 2013-09-23 Sergey Poznyakoff Changes for compatibility with Slackware installation scripts. - * src/buffer.c (short_read): the "Record size" message is controlled by the WARN_RECORD_SIZE warning_option bit. * src/common.h (keep_directory_symlink_option): New global. @@ -740,14 +1371,12 @@ (options): New option --keep-directory-symlink. (parse_opt): Handle this option. * src/warning.c: Implement "record-size" warning control. - * NEWS: Update. * doc/tar.texi: Document new features. 2013-09-21 Sergey Poznyakoff Fix error message (complements 0ea6e686) - * src/tar.c (set_subcommand_option): Mention --delete in the error message. @@ -758,7 +1387,6 @@ 2013-09-15 Nathan Stratton Treadway Implement the --show-snapshot-field-ranges option - * src/common.h (show_snapshot_field_ranges): New prototype. * src/incremen.c (show_snapshot_field_ranges): New function. * src/tar.c: New option --show-snapshot-field-ranges. @@ -769,7 +1397,6 @@ 2013-09-15 Sergey Poznyakoff Take into account chdir_fd when extracting from incremental dumps. - * src/common.h (tar_savedir): New prototype. * src/misc.c (tar_savedir): New function. (remove_any_file): Use tar_savedir. @@ -780,10 +1407,7 @@ * tests/testsuite.at: Likewise. * THANKS: Updated. -2013-09-15 Sergey Poznyakoff - Minor fix - * src/tar.c (main): Mention --delete in the error message. * THANKS: Update @@ -791,24 +1415,18 @@ * src/names.c (file_list_name): Properly prototype. -2013-09-13 Paul Eggert - tar: don't warn about zero timestamps - - * src/extract.c (check_time): Suppress warniing when t.tv_sec - == 0. + * src/extract.c (check_time): Suppress warning when t.tv_sec == 0. Problem reported by Denis Excoffier. 2013-08-19 Pavel Raiskup Minor fix in the testsuite. - * tests/T-cd.at: sort the 'tar cf' output. 2013-08-17 Sergey Poznyakoff Improve error diagnostics - * src/names.c (file_list_name): New static function. (add_file_id): If a filelist is being read twice, print the names of the files that caused it. @@ -820,7 +1438,6 @@ Revamp initial name collection functions to ensure proper argument ordering. - * src/names.c (NELT_NOOP): New constant (name_elt) : New members. (name_array,allocated_entries,entries,scanned): Remove. @@ -838,26 +1455,19 @@ * tests/Makefile.am: Add new testcases. * tests/testsuite.at: Likewise. -2013-08-16 Sergey Poznyakoff - Don't treat attempts to read an already read file list as fatal errors. - * src/names.c (add_file_id): Report error and return 1 if the file has already been read. (read_next_name): Don't try to open file if add_file_id returns 1. (name_next_elt): Simplify conditional. -2013-08-16 Sergey Poznyakoff - Minor change. - * src/names.c (name_next_elt): Simplify conditional. 2013-08-15 Pavel Raiskup Fix use of uninitialized memory - * src/names.c (name_add_file): Initialize the ep->v.file.fp pointer after structure allocation. @@ -865,7 +1475,6 @@ 2013-08-05 Sergey Poznyakoff Minor changes - * src/names.c (handle_option): Use program_invocation_short_name instead of the constant string. (read_next_name): Remove unused variable. @@ -873,15 +1482,11 @@ 2013-08-04 Sergey Poznyakoff Update the docs. - * doc/tar.texi: Parsing of the options found in the file list follows the same rules as for command line. Remove the obsolete description. This complements 26538c9b. -2013-08-04 Sergey Poznyakoff - - Fix interacton of --verbose and --append. - + Fix interaction of --verbose and --append. * src/buffer.c (_open_archive): don't overwrite existing archive if given the --verify option. * tests/append04.at: New file. @@ -889,17 +1494,11 @@ * tests/testsuite.at: Add new testcase. * THANKS: Update. -2013-08-04 Sergey Poznyakoff - Bugfix. - * src/names.c (read_name_from_file): Fix a typo. Remove unused variable. -2013-08-04 Sergey Poznyakoff - - Reduce memory consuption when handling the -T option. - + Reduce memory consumption when handling the -T option. The commit cdb27293 made the -T option more flexible, but incurred a very considerable memory overhead by storing all file names in the argument array. In case of very @@ -907,17 +1506,14 @@ was reported by Christian Wetzel on March 14, 2013 (http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00018.html). - - On the other hand, Michal Žeidl discovered that tar misfunctioned + On the other hand, Michal Žeidl discovered that tar malfunctioned when given empty file lists or lists with the trailing newline - misssing in the last entry. This was reported by Pavel Raiskup + missing in the last entry. This was reported by Pavel Raiskup on July 23 (http://lists.gnu.org/archive/html/bug-tar/2013-07/msg00009.html and msg00010.html). - This change fixes both issues. - * src/common.h (name_add_file,request_stdin): New prototype. (more_options): New prototype. * src/names.c (NELT_FILE): New entry type. @@ -932,19 +1528,16 @@ (update_argv): Removed. (parse_opt): Change handling of the -T option. (more_options): New function. - * tests/T-null.at: Rewrite test. * tests/T-zfile.at: New file. * tests/T-nonl.at: New file. * tests/Makefile.am: Add new testcases. * tests/testsuite.at: Likewise. - * THANKS: Update. 2013-06-29 Sergey Poznyakoff Fix the compatibility check for the --occurrence option. - * src/tar.c (SUBCL_OCCUR): New class. (subcommand_class): Update. (decode_options): Accept the --occurrence option @@ -953,11 +1546,9 @@ 2013-06-29 Pavel Raiskup testsuite: do not resist on file order in archive - On my Fedora 19 box, the exclude08 & exclude11 tests failed before this fix. The reason was that the directory traversing chosen the file order differently than the testsuite expected. - * tests/exclude08.at: Sort the tarball content output. * tests/exclude09.at: Likewise. * tests/exclude10.at: Likewise. @@ -971,14 +1562,12 @@ 2013-06-29 Sergey Poznyakoff Improve checks for incompatible options. - * src/common.h (READ_LIKE_SUBCOMMAND): Remove define. * src/tar.c (IS_SUBCOMMAND_CLASS): New macro. (decode_options): Use IS_SUBCOMMAND_CLASS in checking option compatibility. Accept the --verify option only with subcommands that write to the archive. - * tests/opcomp01.at: New test case. * tests/opcomp02.at: New test case. * tests/opcomp03.at: New test case. @@ -991,7 +1580,6 @@ 2013-06-28 Paul Eggert tar: port to Mingw Shell - * src/extract.c (extract_symlink) [!HAVE_SYMLINK]: Fix typo by replacing WARN_SYMBOLIC_CAST with WARN_SYMLINK_CAST. Problem reported by kaka in @@ -1000,7 +1588,6 @@ 2013-05-06 Paul Eggert maint: revert previous change - It wasn't actually needed. Reported by Stefano Lattarini in . * configure.ac (AM_GNU_GETTEXT_VERSION): Decrease from 0.18.2 @@ -1009,7 +1596,6 @@ 2013-04-25 Paul Eggert maint: port to bleeding-edge Automake by assuming Gettext 0.18.2 - Reported by Stefano Lattarini in . * configure.ac (AM_GNU_GETTEXT_VERSION): Increase from 0.16 @@ -1017,18 +1603,12 @@ README-alpha says that we do not make any efforts to accommodate older versions of Gettext. -2013-04-25 Paul Eggert - tar: port to --without-xattrs --enable-gcc-warnings - Reported by Pavel Raiskup in . * src/xattrs.c (xattrs__fd_set) [!HAVE_XATTRS]: Omit. -2013-04-25 Paul Eggert - doc: port to texinfo 5 - * doc/tar.texi (Reports, assumptions, Mixing): Put FIXMEs at line start. @@ -1036,18 +1616,13 @@ Continue extracting from a separate volume after skipping a partial member. - Reported by Göran Udeborg on 2013-03-09. - * src/extract.c (extract_skip): New function. (prepare_to_extract): Set extractor to extract_skip if starting at a partial member. -2013-03-12 Sergey Poznyakoff - Fix interaction of various --exclude-tag options with --listed-incremental. - * src/incremen.c (procdir): Set directory->tagfile in the exclusion_tag_contents case. (makedumpdir): Mark all entries as ignored if directory->tagfile @@ -1057,7 +1632,6 @@ (scan_directory): If directory->children is set to NO_CHILDREN and directory->tagfile is set, create a dumpdir consisting of the tagfile only. - * tests/exclude08.at: New testcase. * tests/exclude09.at: New testcase. * tests/exclude10.at: New testcase. @@ -1079,7 +1653,6 @@ 2013-02-20 Paul Eggert tar: remove lint - * lib/wordsplit.c (_wsplit_error): Mark with printf attribute. (expvar): "Use" defstr to pacify GCC. * src/system.c (xexec): Now _Noreturn, to pacify GCC. @@ -1091,10 +1664,8 @@ 2013-02-10 Sergey Poznyakoff Pass command line arguments to external commands. - Any option taking a command name as its argument accepts additional arguments as well. - * lib/wordsplit.c: New file. * lib/wordsplit.h: New file. * lib/Makefile.am: Add new files. @@ -1104,20 +1675,17 @@ (sys_exec_info_script) (sys_exec_checkpoint_script): Use xexec to invoke external command. - * NEWS: Update. * doc/tar.texi: Update. 2013-01-29 Nathan Stratton Treadway tar: improve compile-time diagnostics - * src/misc.c (sysinttostr, strtosysint): Improve #error wording. 2013-01-27 Paul Eggert tar: improve quality of diagnostics with incrementals - Inspired by a prototype by Nathan Stratton Treadway in . * src/incremen.c (read_num): Rewrite by merging read_negative_num @@ -1131,7 +1699,6 @@ tar: fix bug with sparse files with effective size of 8 GiB or more - Reported by Pavel Raiskup in . * NEWS: Document the fix. @@ -1142,17 +1709,13 @@ maint: update copyrights for 2013 and as per current GNU standards -2012-12-31 Paul Eggert - maint: remove unnecessary file - * src/configure.in: Remove. This file has been obsolete for a while. 2012-12-24 Paul Eggert maint: don't enable warnings by default unless GCC 4.6 or later - * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils. (gl_gcc_warnings): By default, disable warnings for GCC versions before 4.6. This works around a failure when building from git on @@ -1161,17 +1724,13 @@ 2012-12-23 Paul Eggert Handle incremental format 2 with negative numbers, too. - * src/incremen.c (read_unsigned_num): Last arg is intmax_t *, not uintmax_t, for consistency with other readers. All callers changed. Avoid signed integer overflow. (read_num): -2012-12-23 Paul Eggert - Fix some problems with negative and out-of-range integers. - Original problem reported for HP-UX LVM v2.2 by Michael White in . This patch fixes some other gotchas that I noticed. @@ -1242,22 +1801,17 @@ 2012-12-22 Paul Eggert Port use of mkdirat etc. to Solaris 10. - * gnulib.modules (fchmodat, fchownat, fstatat, mkdirat, unlinkat): Add. These were split out in gnulib, so we now need to request them separately. mkdirat, for example, is not in Solaris 10. -2012-12-22 Paul Eggert - Port ACL configuration to Solaris 10. - * configure.ac (with_posix_acls): Fix misspellings. Stop checking at the first failure, to speed up 'configure'. 2012-12-19 Paul Eggert tar: remove unused externs, or make them static - * src/buffer.c (record_buffer_aligned, flush_write_ptr, flush_read_ptr) (duration): @@ -1271,14 +1825,9 @@ * src/tar.c (check_links_option, allocated_archive_names): Move decls here from common.h; these are now static. -2012-12-19 Paul Eggert - * .gitignore: Regenerate. -2012-12-19 Paul Eggert - build: new configure option --enable-gcc-warnings - This has a similar meaning as in other GNU applications such as coreutils and Emacs. * NEWS: Document it. @@ -1310,17 +1859,13 @@ * src/xheader.c (xheader_format_name): Initialize pptr to null, to pacify GCC. Remove unnecessary test of nptr versus null. -2012-12-19 Paul Eggert - tar: don't truncate diagnostic - * src/list.c (from_header): Fix buffer size calculation when generating a diagnostic. 2012-12-03 Sergey Poznyakoff Bugfix. - * tests/Makefile.am: Fix double AM_CPPFLAGS 2012-12-01 Sergey Poznyakoff @@ -1330,19 +1875,15 @@ 2012-11-19 Sergey Poznyakoff Housekeeping. - * NEWS: Mention the support for POSIX ACLs, extended attributes and SELinux context. * THANKS: List James Antill and Pavel Raiskup. -2012-11-19 Sergey Poznyakoff - Fix indentation. 2012-11-19 Pavel Raiskup Allow to store/extract '=' character in xattr keyword - * src/xheader.c (xattr_decode_keyword) (xattr_encode_keyword): New functions. (xheader_print_n,xattr_decoder): Use them. @@ -1350,10 +1891,7 @@ * tests/Makefile.am: Add new test case. * tests/testsuite.at: Likewise. -2012-11-19 Pavel Raiskup - Bugfixes. - * configure.ac: Avoid linking against -lacl when --without-posix-acls is given. * tests/selacl01.at: Call restorecon @@ -1361,16 +1899,12 @@ * tests/testsuite.at (AT_SELINUX_UTILS_PREREQ): Likewise. (AT_SELINUX_PREREQ,AT_ACLS_PREREQ): Use the right _PREREQ macros. -2012-11-19 Pavel Raiskup - Fix bootstrapping. - * bootstrap (gnulib_extra_files): Remove $build_aux/missing 2012-11-19 Sergey Poznyakoff Various fixes. - * src/xattrs.c: Don't mix variable declarations and statements. Use proper data types. Remove improper use of const qualifiers. Use x2nrealloc to reallocate memory buffers. @@ -1378,7 +1912,6 @@ 2012-11-18 Sergey Poznyakoff Minor change. - * src/xattrs.c: Fix indentation. Fix copyleft statement, promote to GPLv3+. * src/xattrs.h: Likewise @@ -1386,10 +1919,8 @@ 2012-11-18 Pavel Raiskup Add SELinux context store/restore/list support. - * gnulib.modules: Add selinux-at. * src/Makefile.am (tar_LDADD): Add LIB_SELINUX. - * src/create.c (start_header, dump_file0): Handle selinux contexts. * src/extract.c (delayed_set_stat) : New member. @@ -1409,10 +1940,7 @@ * tests/selacl01.at: New test. * tests/selnx01.at: New test. -2012-11-18 Pavel Raiskup - Support for POSIX ACLs - * configure.ac: Check whether ACLs are available on the host system. * gnulib.modules: Add acl @@ -1436,10 +1964,7 @@ * tests/acls01.at: New test. * tests/acls02.at: New test. -2012-11-18 Pavel Raiskup - - Add basic suuport for extended attributes. - + Add basic support for extended attributes. * src/Makefile.am: Add xattrs.[ch] * src/xattrs.c: New file. * src/xattrs.h: New file. @@ -1491,13 +2016,11 @@ 2012-11-18 Sergey Poznyakoff Prepare for implementing extended attribute support. - This patch adds *xattr() stubs in case extended attribute support is not present and implements the *attrat() family of functions. Based on the patch by Pavel Raiskup for gnulib. - * acinclude.m4 (TAR_HEADERS_ATTR_XATTR_H): New defun. * configure.ac: Call TAR_HEADERS_ATTR_XATTR_H * lib/Makefile.am: Add xattr-at.[ch], distribute attr-xattr.in.h @@ -1510,13 +2033,10 @@ Fix creation of incremental archives when a subdirectory becomes a mountpoint. - - When used with --listed-incrfental and --one-file-system, tar + When used with --listed-incremental and --one-file-system, tar was unable to cope with directories that had once been part of the - dumped system and became separate mount points afterwards. - The bug + dumped system and became separate mount points afterward. The bug has been reported and a fix proposed by Nathan Stratton Treadway. - * src/incremen.c (procdir): If one_file_system_option is in effect, clear out dumpdir info from the directory. @@ -1529,18 +2049,15 @@ 2012-07-27 Jim Meyering maint: try to avoid unwanted chatter in ChangeLog - * bootstrap.conf: Do not alter ChangeLog if it already exists. 2012-07-26 Paul Eggert doc: improve discussion of compressed archives - * doc/tar.texi (gzip): Don't claim that -I 'gzip --best' works. Problem reported by Davide Brini in . Also, improve some of the surrounding text. - This file is a placeholder. It will be replaced with the actual ChangeLog by make dist. Run make ChangeLog if you wish to create it @@ -1549,15 +2066,11 @@ 2012-06-27 Paul Eggert tests: fix permissions-assumption bug in test - * tests/owner.at: Don't assume umask is 022. Reported by Pavel Raiskup in . -2012-06-27 Paul Eggert - tar: don't assume root is uid 0 - This is not true for Tandem NonStop Kernel. See Joachim Schmitz's comment in . * gnulib.modules: Add root-uid. @@ -1568,13 +2081,9 @@ * src/compare.c (diff_dumpdir): Omit useless 'stat'. -2012-04-25 Paul Eggert - * doc/tar.texi (Option Summary): Fix xref typo. - Reported by Nathan Stratton Treadway in . - This file is a placeholder. It will be replaced with the actual ChangeLog by make dist. Run make ChangeLog if you wish to create it @@ -1583,13 +2092,11 @@ 2012-03-29 Sergey Poznyakoff Fix unrecognized option. - * src/tar.c (parse_opt): Handle OLD_ARCHIVE_OPTION. 2012-03-11 Paul Eggert tar: remove lint - This lint was found by GCC 4.6.2 on Fedora 15 x86-64. * src/buffer.c (buffer_write_global_xheader, mv_end, set_start_time) @@ -1613,7 +2120,6 @@ 2012-02-14 Paul Eggert doc: suggest Bash for large-fd script - * doc/tar.texi (Multi-Volume Archives): Suggest Bash for shell script that might use >&10. Problem reported by Edward F Eaglehouse in @@ -1622,7 +2128,6 @@ 2012-01-18 Paul Eggert tar: quote 'like this', not `like this' - This fixes some test failures recently introduced by gnulib updates prompted by recent changes to the GNU coding standards, @@ -1659,17 +2164,13 @@ * tests/volume.at: Adjust tests to match new quoting behavior. -2012-01-18 Paul Eggert - tar: port --overwrite symlink test to GNU/Hurd - Problem reported by Pino Toscano in . * gnulib.modules: Add fcntl-h, which defines HAVE_WORKING_O_NOFOLLOW. * src/extract.c (open_output_file): Use HAVE_WORKING_O_NOFOLLOW, not O_NOFOLLOW, when testing whther O_NOFOLLOW works. - This file is a placeholder. It will be replaced with the actual ChangeLog by make dist. Run make ChangeLog if you wish to create it @@ -1678,7 +2179,6 @@ 2012-01-11 Paul Eggert tar: fix core dump with --index-file=bad_path - * src/tar.c (decode_options): Exit cleanly if index file won't open. Problem reported by Khanh-Dang Nguyen Thu Lam in @@ -1687,8 +2187,7 @@ 2012-01-06 Paul Eggert tar: don't assume O_NONBLOCK is benign on regular files - - On Data Migration Facility (DMF), High Peformance Storage System + On Data Migration Facility (DMF), High Performance Storage System (HPSS), and presumably other file systems based on hierarchical storage, opening @@ -1709,7 +2208,6 @@ 2011-11-26 Sergey Poznyakoff Fix --keep-old-files option. - The regression was introduced by 8f390db9. This patch implements additional option --skip-old-files, which silently skips members which @@ -1717,7 +2215,6 @@ writing over existing files, and restores --keep-old-files to its traditional behavior. - * NEWS: Update. * configure.ac: Update. * doc/tar.texi: Document the changes. @@ -1735,27 +2232,21 @@ Warn about existing files in keep-old-files mode (complements 8f390db9). - This is controlled by "existing-file" warning code, which is off by default. - * src/common.h (WARN_EXISTING_FILE): New warning code. (WARN_VERBOSE_WARNINGS): Add WARN_EXISTING_FILE. * src/extract.c (maybe_recoverable): warn about existing file if WARN_EXISTING_FILE is set. * src/warning.c: New warning type: "existing-file" -2011-11-17 Sergey Poznyakoff - Fix the "Creating directory:" output - * src/list.c (print_for_mkdir): don't use unquoted name length for computing its output width. 2011-11-15 Sergey Poznyakoff Fix operation of --verify in conjunction with --listed-incremental - * src/common.h (clear_directory_table): New proto. * src/incremen.c (clear_directory_table): New function. * src/compare.c (diff_dumpdir): Take a pointer to struct @@ -1767,43 +2258,35 @@ 2011-10-18 Paul Eggert * doc/tar.texi (Option Summary, absolute): Document -P better, - by describing how it deals with symbolic links on extraction. 2011-09-28 Paul Eggert 2011-09-27 Paul Eggert - * src/tar.c (stat_on_signal): Use SA_RESTART if available. 2011-09-20 Paul Eggert * doc/tar.texi: Remove front- and back-cover texts. - These are no longer needed for this manual, according to the GNU maintainers guide. Update copyright date to 2011. 2011-09-19 Sergey Poznyakoff Minor changes. - * scripts/tar-snapshot-edit: License under GPLv3+. Remove trailing whitespace. 2011-09-19 Nathan Stratton Treadway Minor changes. - * doc/snapshot.texi: Clarify the use of nfs field in 0 and 1 formats. Give more precise information about which versions of tar used each format. -2011-09-19 Nathan Stratton Treadway - Upgrade tar-snapshot-edit script. - * scripts/tar-snapshot-edit: Update Perl syntax to work correctly with more recent versions of Perl. (The original code worked with in the v5.8 timeframe but not with @@ -1819,7 +2302,6 @@ 2011-08-13 Paul Eggert tar: --owner and --group names and numbers - The --owner and --group options now accept operands of the form NAME:NUM, so that you can specify both symbolic name and numeric ID for owner and group. Also, in these options, NAME no longer @@ -1841,18 +2323,14 @@ * tests/Makefile.am (TESTSUITE_AT): Add it. * tests/testsuite.at: Include it. -2011-08-13 Paul Eggert - .gitignore: update - * .gitignore: Add rmt. * lib/.gitignore: New file. 2011-07-30 Sergey Poznyakoff Fix the --exclude-backups option. - - * src/tar.c (add_exclude_array): Take exclude option filags in its + * src/tar.c (add_exclude_array): Take exclude option flags in its second argument. (parse_opt): Register backup_file_table with the EXCLUDE_WILDCARDS flag. @@ -1863,7 +2341,6 @@ 2011-06-08 Paul Eggert tar: simplify birthtime calculations - * src/extract.c (same_birthtime): Remove. (extract_link, apply_delayed_links): Go back to using timestamp_cmp @@ -1871,10 +2348,7 @@ relies on an up-to-date gnulib. -2011-06-08 Paul Eggert - tar: use birthtime rather than ctime when checking identity - Without this fix, tar would sometimes mishandle the extraction of hard links to symbolic links. Problem reported in @@ -1889,7 +2363,6 @@ * doc/tar.texi (Old Options): Clarify distinction from short options. - Adjust other parts of the manual to use examples that parse the same regardless of whether "-" is in front of the option clump. See @@ -1898,20 +2371,15 @@ 2011-03-12 Sergey Poznyakoff Testsuite fix. - * tests/sparse04.at: Use the -f option. -2011-03-12 Sergey Poznyakoff - Version 1.26 - * NEWS, configure.ac: Update. * po/POTFILES.in: Remove paxexit.c (see bb971a1e). 2011-03-08 Paul Eggert --atime-preserve=replace: fix correctness and performance bugs - reported by Eric Blake in . * src/compare.c (diff_file): Do not restore atime of size-zero @@ -1922,14 +2390,12 @@ 2011-02-23 Paul Eggert * doc/tar.texi: Adjust example commands and output for accuracy. - The original problem was reported by Michael Witten in . 2011-02-16 Paul Eggert tar: if (p) free (p); -> free (p); - There is no longer (since SunOS 4) any need to guard against free (NULL), so replace each "if (p) free (p);" with "free (p);". From Jim Meyering in @@ -1942,7 +2408,6 @@ 2010-12-14 Sergey Poznyakoff Correctly store long sparse file names in PAX archives. - * src/sparse.c (pax_dump_header_1): Make sure the created header name is shorter than NAME_FIELD_SIZE bytes. @@ -1954,7 +2419,6 @@ 2010-12-07 Paul Eggert tests: make the truncate test smaller and less buggy (tiny change) - Reported by Solar Designer in . * tests/truncate.at: Use a smaller test case, and make its @@ -1964,7 +2428,6 @@ tests: skip SIGPIPE-dependent tests in environments ignoring SIGPIPE - Problem reported by Sven Joachim in . * tests/remfiles01.at: Use AT_SIGPIPE_PREREQ. @@ -1975,7 +2438,6 @@ tar: work around NetBSD and Tru64 symlink incompatibility with POSIX - Problem reported by Bruno Haible in . * src/extract.c (maybe_recoverable): Also treat EFTYPE (if @@ -1985,30 +2447,22 @@ 2010-11-24 Paul Eggert tar: adjust to paxutils change: paxexit.c -> paxexit-status.c - * lib/Makefile.am (libtar_a_SOURCES): paxexit.c renamed to paxexit-status.c. -2010-11-24 Paul Eggert - tar: remove unused function dir_removed_diag - * src/common.h (dir_removed_diag): Remove unused decl. * src/misc.c (dir_removed_diag): Remove unused function. 2010-11-23 Paul Eggert tar: work around FreeBSD symlink incompatibility with POSIX - * src/extract.c (maybe_recoverable): Treat EMLINK like ELOOP, for FreeBSD. Problem reported by Christian Weisgerber in . -2010-11-23 Paul Eggert - * src/names.c: tar: fix bug with --one-file-system --listed-incremental - Problem (and idea for fix) reported by Martin Weigel . * src/common.h (is_individual_file): Remove decl. @@ -2020,19 +2474,13 @@ * src/names.c (individual_file_table, register_individual_file): (is_individual_file): Remove. All uses removed. -2010-11-23 Paul Eggert - tests: new test listed04 for --one-file-system --listed-incremental - * tests/Makefile.am (TESTSUITE_AT): Add listed04.at. * tests/listed04.at: New file. * tests/testsuite.at: Include it. -2010-11-23 Paul Eggert - scripts: fix option parsing - Problem reported by Dennis Wydra in . * scripts/backup.in: Accept "-l LEVEL". Be more systematic about @@ -2044,24 +2492,19 @@ 2010-11-15 Sergey Poznyakoff - Issue a warning if the archive being compared contais transformed + Issue a warning if the archive being compared contains transformed file names. - * src/common.h (transform_program_p): New proto. * src/transform.c (transform_program_p): New function. * src/compare.c (verify_volume): Warn if the archive contains transformed file names. -2010-11-15 Sergey Poznyakoff - Minor change. - * doc/tar.texi: Reword the description of decompress-program. 2010-11-15 Paul Eggert tar: fix --verify option, which broke in 1.24 - * NEWS: Document this. * src/compare.c (verify_volume): Decode the header before invoking diff_archive, as diff_archive no longer does this as of the @@ -2078,14 +2521,12 @@ 2010-11-08 Jim Meyering tests: avoid spurious failure when VERSION_CONTROL envvar is set - * tests/backup01.at: Unset VERSION_CONTROL. Otherwise, when set to e.g., 'always', it would cause this test to fail. 2010-11-07 Sergey Poznyakoff Version 1.25 - * configure.ac: Version 1.25 * NEWS: Describe the changes. @@ -2093,7 +2534,6 @@ Run alternative decompression programs if the principal one is not available. - Some compression programs are able to handle various compression formats (e.g. `gzip' can decompress files created by `compress', `xz' @@ -2101,7 +2541,6 @@ to handle lzma, etc.) Tar tries to use such programs for decompression if the principal decompressor cannot be started. - * src/buffer.c (compress_type): Swap ct_none and ct_tar. (archive_compression_type): New static variable. (zip_magic): Remove program and option fields. @@ -2124,7 +2563,6 @@ 2010-11-02 Paul Eggert tests: fix some issues with signals, timestamps, "test" typo - * tests/extrac17.at: Add --warning=no-timestamp, to avoid bogus warning due to NFS clock skew. * tests/remfiles01.at: Discard diagnostics that some shells @@ -2136,14 +2574,12 @@ 2010-11-01 Sergey Poznyakoff Fix extraction of device nodes. - * src/extract.c (extract_node): Do not mask out node type. The bug was introduced in commit ea964cce. 2010-10-28 Paul Eggert tar: don't cross struct member boundaries with OLDGNU_MAGIC - * src/create.c (write_gnu_long_link, start_header): Access header->buffer + offsetof (struct posix_header, magic), instead of header->header.magic, when reading or writing the OLDGNU_MAGIC @@ -2155,10 +2591,7 @@ . * src/list.c (decode_header): Likewise. -2010-10-28 Paul Eggert - tests: port to sh variants that squirrel away file descriptors - OpenBSD /bin/sh, and some other sh variants, squirrel away file descriptors before closing them. For example, for "cat 3<&-" they first dup file descriptor 3 to a fd that is 10 or greater, then @@ -2171,16 +2604,13 @@ ; solution suggested by Jilles Tjoelker in . - * tests/extrac11.at (scarce file descriptors): Close file descriptors before invoking ulimit -n. 2010-10-27 Sergey Poznyakoff - Transform file names when updating and appendig to archives. - + Transform file names when updating and appending to archives. This complements 28e91b48. - * src/common.h (transform_stat_info): New prototype. * src/list.c (transform_stat_info): Remove static qualifier. * src/update.c (update_archive): Call transform_stat_info. @@ -2190,26 +2620,18 @@ 2010-10-27 Paul Eggert tests: port to Solaris diff - * tests/extrac13.at: Don't assume that "diff -c" outputs nothing when there are no differences. This is not true on Solaris, - where it outputs "No differences encounted". - -2010-10-27 Paul Eggert + where it outputs "No differences encountered". tar: fix -x --overwrite bug (no --dereference, ! O_NOFOLLOW) - This bug was discovered on Solaris 8. On older hosts lacking O_NOFOLLOW, tar -x --overwrite (without --dereference) follows symbolic links, causing the "extract over symlinks" test to fail. - * src/extract.c (open_output_file): If O_NOFOLLOW is needed but does not work, check for a symlink separately. -2010-10-27 Paul Eggert - tar: don't use "((" in shell scripts - * tests/extrac11.at: Replace "((" with "( (" in shell scripts, as "((" is not portable to the Korn shell, and POSIX 1003.1-2008 says that "((" is not portable. @@ -2217,15 +2639,12 @@ 2010-10-26 Sergey Poznyakoff Make sure name matching occurs before name transformation. - The commit 9c194c99 altered that order. - * src/list.c (transform_stat_info): New function. Split off from decode_header. (read_and): Call transform_stat_info right before do_something, and after deciding if we should proceed with this member name, so that name matching occurs before name transformation. - * tests/extrac17.at: New file. * tests/Makefile.am (TESTSUITE_AT): Add extrac17.at * tests/testsuite.at: Include extrac17.at. @@ -2233,29 +2652,24 @@ 2010-10-26 Paul Eggert tar: don't assume stdin is open when testing fd limits - * tests/extrac11.at: Redirect stdin from /dev/null, in case the parent 'make' is running with stdin closed. 2010-10-26 Sergey Poznyakoff Further fixes in bootstrap. - * bootstrap: Restore the default for gnulib_path (symlink_to_dir): Re-apply 67cad07. 2010-10-26 Paul Eggert tar: fix bug with -C and extracting directories - Problem reported by Denis Excoffier in . - * src/extract.c (extract_dir): Use mkdirat, not mkdir. * tests/extrac16.at: New file, to test for this bug. * tests/Makefile.am (TESTSUITE_AT): Add it. * tests/testsuite.at: Include it. - This file is a placeholder. It will be replaced with the actual ChangeLog by make dist. Run make ChangeLog if you wish to create it @@ -2264,7 +2678,6 @@ 2010-10-25 Sergey Poznyakoff Version 1.24 - * configure.ac, NEWS: Version 1.24 * bootstrap: Restore tar-specific code lost during last sync from gnulib (241b72ffad). @@ -2273,7 +2686,6 @@ 2010-10-16 Paul Eggert tar: use more-accurate diagnostic when intermediate mkdir fails - Without this change, if tar tried to extract a file A/B/C, noticed that A/B didn't exist, attempted to mkdir A/B, and the mkdir failed, it did not diagnose the mkdir failure, but simply reported @@ -2293,16 +2705,12 @@ * tests/Makefile.am (TESTSUITE_AT): Add it. * tests/testsuite.at: Include it. -2010-10-16 Paul Eggert - tests: port to NFS file servers with clock skew - Several of the tests assumed that a newly created file cannot have a time stamp dated in the future. This assumption is not true when files are served by a remote host whose clock is slightly in advance of ours. Fix the problems that I observed when running "make check" a couple of times on such a server. - * tests/backup01.at: Use --warning=no-timestamp to suppress clock-skew warnings. * tests/chtype.at, tests/comprec.at, tests/exclude06.at: @@ -2320,7 +2728,6 @@ gnulib: sync from latest gnulib, notably bootstrap and parse-datetime - * bootstrap: Sync from gnulib. * doc/.gitignore: Rename getdate.texi to parse-datetime.texi. * doc/Makefile.am (tar_TEXINFOS): Likewise. @@ -2335,7 +2742,6 @@ 2010-09-24 Paul Eggert tar: -x -C symlink fix - * src/misc.c (chdir_do): Don't use O_NOFOLLOW when opening the argument to -C. This is for consistency with "tar -c -C FOO", and matches the new documentation. @@ -2343,10 +2749,7 @@ * tests/Makefile.am (TESTSUITE_AT): Add it. * tests/testsuite.at: Include it. -2010-09-24 Paul Eggert - tar: --dereference consistency - This closes another race condition, that occurs when overwriting a symlink with a regular file. * NEWS (--dereference consistency): New section. @@ -2391,7 +2794,6 @@ 2010-09-20 Paul Eggert tar: do not crash with --listed-incremental - Problem reported by Frantisek Hanzlik in via Kamil Dudka in . @@ -2405,7 +2807,6 @@ 2010-09-19 Paul Eggert tar: prefer openat-style functions - This change replaces traditional functions like 'open' with the POSIX.1-2008 functions like 'openat'. Mostly this is an internal refactoring change, in preparation for further changes to close @@ -2463,7 +2864,6 @@ to date. This code won't scale well, but is good enough for now. * src/update.c (update_archive): Use openat + fdopendir + streamsavedir rather than savedir. - This file is a placeholder. It will be replaced with the actual ChangeLog by make dist. Run make ChangeLog if you wish to create it @@ -2472,15 +2872,11 @@ 2010-09-18 Paul Eggert tar: add utimens.h includes - * src/extract.c: Include , needed for fdutimens prototype. * src/misc.c: Likewise. -2010-09-18 Paul Eggert - tar: switch to gnulib fdutimensat module - * gnulib.modules: Add fdutimensat. * src/common.h (fd_utimensat): Remove decl. * src/extract.c (set_stat): Call fdutimensat, not fd_utimensat. @@ -2490,7 +2886,6 @@ 2010-09-17 Paul Eggert tar: extract permissions for . last - * src/common.h (must_be_dot_or_slash): New decl. * src/extract.c (mark_after_links): New function, taking code that used to be in create_placeholder_file. @@ -2501,18 +2896,12 @@ * tests/Makefile.am (TESTSUITE_AT): Add it. * tests/testsuite.at: Likewise. -2010-09-17 Paul Eggert - tar: don't check for getdtablesize; use AC_CHECK_FUNCS_ONCE - * configure.ac: Don't check for getdtablesize; no longer needed. Use AC_CHECK_FUNCS_ONCE rather than AC_CHECK_FUNCS, for efficiency. -2010-09-17 Paul Eggert - tar: extract symlink attributes, close some symlink-related races - * NEWS: Describe symlink-extraction improvements. * src/extract.c (enum permstatus): Remove. (fchmod, fchown): Define dummy replacement macros if the system @@ -2574,43 +2963,33 @@ 2010-09-16 Paul Eggert tar: tar -x without --incremental no longer sets atime again - * src/extract.c (set_stat): Use UTIME_OMIT rather than UTIME_NOW. The UTIME_NOW was there only to emulate the previous behavior of using the current time, and the previous behavior was there only because before we started assuming POSIX.1-2008 there was no portable way to get the effect of UTIME_NOW. -2010-09-16 Paul Eggert - tar: another --atime-preserve race fix - * src/common.h (set_file_atime): Add parentfd arg. * src/compare.c (diff_file): Use it. * src/create.c (dump_file0): Likewise. This closes yet another race condition with symbolic links. * src/misc.c (set_file_atime): Add parentfd arg. -2010-09-16 Paul Eggert - tar: --atime-preserve fixes for races etc. - This patch fixes a race condition in the --atime-preserve=replace option, which might cause tar to improperly follow a symbolic link. - It also drops the use of the _FIOSATIME ioctl of Solaris 2.x and later, which loses resolution on time stamps. Modern Solaris systems support full-resolution time stamps in the kernel, and it's not worth the hassle of testing this call, useful only in no-longer-supported Solaris variants. - Also, it undoes a change I recently introduced to the --compare option, which caused it to not follow symbolic links unless the --dereference option was also used. Quite possibly this change is a good idea, but the old behavior was documented and the change should not have been installed casually. - * configure.ac: Don't check for stropts.h and sys/filio.h. * gnulib.modules: Add futimens, utimensat. Remove futimens. * src/common.h (fd_utimensat): New decl. @@ -2618,7 +2997,7 @@ Don't use open_read_flags: those are for --create only. * src/create.c (dump_file0): Adjust to set_file_atime changes. Pass fstatat_flags to set_file_atime, so that symbolic links are - not followed inadvertantly. + not followed inadvertently. * src/extract.c: Don't include utimens.h. (set_stat): Use fd_utimensat ant UTIME_NOW rather than fdutimens. * src/misc.c: Don't include utimens.h, stropts.h, sys/filio.h. @@ -2629,7 +3008,6 @@ 2010-09-14 Paul Eggert * configure.ac: tar: close some race conditions when extracting - * configure.ac: Check for fchmod and fchown. Don't check for utimes. * src/extract.c (fdchmod, fdchown, fdstat): New functions. @@ -2640,7 +3018,6 @@ 2010-09-13 Paul Eggert tar: don't worry about fdopendir closing its argument - * NEWS: Don't mention dirfd; no longer needed. * gnulib.modules: Remove dirfd. * src/create.c (get_directory_entries): Remove the code dealing @@ -2649,16 +3026,10 @@ and gnulib commit 970c9038e4cca46e1b037ae0a6d574dfae6a7327. -2010-09-13 Paul Eggert - * NEWS: Fix wording typo in previous change. - Reported by Jim Meyering. -2010-09-13 Paul Eggert - tar: live within system-supplied limits on file descriptors - * NEWS: Note the change. Mention dirfd and fdopendir. * gnulib.modules: Add dirfd and fdopendir. The code was already using fdopendir; dirfd is a new need. @@ -2700,7 +3071,6 @@ 2010-09-08 Paul Eggert tar: improve documentation of reliability and security issues - * doc/tar.texi (Reliability and security, Reliability): (Permissions problems, Data corruption and repair, Race conditions): @@ -2710,7 +3080,6 @@ 2010-09-06 Paul Eggert tar: more reliable directory traversal when creating archives - * NEWS: Document this. * gnulib.modules: Add openat, readlinkat. * src/common.h (open_read_flags, fstatat_flags): New global @@ -2780,7 +3149,6 @@ 2010-09-05 Paul Eggert tar: remove lint discovered by Sun C compiler - * src/common.h (WARN_ALL): Don't mask with 0xffffffff; on a 32-bit host, 0xffffffff is of type 'unsigned int', which makes WARN_ALL an unsigned int value that is too large to fit into an int, and @@ -2790,7 +3158,6 @@ 2010-09-04 Paul Eggert tar: restore macros that are used in some cases - * src/tar.c (LOW_DENSITY_NUM, MID_DENSITY_NUM, HIGH_DENSITY_NUM): Restore these macros, undoing the previous change to this file. The macros are used after all, in some cases. Sorry about that. @@ -2798,7 +3165,6 @@ 2010-09-03 Paul Eggert tar: remove unused macros - * src/create.c (UINTMAX_TO_CHARS): Remove; no longer used. * src/tar.c (LOW_DENSITY_NUM, MID_DENSITY_NUM, HIGH_DENSITY_NUM): Likewise. @@ -2808,7 +3174,6 @@ 2010-08-27 Sergey Poznyakoff Fix --remove-files in update/append mode. - * src/update.c (update_archive): Call finish_deferred_unlinks when done. @@ -2816,7 +3181,6 @@ tar: avoid assumptions about root access and chmod -w in test cases - * tests/extrac07.at, tests/extrac09.at, tests/listed03.at: Use AT_UNPRIVILEGED_PREREQ, since this test requires non-root privileges. @@ -2824,10 +3188,7 @@ portable to start a chmod permissions-list with "-" as it may be confused with an option. Use "chmod a-w" instead. -2010-08-26 Paul Eggert - tar: fix bug with -C and delayed setting of metadata - * src/common.h (chdir_current): New decl. * src/extract.c (struct delayed_set_stat, struct delayed_link): New member change_dir. @@ -2847,7 +3208,6 @@ 2010-08-25 Sergey Poznyakoff Don't apply file transformations to volume names. - * src/list.c (decode_header): Don't apply file transformations to volume names. * tests/xform01.at: New testcase. @@ -2858,17 +3218,13 @@ 2010-08-25 Paul Eggert tar: optimize -c --sparse when file is entirely sparse - * src/sparse.c (sparse_scan_file): If the file is entirely sparse, that is, if ST_NBLOCKS is zero, don't bother scanning for nonzero blocks. Idea by Kit Westneat, communicated by Bernd Schubert in . Also, omit unnecessary lseek at start of file. -2010-08-25 Paul Eggert - tar: don't assume size of a sparse file chunk fits in size_t - * src/tar.h (struct sp_array): Change numbytes from size_t to off_t. All uses changed. @@ -2887,10 +3243,7 @@ * src/xheader.c (sparse_numbytes_decoder, sparse_map_decoder): Likewise. -2010-08-25 Paul Eggert - tar: use ctime, not mtime, when checking placeholders - * src/extract.c (struct delayed_link): Rename member mtime to ctime. All uses changed to use ctime rather than mtime. @@ -2898,13 +3251,9 @@ 2010-08-24 Paul Eggert tar: add comment to link04.at test - * tests/link04.at: Add explanatory comment at head. -2010-08-24 Paul Eggert - tar: fix 1.23 Solaris regression related to PRIV_SYS_LINKDIR - The idea was suggested by Petr Sumbera in the thread starting here: http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00000.html @@ -2920,10 +3269,7 @@ Invoke priv_set_restore_linkdir before execv or execlp, so that the subprocess has the same privileges that tar originally did. -2010-08-24 Paul Eggert - tar: handle files that occur multiple times but have link count 1 - This patch was inspired by the following patch that addressed a similar problem in GNU coreutils du: http://git.savannah.gnu.org/gitweb/?p=coreutils.git;h=efe53cc72b599979ea292754ecfe8abf7c839d22 @@ -2946,14 +3292,10 @@ 2010-08-23 Paul Eggert tar: use nlink_t for link counts - * src/create.c (struct link): nlink is now of type nlink_t, not size_t. -2010-08-23 Paul Eggert - tar: don't export names that aren't used elsewhere - * src/common.h (file_dumpable_p, gid_to_chars, major_to_chars): (minor_to_chars, mode_to_chars, uid_to_chars, uintmax_to_chars): (string_to_chars, dumpdir_creat0, dumpdir_create, dumpdir_free): @@ -2988,10 +3330,7 @@ * src/tar.c (request_stdin): Now static. * src/xheader.c (xheader_init): Now static. -2010-08-23 Paul Eggert - tar: fix misspelled identifier "set_comression_program_by_suffix" - * src/suffix.c (set_compression_program_by_suffix): Renamed from set_comression_program_by_suffix. * src/buffer.c, src/common.h, src/tar.c: All uses changed. @@ -2999,16 +3338,12 @@ 2010-08-20 Paul Eggert tar: change interdir_made from int to bool - * src/extract.c (maybe_recoverable, create_placeholder_file): Change interdir_made from int * to bool *, since the flag has just two values 0 and 1. All uses changed. This does not affect tar's behavior. -2010-08-20 Paul Eggert - tar: remove trailing white space from source files - * ChangeLog.1, ChangeLog.CVS, Makefile.am, NEWS, README: * README-hacking, directory, doc/Makefile.am, doc/dumpdir.texi: * doc/gendocs_template, doc/intern.texi, doc/mastermenu.el: @@ -3049,7 +3384,6 @@ 2010-08-19 Paul Eggert tar: update licenses to latest versions from www.gnu.org - * COPYING: Update to latest version; this is just minor formatting. * doc/fdl.texi: Update from GFDL 1.2 to 1.3. @@ -3063,7 +3397,6 @@ 2010-07-18 Paul R. Eggert tar: no need to report getcwd error if never using the result - * src/misc.c (struct wd): Rename 'saved' to 'err', with new semantics. (chdir_arg, chdir_do): Adjust to new semantics. Do not report an @@ -3073,11 +3406,8 @@ * tests/testsuite.at: Include it. * tests/Makefile.am (TESTSUITE_AT): Add it. -2010-07-18 Paul R. Eggert - tar: go back to absolutifying filenames in normalize_filename for now - * src/misc.c (normalize_filename): For now, go back to making filenames absolute, even though this causes 'tar' to fail when getcwd fails. However, do not attempt to resolve ".." as this @@ -3087,7 +3417,6 @@ 2010-07-17 Sergey Poznyakoff Allow for size suffixes in -L and --record-size options. - * src/tar.c (TAR_SIZE_SUFFIXES): New define. (parse_opt): Allow for size suffixes in arguments to -L and --record-size options. @@ -3096,7 +3425,6 @@ 2010-07-15 Paul R. Eggert tar: don't crash if getcwd fails - * src/extract.c: Don't include xgetcwd.h. (extract_dir): stat "." rather than statting getcwd's output. * src/misc.c (normalize_filename_x): Rewrite so as not to resolve @@ -3114,10 +3442,8 @@ Keep a detailed map of archive members stored in the record buffer. - A separate map (bufmap) provides information for creating multi-volume continuation headers. - * src/buffer.c (bufmap): New struct. (bufmap_head, bufmap_tail, inhibit_map): New variables. (mv_begin_write): New function. @@ -3138,24 +3464,18 @@ (mv_size_left): Update bufmap_head. (mv_end): Rewrite. (multi_volume_sync): Remove. - * src/common.h (mv_begin_write): New prototype. (mv_begin): Rename to mv_begin_read. * src/create.c: Use mv_begin_write instead of mv_begin. Remove calls to mv_size_left and mv_end. * src/sparse.c: Likewise. - * tests/multiv07.at: Close stdin. * tests/spmvp00.at: Update AT_KEYWORDS. * tests/spmvp10.at: Likewise. - * tests/multiv08.at: New testcase. * tests/Makefile.am, tests/testsuite.at: Add multiv08.at. -2010-07-11 Sergey Poznyakoff - Version 1.23.90 - * NEWS, configure.ac: Version 1.23.90 * doc/tar.texi: Document the use of lbzip2. @@ -3163,35 +3483,27 @@ Fix exclusion of long file names when extracting from pax format archives. - * src/list.c (read_and): Call decode_header before attempting name_match. (list_archive): Remove call to decode_header. - * src/compare.c (diff_archive): Remove call to decode_header. * src/extract.c (extract_archive): Likewise. - * test/exclude06.at: New test case. * tests/testsuite.at: Include exclude06.at. * tests/Makefile.am (TESTSUITE_AT): Add exclude06.at. -2010-06-28 Sergey Poznyakoff - Minor fix. - * src/buffer.c (magic): Split the character constant to help cc recognize character boundaries (7 is a valid hex character). 2010-06-27 Sergey Poznyakoff Minor fix. - * src/buffer.c (magic): Fix xz magic. 2010-06-16 Paul Eggert Remove some lint, found by gcc -W etc. - * src/common.h (label_notfound): New decl. * src/buffer.c (set_volume_start_time, compress_type): (guess_seekable_archive, open_compressed_archive, init_buffer): @@ -3215,7 +3527,6 @@ _single_transform_name_to_obstack): (_transform_name_to_obstack): Likewise. * src/unlink.c (dunlink_alloc): Likewise. - * src/buffer.c (struct zip_magic): Use const when appropriate. * src/incremen.c (obstack_code_rename, write_directory_file_entry): @@ -3224,9 +3535,7 @@ * src/system.c (dec_to_env, time_to_env, oct_to_env, str_to_env): (chr_to_env): Likewise. * src/tar.c (tar_list_quoting_style, set_stat_signal): Likewise. - * src/extract.c (extract_node): Don't return garbage. - * src/names.c: Remove old-style declarations of getgrnam etc. All modern systems declare these, and it's not worth the hassle of ignoring the warnings on modern systems for old-style decls. @@ -3234,7 +3543,6 @@ 2010-05-17 Sergey Poznyakoff Bugfix. - * src/incremen.c (make_directory): Retain the slash if it is the only character in a filename. @@ -3245,14 +3553,12 @@ 2010-04-01 Sergey Poznyakoff Fix the gzip.at test case. - * tests/gzip.at: Suppress gzip error output, as it can differ depending on its version etc. Bug reported by Ludovic Courtès. 2010-03-28 Sergey Poznyakoff New option --full-time. - * src/common.h (full_time_option): New global. * src/tar.c (FULL_TIME_OPTION): New constant. (options): New option --full-time. @@ -3265,23 +3571,16 @@ 2010-03-27 Sergey Poznyakoff Minor fixes in the testsuite. - * tests/extrac07.at: Fix a typo (invalid number of arguments before format list). * tests/link02.at: Use `ln' instead of `link'. * tests/link03.at: Likewise. -2010-03-27 Sergey Poznyakoff - Fix coredump. - * src/names.c (collect_and_sort_names): Remove entry from the table before freeing it. -2010-03-27 Sergey Poznyakoff - Fix dead loop on extracting existing symlinks with the -k option. - * src/extract.c (create_placeholder_file) (extract_link, extract_symlink) (extract_node, extract_fifo): Handle all possible @@ -3292,7 +3591,6 @@ 2010-03-20 Sergey Poznyakoff Fix undesired error exit on receiving SIGPIPE. - * src/tar.c: Do not ignore SIGPIPE. * tests/sigpipe.at: New testcase. * tests/Makefile.am, tests/testsuite.at: Add sigpipe.at @@ -3302,14 +3600,12 @@ 2010-03-17 Sergey Poznyakoff Fix --remove-files. - Tar --remove-files relied on canonicalize_file_name, which replaces symlinks in file name components with the directories they point to. Due to this, tar effectively ignored existence of symbolic links and was unable to remove a directory that contained any (Alexander Kozlov , 2010-03-15). - * gnulib.modules: Remove canonicalize. * src/misc.c (normalize_filename): Rewrite from scratch. The function operates only on @@ -3324,18 +3620,15 @@ 2010-03-12 Sergey Poznyakoff Bugfixes. - * src/buffer.c (check_label_pattern): Initialize result. * tests/remfiles01.at: Skip if run with root privileges. 2010-03-11 Sergey Poznyakoff Fix `--test-label' and `--label -r' behavior. - * doc/tar.texi (Including a Label in the Archive): Revise the section. * NEWS: Update - * src/buffer.c (open_archive): Check volume label on ACCESS_UPDATE as well. * src/list.c (test_archive_label): Rewrite to match the @@ -3343,46 +3636,32 @@ * src/names.c (regex_usage_warning): Return int. (names_notfound): Rewrite the conditional. (label_notfound): New function. - * tests/label03.at: New testcase. * tests/label04.at: New testcase. * tests/label05.at: New testcase. * tests/Makefile.am: Add new testcases. * tests/testsuite.at: Likewise. -2010-03-11 Sergey Poznyakoff - Doc fixes. - * doc/tar.texi: Consistently use lowercase `see' within sentences. More fixes spotted by Denis Excoffier. * THANKS: Update. -2010-03-11 Sergey Poznyakoff - Shut up a gcc warning message. - * src/tar.c (tar_help_filter): Use a separate const variable to hold returns from gettext. Reported by Peter Breitenlohner. -2010-03-11 Sergey Poznyakoff - Bugfix. - * src/names.c (collect_and_sort_names): Initialize prev_name. Reported by Dmitry V. Levin. 2010-03-10 Sergey Poznyakoff Version 1.23 - * configure.ac, NEWS: Update version number. -2010-03-10 Sergey Poznyakoff - Doc changes. - * NEWS: Update. * THANKS: Update. * doc/snapshot.texi, doc/snapshot.texi, @@ -3394,21 +3673,16 @@ 2010-03-08 Kamil Dudka Fix possible overflow in code_timespec (tiny change) - * src/misc.c (code_timespec): ignore invalid values of ns 2010-03-08 Sergey Poznyakoff Minor fix in the testsuite. - * tests/extrac05.at: Skip test if creating sparse file fails. -2010-03-08 Sergey Poznyakoff - Fix eventual memory override and fd exhaustion in create.c Both bugs reported by Kamil Dudka. - * src/create.c (check_exclusion_tags): Do not keep pointer to a location within tagname: it may change after xrealloc. Use byte offset instead. @@ -3418,13 +3692,11 @@ 2010-03-02 Sergey Poznyakoff Minor change. - * doc/tar.texi: Improve some wording. 2010-03-02 Antonio Diaz Diaz Add Lzip support - * configure.ac: Add TAR_COMPR_PROGRAM(lzip) * doc/tar.texi: Reflect lzip support. * src/buffer.c (compress_type) : New constant. @@ -3435,21 +3707,18 @@ 2010-03-02 Sergey Poznyakoff Minor fix. - * tests/exclude05.at: Rewrite awk invocation to avoid overflowing awk's file table on Solaris. 2010-03-02 Eric Blake Fix large file support. - * scripts/xsparse.c (read_map): Use fseeko. * src/incremen.c (write_directory_file): Likewise. 2010-03-02 Sergey Poznyakoff Bugfix - * src/buffer.c (seek_archive): Rewrite size computation to prevent it from reaching negative values. Based on report by Denis Excoffier . @@ -3457,7 +3726,6 @@ 2010-02-25 Sergey Poznyakoff Supply more information to the --to-command script. - * src/system.c (stat_to_env): Pass information about the current volume in variables TAR_ARCHIVE, TAR_VOLUME, TAR_BLOCKING_FACTOR, TAR_FORMAT. @@ -3468,7 +3736,6 @@ 2010-02-17 Sergey Poznyakoff Minor change. - * src/names.c (regex_usage_warning): Fix warning message. 2010-02-05 Sergey Poznyakoff @@ -3478,14 +3745,12 @@ 2010-02-05 Ondřej Vašík Bugfix (tiny change) - * src/xheader.c (xheader_read): Remove unnecessary call to xheader_init. 2010-01-26 Sergey Poznyakoff Enable silent build mode. - * configure.ac: Require automake 1.11, autoconf 2.63. Enable silent rules. * NEWS: Update. @@ -3494,7 +3759,6 @@ 2010-01-25 Sergey Poznyakoff Read POSIX multivolume archives split at the header boundary. - * src/common.h (read_header_mode): New enum. (read_header): Change type of the 3rd argument. * src/list.c (read_header): Change type of the 3rd argument. @@ -3502,11 +3766,9 @@ * src/buffer.c (try_new_volume): Allow for volumes split at the extended/ustar header boundary. This is against POSIX specs, but we must be able to read such archives anyway. - * tests/multiv07.at: New test case. * tests/Makefile.am: Add multiv07.at * tests/testsuite.at: Likewise. - * src/compare.c: Update calls to read_header. * src/delete.c: Likewise. * src/update.c: Likewise. @@ -3514,7 +3776,6 @@ 2010-01-24 Sergey Poznyakoff Minor change. - * NEWS: Update. * doc/tar.texi: Update. * src/create.c (finish_header): Minor change. @@ -3522,22 +3783,17 @@ 2010-01-24 Rob Vermaas Bugfix (tiny change). - * src/tar.c (format_default_settings)[REMOTE_SHELL]: Fix misplaced comma. 2010-01-24 Sergey Poznyakoff Minor fix. - * src/incremen.c (read_incr_db_01) (read_directory_file): Initialize bufsize to 0. Suggested by noordsij@cs.helsinki.fi. -2010-01-24 Sergey Poznyakoff - Improve handling of --test-label. - * src/list.c (print_volume_label): New function. (print_header): Call print_volume_label. (test_archive_label): New function. @@ -3556,10 +3812,7 @@ (parse_opt): Set subcommand if --test-label is given. (main): Handle TEST_LABEL_SUBCOMMAND. -2010-01-24 Sergey Poznyakoff - Fix listing of volume labels (in particular in PAX archives). - * src/buffer.c (match_volume_label): Call set_volume_label. (check_label_pattern): Get label string as argument. @@ -3586,7 +3839,6 @@ updated. (decg): If XHDR_GLOBAL bit is set, call the keyword's decode method instead of adding it to `kwl'. - * src/compare.c: Update calls to read_header. * src/create.c: Likewise. * src/delete.c: Likewise. @@ -3596,7 +3848,6 @@ because it is inconsistent: it is not printed if the volume begins with a member continued from the previous volume. - * tests/label01.at: New testcase. * tests/label02.at: New testcase. * tests/Makefile.am, tests/testsuite.at: Add new testcases. @@ -3604,7 +3855,6 @@ 2010-01-22 Sergey Poznyakoff Fix prefix length calculation in ustar mode. - * src/create.c (split_long_name): Fix prefix length calculation. (write_ustar_long_name): Improve ustar mode compatibility @@ -3613,7 +3863,6 @@ 2009-10-14 Sergey Poznyakoff Rewrite update algorithm. - * src/common.h (namebuf_t): New typedef. (namebuf_create, namebuf_free) (namebuf_name): New prototypes. @@ -3633,15 +3882,11 @@ Instead of adding unmodified files to the avoided_name table, create namelist so that it contains only modified files. - * tests/Makefile.am: Add update01.at, update02.at * tests/testsuite.at: Likewise. * tests/update.at (AT_KEYWORDS): Add update00. -2009-10-14 Sergey Poznyakoff - Minor changes. - * src/tar.c (main): Ignore SIGPIPE. * src/system.c (sys_child_open_for_compress) (sys_child_open_for_uncompress): Reset SIGPIPE @@ -3649,17 +3894,13 @@ * tests/remfiles01.at: Avoid race conditions. * tests/remfiles02.at: Likewise. -2009-10-14 Sergey Poznyakoff - Bugfix. - * src/buffer.c (_open_archive): Call guess_seekable_archive only if the call to open_compressed_archive succeeded. 2009-10-10 Sergey Poznyakoff Improve previous changes. - * acinclude.m4: Fix typos. * gnulib.modules: Add xvasprintf. * src/common.h: Include xvasprintf.h. @@ -3671,17 +3912,13 @@ (parse_opt): Use *_PROGRAM defines instead of hardcoded program names. -2009-10-10 Sergey Poznyakoff - Allow installers to specify alternative program names for compression programs. - This adds --with-gzip, --with-bzip2 etc. switches to the configure, so that one can do, e.g. ./configure --with-bzip2=lbzip2 and have lbzip2 executed whenever user calls `tar --bzip2'. - * acinclude.m4: New file. * configure.ac: Add TAR_COMPR_PROGRAM invocations for the supported compressors. @@ -3692,7 +3929,6 @@ 2009-10-09 Sergey Poznyakoff Minor fix. - * src/buffer.c (magic): Fix `xz' entry: add the name of the program. * src/suffix.c (compression_suffixes, nsuffixes): Mark as static. @@ -3701,7 +3937,6 @@ Provide a way to explicitly set mtime for extended header ustar blocks. - * src/tar.c (struct textual_date): ts is a copy of the structure, not a pointer to it. Date is a copy as well, hence the `const' is taken away. @@ -3723,18 +3958,12 @@ * NEWS: Update * doc/tar.texi: Document the changes. -2009-10-07 Sergey Poznyakoff - Use file's mtime as mtime for its extended header. - This makes two pax archives binary equivalent if they have the same contents and care is taken to make extended headers otherwise reproducible, e.g. by using: - --pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0 - Proposed by Michael D. Adams . - * src/common.h (start_private_header): Take time_t as 3rd param. (xheader_write): Likewise. * src/create.c (start_private_header): Take time_t as 3rd param. @@ -3744,14 +3973,10 @@ Use current time stamp as mtime for global headers. (xheader_write): Take time_t as 3rd param. -2009-10-07 Sergey Poznyakoff - Fix bugs in handling the --remove-files option. - - Make sure the files are deleted only if they were succesfully + Make sure the files are deleted only if they were successfully stored to the archive. - * src/exit.c: New file. * src/unlink.c: New file. * src/Makefile.am (tar_SOURCES): Add exit.c and unlink.c. @@ -3774,7 +3999,6 @@ instead of setting program_name directly. * src/tar.c (main): Use set_program_name, instead of setting program_name directly. - * tests/Makefile.am (TESTSUITE_AT): Add remfiles01.at and remfiles02.at. * tests/testsuite.at: Likewise. @@ -3783,9 +4007,7 @@ 2009-10-04 Sergey Poznyakoff Fix bug in OLDGNU format creation. - See tests/append02.at for a detailed description - * src/common.h (MODE_FROM_HEADER): Take additional argument. (mode_from_header): Likewise. * src/create.c (mode_to_chars): Store all mode bits if @@ -3799,7 +4021,6 @@ 2009-09-16 Sergey Poznyakoff Restore extra help output. - * src/tar.c (tar_list_quoting_styles): Change first argument to struct obstack. (format_default_settings): New function. @@ -3813,7 +4034,6 @@ 2009-09-08 Sergey Poznyakoff Improve command line option handling. - * gnulib.modules: Add argp-version-etc and progname, use getopt-gnu instead of getopt. * src/tar.c (HANG_OPTION, USAGE_OPTION) @@ -3826,27 +4046,20 @@ (decode_options): Call argp_version_setup. Do not use ARGP_NO_HELP flag in the call to argp_parse. -2009-09-08 Sergey Poznyakoff - Avoid overwriting exit_status with a value indicating less important condition. - * src/tar.c (set_exit_status): New function. * src/common.h (set_exit_status): New prototype. * src/compare.c: Use set_exit_status instead of exit_status assignments. * src/create.c: Likewise. * src/misc.c: Likewise. - * src/system.c (wait_for_grandchild): Use auto variable instead of the global exit_status. * src/incremen.c (scan_directory): Use file_removed_diag instead of stat_diag. -2009-09-08 Sergey Poznyakoff - Automatic detection of seekable archives. - * src/buffer.c (guess_seekable_archive): New function. (_open_archive): Call guess_seekable_archive for archives open for reading. @@ -3856,14 +4069,12 @@ (parse_opt): --seek and --no-seek set seek_option, not seekable_archive. (decode_options): Initialize seek_option to -1. - * NEWS: Update. * doc/tar.texi: Update. 2009-08-27 Sergey Poznyakoff Fix testcases. - * tests/extrac08.at: Ensure a predictable umask value. * tests/xform-h.at (xform): do not depend on file name ordering. @@ -3871,7 +4082,6 @@ 2009-08-13 Sergey Poznyakoff Fix interaction between --listed-incremental and -C - * src/incremen.c (read_directory_file): Execute eventual -C dir after opening the snapshot file. (collect_and_sort_names): Remove call to chdir_do @@ -3882,7 +4092,6 @@ Update for new exclude module from gnulib. Add testcases by Phil Proudman. - * src/names.c (is_pattern): Remove. (regex_usage_warning): Use fnmatch_pattern_has_wildcards instead of @@ -3904,7 +4113,6 @@ 2009-08-09 Sergey Poznyakoff Minor fixes. - * src/misc.c (file_removed_diag): Set exit code to TAREXIT_DIFFERS. @@ -3912,15 +4120,10 @@ Minor fixes -2009-08-08 Sergey Poznyakoff - Fix handling of files removed during incremental dumps. - Changes to src/create.c and src/incremen.c are partially based on patch from Alexander Peslyak . - The new testcases require paxutils commit f653a2b or later. - * src/common.h (struct name): New member `cmdline'. (dump_file): Change type of the 2nd argument to bool. (file_removed_diag, dir_removed_diag): New prototypes. @@ -3943,22 +4146,17 @@ * src/names.c (name_gather): Set ->cmdname. (addname): Likewise. All uses updated. (name_from_list): Return struct name const *. All uses updated. - * tests/filerem01.at: New testcase. * tests/filerem02.at: New testcase. * tests/Makefile.am, tests/testsuite.at: Add filerem01.at, filerem02.at * tests/grow.at, test/truncate.at: Use new syntax for genfile --run. - * NEWS: Update. * doc/tar.texi: Minor fix. -2009-08-08 Sergey Poznyakoff - Optimize searches for directory structures by keeping a pointer to struct directory in struct name. - * src/common.h (struct name): New member `directory' replaces dir_contents. Rearrange members. (rebase_directory): Change signature. @@ -3984,38 +4182,30 @@ directory_contents. (rebase_child_list): Update call to rebase_directory. (collect_and_sort_names): Optimize - * src/misc.c (replace_prefix): New function. * src/names.c (add_hierarchy_to_namelist): Use new get_directory_contents. - * tests/incr05.at: New test case. * tests/incr06.at: New test case. * tests/Makefile.am, test/testsuite.at: Add incr05.at and incr06.at. - * doc/Makefile.am (check-options): Improve rule. * doc/tar.texi, NEWS: Update. 2009-08-07 Sergey Poznyakoff Minor fixes. - * src/common.h (rebase_directory): New prototype. * src/incremen.c (rebase_directory): Use replace_prefix. * src/names.c (collect_and_sort_names): Abort if hash_insert fails. -2009-08-07 Sergey Poznyakoff - Improve listed incremental dumps. - The modified algorithm tries to avoid dumping the same directory twice and ensures the order of the directories in the resulting archive is the same, whatever their order on the command line. It also fixes the operation of --listed-incremental -C. - * gnulib.modules: Add canonicalize * src/common.h (incremental_level): New global. (check_exclusion_tags): first argument is const. @@ -4028,7 +4218,6 @@ get_directory_contents. * src/create.c (check_exclusion_tags): First argument is const. Use ISSLASH and DIRECTORY_SEPARATOR instead of referring to '/'. - * src/incremen.c (struct directory): New member `caname'. (hash_directory_name): Rename to hash_directory_canonical_name. Operate @@ -4066,7 +4255,6 @@ Avoid adding the same directory under different pathnames to the list. * src/tar.c: New option --level. - * tests/incr03.at, tests/incr04.at, tests/listed01.at, tests/listed02.at, tests/rename01.at, tests/rename02.at, tests/rename03.at: Update for new tar behavior. @@ -4076,10 +4264,7 @@ Forgotten to push src/warning.c -2009-08-05 Sergey Poznyakoff - Implement the --warning option. - * src/warning.c: New file. * src/Makefile.am: Add warning.c * src/common.h: Provide definitions for warning classes. @@ -4092,7 +4277,6 @@ * src/extract.c: Likewise. * src/incremen.c: Likewise. * src/list.c: Likewise. - * NEWS, doc/tar.texi: Update. 2009-08-05 Carl Worth @@ -4103,7 +4287,6 @@ Fix backup handling and restoring file modes of existing directories - * NEWS, THANKS: Update * src/extract.c (extract_dir): reset status to 0 if the directory already exists. @@ -4118,7 +4301,6 @@ 2009-07-30 Sergey Poznyakoff Fix hard links recognition with -c --remove-files - * src/create.c (dump_hard_link): Always look up in the link table if remove_files_option is set. Patch suggested by Theodore Ts'o . @@ -4127,10 +4309,7 @@ * tests/Makefile.am (TESTSUITE_AT): Add link02.at and link03.at * tests/testsuite.at: Include link02.at and link03.at -2009-07-30 Sergey Poznyakoff - Fix handling of hard link targets by -c --transform - * src/create.c (file_count_links): Transform link target before the look up. * tests/xform-h.at: New test case. @@ -4140,7 +4319,6 @@ 2009-06-23 Sergey Poznyakoff Minor fix. - * src/extract.c (file_newer_p): Do not report error on ENOENT 2009-06-19 Sergey Poznyakoff @@ -4156,7 +4334,6 @@ Fix Solaris bug where chmod fails if we don't have PRIV_SYS_LINKDIR - * gnulib.modules: Add priv-set. * src/extract.c (set_mode, extract_archive): Restore PRIV_SYS_LINKDIR on chmod failure. @@ -4165,21 +4342,18 @@ 2009-06-18 Sergey Poznyakoff Ensure default behavior for SIGPIPE - * src/tar.c (main): Install default handler for SIGPIPE. Proposed by Bastian Blank. 2009-06-18 Eric Blake Follow autoconf recommendation for TESTSUITEFLAGS. - * tests/Makefile.am (check-local, installcheck-local): Honor TESTSUITEFLAGS. 2009-06-18 Sergey Poznyakoff Fix handling of sub-subprocess returns. - * src/system.c (wait_for_grandchild): New function. (sys_child_open_for_compress) (sys_child_open_for_uncompress): Use wait_for_grandchild @@ -4188,7 +4362,6 @@ 2009-05-25 Sergey Poznyakoff Report record size only if the archive refers to a device. - * Makefile.am (INCLUDES): Add ../lib, for rmt-command.h * src/buffer.c (short_read): Report the actual record size only if the archive descriptor refers to a device. @@ -4199,7 +4372,6 @@ 2009-05-14 Sergey Poznyakoff Do not issue errors on existing files when given the -k option - * Makefile.am (dist-hook): Fix rule. * src/extract.c (maybe_recoverable): Return three-state value. (extract_dir): Skip extraction if maybe_recoverable indicates so. @@ -4208,7 +4380,6 @@ 2009-05-12 Eric Blake Avoid undefined behavior - * src/xheader.c (xheader_set_keyword_equal): Pass correct type to ctype macros. * src/transform.c (run_case_conv): Likewise. @@ -4220,7 +4391,6 @@ 2009-03-12 Sergey Poznyakoff Bugfixes. - * bootstrap (symlink_to_dir): Fix symlink calculation. * doc/tar.texi: Minor fixes by Victor Villa and Stepan Kasal. diff --git a/ChangeLog.1 b/ChangeLog.1 index db84a07c..5e17374c 100644 --- a/ChangeLog.1 +++ b/ChangeLog.1 @@ -3186,7 +3186,7 @@ along with this program. If not, see . Reported by Jeffrey Goldberg. * rmt.h (_remdev): A filename is not remote if the colon is - preceeded by a slash, to take care of `/:/' which is a shorthand + preceded by a slash, to take care of `/:/' which is a shorthand for `/...//fs' on OSF's Distributing Computing Environment (DCE) and Distributed File System (DFS). Reported by Travis L. Priest. diff --git a/INSTALL b/INSTALL index 20998407..dadea5c1 100644 --- a/INSTALL +++ b/INSTALL @@ -1,8 +1,8 @@ Installation Instructions ************************* -Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, -Inc. + Copyright (C) 1994-1996, 1999-2002, 2004-2015 Free Software +Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright @@ -12,97 +12,96 @@ without warranty of any kind. Basic Installation ================== - Briefly, the shell command `./configure && make && make install' + Briefly, the shell command './configure && make && make install' should configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for +more-detailed instructions are generic; see the 'README' file for instructions specific to this package. Some packages provide this -`INSTALL' file but do not implement all of the features documented +'INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. - The `configure' shell script attempts to guess correct values for + The 'configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that +those values to create a 'Makefile' in each directory of the package. +It may also create one or more '.h' files containing system-dependent +definitions. Finally, it creates a shell script 'config.status' that you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). +file 'config.log' containing compiler output (useful mainly for +debugging 'configure'). - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. Caching is -disabled by default to prevent problems with accidental use of stale -cache files. + It can also use an optional file (typically called 'config.cache' and +enabled with '--cache-file=config.cache' or simply '-C') that saves the +results of its tests to speed up reconfiguring. Caching is disabled by +default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can +to figure out how 'configure' could check whether to do them, and mail +diffs or instructions to the address given in the 'README' so they can be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you +some point 'config.cache' contains results you don't want to keep, you may remove or edit it. - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You need `configure.ac' if -you want to change it or regenerate `configure' using a newer version -of `autoconf'. + The file 'configure.ac' (or 'configure.in') is used to create +'configure' by a program called 'autoconf'. You need 'configure.ac' if +you want to change it or regenerate 'configure' using a newer version of +'autoconf'. The simplest way to compile this package is: - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. + 1. 'cd' to the directory containing the package's source code and type + './configure' to configure the package for your system. - Running `configure' might take a while. While running, it prints + Running 'configure' might take a while. While running, it prints some messages telling which features it is checking for. - 2. Type `make' to compile the package. + 2. Type 'make' to compile the package. - 3. Optionally, type `make check' to run any self-tests that come with + 3. Optionally, type 'make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. - 4. Type `make install' to install the programs and any data files and + 4. Type 'make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular - user, and only the `make install' phase executed with root + user, and only the 'make install' phase executed with root privileges. - 5. Optionally, type `make installcheck' to repeat any self-tests, but + 5. Optionally, type 'make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a - regular user, particularly if the prior `make install' required + regular user, particularly if the prior 'make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly + source code directory by typing 'make clean'. To also remove the + files that 'configure' created (so you can compile the package for + a different kind of computer), type 'make distclean'. There is + also a 'make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. - 7. Often, you can also type `make uninstall' to remove the installed + 7. Often, you can also type 'make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. - 8. Some packages, particularly those that use Automake, provide `make + 8. Some packages, particularly those that use Automake, provide 'make distcheck', which can by used by developers to test that all other - targets like `make install' and `make uninstall' work correctly. + targets like 'make install' and 'make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' +the 'configure' script does not know about. Run './configure --help' for details on some of the pertinent environment variables. - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: + You can give 'configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here is +an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix @@ -113,21 +112,21 @@ Compiling For Multiple Architectures You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU `make'. `cd' to the +own directory. To do this, you can use GNU 'make'. 'cd' to the directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. This -is known as a "VPATH" build. +the 'configure' script. 'configure' automatically checks for the source +code in the directory that 'configure' is in and in '..'. This is known +as a "VPATH" build. - With a non-GNU `make', it is safer to compile the package for one + With a non-GNU 'make', it is safer to compile the package for one architecture at a time in the source code directory. After you have -installed the package for one architecture, use `make distclean' before +installed the package for one architecture, use 'make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple `-arch' options to the -compiler but only a single `-arch' option to the preprocessor. Like +"universal" binaries--by specifying multiple '-arch' options to the +compiler but only a single '-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ @@ -136,105 +135,104 @@ this: This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results -using the `lipo' tool if you have problems. +using the 'lipo' tool if you have problems. Installation Names ================== - By default, `make install' installs the package's commands under -`/usr/local/bin', include files under `/usr/local/include', etc. You -can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX', where PREFIX must be an + By default, 'make install' installs the package's commands under +'/usr/local/bin', include files under '/usr/local/include', etc. You +can specify an installation prefix other than '/usr/local' by giving +'configure' the option '--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you -pass the option `--exec-prefix=PREFIX' to `configure', the package uses +pass the option '--exec-prefix=PREFIX' to 'configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the -default for these options is expressed in terms of `${prefix}', so that -specifying just `--prefix' will affect all of the other directory +options like '--bindir=DIR' to specify different values for particular +kinds of files. Run 'configure --help' for a list of the directories +you can set and what kinds of files go in them. In general, the default +for these options is expressed in terms of '${prefix}', so that +specifying just '--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the -correct locations to `configure'; however, many packages provide one or +correct locations to 'configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the -`make install' command line to change installation locations without +'make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each -affected directory. For example, `make install +affected directory. For example, 'make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of -`${prefix}'. Any directories that were specified during `configure', -but not in terms of `${prefix}', must each be overridden at install -time for the entire installation to be relocated. The approach of -makefile variable overrides for each directory variable is required by -the GNU Coding Standards, and ideally causes no recompilation. -However, some platforms have known limitations with the semantics of -shared libraries that end up requiring recompilation when using this -method, particularly noticeable in packages that use GNU Libtool. - - The second method involves providing the `DESTDIR' variable. For -example, `make install DESTDIR=/alternate/directory' will prepend -`/alternate/directory' before all installation names. The approach of -`DESTDIR' overrides is not required by the GNU Coding Standards, and +'${prefix}'. Any directories that were specified during 'configure', +but not in terms of '${prefix}', must each be overridden at install time +for the entire installation to be relocated. The approach of makefile +variable overrides for each directory variable is required by the GNU +Coding Standards, and ideally causes no recompilation. However, some +platforms have known limitations with the semantics of shared libraries +that end up requiring recompilation when using this method, particularly +noticeable in packages that use GNU Libtool. + + The second method involves providing the 'DESTDIR' variable. For +example, 'make install DESTDIR=/alternate/directory' will prepend +'/alternate/directory' before all installation names. The approach of +'DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of `${prefix}' -at `configure' time. +when some directory options were not specified in terms of '${prefix}' +at 'configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the +with an extra prefix or suffix on their names by giving 'configure' the +option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'. + + Some packages pay attention to '--enable-FEATURE' options to +'configure', where FEATURE indicates an optional part of the package. +They may also pay attention to '--with-PACKAGE' options, where PACKAGE +is something like 'gnu-as' or 'x' (for the X Window System). The +'README' should mention any '--enable-' and '--with-' options that the package recognizes. - For packages that use the X Window System, `configure' can usually + For packages that use the X Window System, 'configure' can usually find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. +you can use the 'configure' options '--x-includes=DIR' and +'--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the -execution of `make' will be. For these packages, running `./configure +execution of 'make' will be. For these packages, running './configure --enable-silent-rules' sets the default to minimal output, which can be -overridden with `make V=1'; while running `./configure +overridden with 'make V=1'; while running './configure --disable-silent-rules' sets the default to verbose, which can be -overridden with `make V=0'. +overridden with 'make V=0'. Particular systems ================== - On HP-UX, the default C compiler is not ANSI C compatible. If GNU -CC is not installed, it is recommended to use the following options in + On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC +is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. - HP-UX `make' updates targets which have the same time stamps as -their prerequisites, which makes it generally unusable when shipped -generated files such as `configure' are involved. Use GNU `make' -instead. + HP-UX 'make' updates targets which have the same time stamps as their +prerequisites, which makes it generally unusable when shipped generated +files such as 'configure' are involved. Use GNU 'make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its `' header file. The option `-nodtk' can be used as -a workaround. If GNU CC is not installed, it is therefore recommended -to try +parse its '' header file. The option '-nodtk' can be used as a +workaround. If GNU CC is not installed, it is therefore recommended to +try ./configure CC="cc" @@ -242,26 +240,26 @@ and if that doesn't work, try ./configure CC="cc -nodtk" - On Solaris, don't put `/usr/ucb' early in your `PATH'. This + On Solaris, don't put '/usr/ucb' early in your 'PATH'. This directory contains several dysfunctional programs; working variants of -these programs are available in `/usr/bin'. So, if you need `/usr/ucb' -in your `PATH', put it _after_ `/usr/bin'. +these programs are available in '/usr/bin'. So, if you need '/usr/ucb' +in your 'PATH', put it _after_ '/usr/bin'. - On Haiku, software installed for all users goes in `/boot/common', -not `/usr/local'. It is recommended to use the following options: + On Haiku, software installed for all users goes in '/boot/common', +not '/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== - There may be some features `configure' cannot figure out + There may be some features 'configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints +_same_ architectures, 'configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: +'--build=TYPE' option. TYPE can either be a short name for the system +type, such as 'sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM @@ -270,101 +268,101 @@ where SYSTEM can have one of these forms: OS KERNEL-OS - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't + See the file 'config.sub' for the possible values of each field. If +'config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should -use the option `--target=TYPE' to select the type of system they will +use the option '--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. +eventually be run) with '--host=TYPE'. Sharing Defaults ================ - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. + If you want to set default values for 'configure' scripts to share, +you can create a site shell script called 'config.site' that gives +default values for variables like 'CC', 'cache_file', and 'prefix'. +'configure' looks for 'PREFIX/share/config.site' if it exists, then +'PREFIX/etc/config.site' if it exists. Or, you can set the +'CONFIG_SITE' environment variable to the location of the site script. +A warning: not all 'configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run +environment passed to 'configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: +them in the 'configure' command line, using 'VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc -causes the specified `gcc' to be used as the C compiler (unless it is +causes the specified 'gcc' to be used as the C compiler (unless it is overridden in the site shell script). -Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf limitation. Until the limitation is lifted, you can use -this workaround: +Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an +Autoconf limitation. Until the limitation is lifted, you can use this +workaround: CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash -`configure' Invocation +'configure' Invocation ====================== - `configure' recognizes the following options to control how it + 'configure' recognizes the following options to control how it operates. -`--help' -`-h' - Print a summary of all of the options to `configure', and exit. +'--help' +'-h' + Print a summary of all of the options to 'configure', and exit. -`--help=short' -`--help=recursive' +'--help=short' +'--help=recursive' Print a summary of the options unique to this package's - `configure', and exit. The `short' variant lists options used - only in the top level, while the `recursive' variant lists options - also present in any nested packages. + 'configure', and exit. The 'short' variant lists options used only + in the top level, while the 'recursive' variant lists options also + present in any nested packages. -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' +'--version' +'-V' + Print the version of Autoconf used to generate the 'configure' script, and exit. -`--cache-file=FILE' +'--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to + traditionally 'config.cache'. FILE defaults to '/dev/null' to disable caching. -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. +'--config-cache' +'-C' + Alias for '--cache-file=config.cache'. -`--quiet' -`--silent' -`-q' +'--quiet' +'--silent' +'-q' Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error + suppress all normal output, redirect it to '/dev/null' (any error messages will still be shown). -`--srcdir=DIR' +'--srcdir=DIR' Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. + 'configure' can determine that directory automatically. -`--prefix=DIR' - Use DIR as the installation prefix. *note Installation Names:: - for more details, including other options available for fine-tuning - the installation locations. +'--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: for + more details, including other options available for fine-tuning the + installation locations. -`--no-create' -`-n' +'--no-create' +'-n' Run the configure checks, but stop before creating any output files. -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. +'configure' also accepts some other, not widely useful, options. Run +'configure --help' for more details. diff --git a/Make.rules b/Make.rules index 09ad1c1c..a454459f 100644 --- a/Make.rules +++ b/Make.rules @@ -1,26 +1,6 @@ # This file is part of GNU paxutils # -# Copyright (c) 2009 Free Software Foundation, Inc. -# -# Written by Sergey Poznyakoff -# -# GNU Paxutils is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; either version 3, or (at your option) any later -# version. -# -# GNU Paxutils is distributed in the hope that it will be useful, but -# without any warranty; without even the implied warranty of -# merchantability or fitness for a particular purpose. see the gnu general -# public license for more details. -# -# You should have received a copy of the GNU General Public License along -# with GNU Paxutils; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# This file is part of GNU paxutils -# -# Copyright (c) 2009 Free Software Foundation, Inc. +# Copyright (c) 2009, 2014 Free Software Foundation, Inc. # # Written by Sergey Poznyakoff # @@ -39,9 +19,10 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Define the following variables in order to use the ChangeLog rule below: -# prev_change_log [optional] Name of the previous ChangeLog file. -# gen_start_date [optional] Start ChangeLog from this date. -# changelog_dir [mandatory] Directory where to create ChangeLog +# prev_change_log [optional] Name of the previous ChangeLog file. +# gen_start_date [optional] Start ChangeLog from this date. +# changelog_dir [mandatory] Directory where to create ChangeLog +# changelog_amend_file [optional] Amendment file .PHONY: ChangeLog ChangeLog: @@ -50,6 +31,9 @@ ChangeLog: if test -n "$(gen_start_date)"; then \ cmd="$$cmd --since=\"$(gen_start_date)\""; \ fi; \ + if test -n "$(changelog_amend_file)"; then \ + cmd="$$cmd --amend=$(changelog_amend_file)"; \ + fi; \ $$cmd --format='%s%n%n%b%n' | \ sed '/$$/d' | fmt -s > $(changelog_dir)/cl-t; \ if test -n "$(prev_change_log)" && test -f "$(prev_change_log)"; \ diff --git a/Makefile.am b/Makefile.am index 96505c00..cc127324 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ # Main Makefile for GNU tar. -# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013-2014 Free +# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013-2014, 2016 Free # Software Foundation, Inc. # This file is part of GNU tar. @@ -26,7 +26,7 @@ dist-hook: $(MAKE) changelog_dir=$(distdir) ChangeLog -rm -f $(distdir).cpio find $(distdir) | cpio -Hcrc -o | \ - GZIP=$(GZIP_ENV) gzip -c > $(distdir).cpio.gz + eval GZIP= gzip $(GZIP_ENV) -c > $(distdir).cpio.gz distclean-local: -rm -f $(distdir).cpio.gz diff --git a/Makefile.in b/Makefile.in index f9f1d1d1..3c269abf 100644 --- a/Makefile.in +++ b/Makefile.in @@ -16,7 +16,7 @@ # Main Makefile for GNU tar. -# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013-2014 Free +# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013-2014, 2016 Free # Software Foundation, Inc. # This file is part of GNU tar. @@ -36,27 +36,7 @@ # This file is part of GNU paxutils # -# Copyright (c) 2009 Free Software Foundation, Inc. -# -# Written by Sergey Poznyakoff -# -# GNU Paxutils is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; either version 3, or (at your option) any later -# version. -# -# GNU Paxutils is distributed in the hope that it will be useful, but -# without any warranty; without even the implied warranty of -# merchantability or fitness for a particular purpose. see the gnu general -# public license for more details. -# -# You should have received a copy of the GNU General Public License along -# with GNU Paxutils; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# This file is part of GNU paxutils -# -# Copyright (c) 2009 Free Software Foundation, Inc. +# Copyright (c) 2009, 2014 Free Software Foundation, Inc. # # Written by Sergey Poznyakoff # @@ -75,9 +55,10 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Define the following variables in order to use the ChangeLog rule below: -# prev_change_log [optional] Name of the previous ChangeLog file. -# gen_start_date [optional] Start ChangeLog from this date. -# changelog_dir [mandatory] Directory where to create ChangeLog +# prev_change_log [optional] Name of the previous ChangeLog file. +# gen_start_date [optional] Start ChangeLog from this date. +# changelog_dir [mandatory] Directory where to create ChangeLog +# changelog_amend_file [optional] Amendment file VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ @@ -180,10 +161,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ - $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ - $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \ + $(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \ + $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -198,10 +180,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ - $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \ - $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ @@ -223,14 +205,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ - $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ - $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix_openpt.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \ + $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/opendir.m4 \ + $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ + $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/ptsname.m4 \ - $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/raise.m4 \ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/read.m4 \ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \ @@ -266,24 +247,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ + $(top_srcdir)/m4/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ - $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkat.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/unlockpt.m4 \ - $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ - $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ - $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ - $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ - $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ - $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ - $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ - $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \ - $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \ - $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ + $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ + $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ + $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ + $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_h.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \ + $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wcwidth.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/write.m4 \ + $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ + $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -589,6 +570,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_QSORT_R = @GNULIB_QSORT_R@ GNULIB_RAISE = @GNULIB_RAISE@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ @@ -648,6 +630,7 @@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ +GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ @@ -800,6 +783,7 @@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ @@ -886,6 +870,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ @@ -959,6 +944,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_EACCESS = @LIB_EACCESS@ +LIB_HAS_ACL = @LIB_HAS_ACL@ LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ @@ -1124,10 +1110,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ +REPLACE_READLINKAT = @REPLACE_READLINKAT@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ @@ -1160,6 +1148,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ +REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ @@ -1202,6 +1191,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ +UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_ACL = @USE_ACL@ @@ -1766,7 +1756,7 @@ dist-hook: $(MAKE) changelog_dir=$(distdir) ChangeLog -rm -f $(distdir).cpio find $(distdir) | cpio -Hcrc -o | \ - GZIP=$(GZIP_ENV) gzip -c > $(distdir).cpio.gz + eval GZIP= gzip $(GZIP_ENV) -c > $(distdir).cpio.gz distclean-local: -rm -f $(distdir).cpio.gz @@ -1778,6 +1768,9 @@ ChangeLog: if test -n "$(gen_start_date)"; then \ cmd="$$cmd --since=\"$(gen_start_date)\""; \ fi; \ + if test -n "$(changelog_amend_file)"; then \ + cmd="$$cmd --amend=$(changelog_amend_file)"; \ + fi; \ $$cmd --format='%s%n%n%b%n' | \ sed '/$$/d' | fmt -s > $(changelog_dir)/cl-t; \ if test -n "$(prev_change_log)" && test -f "$(prev_change_log)"; \ diff --git a/NEWS b/NEWS index 32bc881d..501164ab 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,88 @@ -GNU tar NEWS - User visible changes. 2014-07-27 +GNU tar NEWS - User visible changes. 2016-05-16 Please send GNU tar bug reports to + +version 1.29 - Sergey Poznyakoff, 2016-05-16 + +* New options: --verbatim-files-from, --no-verbatim-files-from + +The --verbatim-files-from option instructs tar to treat each line read +from a file list as a file name, even if it starts with a dash. + +File lists are supplied with the --files-from (-T) option. By +default, each line read from a file list is first stripped off the +leading and trailing whitespace and, if the result begins with a dash, +it is treated as tar command line option. + +Use the --verbatim-files-from option to disable this special handling. +This facilitates the use of tar with file lists created automatically +(e.g. by find(1) command). + +This option affects all --files-from options that occur after it in +the command line. Its effect is reverted by the +--no-verbatim-files-from option. + +* --null option reads file names verbatim + +The --null option implies --verbatim-files-from. I.e. each line +read from null-delimited file lists is treated as a file name. + +This restores the documented behavior, which was broken in version +1.27. + +* New options: --owner-map=FILE and --group-map=FILE + +These two options provide fine-grained control over what user/group +names (or IDs) should be mapped when adding files to archive. + +For both options, FILE is a plain text file with user or group +mappings. Empty lines are ignored. Comments are introduced with +# sign (unless quoted) and extend to the end of the corresponding +line. Each non-empty line defines translation for a single UID (GID). +It must consist of two fields, delimited by any amount of whitespace: + + OLDNAME NEWNAME[:NEWID] + +OLDNAME is either a valid user (group) name or a ID prefixed with +. Unless +NEWID is supplied, NEWNAME must also be either a valid name or a ++ID. Otherwise, both NEWNAME and NEWID need not be listed in the +system user database. + +* New option --clamp-mtime + +The new --clamp-mtime option changes 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. + +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 +reference (and thus reproducible) timestamps for the latter is good +enough. + +See for more information. + +* Deprecated --preserve option removed + +* Sparse file detection + +Tar now uses SEEK_DATA/SEEK_HOLE on systems that support it. This +allows for considerable speed-up in sparse-file detection. + +New option --hole-detection is provided, that allows the user to +select the algorithm used for hole detection. Available arguments +are: + + --hole-detection=seek + Use lseek(2) SEEK_DATA and SEEK_HOLE "whence" parameters. + + --hole-detection=raw + Scan entire file before storing it to determine where holes + are located. + +The default is to use "seek" whenever possible, and fall back to +"raw" otherwise. + version 1.28, 2014-07-28 @@ -369,7 +451,7 @@ Modification times in ustar header blocks of extended headers are set to mtimes of the corresponding archive members. This can be overridden by the - --pax-opion='exthdr.mtime=STRING' + --pax-option='exthdr.mtime=STRING' command line option. The STRING is either number of seconds since the Epoch or a "Time reference" (see below). @@ -379,7 +461,7 @@ headers are set to the time when tar was invoked. This can be overridden by the - --pax-opion='globexthdr.mtime=STRING' + --pax-option='globexthdr.mtime=STRING' command line option. The STRING is either number of seconds since the Epoch or a "Time reference" (see below). @@ -1505,7 +1587,7 @@ Versions 1.07 back to 1.00 by Jay Fenlason. -Copyright 1994-2001, 2003-2010, 2013-2014 Free Software Foundation, Inc. +Copyright 1994-2001, 2003-2010, 2013-2016 Free Software Foundation, Inc. This file is part of GNU tar. diff --git a/README b/README index b3895b0d..c39b5f2b 100644 --- a/README +++ b/README @@ -23,7 +23,6 @@ GNU 'tar' is derived from John Gilmore's public domain 'tar'. See file 'ABOUT-NLS' for how to customize this program to your language. See file 'COPYING' for copying conditions. See file 'INSTALL' for compilation and installation instructions. -See file 'PORTS' for various ports of GNU tar to non-Unix systems. See file 'NEWS' for a list of major changes in the current release. See file 'THANKS' for a list of contributors. @@ -222,8 +221,8 @@ and share your findings by writing to . * Copying -Copyright 1990-1992, 1994, 1997-2001, 2003-2004, 2007, 2012-2014 Free -Software Foundation, Inc. +Copyright 1990-1992, 1994, 1997-2001, 2003-2004, 2007, 2012-2014, 2016 +Free Software Foundation, Inc. This file is part of GNU tar. diff --git a/THANKS b/THANKS index b4c54277..f1def93d 100644 --- a/THANKS +++ b/THANKS @@ -78,6 +78,7 @@ Cesar Romani romani@ifm.uni-hamburg.de Chad Hurwitz churritz@cts.com Chance Reschke creschke@usra.edu Charles Fu ccwf@klab.caltech.edu +Charles McGarvey chazmcgarvey@brokenzipper.com Charles Lopes Charles.Lopes@infm.ulst.ac.uk Charles M. Hannum mycroft@gnu.org Chip Salzenberg tct!chip @@ -107,6 +108,7 @@ Conrad Hughes chughes@maths.tcd.ie Constantin Belous const@cris.net Coranth Gryphon gryphon@bur.visidyne.com Cyril Strejc strejc@unicontrols.cz +Dagobert Michelsen dam@opencsw.org Dale R. Worley worley@world.std.com Dale Wiles wiles@geordi.calspan.com Dan Bloch dan@transarc.com @@ -114,6 +116,7 @@ Dan Drake dan@dandrake.org Dan Reish dreish@izzy.net Daniel Hagerty hag@gnu.org Daniel Quinlan quinlan@pathname.com +Daniel Kahn Gillmor dkg@fifthhorseman.net Daniel R. Guilderson d.guilderson@ma30.bull.com Daniel S. Barclay daniel@compass-da.com Daniel Trinkle trinkle@cs.purdue.edu @@ -140,6 +143,7 @@ Demizu Noritoshi nori-d@is.aist-nara.ac.jp Denis Excoffier denis.excoffier@free.fr Denis Fortin fortin@acm.org Dennis Pixton dennis@math.binghamton.edu +Derek Terveer dt@hawkmoon.mn.org Dick Streefland dicks@tasking.nl Dietmar Braun dietmar@highway.bertelsmann.de Dimitri Bougoulias opus@hol.gr @@ -172,6 +176,7 @@ Erik D. Frederick edf@deckard.mc.duke.edu Esa Karell karell@cs.helsinki.fi Ezra Peisach epeisach@mit.edu Fabio d'Alessi cars@civ.bio.unipd.it +Flavio Poletti polettix@gmail.com Frank Heckenbach frank@g-n-u.de Frank Koenen koenfr@lidp.com Franz-Werner Gergen gergen@edvulx.mpi-stuttgart.mpg.de @@ -202,6 +207,7 @@ Helmut Waitzmann Helmut.Waitzmann@web.de Henrik Bakman hb@csd.uu.se Hernan Prieto Schmidt hernan@pea.usp.br Hiroyuki Bessho bsh@grotto.iijnet.or.jp +Holger Levsen holger@layer-acht.org Holger Teutsch holger@hotbso.rhein-main.de Hugh Secker-Walker hugh@ear.mit.edu Hunyue Yau hunyue.yau@picksys.com @@ -240,6 +246,7 @@ Jeffrey Goldberg J.Goldberg@cranfield.ac.uk Jeffrey Mark Siskind Qobi@emba.uvm.edu Jeffrey W. Parker jwpkr@mcs.com Jens Henrik Jensen recjhl@mediator.uni-c.dk +Jérémy Bobbio lunar@debian.org Jim Blandy jimb@totoro.cs.oberlin.edu Jim Clausing jac@postbox.acs.ohio-state.edu Jim Farrell jwf@platinum.com diff --git a/TODO b/TODO index c56d3359..ae12488d 100644 --- a/TODO +++ b/TODO @@ -45,7 +45,8 @@ Suggestions for improving GNU tar. * Copyright notice -Copyright 2003-2004, 2007, 2013-2014 Free Software Foundation, Inc. +Copyright 2003-2004, 2007, 2013-2014, 2016 Free Software Foundation, +Inc. This file is part of GNU tar. diff --git a/acinclude.m4 b/acinclude.m4 index 3b28b3bd..ca902858 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,6 +1,6 @@ dnl Special Autoconf macros for GNU tar -*- autoconf -*- -dnl Copyright 2009, 2013-2014 Free Software Foundation, Inc. +dnl Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. dnl dnl This file is part of GNU tar. dnl @@ -40,37 +40,23 @@ AC_DEFUN([TAR_HEADERS_ATTR_XATTR_H], # First check for AC_CHECK_HEADERS([sys/xattr.h]) AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_sys_xattr_h" = yes]) - AM_CONDITIONAL([TAR_LIB_ATTR],[false]) - if test "$ac_cv_header_sys_xattr_h" = yes; then - AC_CHECK_FUNCS(getxattr fgetxattr lgetxattr \ - setxattr fsetxattr lsetxattr \ - listxattr flistxattr llistxattr, - # only when functions are present - AC_DEFINE([HAVE_SYS_XATTR_H], [1], - [define to 1 if we have header]) - if test "$with_xattrs" != no; then - AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.]) - fi - ) - fi - - # If is not found, then check for if test "$ac_cv_header_sys_xattr_h" != yes; then AC_CHECK_HEADERS([attr/xattr.h]) AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_attr_xattr_h" = yes]) - AC_CHECK_LIB([attr],[fgetxattr]) - AM_CONDITIONAL([TAR_LIB_ATTR],[test "$ac_cv_lib_attr_fgetxattr" = yes]) - if test "$ac_cv_header_attr_xattr_h" = yes; then - AC_CHECK_FUNCS(getxattr fgetxattr lgetxattr \ - setxattr fsetxattr lsetxattr \ - listxattr flistxattr llistxattr, - # only when functions are present - AC_DEFINE([HAVE_ATTR_XATTR_H], [1], - [define to 1 if we have header]) - if test "$with_xattrs" != no; then - AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.]) - fi - ) + fi + + if test "$with_xattrs" != no; then + for i in getxattr fgetxattr lgetxattr \ + setxattr fsetxattr lsetxattr \ + listxattr flistxattr llistxattr + do + AC_SEARCH_LIBS($i, attr) + eval found=\$ac_cv_search_$i + test "$found" = "no" && break + done + + if test "$found" != no; then + AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.]) fi fi ]) diff --git a/aclocal.m4 b/aclocal.m4 index 0e095894..9e7ebb4a 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1191,6 +1191,7 @@ m4_include([m4/fcntl_h.m4]) m4_include([m4/fdopendir.m4]) m4_include([m4/fileblocks.m4]) m4_include([m4/filenamecat.m4]) +m4_include([m4/flexmember.m4]) m4_include([m4/float_h.m4]) m4_include([m4/fnmatch.m4]) m4_include([m4/fpending.m4]) @@ -1224,7 +1225,6 @@ m4_include([m4/inttostr.m4]) m4_include([m4/inttypes-pri.m4]) m4_include([m4/inttypes.m4]) m4_include([m4/inttypes_h.m4]) -m4_include([m4/isatty.m4]) m4_include([m4/iswblank.m4]) m4_include([m4/langinfo_h.m4]) m4_include([m4/largefile.m4]) @@ -1274,6 +1274,7 @@ m4_include([m4/multiarch.m4]) m4_include([m4/nl_langinfo.m4]) m4_include([m4/nls.m4]) m4_include([m4/nocrash.m4]) +m4_include([m4/obstack.m4]) m4_include([m4/off_t.m4]) m4_include([m4/open.m4]) m4_include([m4/openat.m4]) @@ -1282,12 +1283,9 @@ m4_include([m4/parse-datetime.m4]) m4_include([m4/pathmax.m4]) m4_include([m4/paxutils.m4]) m4_include([m4/po.m4]) -m4_include([m4/posix_openpt.m4]) m4_include([m4/printf.m4]) m4_include([m4/priv-set.m4]) m4_include([m4/progtest.m4]) -m4_include([m4/ptsname.m4]) -m4_include([m4/ptsname_r.m4]) m4_include([m4/quote.m4]) m4_include([m4/quotearg.m4]) m4_include([m4/raise.m4]) @@ -1355,16 +1353,17 @@ m4_include([m4/system.m4]) m4_include([m4/tempname.m4]) m4_include([m4/time_h.m4]) m4_include([m4/time_r.m4]) +m4_include([m4/time_rz.m4]) +m4_include([m4/timegm.m4]) m4_include([m4/timespec.m4]) m4_include([m4/tm_gmtoff.m4]) -m4_include([m4/ttyname_r.m4]) +m4_include([m4/ulonglong.m4]) m4_include([m4/unistd-safer.m4]) m4_include([m4/unistd_h.m4]) m4_include([m4/unlink.m4]) m4_include([m4/unlinkat.m4]) m4_include([m4/unlinkdir.m4]) m4_include([m4/unlocked-io.m4]) -m4_include([m4/unlockpt.m4]) m4_include([m4/utimbuf.m4]) m4_include([m4/utimens.m4]) m4_include([m4/utimensat.m4]) diff --git a/build-aux/config.guess b/build-aux/config.guess index 1f5c50c0..16592509 100755 --- a/build-aux/config.guess +++ b/build-aux/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2015 Free Software Foundation, Inc. -timestamp='2014-03-23' +timestamp='2015-08-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -24,12 +24,12 @@ timestamp='2014-03-23' # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # -# Originally written by Per Bothner. +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to . me=`echo "$0" | sed -e 's,.*/,,'` @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -168,20 +168,27 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || \ + echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) + arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ @@ -197,6 +204,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in os=netbsd ;; esac + # Determine ABI tags. + case "${UNAME_MACHINE_ARCH}" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + ;; + esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need @@ -207,13 +221,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" + echo "${machine}-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` @@ -235,6 +249,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; + *:Sortix:*:*) + echo ${UNAME_MACHINE}-unknown-sortix + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -579,8 +596,9 @@ EOF else IBM_ARCH=powerpc fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` + if [ -x /usr/bin/lslpp ] ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi @@ -932,6 +950,9 @@ EOF crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; + e2k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; @@ -1020,7 +1041,7 @@ EOF echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} diff --git a/build-aux/config.rpath b/build-aux/config.rpath index ab6fd995..a3e25c84 100755 --- a/build-aux/config.rpath +++ b/build-aux/config.rpath @@ -2,7 +2,7 @@ # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # -# Copyright 1996-2014 Free Software Foundation, Inc. +# Copyright 1996-2015 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # @@ -367,11 +367,7 @@ else dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; - freebsd2.2*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - freebsd2*) + freebsd2.[01]*) hardcode_direct=yes hardcode_minus_L=yes ;; @@ -548,13 +544,11 @@ case "$host_os" in dgux*) library_names_spec='$libname$shrext' ;; + freebsd[23].*) + library_names_spec='$libname$shrext$versuffix' + ;; freebsd* | dragonfly*) - case "$host_os" in - freebsd[123]*) - library_names_spec='$libname$shrext$versuffix' ;; - *) - library_names_spec='$libname$shrext' ;; - esac + library_names_spec='$libname$shrext' ;; gnu*) library_names_spec='$libname$shrext' diff --git a/build-aux/config.sub b/build-aux/config.sub index 5d7d62fb..1acc966a 100755 --- a/build-aux/config.sub +++ b/build-aux/config.sub @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2015 Free Software Foundation, Inc. -timestamp='2014-03-23' +timestamp='2015-08-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ timestamp='2014-03-23' # of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -68,7 +68,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -117,7 +117,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os @@ -255,12 +255,13 @@ case $basic_machine in | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ + | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ - | epiphany \ - | fido | fr30 | frv \ + | e2k | epiphany \ + | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ @@ -283,8 +284,10 @@ case $basic_machine in | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ @@ -300,9 +303,10 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ + | riscv32 | riscv64 \ | rl78 | rx \ | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ @@ -310,6 +314,7 @@ case $basic_machine in | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | visium \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -324,6 +329,9 @@ case $basic_machine in c6x) basic_machine=tic6x-unknown ;; + leon|leon[3-9]) + basic_machine=sparc-$basic_machine + ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none @@ -369,12 +377,13 @@ case $basic_machine in | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ + | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ @@ -401,8 +410,10 @@ case $basic_machine in | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ @@ -419,12 +430,13 @@ case $basic_machine in | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ + | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ @@ -432,6 +444,7 @@ case $basic_machine in | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ + | visium-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -508,6 +521,9 @@ case $basic_machine in basic_machine=i386-pc os=-aros ;; + asmjs) + basic_machine=asmjs-unknown + ;; aux) basic_machine=m68k-apple os=-aux @@ -769,6 +785,9 @@ case $basic_machine in basic_machine=m68k-isi os=-sysv ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + ;; m68knommu) basic_machine=m68k-unknown os=-linux @@ -824,6 +843,10 @@ case $basic_machine in basic_machine=powerpc-unknown os=-morphos ;; + moxiebox) + basic_machine=moxie-unknown + os=-moxiebox + ;; msdos) basic_machine=i386-pc os=-msdos @@ -1356,7 +1379,7 @@ case $os in | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ + | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ @@ -1369,14 +1392,14 @@ case $os in | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) diff --git a/build-aux/depcomp b/build-aux/depcomp index 31788017..fda2463f 100755 --- a/build-aux/depcomp +++ b/build-aux/depcomp @@ -3,7 +3,7 @@ scriptversion=2013-05-30.07; # UTC -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2015 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog index 78afff4e..0cab1bf1 100755 --- a/build-aux/gitlog-to-changelog +++ b/build-aux/gitlog-to-changelog @@ -3,13 +3,13 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' if 0; # Convert git log output to ChangeLog format. -my $VERSION = '2012-07-29 06:11'; # UTC +my $VERSION = '2015-06-11 01:03'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. -# Copyright (C) 2008-2014 Free Software Foundation, Inc. +# Copyright (C) 2008-2015 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -72,6 +72,9 @@ OPTIONS: directory can be derived. --since=DATE convert only the logs since DATE; the default is to convert all log entries. + --until=DATE convert only the logs older than DATE. + --ignore-matching=PAT ignore commit messages whose first lines match PAT. + --ignore-line=PAT ignore lines of commit messages that match PAT. --format=FMT set format string for commit subject and body; see 'man git-log' for the list of format metacharacters; the default is '%s%n%b%n' @@ -220,10 +223,13 @@ sub git_dir_option($) { my $since_date; + my $until_date; my $format_string = '%s%n%b%n'; my $amend_file; my $append_dot = 0; my $cluster = 1; + my $ignore_matching; + my $ignore_line; my $strip_tab = 0; my $strip_cherry_pick = 0; my $srcdir; @@ -232,10 +238,13 @@ sub git_dir_option($) help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, 'since=s' => \$since_date, + 'until=s' => \$until_date, 'format=s' => \$format_string, 'amend=s' => \$amend_file, 'append-dot' => \$append_dot, 'cluster!' => \$cluster, + 'ignore-matching=s' => \$ignore_matching, + 'ignore-line=s' => \$ignore_line, 'strip-tab' => \$strip_tab, 'strip-cherry-pick' => \$strip_cherry_pick, 'srcdir=s' => \$srcdir, @@ -243,6 +252,8 @@ sub git_dir_option($) defined $since_date and unshift @ARGV, "--since=$since_date"; + defined $until_date + and unshift @ARGV, "--until=$until_date"; # This is a hash that maps an SHA1 to perl code (i.e., s/old/new/) # that makes a correction in the log or attribution of that commit. @@ -259,6 +270,7 @@ sub git_dir_option($) my $prev_multi_paragraph; my $prev_date_line = ''; my @prev_coauthors = (); + my @skipshas = (); while (1) { defined (my $in = ) @@ -279,6 +291,21 @@ sub git_dir_option($) $sha =~ /^[0-9a-fA-F]{40}$/ or die "$ME:$.: invalid SHA1: $sha\n"; + my $skipflag = 0; + if (@skipshas) + { + foreach(@skipshas) + { + if ($sha =~ /^$_/) + { + $skipflag = 1; + ## Perhaps only warn if a pattern matches more than once? + warn "$ME: warning: skipping $sha due to $_\n"; + last; + } + } + } + # If this commit's log requires any transformation, do it now. my $code = $amend_code->{$sha}; if (defined $code) @@ -306,7 +333,7 @@ sub git_dir_option($) $rest =~ s/^\s*\(cherry picked from commit [\da-f]+\)\n//m; } - my @line = split "\n", $rest; + my @line = split /\s*\n/, $rest; my $author_line = shift @line; defined $author_line or die "$ME:$.: unexpected EOF\n"; @@ -316,17 +343,18 @@ sub git_dir_option($) # Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog # `(tiny change)' annotation. - my $tiny = (grep (/^Copyright-paperwork-exempt:\s+[Yy]es$/, @line) + my $tiny = (grep (/^(?:Copyright-paperwork-exempt|Tiny-change):\s+[Yy]es$/, @line) ? ' (tiny change)' : ''); my $date_line = sprintf "%s %s$tiny\n", - strftime ("%F", localtime ($1)), $2; + strftime ("%Y-%m-%d", localtime ($1)), $2; my @coauthors = grep /^Co-authored-by:.*$/, @line; # Omit meta-data lines we've already interpreted. @line = grep !/^(?:Signed-off-by:[ ].*>$ |Co-authored-by:[ ] |Copyright-paperwork-exempt:[ ] + |Tiny-change:[ ] )/x, @line; # Remove leading and trailing blank lines. @@ -336,68 +364,100 @@ sub git_dir_option($) while ($line[$#line] =~ /^\s*$/) { pop @line; } } - # Record whether there are two or more paragraphs. - my $multi_paragraph = grep /^\s*$/, @line; - - # Format 'Co-authored-by: A U Thor ' lines in - # standard multi-author ChangeLog format. - for (@coauthors) + # Handle Emacs gitmerge.el "skipped" commits. + # Yes, this should be controlled by an option. So sue me. + if ( grep /^(; )?Merge from /, @line ) + { + my $found = 0; + foreach (@line) + { + if (grep /^The following commit.*skipped:$/, $_) + { + $found = 1; + ## Reset at each merge to reduce chance of false matches. + @skipshas = (); + next; + } + if ($found && $_ =~ /^([0-9a-fA-F]{7,}) [^ ]/) + { + push ( @skipshas, $1 ); + } + } + } + + # Ignore commits that match the --ignore-matching pattern, if specified. + if (! ($skipflag || (defined $ignore_matching + && @line && $line[0] =~ /$ignore_matching/))) { - s/^Co-authored-by:\s*/\t /; - s/\s*/ - or warn "$ME: warning: missing email address for " - . substr ($_, 5) . "\n"; - } + # Record whether there are two or more paragraphs. + my $multi_paragraph = grep /^\s*$/, @line; - # If clustering of commit messages has been disabled, if this header - # would be different from the previous date/name/email/coauthors header, - # or if this or the previous entry consists of two or more paragraphs, - # then print the header. - if ( ! $cluster - || $date_line ne $prev_date_line - || "@coauthors" ne "@prev_coauthors" - || $multi_paragraph - || $prev_multi_paragraph) - { - $prev_date_line eq '' - or print "\n"; - print $date_line; - @coauthors - and print join ("\n", @coauthors), "\n"; - } - $prev_date_line = $date_line; - @prev_coauthors = @coauthors; - $prev_multi_paragraph = $multi_paragraph; + # Format 'Co-authored-by: A U Thor ' lines in + # standard multi-author ChangeLog format. + for (@coauthors) + { + s/^Co-authored-by:\s*/\t /; + s/\s*/ + or warn "$ME: warning: missing email address for " + . substr ($_, 5) . "\n"; + } + + # If clustering of commit messages has been disabled, if this header + # would be different from the previous date/name/etc. header, + # or if this or the previous entry consists of two or more paragraphs, + # then print the header. + if ( ! $cluster + || $date_line ne $prev_date_line + || "@coauthors" ne "@prev_coauthors" + || $multi_paragraph + || $prev_multi_paragraph) { - # If the first line of the message has enough room, then - if (length $line[0] < 72) + $prev_date_line eq '' + or print "\n"; + print $date_line; + @coauthors + and print join ("\n", @coauthors), "\n"; + } + $prev_date_line = $date_line; + @prev_coauthors = @coauthors; + $prev_multi_paragraph = $multi_paragraph; + + # If there were any lines + if (@line == 0) + { + warn "$ME: warning: empty commit message:\n $date_line\n"; + } + else + { + if ($append_dot) { - # append a dot if there is no other punctuation or blank - # at the end. - $line[0] =~ /[[:punct:]\s]$/ - or $line[0] .= '.'; + # If the first line of the message has enough room, then + if (length $line[0] < 72) + { + # append a dot if there is no other punctuation or blank + # at the end. + $line[0] =~ /[[:punct:]\s]$/ + or $line[0] .= '.'; + } } - } - # Remove one additional leading TAB from each line. - $strip_tab - and map { s/^\t// } @line; + # Remove one additional leading TAB from each line. + $strip_tab + and map { s/^\t// } @line; - # Prefix each non-empty line with a TAB. - @line = map { length $_ ? "\t$_" : '' } @line; + # Prefix each non-empty line with a TAB. + @line = map { length $_ ? "\t$_" : '' } @line; - print "\n", join ("\n", @line), "\n"; + print "\n", join ("\n", @line), "\n"; + } } defined ($in = ) diff --git a/build-aux/install-sh b/build-aux/install-sh index 04367377..0b0fdcbb 100755 --- a/build-aux/install-sh +++ b/build-aux/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2013-10-30.23; # UTC +scriptversion=2013-12-25.23; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -82,7 +82,7 @@ dir_arg= dst_arg= copy_on_change=false -no_target_directory= +is_target_a_directory=possibly usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE @@ -139,14 +139,16 @@ while test $# -ne 0; do -s) stripcmd=$stripprog;; - -t) dst_arg=$2 + -t) + is_target_a_directory=always + dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; - -T) no_target_directory=true;; + -T) is_target_a_directory=never;; --version) echo "$0 $scriptversion"; exit $?;; @@ -161,6 +163,16 @@ while test $# -ne 0; do shift done +# We allow the use of options -d and -T together, by making -d +# take the precedence; this is for compatibility with GNU install. + +if test -n "$dir_arg"; then + if test -n "$dst_arg"; then + echo "$0: target directory not allowed when installing a directory." >&2 + exit 1 + fi +fi + if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. @@ -191,6 +203,15 @@ if test $# -eq 0; then exit 0 fi +if test -z "$dir_arg"; then + if test $# -gt 1 || test "$is_target_a_directory" = always; then + if test ! -d "$dst_arg"; then + echo "$0: $dst_arg: Is not a directory." >&2 + exit 1 + fi + fi +fi + if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 @@ -253,7 +274,7 @@ do # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then - if test -n "$no_target_directory"; then + if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi diff --git a/build-aux/mdate-sh b/build-aux/mdate-sh index b3719cf7..b793600a 100755 --- a/build-aux/mdate-sh +++ b/build-aux/mdate-sh @@ -3,7 +3,7 @@ scriptversion=2010-08-21.06; # UTC -# Copyright (C) 1995-2013 Free Software Foundation, Inc. +# Copyright (C) 1995-2015 Free Software Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify diff --git a/build-aux/snippet/arg-nonnull.h b/build-aux/snippet/arg-nonnull.h index 8111780e..0d55e2bc 100644 --- a/build-aux/snippet/arg-nonnull.h +++ b/build-aux/snippet/arg-nonnull.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A C macro for declaring that specific arguments must not be NULL. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published diff --git a/build-aux/snippet/c++defs.h b/build-aux/snippet/c++defs.h index 047a78a0..585b38ab 100644 --- a/build-aux/snippet/c++defs.h +++ b/build-aux/snippet/c++defs.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* C++ compatible function declaration macros. - Copyright (C) 2010-2014 Free Software Foundation, Inc. + Copyright (C) 2010-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published diff --git a/build-aux/snippet/unused-parameter.h b/build-aux/snippet/unused-parameter.h index d2d0e740..f507eb74 100644 --- a/build-aux/snippet/unused-parameter.h +++ b/build-aux/snippet/unused-parameter.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A C macro for declaring that specific function parameters are not used. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published diff --git a/build-aux/snippet/warn-on-use.h b/build-aux/snippet/warn-on-use.h index feb10633..90f4985c 100644 --- a/build-aux/snippet/warn-on-use.h +++ b/build-aux/snippet/warn-on-use.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A C macro for emitting warnings if a function is used. - Copyright (C) 2010-2014 Free Software Foundation, Inc. + Copyright (C) 2010-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published diff --git a/build-aux/texinfo.tex b/build-aux/texinfo.tex index 0f2673c8..df3df9f9 100644 --- a/build-aux/texinfo.tex +++ b/build-aux/texinfo.tex @@ -3,11 +3,12 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2014-03-17.07} +\def\texinfoversion{2015-08-21.13} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. +% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 +% Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as @@ -96,7 +97,9 @@ \let\ptexraggedright=\raggedright \let\ptexrbrace=\} \let\ptexslash=\/ +\let\ptexsp=\sp \let\ptexstar=\* +\let\ptexsup=\sup \let\ptext=\t \let\ptextop=\top {\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode @@ -274,6 +277,7 @@ % described on page 260 of The TeXbook. It involves outputting two % marks for the sectioning macros, one before the section break, and % one after. I won't pretend I can describe this better than DEK... +% \def\domark{% \toks0=\expandafter{\lastchapterdefs}% \toks2=\expandafter{\lastsectiondefs}% @@ -301,6 +305,7 @@ % Avoid "undefined control sequence" errors. \def\lastchapterdefs{} \def\lastsectiondefs{} +\def\lastsection{} \def\prevchapterdefs{} \def\prevsectiondefs{} \def\lastcolordefs{} @@ -422,9 +427,13 @@ \def\nsbot{\vbox {\hrule height\cornerlong depth\cornerthick width\cornerthick}} + +% Argument parsing + % Parse an argument, then pass it to #1. The argument is the rest of % the input line (except we remove a trailing comment). #1 should be a % macro which expects an ordinary undelimited TeX argument. +% For example, \def\foo{\parsearg\fooxxx}. % \def\parsearg{\parseargusing{}} \def\parseargusing#1#2{% @@ -443,9 +452,11 @@ }% } -% First remove any @comment, then any @c comment. +% First remove any @comment, then any @c comment. Also remove a @texinfoc +% comment (see \scanmacro for details). Pass the result on to \argcheckspaces. \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} -\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} +\def\argremovec#1\c#2\ArgTerm{\argremovetexinfoc #1\texinfoc\ArgTerm} +\def\argremovetexinfoc#1\texinfoc#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} % Each occurrence of `\^^M' or `\^^M' is replaced by a single space. % @@ -934,12 +945,20 @@ where each line of input produces a line of output.} % @c is the same as @comment % @ignore ... @end ignore is another way to write a comment % -\def\comment{\begingroup \catcode`\^^M=\other% +\def\comment{\begingroup \catcode`\^^M=\active% +\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other\commentxxx}% + +{\catcode`\^^M=\active% +\gdef\commentxxx#1^^M{\endgroup% +\futurelet\nexttoken\commentxxxx}% +\gdef\commentxxxx{\ifx\nexttoken\aftermacro\expandafter\comment\fi}% +} + +\def\c{\begingroup \catcode`\^^M=\active% \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% -\commentxxx} -{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} -% -\let\c=\comment +\cxxx} +{\catcode`\^^M=\active \gdef\cxxx#1^^M{\endgroup}} +% See comment in \scanmacro about why the definitions of @c and @comment differ % @paragraphindent NCHARS % We'll use ems for NCHARS, close enough. @@ -1010,24 +1029,15 @@ where each line of input produces a line of output.} % paragraph. % \gdef\dosuppressfirstparagraphindent{% - \gdef\indent{% - \restorefirstparagraphindent - \indent - }% - \gdef\noindent{% - \restorefirstparagraphindent - \noindent - }% - \global\everypar = {% - \kern -\parindent - \restorefirstparagraphindent - }% + \gdef\indent {\restorefirstparagraphindent \indent}% + \gdef\noindent{\restorefirstparagraphindent \noindent}% + \global\everypar = {\kern -\parindent \restorefirstparagraphindent}% } - +% \gdef\restorefirstparagraphindent{% - \global \let \indent = \ptexindent - \global \let \noindent = \ptexnoindent - \global \everypar = {}% + \global\let\indent = \ptexindent + \global\let\noindent = \ptexnoindent + \global\everypar = {}% } @@ -1888,6 +1898,7 @@ end % Section fonts (14.4pt). \def\secnominalsize{14pt} \setfont\secrm\rmbshape{12}{\magstep1}{OT1} +\setfont\secrmnotbold\rmshape{12}{\magstep1}{OT1} \setfont\secit\itbshape{10}{\magstep2}{OT1IT} \setfont\secsl\slbshape{10}{\magstep2}{OT1} \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT} @@ -2090,12 +2101,9 @@ end \endgroup } - % In order for the font changes to affect most math symbols and letters, -% we have to define the \textfont of the standard families. Since -% texinfo doesn't allow for producing subscripts and superscripts except -% in the main text, we don't bother to reset \scriptfont and -% \scriptscriptfont (which would also require loading a lot more fonts). +% we have to define the \textfont of the standard families. We don't +% bother to reset \scriptfont and \scriptscriptfont; awaiting user need. % \def\resetmathfonts{% \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy @@ -2109,8 +2117,8 @@ end % \tenSTYLE to set the current font. % % Each font-changing command also sets the names \lsize (one size lower) -% and \lllsize (three sizes lower). These relative commands are used in -% the LaTeX logo and acronyms. +% and \lllsize (three sizes lower). These relative commands are used +% in, e.g., the LaTeX logo and acronyms. % % This all needs generalizing, badly. % @@ -2146,7 +2154,7 @@ end \let\tenttsl=\secttsl \def\curfontsize{sec}% \def\lsize{subsec}\def\lllsize{reduced}% - \resetmathfonts \setleading{16pt}} + \resetmathfonts \setleading{17pt}} \def\subsecfonts{% \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc @@ -2851,6 +2859,8 @@ end \let\v=\check \let\~=\tilde \let\dotaccent=\dot + % have to provide another name for sup operator + \let\mathopsup=\sup $\finishmath } \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. @@ -2874,8 +2884,17 @@ end } } -% ctrl is no longer a Texinfo command, but leave this definition for fun. -\def\ctrl #1{{\tt \rawbackslash \hat}#1} +% for @sub and @sup, if in math mode, just do a normal sub/superscript. +% If in text, use math to place as sub/superscript, but switch +% into text mode, with smaller fonts. This is a different font than the +% one used for real math sub/superscripts (8pt vs. 7pt), but let's not +% fix it (significant additions to font machinery) until someone notices. +% +\def\sub{\ifmmode \expandafter\sb \else \expandafter\finishsub\fi} +\def\finishsub#1{$\sb{\hbox{\selectfonts\lllsize #1}}$}% +% +\def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi} +\def\finishsup#1{$\ptexsp{\hbox{\selectfonts\lllsize #1}}$}% % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. % Ignore unless FMTNAME == tex; then it is like @iftex and @tex, @@ -3017,11 +3036,16 @@ end \TeX } -% Some math mode symbols. -\def\bullet{$\ptexbullet$} -\def\geq{\ifmmode \ge\else $\ge$\fi} -\def\leq{\ifmmode \le\else $\le$\fi} -\def\minus{\ifmmode -\else $-$\fi} +% Some math mode symbols. Define \ensuremath to switch into math mode +% unless we are already there. Expansion tricks may not be needed here, +% but safer, and can't hurt. +\def\ensuremath{\ifmmode \expandafter\asis \else\expandafter\ensuredmath \fi} +\def\ensuredmath#1{$\relax#1$} +% +\def\bullet{\ensuremath\ptexbullet} +\def\geq{\ensuremath\ge} +\def\leq{\ensuremath\le} +\def\minus{\ensuremath-} % @dots{} outputs an ellipsis using the current font. % We do .5em per period so that it has the same spacing in the cm @@ -3185,8 +3209,15 @@ end \def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E} \def\eogonek{{\ecfont \char"A6}}\def\macrochare{e} % -% Use the ec* fonts (cm-super in outline format) for non-CM glyphs. -\def\ecfont{% +% Use the European Computer Modern fonts (cm-super in outline format) +% for non-CM glyphs. That is ec* for regular text and tc* for the text +% companion symbols (LaTeX TS1 encoding). Both are part of the ec +% package and follow the same conventions. +% +\def\ecfont{\etcfont{e}} +\def\tcfont{\etcfont{t}} +% +\def\etcfont#1{% % We can't distinguish serif/sans and italic/slanted, but this % is used for crude hacks anyway (like adding French and German % quotes to documents typeset with CM, where we lose kerning), so @@ -3195,14 +3226,14 @@ end \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% \ifmonospace % typewriter: - \font\thisecfont = ectt\ecsize \space at \nominalsize + \font\thisecfont = #1ctt\ecsize \space at \nominalsize \else \ifx\curfontstyle\bfstylename % bold: - \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize + \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize \else % regular: - \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize + \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize \fi \fi \thisecfont @@ -4436,31 +4467,6 @@ end \def\{{{\tt\char123}}% \def\}{{\tt\char125}}% % - % I don't entirely understand this, but when an index entry is - % generated from a macro call, the \endinput which \scanmacro inserts - % causes processing to be prematurely terminated. This is, - % apparently, because \indexsorttmp is fully expanded, and \endinput - % is an expandable command. The redefinition below makes \endinput - % disappear altogether for that purpose -- although logging shows that - % processing continues to some further point. On the other hand, it - % seems \endinput does not hurt in the printed index arg, since that - % is still getting written without apparent harm. - % - % Sample source (mac-idx3.tex, reported by Graham Percival to - % help-texinfo, 22may06): - % @macro funindex {WORD} - % @findex xyz - % @end macro - % ... - % @funindex commtest - % This is not enough to reproduce the bug, but it gives the flavor. - % - % Sample whatsit resulting: - % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} - % - % So: - \let\endinput = \empty - % % Do the redefinitions. \commondummies } @@ -4484,7 +4490,6 @@ end % Called from \indexdummies and \atdummies. % \def\commondummies{% - % % \definedummyword defines \#1 as \string\#1\space, thus effectively % preventing its expansion. This is used only for control words, % not control letters, because the \space would be incorrect for @@ -4561,6 +4566,7 @@ end \definedummyword\guilsinglright \definedummyword\lbracechar \definedummyword\leq + \definedummyword\mathopsup \definedummyword\minus \definedummyword\ogonek \definedummyword\pounds @@ -4574,6 +4580,8 @@ end \definedummyword\quotesinglbase \definedummyword\rbracechar \definedummyword\result + \definedummyword\sub + \definedummyword\sup \definedummyword\textdegree % % We want to disable all macros so that they are not expanded by \write. @@ -4648,6 +4656,7 @@ end \definedummyword\samp \definedummyword\strong \definedummyword\tie + \definedummyword\U \definedummyword\uref \definedummyword\url \definedummyword\var @@ -5004,10 +5013,39 @@ end % These macros are used by the sorted index file itself. % Change them to control the appearance of the index. -\def\initial#1{{% - % Some minor font changes for the special characters. - \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt - % +\let\normalhyphen=- +{\catcode`\/=13 \catcode`\-=13 \catcode`\^=13 \catcode`\~=13 \catcode`\_=13 +\catcode`\|=13 \catcode`\<=13 \catcode`\>=13 \catcode`\+=13 \catcode`\"=13 +\catcode`\$=3 +\gdef\initialfonts{% + \usemathbackslash + \secfonts + % Some changes for non-alphabetic characters. Using the glyphs from the + % math fonts looks more consistent than the typewriter font used elsewhere + % for these characters. + % Can't get bold backslash so don't use bold forward slash + \catcode`\/=13 + \def/{{\secrmnotbold \normalslash}} + \catcode`\-=13 + \def-{{\normalhyphen\normalhyphen}} + \let^=\normalcaret + \let~=\normaltilde + \def\_{% + \leavevmode \kern.07em \vbox{\hrule width.33em height.06ex}\kern .07em } + \def|{$\vert$} + \def<{$\less$} + \def>{$\gtr$} + \def+{$\normalplus$} + \let"=\normaldoublequote +}} + +\def\initial{% + \bgroup + \initialfonts + \initialx +} + +\def\initialx#1{% % Remove any glue we may have, we'll be inserting our own. \removelastskip % @@ -5028,7 +5066,8 @@ end % Do our best not to break after the initial. \nobreak \vskip .33\baselineskip plus .1\baselineskip -}} + \egroup % \initialfonts +} % \entry typesets a paragraph consisting of the text (#1), dot leaders, and % then page number (#2) flushed to the right margin. It is used for index @@ -5739,13 +5778,16 @@ end % % #1 is the text, #2 is the section type (Ynumbered, Ynothing, % Yappendix, Yomitfromtoc), #3 the chapter number. +% Not used for @heading series. % % To test against our argument. \def\Ynothingkeyword{Ynothing} -\def\Yomitfromtockeyword{Yomitfromtoc} \def\Yappendixkeyword{Yappendix} +\def\Yomitfromtockeyword{Yomitfromtoc} % \def\chapmacro#1#2#3{% + \checkenv{}% chapters, etc., should not start inside an environment. + % % Insert the first mark before the heading break (see notes for \domark). \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs @@ -5798,6 +5840,7 @@ end % {% \chapfonts \rmisbold + \let\footnote=\errfootnoteheading % give better error message % % Have to define \lastsection before calling \donoderef, because the % xref code eventually uses it. On the other hand, it has to be called @@ -5891,22 +5934,29 @@ end % Print any size, any type, section title. % -% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is -% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the -% section number. +% #1 is the text of the title, +% #2 is the section level (sec/subsec/subsubsec), +% #3 is the section type (Ynumbered, Ynothing, Yappendix, Yomitfromtoc), +% #4 is the section number. % \def\seckeyword{sec} % \def\sectionheading#1#2#3#4{% {% - \checkenv{}% should not be in an environment. + \def\sectionlevel{#2}% + \def\temptype{#3}% + % + % It is ok for the @heading series commands to appear inside an + % environment (it's been historically allowed, though the logic is + % dubious), but not the others. + \ifx\temptype\Yomitfromtockeyword\else + \checkenv{}% non-@*heading should not be in an environment. + \fi + \let\footnote=\errfootnoteheading % % Switch to the right set of fonts. \csname #2fonts\endcsname \rmisbold % - \def\sectionlevel{#2}% - \def\temptype{#3}% - % % Insert first mark before the heading break (see notes for \domark). \let\prevsectiondefs=\lastsectiondefs \ifx\temptype\Ynothingkeyword @@ -6333,6 +6383,7 @@ end % other math active characters (just in case), to plain's definitions. \mathactive % + % Inverse of the list at the beginning of the file. \let\b=\ptexb \let\bullet=\ptexbullet \let\c=\ptexc @@ -6348,7 +6399,9 @@ end \let\+=\tabalign \let\}=\ptexrbrace \let\/=\ptexslash + \let\sp=\ptexsp \let\*=\ptexstar + %\let\sup=\ptexsup % do not redefine, we want @sup to work in math mode \let\t=\ptext \expandafter \let\csname top\endcsname=\ptextop % we've made it outer \let\frenchspacing=\plainfrenchspacing @@ -6846,7 +6899,7 @@ end % typesetting commands (@smallbook, font changes, etc.) have to be done % beforehand -- and a) we want @copying to be done first in the source % file; b) letting users define the frontmatter in as flexible order as -% possible is very desirable. +% possible is desirable. % \def\copying{\checkenv{}\begingroup\scanargctxt\docopying} \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} @@ -7279,34 +7332,42 @@ end } \fi -\def\scanmacro#1{\begingroup +\let\aftermacroxxx\relax +\def\aftermacro{\aftermacroxxx} + +% alias because \c means cedilla in @tex or @math +\let\texinfoc=\c + +% Used at the time of macro expansion. +% Argument is macro body with arguments substituted +\def\scanmacro#1{% \newlinechar`\^^M \let\xeatspaces\eatspaces % - % Undo catcode changes of \startcontents and \doprintindex - % When called from @insertcopying or (short)caption, we need active - % backslash to get it printed correctly. Previously, we had - % \catcode`\\=\other instead. We'll see whether a problem appears - % with macro expansion. --kasal, 19aug04 - \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ - % - % ... and for \example: - \spaceisspace + % Process the macro body under the current catcode regime. + \scantokens{#1\texinfoc}\aftermacro% % - % The \empty here causes a following catcode 5 newline to be eaten as - % part of reading whitespace after a control sequence. It does not - % eat a catcode 13 newline. There's no good way to handle the two - % cases (untried: maybe e-TeX's \everyeof could help, though plain TeX - % would then have different behavior). See the Macro Details node in - % the manual for the workaround we recommend for macros and - % line-oriented commands. - % - \scantokens{#1\empty}% -\endgroup} + % The \c is to remove the \newlinechar added by \scantokens, and + % can be noticed by \parsearg. + % The \aftermacro allows a \comment at the end of the macro definition + % to duplicate itself past the final \newlinechar added by \scantokens: + % this is used in the definition of \group to comment out a newline. We + % don't do the same for \c to support Texinfo files with macros that ended + % with a @c, which should no longer be necessary. + % We avoid surrounding the call to \scantokens with \bgroup and \egroup + % to allow macros to open or close groups themselves. +} \def\scanexp#1{% + \bgroup + % Undo catcode changes of \startcontents and \printindex + % When called from @insertcopying or (short)caption, we need active + % backslash to get it printed correctly. + % FIXME: This may not be needed. + %\catcode`\@=0 \catcode`\\=\active \escapechar=`\@ \edef\temp{\noexpand\scanmacro{#1}}% \temp + \egroup } \newcount\paramno % Count of parameters @@ -7372,7 +7433,6 @@ end \catcode`\+=\other \catcode`\<=\other \catcode`\>=\other - \catcode`\@=\other \catcode`\^=\other \catcode`\_=\other \catcode`\|=\other @@ -7382,38 +7442,36 @@ end \def\scanargctxt{% used for copying and captions, not macros. \scanctxt + \catcode`\@=\other \catcode`\\=\other \catcode`\^^M=\other } \def\macrobodyctxt{% used for @macro definitions \scanctxt + \catcode`\ =\other + \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other \catcode`\^^M=\other \usembodybackslash } -\def\macroargctxt{% used when scanning invocations +% Used when scanning braced macro arguments. Note, however, that catcode +% changes here are ineffectual if the macro invocation was nested inside +% an argument to another Texinfo command. +\def\macroargctxt{% \scanctxt - \catcode`\\=0 + \catcode`\\=\active } -% why catcode 0 for \ in the above? To recognize \\ \{ \} as "escapes" -% for the single characters \ { }. Thus, we end up with the "commands" -% that would be written @\ @{ @} in a Texinfo document. -% -% We already have @{ and @}. For @\, we define it here, and only for -% this purpose, to produce a typewriter backslash (so, the @\ that we -% define for @math can't be used with @macro calls): -% + \def\\{\normalbackslash}% -% -% We would like to do this for \, too, since that is what makeinfo does. -% But it is not possible, because Texinfo already has a command @, for a -% cedilla accent. Documents must use @comma{} instead. -% -% \anythingelse will almost certainly be an error of some kind. +\def\macrolineargctxt{% used for whole-line arguments without braces + \scanctxt + \catcode`\{=\other + \catcode`\}=\other +} % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N @@ -7488,12 +7546,14 @@ end % This makes use of the obscure feature that if the last token of a % is #, then the preceding argument is delimited by % an opening brace, and that opening brace is not consumed. +% \def\getargs#1{\getargsxxx#1{}} \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} \def\getmacname#1 #2\relax{\macname={#1}} \def\getmacargs#1{\def\argl{#1}} -% For macro processing make @ a letter so that we can make Texinfo private macro names. +% For macro processing make @ a letter so that we can make +% private-to-Texinfo macro names. \edef\texiatcatcode{\the\catcode`\@} \catcode `@=11\relax @@ -7523,8 +7583,8 @@ end % the catcode regime underwhich the body was input). % % If you compile with TeX (not eTeX), and you have macros with 10 or more -% arguments, you need that no macro has more than 256 arguments, otherwise an -% error is produced. +% arguments, no macro can have more than 256 arguments (else error). +% \def\parsemargdef#1;{% \paramno=0\def\paramlist{}% \let\hash\relax @@ -7567,13 +7627,12 @@ end % These two commands read recursive and nonrecursive macro bodies. % (They're different since rec and nonrec macros end differently.) -% - +% Set \temp to the body of the macro, and call \defmacro. \catcode `\@\texiatcatcode -\long\def\parsemacbody#1@end macro% -{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% -\long\def\parsermacbody#1@end rmacro% -{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% +{\catcode`\ =\other\long\gdef\parsemacbody#1@end macro{% +\xdef\temp{\eatcr{#1}}\endgroup\defmacro}}% +{\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{% +\xdef\temp{\eatcr{#1}}\endgroup\defmacro}}% \catcode `\@=11\relax \let\endargs@\relax @@ -7582,7 +7641,7 @@ end \long\def\nillm@{\nil@}% % This macro is expanded during the Texinfo macro expansion, not during its -% definition. It gets all the arguments values and assigns them to macros +% definition. It gets all the arguments' values and assigns them to macros % macarg.ARGNAME % % #1 is the macro name @@ -7604,7 +7663,8 @@ end \fi } -% +% Internal for \getargsval@. +% \def\getargvals@@{% \ifx\paramlist\nilm@ % Some sanity check needed here that \argvaluelist is also empty. @@ -7648,7 +7708,8 @@ end } % Replace arguments by their values in the macro body, and place the result -% in macro \@tempa +% in macro \@tempa. +% \def\macvalstoargs@{% % To do this we use the property that token registers that are \the'ed % within an \edef expand only once. So we are going to place all argument @@ -7672,8 +7733,9 @@ end \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% } +% Define the named-macro outside of this group and then close this group. +% \def\macargexpandinbody@{% - %% Define the named-macro outside of this group and then close this group. \expandafter \endgroup \macargdeflist@ @@ -7710,14 +7772,17 @@ end \next } -% Save the token stack pointer into macro #1 +% Save the token stack pointer into macro #1: \def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}} -% Restore the token stack pointer from number in macro #1 -\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax} -% newtoks that can be used non \outer . +% +% Restore the token stack pointer from number in macro #1: +\def\texirestoretoksstackpoint#1{\expandafter\mathchardef + \expandafter\@cclvi#1\relax} +% Variant \newtoks that can be used non-\outer: \def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi} -% Tailing missing arguments are set to empty +% Tailing missing arguments are set to empty. +% \def\setemptyargvalues@{% \ifx\paramlist\nilm@ \let\next\macargexpandinbody@ @@ -7747,22 +7812,23 @@ end \long\def#2{#4}% } -% This defines a Texinfo @macro. There are eight cases: recursive and -% nonrecursive macros of zero, one, up to nine, and many arguments. +% This defines a Texinfo @macro. \temp has the body of the macro in it. +% There are eight cases: recursive and nonrecursive macros of zero, one, +% up to nine, and many arguments. % Much magic with \expandafter here. % \xdef is used so that macro definitions will survive the file % they're defined in; @include reads the file inside a group. % \def\defmacro{% \let\hash=##% convert placeholders to macro parameter chars - \ifrecursive + \ifrecursive %%%%%%%%%%%%%% Recursive %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\scanmacro{\temp}}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt + \bgroup \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% @@ -7787,21 +7853,20 @@ end \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble \fi \fi - \else + \else %%%%%%%%%%%%%%%%%%%%%% Non-recursive %%%%%%%%%%%%%%%%%%%%%%%%%% \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% + \noexpand\scanmacro{\temp}}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt + \bgroup \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% + \noexpand\scanmacro{\temp}% + }% \else % at most 9 \ifnum\paramno<10\relax \expandafter\xdef\csname\the\macname\endcsname{% @@ -7815,8 +7880,8 @@ end \csname\the\macname xxx\endcsname \paramlist{% \egroup - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% + \noexpand\scanmacro{\temp}% + }% \else % 10 or more: \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\getargvals@{\the\macname}{\argl}% @@ -7827,19 +7892,90 @@ end \fi \fi} -\catcode `\@\texiatcatcode\relax +\catcode `\@\texiatcatcode\relax % end private-to-Texinfo catcodes \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} -% \braceorline decides whether the next nonwhitespace character is a -% {. If so it reads up to the closing }, if not, it reads the whole -% line. Whatever was read is then fed to the next control sequence -% as an argument (by \parsebrace or \parsearg). + +{\catcode`\@=0 \catcode`\\=13 +@catcode`@_=11 + +% Call #1 with a list of tokens #2, with any doubled backslashes in #2 +% compressed to one. +@gdef@passargtomacro#1#2{% + @def@the_macro{#1}% + @def@pending_backslash{}% + @def@finish{@finish}% + @def@arg_result{}% + @let@next_token=@relax + @add_segment#2\@finish\% +} + +% Input stream is just after a backslash. If the next token is not a +% backslash, process the rest of the argument; otherwise, remove the next +% token. +@gdef@look_ahead{% + @futurelet@next_token@look_aheadzzz} +@gdef@look_aheadzzz{% + @ifx@next_token\% + @let@next=@gobble_and_check_finish + @else + @let@next=@add_segment + @fi@next +} + +% Double backslash found. Add a single backslash here. +@gdef@gobble_and_check_finish#1{% + @add_the_backslash + @def@pending_backslash{}% + @futurelet@next_token@add_segment +} + +% append a backslash to \arg_result +@gdef@add_the_backslash{% + @expandafter@gdef@expandafter@arg_result@expandafter{@arg_result\}% +} + +% Input stream is either at the start of the argument, or just after a +% backslash sequence, either a lone backslash, or a doubled backslash. +% \next_token contains the first token in the input stream: if it is \finish, +% finish; otherwise, append to \arg_result the segment of the argument up until +% the next backslash. \pending_backslash contains a backslash to represent +% a backslash just before the start of the input stream that has not been +% added to \arg_result. +@gdef@add_segment#1\{% +@ifx@next_token@finish + @let@next=@call_the_macro% +@else + @let@next=@look_ahead + % + % append to @arg_result + % token list registers might be better + @expandafter@expandafter@expandafter@gdef + @expandafter@expandafter@expandafter@arg_result + @expandafter@expandafter@expandafter{% + @expandafter@arg_result + @pending_backslash#1}% + @def@pending_backslash{\}% +@fi@next} + +@gdef@call_the_macro{@expandafter@the_macro@expandafter{@arg_result}} + +} + +% \braceorline MAC is used for a one-argument macro MAC. It checks +% whether the next non-whitespace character is a {. It sets the context +% for reading the argument (slightly different in the two cases). Then, +% to read the argument, in the whole-line case, it then calls the regular +% \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC. % \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% - \ifx\nchar\bgroup\else - \expandafter\parsearg + \ifx\nchar\bgroup + \macroargctxt + \expandafter\passargtomacro + \else + \macrolineargctxt\expandafter\parsearg \fi \macnamexxx} @@ -8318,14 +8454,7 @@ end \catcode`\\=\other % % Make the characters 128-255 be printing characters. - {% - \count1=128 - \def\loop{% - \catcode\count1=\other - \advance\count1 by 1 - \ifnum \count1<256 \loop \fi - }% - }% + {\setnonasciicharscatcodenonglobal\other}% % % @ is our escape character in .aux files, and we need braces. \catcode`\{=1 @@ -8359,9 +8488,6 @@ end % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% - \let\indent=\ptexindent - \let\noindent=\ptexnoindent - % \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % @@ -8388,7 +8514,7 @@ end % % Nested footnotes are not supported in TeX, that would take a lot % more work. (\startsavinginserts does not suffice.) - \let\footnote=\errfootnote + \let\footnote=\errfootnotenest % % We want to typeset this text as a normal paragraph, even if the % footnote reference occurs in (for example) a display environment. @@ -8427,12 +8553,17 @@ end } }%end \catcode `\@=11 -\def\errfootnote{% +\def\errfootnotenest{% \errhelp=\EMsimple \errmessage{Nested footnotes not supported in texinfo.tex, even though they work in makeinfo; sorry} } +\def\errfootnoteheading{% + \errhelp=\EMsimple + \errmessage{Footnotes in chapters, sections, etc., are not supported} +} + % In case a @footnote appears in a vbox, save the footnote text and create % the real \insert just after the vbox finished. Otherwise, the insertion % would be lost. @@ -8856,20 +8987,20 @@ end { \catcode`\_ = \active \globaldefs=1 -\parseargdef\documentlanguage{\begingroup - \let_=\normalunderscore % normal _ character for filenames +\parseargdef\documentlanguage{% \tex % read txi-??.tex file in plain TeX. % Read the file by the name they passed if it exists. + \let_ = \normalunderscore % normal _ character for filename test \openin 1 txi-#1.tex \ifeof 1 - \documentlanguagetrywithoutunderscore{#1_\finish}% + \documentlanguagetrywithoutunderscore #1_\finish \else \globaldefs = 1 % everything in the txi-LL files needs to persist \input txi-#1.tex \fi \closein 1 \endgroup % end raw TeX -\endgroup} +} % % If they passed de_DE, and txi-de_DE.tex doesn't exist, % try txi-de.tex. @@ -8968,10 +9099,12 @@ directory should work if nowhere else does.} % \else \ifx \declaredencoding \utfeight \setnonasciicharscatcode\active - \utfeightchardefs + % since we already invoked \utfeightchardefs at the top level + % (below), do not re-invoke it, then our check for duplicated + % definitions triggers. Making non-ascii chars active is enough. % \else - \message{Unknown document encoding #1, ignoring.}% + \message{Ignoring unknown document encoding: #1.}% % \fi % utfeight \fi % latnine @@ -8980,10 +9113,11 @@ directory should work if nowhere else does.} \fi % ascii } +% emacs-page % A message to be logged when using a character that isn't available % the default font encoding (OT1). % -\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} +\def\missingcharmsg#1{\message{Character missing, sorry: #1.}} % Take account of \c (plain) vs. \, (Texinfo) difference. \def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} @@ -8997,17 +9131,17 @@ directory should work if nowhere else does.} \def\latonechardefs{% \gdef^^a0{\tie} \gdef^^a1{\exclamdown} - \gdef^^a2{\missingcharmsg{CENT SIGN}} - \gdef^^a3{{\pounds}} - \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} - \gdef^^a5{\missingcharmsg{YEN SIGN}} - \gdef^^a6{\missingcharmsg{BROKEN BAR}} + \gdef^^a2{{\tcfont \char162}} % cent + \gdef^^a3{\pounds} + \gdef^^a4{{\tcfont \char164}} % currency + \gdef^^a5{{\tcfont \char165}} % yen + \gdef^^a6{{\tcfont \char166}} % broken bar \gdef^^a7{\S} \gdef^^a8{\"{}} \gdef^^a9{\copyright} \gdef^^aa{\ordf} \gdef^^ab{\guillemetleft} - \gdef^^ac{$\lnot$} + \gdef^^ac{\ensuremath\lnot} \gdef^^ad{\-} \gdef^^ae{\registeredsymbol} \gdef^^af{\={}} @@ -9019,12 +9153,10 @@ directory should work if nowhere else does.} \gdef^^b4{\'{}} \gdef^^b5{$\mu$} \gdef^^b6{\P} - % - \gdef^^b7{$^.$} + \gdef^^b7{\ensuremath\cdot} \gdef^^b8{\cedilla\ } \gdef^^b9{$^1$} \gdef^^ba{\ordm} - % \gdef^^bb{\guillemetright} \gdef^^bc{$1\over4$} \gdef^^bd{$1\over2$} @@ -9279,6 +9411,18 @@ directory should work if nowhere else does.} \UTFviiiLoop \endgroup +\def\globallet{\global\let} % save some \expandafter's below + +% @U{xxxx} to produce U+xxxx, if we support it. +\def\U#1{% + \expandafter\ifx\csname uni:#1\endcsname \relax + \errhelp = \EMsimple + \errmessage{Unicode character U+#1 not supported, sorry}% + \else + \csname uni:#1\endcsname + \fi +} + \begingroup \catcode`\"=12 \catcode`\<=12 @@ -9287,7 +9431,6 @@ directory should work if nowhere else does.} \catcode`\;=12 \catcode`\!=12 \catcode`\~=13 - \gdef\DeclareUnicodeCharacter#1#2{% \countUTFz = "#1\relax %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% @@ -9302,6 +9445,13 @@ directory should work if nowhere else does.} \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter \gdef\UTFviiiTmp{#2}% + % + \expandafter\ifx\csname uni:#1\endcsname \relax \else + \errmessage{Internal error, already defined: #1}% + \fi + % + % define an additional control sequence for this code point. + \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp \endgroup} \gdef\parseXMLCharref{% @@ -9339,23 +9489,53 @@ directory should work if nowhere else does.} \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} \endgroup +% https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M +% U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block) +% U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block) +% U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A +% U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B +% +% Many of our renditions are less than wonderful, and all the missing +% characters are available somewhere. Loading the necessary fonts +% awaits user request. We can't truly support Unicode without +% reimplementing everything that's been done in LaTeX for many years, +% plus probably using luatex or xetex, and who knows what else. +% We won't be doing that here in this simple file. But we can try to at +% least make most of the characters not bomb out. +% \def\utfeightchardefs{% \DeclareUnicodeCharacter{00A0}{\tie} \DeclareUnicodeCharacter{00A1}{\exclamdown} + \DeclareUnicodeCharacter{00A2}{{\tcfont \char162}}% 0242=cent \DeclareUnicodeCharacter{00A3}{\pounds} + \DeclareUnicodeCharacter{00A4}{{\tcfont \char164}}% 0244=currency + \DeclareUnicodeCharacter{00A5}{{\tcfont \char165}}% 0245=yen + \DeclareUnicodeCharacter{00A6}{{\tcfont \char166}}% 0246=brokenbar + \DeclareUnicodeCharacter{00A7}{\S} \DeclareUnicodeCharacter{00A8}{\"{ }} \DeclareUnicodeCharacter{00A9}{\copyright} \DeclareUnicodeCharacter{00AA}{\ordf} \DeclareUnicodeCharacter{00AB}{\guillemetleft} + \DeclareUnicodeCharacter{00AC}{\ensuremath\lnot} \DeclareUnicodeCharacter{00AD}{\-} \DeclareUnicodeCharacter{00AE}{\registeredsymbol} \DeclareUnicodeCharacter{00AF}{\={ }} \DeclareUnicodeCharacter{00B0}{\ringaccent{ }} + \DeclareUnicodeCharacter{00B1}{\ensuremath\pm} + \DeclareUnicodeCharacter{00B2}{$^2$} + \DeclareUnicodeCharacter{00B3}{$^3$} \DeclareUnicodeCharacter{00B4}{\'{ }} + \DeclareUnicodeCharacter{00B5}{$\mu$} + \DeclareUnicodeCharacter{00B6}{\P} + \DeclareUnicodeCharacter{00B7}{\ensuremath\cdot} \DeclareUnicodeCharacter{00B8}{\cedilla{ }} + \DeclareUnicodeCharacter{00B9}{$^1$} \DeclareUnicodeCharacter{00BA}{\ordm} \DeclareUnicodeCharacter{00BB}{\guillemetright} + \DeclareUnicodeCharacter{00BC}{$1\over4$} + \DeclareUnicodeCharacter{00BD}{$1\over2$} + \DeclareUnicodeCharacter{00BE}{$3\over4$} \DeclareUnicodeCharacter{00BF}{\questiondown} \DeclareUnicodeCharacter{00C0}{\`A} @@ -9382,6 +9562,7 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{00D4}{\^O} \DeclareUnicodeCharacter{00D5}{\~O} \DeclareUnicodeCharacter{00D6}{\"O} + \DeclareUnicodeCharacter{00D7}{\ensuremath\times} \DeclareUnicodeCharacter{00D8}{\O} \DeclareUnicodeCharacter{00D9}{\`U} \DeclareUnicodeCharacter{00DA}{\'U} @@ -9415,6 +9596,7 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{00F4}{\^o} \DeclareUnicodeCharacter{00F5}{\~o} \DeclareUnicodeCharacter{00F6}{\"o} + \DeclareUnicodeCharacter{00F7}{\ensuremath\div} \DeclareUnicodeCharacter{00F8}{\o} \DeclareUnicodeCharacter{00F9}{\`u} \DeclareUnicodeCharacter{00FA}{\'u} @@ -9434,20 +9616,23 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{0107}{\'c} \DeclareUnicodeCharacter{0108}{\^C} \DeclareUnicodeCharacter{0109}{\^c} - \DeclareUnicodeCharacter{0118}{\ogonek{E}} - \DeclareUnicodeCharacter{0119}{\ogonek{e}} \DeclareUnicodeCharacter{010A}{\dotaccent{C}} \DeclareUnicodeCharacter{010B}{\dotaccent{c}} \DeclareUnicodeCharacter{010C}{\v{C}} \DeclareUnicodeCharacter{010D}{\v{c}} \DeclareUnicodeCharacter{010E}{\v{D}} + \DeclareUnicodeCharacter{010F}{d'} + \DeclareUnicodeCharacter{0110}{\DH} + \DeclareUnicodeCharacter{0111}{\dh} \DeclareUnicodeCharacter{0112}{\=E} \DeclareUnicodeCharacter{0113}{\=e} \DeclareUnicodeCharacter{0114}{\u{E}} \DeclareUnicodeCharacter{0115}{\u{e}} \DeclareUnicodeCharacter{0116}{\dotaccent{E}} \DeclareUnicodeCharacter{0117}{\dotaccent{e}} + \DeclareUnicodeCharacter{0118}{\ogonek{E}} + \DeclareUnicodeCharacter{0119}{\ogonek{e}} \DeclareUnicodeCharacter{011A}{\v{E}} \DeclareUnicodeCharacter{011B}{\v{e}} \DeclareUnicodeCharacter{011C}{\^G} @@ -9457,14 +9642,20 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{0120}{\dotaccent{G}} \DeclareUnicodeCharacter{0121}{\dotaccent{g}} + \DeclareUnicodeCharacter{0122}{\cedilla{G}} + \DeclareUnicodeCharacter{0123}{\cedilla{g}} \DeclareUnicodeCharacter{0124}{\^H} \DeclareUnicodeCharacter{0125}{\^h} + \DeclareUnicodeCharacter{0126}{\missingcharmsg{H WITH STROKE}} + \DeclareUnicodeCharacter{0127}{\missingcharmsg{h WITH STROKE}} \DeclareUnicodeCharacter{0128}{\~I} \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}} \DeclareUnicodeCharacter{012A}{\=I} \DeclareUnicodeCharacter{012B}{\={\dotless{i}}} \DeclareUnicodeCharacter{012C}{\u{I}} \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}} + \DeclareUnicodeCharacter{012E}{\ogonek{I}} + \DeclareUnicodeCharacter{012F}{\ogonek{i}} \DeclareUnicodeCharacter{0130}{\dotaccent{I}} \DeclareUnicodeCharacter{0131}{\dotless{i}} @@ -9472,15 +9663,29 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{0133}{ij} \DeclareUnicodeCharacter{0134}{\^J} \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}} + \DeclareUnicodeCharacter{0136}{\cedilla{K}} + \DeclareUnicodeCharacter{0137}{\cedilla{k}} + \DeclareUnicodeCharacter{0138}{\ensuremath\kappa} \DeclareUnicodeCharacter{0139}{\'L} \DeclareUnicodeCharacter{013A}{\'l} + \DeclareUnicodeCharacter{013B}{\cedilla{L}} + \DeclareUnicodeCharacter{013C}{\cedilla{l}} + \DeclareUnicodeCharacter{013D}{L'}% should kern + \DeclareUnicodeCharacter{013E}{l'}% should kern + \DeclareUnicodeCharacter{013F}{L\U{00B7}} + \DeclareUnicodeCharacter{0140}{l\U{00B7}} \DeclareUnicodeCharacter{0141}{\L} \DeclareUnicodeCharacter{0142}{\l} \DeclareUnicodeCharacter{0143}{\'N} \DeclareUnicodeCharacter{0144}{\'n} + \DeclareUnicodeCharacter{0145}{\cedilla{N}} + \DeclareUnicodeCharacter{0146}{\cedilla{n}} \DeclareUnicodeCharacter{0147}{\v{N}} \DeclareUnicodeCharacter{0148}{\v{n}} + \DeclareUnicodeCharacter{0149}{'n} + \DeclareUnicodeCharacter{014A}{\missingcharmsg{ENG}} + \DeclareUnicodeCharacter{014B}{\missingcharmsg{eng}} \DeclareUnicodeCharacter{014C}{\=O} \DeclareUnicodeCharacter{014D}{\=o} \DeclareUnicodeCharacter{014E}{\u{O}} @@ -9492,6 +9697,8 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{0153}{\oe} \DeclareUnicodeCharacter{0154}{\'R} \DeclareUnicodeCharacter{0155}{\'r} + \DeclareUnicodeCharacter{0156}{\cedilla{R}} + \DeclareUnicodeCharacter{0157}{\cedilla{r}} \DeclareUnicodeCharacter{0158}{\v{R}} \DeclareUnicodeCharacter{0159}{\v{r}} \DeclareUnicodeCharacter{015A}{\'S} @@ -9503,10 +9710,12 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{0160}{\v{S}} \DeclareUnicodeCharacter{0161}{\v{s}} - \DeclareUnicodeCharacter{0162}{\cedilla{t}} - \DeclareUnicodeCharacter{0163}{\cedilla{T}} + \DeclareUnicodeCharacter{0162}{\cedilla{T}} + \DeclareUnicodeCharacter{0163}{\cedilla{t}} \DeclareUnicodeCharacter{0164}{\v{T}} - + \DeclareUnicodeCharacter{0165}{\v{t}} + \DeclareUnicodeCharacter{0166}{\missingcharmsg{H WITH STROKE}} + \DeclareUnicodeCharacter{0167}{\missingcharmsg{h WITH STROKE}} \DeclareUnicodeCharacter{0168}{\~U} \DeclareUnicodeCharacter{0169}{\~u} \DeclareUnicodeCharacter{016A}{\=U} @@ -9518,6 +9727,8 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{0170}{\H{U}} \DeclareUnicodeCharacter{0171}{\H{u}} + \DeclareUnicodeCharacter{0172}{\ogonek{U}} + \DeclareUnicodeCharacter{0173}{\ogonek{u}} \DeclareUnicodeCharacter{0174}{\^W} \DeclareUnicodeCharacter{0175}{\^w} \DeclareUnicodeCharacter{0176}{\^Y} @@ -9529,6 +9740,7 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{017C}{\dotaccent{z}} \DeclareUnicodeCharacter{017D}{\v{Z}} \DeclareUnicodeCharacter{017E}{\v{z}} + \DeclareUnicodeCharacter{017F}{\missingcharmsg{LONG S}} \DeclareUnicodeCharacter{01C4}{D\v{Z}} \DeclareUnicodeCharacter{01C5}{D\v{z}} @@ -9720,6 +9932,8 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{201C}{\quotedblleft} \DeclareUnicodeCharacter{201D}{\quotedblright} \DeclareUnicodeCharacter{201E}{\quotedblbase} + \DeclareUnicodeCharacter{2020}{\ensuremath\dagger} + \DeclareUnicodeCharacter{2021}{\ensuremath\ddagger} \DeclareUnicodeCharacter{2022}{\bullet} \DeclareUnicodeCharacter{2026}{\dots} \DeclareUnicodeCharacter{2039}{\guilsinglleft} @@ -9731,15 +9945,66 @@ directory should work if nowhere else does.} \DeclareUnicodeCharacter{2212}{\minus} \DeclareUnicodeCharacter{2217}{\point} + \DeclareUnicodeCharacter{2225}{\ensuremath\parallel} \DeclareUnicodeCharacter{2261}{\equiv} }% end of \utfeightchardefs - % US-ASCII character definitions. \def\asciichardefs{% nothing need be done \relax } +% Latin1 (ISO-8859-1) character definitions. +\def\nonasciistringdefs{% + \setnonasciicharscatcode\active + \def\defstringchar##1{\def##1{\string##1}}% + % + \defstringchar^^80\defstringchar^^81\defstringchar^^82\defstringchar^^83% + \defstringchar^^84\defstringchar^^85\defstringchar^^86\defstringchar^^87% + \defstringchar^^88\defstringchar^^89\defstringchar^^8a\defstringchar^^8b% + \defstringchar^^8c\defstringchar^^8d\defstringchar^^8e\defstringchar^^8f% + % + \defstringchar^^90\defstringchar^^91\defstringchar^^92\defstringchar^^93% + \defstringchar^^94\defstringchar^^95\defstringchar^^96\defstringchar^^97% + \defstringchar^^98\defstringchar^^99\defstringchar^^9a\defstringchar^^9b% + \defstringchar^^9c\defstringchar^^9d\defstringchar^^9e\defstringchar^^9f% + % + \defstringchar^^a0\defstringchar^^a1\defstringchar^^a2\defstringchar^^a3% + \defstringchar^^a4\defstringchar^^a5\defstringchar^^a6\defstringchar^^a7% + \defstringchar^^a8\defstringchar^^a9\defstringchar^^aa\defstringchar^^ab% + \defstringchar^^ac\defstringchar^^ad\defstringchar^^ae\defstringchar^^af% + % + \defstringchar^^b0\defstringchar^^b1\defstringchar^^b2\defstringchar^^b3% + \defstringchar^^b4\defstringchar^^b5\defstringchar^^b6\defstringchar^^b7% + \defstringchar^^b8\defstringchar^^b9\defstringchar^^ba\defstringchar^^bb% + \defstringchar^^bc\defstringchar^^bd\defstringchar^^be\defstringchar^^bf% + % + \defstringchar^^c0\defstringchar^^c1\defstringchar^^c2\defstringchar^^c3% + \defstringchar^^c4\defstringchar^^c5\defstringchar^^c6\defstringchar^^c7% + \defstringchar^^c8\defstringchar^^c9\defstringchar^^ca\defstringchar^^cb% + \defstringchar^^cc\defstringchar^^cd\defstringchar^^ce\defstringchar^^cf% + % + \defstringchar^^d0\defstringchar^^d1\defstringchar^^d2\defstringchar^^d3% + \defstringchar^^d4\defstringchar^^d5\defstringchar^^d6\defstringchar^^d7% + \defstringchar^^d8\defstringchar^^d9\defstringchar^^da\defstringchar^^db% + \defstringchar^^dc\defstringchar^^dd\defstringchar^^de\defstringchar^^df% + % + \defstringchar^^e0\defstringchar^^e1\defstringchar^^e2\defstringchar^^e3% + \defstringchar^^e4\defstringchar^^e5\defstringchar^^e6\defstringchar^^e7% + \defstringchar^^e8\defstringchar^^e9\defstringchar^^ea\defstringchar^^eb% + \defstringchar^^ec\defstringchar^^ed\defstringchar^^ee\defstringchar^^ef% + % + \defstringchar^^f0\defstringchar^^f1\defstringchar^^f2\defstringchar^^f3% + \defstringchar^^f4\defstringchar^^f5\defstringchar^^f6\defstringchar^^f7% + \defstringchar^^f8\defstringchar^^f9\defstringchar^^fa\defstringchar^^fb% + \defstringchar^^fc\defstringchar^^fd\defstringchar^^fe\defstringchar^^ff% +} + + +% define all the unicode characters we know about, for the sake of @U. +\utfeightchardefs + + % Make non-ASCII characters printable again for compatibility with % existing Texinfo documents that may use them, even without declaring a % document encoding. @@ -10008,8 +10273,8 @@ directory should work if nowhere else does.} \def\activedoublequote{{\tt\char34}} \let"=\activedoublequote \catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde -\chardef\hat=`\^ -\catcode`\^=\active \def\activehat{{\tt \hat}} \let^ = \activehat +\chardef\hatchar=`\^ +\catcode`\^=\active \def\activehat{{\tt \hatchar}} \let^ = \activehat \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} @@ -10087,12 +10352,15 @@ directory should work if nowhere else does.} @gdef@rawbackslash{@let\=@backslashcurfont} @gdef@otherbackslash{@let\=@realbackslash} +@gdef@usemathbackslash{@def@backslashcurfont{@math{@backslash}}} + % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of % the literal character `\'. Also revert - to its normal character, in % case the active - from code has slipped in. % {@catcode`- = @active @gdef@normalturnoffactive{% + @nonasciistringdefs @let-=@normaldash @let"=@normaldoublequote @let$=@normaldollar %$ font-lock fix @@ -10161,7 +10429,7 @@ directory should work if nowhere else does.} @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) -@c page-delimiter: "^\\\\message" +@c page-delimiter: "^\\\\message\\|emacs-page" @c time-stamp-start: "def\\\\texinfoversion{" @c time-stamp-format: "%:y-%02m-%02d.%02H" @c time-stamp-end: "}" diff --git a/config.h.in b/config.h.in index 6646ea50..8818e6ec 100644 --- a/config.h.in +++ b/config.h.in @@ -105,6 +105,15 @@ /* Define this to 1 if F_DUPFD behavior does not match POSIX */ #undef FCNTL_DUPFD_BUGGY +/* Define to nothing if C supports flexible array members, and to 1 if it does + not. That way, with a declaration like 'struct s { int n; double + d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99 + compilers. When computing the size of such an object, don't use 'sizeof + (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)' + instead. Don't use 'offsetof (struct s, d[0])', as this doesn't work with + MSVC and with C++ compilers. */ +#undef FLEXIBLE_ARRAY_MEMBER + /* Enable compile-time and run-time bounds-checking, and some warnings, without upsetting glibc 2.15+. */ #if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__ @@ -141,10 +150,19 @@ declaration of the second argument to gettimeofday. */ #undef GETTIMEOFDAY_TIMEZONE +/* Define to 1 if getxattr works with XATTR_NAME_POSIX_ACL_ACCESS and + XATTR_NAME_POSIX_ACL_DEFAULT. */ +#undef GETXATTR_WITH_POSIX_ACLS + /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module areadlinkat shall be considered present. */ #undef GNULIB_AREADLINKAT +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module areadlinkat-with-size shall be considered + present. */ +#undef GNULIB_AREADLINKAT_WITH_SIZE + /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module canonicalize-lgpl shall be considered present. */ #undef GNULIB_CANONICALIZE_LGPL @@ -200,6 +218,10 @@ /* enable some gnulib portability checks */ #undef GNULIB_PORTCHECK +/* Define to 1 if printf and friends should be labeled with attribute + "__gnu_printf__" instead of "__printf__" */ +#undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU + /* Define to 1 to add extern declaration of program_invocation_name to argp.h */ #undef GNULIB_PROGRAM_INVOCATION_NAME @@ -321,9 +343,6 @@ /* Define to 1 when the gnulib module group-member should be tested. */ #undef GNULIB_TEST_GROUP_MEMBER -/* Define to 1 when the gnulib module isatty should be tested. */ -#undef GNULIB_TEST_ISATTY - /* Define to 1 when the gnulib module iswblank should be tested. */ #undef GNULIB_TEST_ISWBLANK @@ -405,15 +424,6 @@ /* Define to 1 when the gnulib module opendir should be tested. */ #undef GNULIB_TEST_OPENDIR -/* Define to 1 when the gnulib module posix_openpt should be tested. */ -#undef GNULIB_TEST_POSIX_OPENPT - -/* Define to 1 when the gnulib module ptsname should be tested. */ -#undef GNULIB_TEST_PTSNAME - -/* Define to 1 when the gnulib module ptsname_r should be tested. */ -#undef GNULIB_TEST_PTSNAME_R - /* Define to 1 when the gnulib module raise should be tested. */ #undef GNULIB_TEST_RAISE @@ -498,11 +508,14 @@ /* Define to 1 when the gnulib module symlinkat should be tested. */ #undef GNULIB_TEST_SYMLINKAT +/* Define to 1 when the gnulib module timegm should be tested. */ +#undef GNULIB_TEST_TIMEGM + /* Define to 1 when the gnulib module time_r should be tested. */ #undef GNULIB_TEST_TIME_R -/* Define to 1 when the gnulib module ttyname_r should be tested. */ -#undef GNULIB_TEST_TTYNAME_R +/* Define to 1 when the gnulib module time_rz should be tested. */ +#undef GNULIB_TEST_TIME_RZ /* Define to 1 when the gnulib module unlink should be tested. */ #undef GNULIB_TEST_UNLINK @@ -510,9 +523,6 @@ /* Define to 1 when the gnulib module unlinkat should be tested. */ #undef GNULIB_TEST_UNLINKAT -/* Define to 1 when the gnulib module unlockpt should be tested. */ -#undef GNULIB_TEST_UNLOCKPT - /* Define to 1 when the gnulib module unsetenv should be tested. */ #undef GNULIB_TEST_UNSETENV @@ -617,7 +627,7 @@ */ #undef HAVE_ALLOCA_H -/* define to 1 if we have header */ +/* Define to 1 if you have the header file. */ #undef HAVE_ATTR_XATTR_H /* Define to 1 if you have the header file. */ @@ -728,6 +738,10 @@ don't. */ #undef HAVE_DECL_GETDELIM +/* Define to 1 if you have the declaration of `getdtablesize', and to 0 if you + don't. */ +#undef HAVE_DECL_GETDTABLESIZE + /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. */ #undef HAVE_DECL_GETENV @@ -844,10 +858,6 @@ don't. */ #undef HAVE_DECL_TOWLOWER -/* Define to 1 if you have the declaration of `ttyname_r', and to 0 if you - don't. */ -#undef HAVE_DECL_TTYNAME_R - /* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. */ #undef HAVE_DECL_TZNAME @@ -924,21 +934,12 @@ /* Define to 1 if you have the header file. */ #undef HAVE_FEATURES_H -/* Define to 1 if you have the `fgetxattr' function. */ -#undef HAVE_FGETXATTR - -/* Define to 1 if you have the `flistxattr' function. */ -#undef HAVE_FLISTXATTR - /* Define to 1 if you have the `flockfile' function. */ #undef HAVE_FLOCKFILE /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #undef HAVE_FSEEKO -/* Define to 1 if you have the `fsetxattr' function. */ -#undef HAVE_FSETXATTR - /* Define to 1 if you have the `fstatat' function. */ #undef HAVE_FSTATAT @@ -963,6 +964,10 @@ /* Define to 1 if you have the `getcwd' function. */ #undef HAVE_GETCWD +/* Define to 1 if getcwd works, but with shorter paths than is generally + tested with the replacement. */ +#undef HAVE_GETCWD_SHORTER + /* Define to 1 if you have the `getdelim' function. */ #undef HAVE_GETDELIM @@ -990,12 +995,6 @@ /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY -/* Define to 1 if you have the `getxattr' function. */ -#undef HAVE_GETXATTR - -/* Define to 1 if you have the `grantpt' function. */ -#undef HAVE_GRANTPT - /* Define to 1 if you have the header file. */ #undef HAVE_GRP_H @@ -1045,12 +1044,6 @@ /* Define to 1 if you have the `lchown' function. */ #undef HAVE_LCHOWN -/* Define to 1 if you have the `lgetxattr' function. */ -#undef HAVE_LGETXATTR - -/* Define to 1 if you have the `attr' library (-lattr). */ -#undef HAVE_LIBATTR - /* Define to 1 if you have the header file. */ #undef HAVE_LIBGEN_H @@ -1069,12 +1062,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LINUX_FD_H -/* Define to 1 if you have the `listxattr' function. */ -#undef HAVE_LISTXATTR - -/* Define to 1 if you have the `llistxattr' function. */ -#undef HAVE_LLISTXATTR - /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H @@ -1087,9 +1074,6 @@ /* Define to 1 if the system has the type 'long long int'. */ #undef HAVE_LONG_LONG_INT -/* Define to 1 if you have the `lsetxattr' function. */ -#undef HAVE_LSETXATTR - /* Define to 1 if you have the `lstat' function. */ #undef HAVE_LSTAT @@ -1172,7 +1156,7 @@ /* Define to 1 if you have the `nl_langinfo' function. */ #undef HAVE_NL_LANGINFO -/* Define to 1 if libc includes obstacks. */ +/* Define to 1 if the system has obstacks that work with any size object. */ #undef HAVE_OBSTACK /* Define to 1 if you have the `openat' function. */ @@ -1194,15 +1178,9 @@ /* Define to 1 if you have the `pipe' function. */ #undef HAVE_PIPE -/* Define if the ttyname_r function has a POSIX compliant declaration. */ -#undef HAVE_POSIXDECL_TTYNAME_R - /* Define when we have working POSIX acls */ #undef HAVE_POSIX_ACLS -/* Define to 1 if you have the `posix_openpt' function. */ -#undef HAVE_POSIX_OPENPT - /* Define to 1 if you have the header file. */ #undef HAVE_PRIV_H @@ -1212,12 +1190,6 @@ /* Define if program_invocation_short_name is defined */ #undef HAVE_PROGRAM_INVOCATION_SHORT_NAME -/* Define to 1 if you have the `ptsname' function. */ -#undef HAVE_PTSNAME - -/* Define to 1 if you have the `ptsname_r' function. */ -#undef HAVE_PTSNAME_R - /* Define to 1 if you have the header file. */ #undef HAVE_PWD_H @@ -1834,9 +1806,6 @@ /* Define to 1 if you have the `renameat' function. */ #undef HAVE_RENAMEAT -/* Define to 1 if you have the `revoke' function. */ -#undef HAVE_REVOKE - /* Define to 1 if you have the `rewinddir' function. */ #undef HAVE_REWINDDIR @@ -1867,9 +1836,6 @@ /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE -/* Define to 1 if you have the `setxattr' function. */ -#undef HAVE_SETXATTR - /* Define to 1 if you have the header file. */ #undef HAVE_SGTTY_H @@ -2074,9 +2040,15 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_WAIT_H -/* define to 1 if we have header */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_XATTR_H +/* Define to 1 if you have the `timegm' function. */ +#undef HAVE_TIMEGM + +/* Define to 1 if the system has the type `timezone_t'. */ +#undef HAVE_TIMEZONE_T + /* Define if struct tm has the tm_gmtoff member. */ #undef HAVE_TM_GMTOFF @@ -2090,12 +2062,6 @@ /* Define to 1 if you have the `tsearch' function. */ #undef HAVE_TSEARCH -/* Define to 1 if you have the `ttyname' function. */ -#undef HAVE_TTYNAME - -/* Define to 1 if you have the `ttyname_r' function. */ -#undef HAVE_TTYNAME_R - /* Define to 1 if you don't have `tm_zone' but do have the external array `tzname'. */ #undef HAVE_TZNAME @@ -2109,13 +2075,10 @@ /* Define to 1 if you have the `unlinkat' function. */ #undef HAVE_UNLINKAT -/* Define to 1 if you have the `unlockpt' function. */ -#undef HAVE_UNLOCKPT - /* Define to 1 if you have the `unsetenv' function. */ #undef HAVE_UNSETENV -/* Define to 1 if the system has the type 'unsigned long long int'. */ +/* Define to 1 if the system has the type `unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT /* Define to 1 if you have the `utimensat' function. */ @@ -2209,8 +2172,8 @@ /* Define as const if the declaration of iconv() needs const. */ #undef ICONV_CONST -/* Define to 1 if isatty() may fail without setting errno. */ -#undef ISATTY_FAILS_WITHOUT_SETTING_ERRNO +/* Define to 1 if linkat can create hardlinks to symlinks */ +#undef LINKAT_SYMLINK_NOTSUP /* Define to 1 if linkat fails to recognize a trailing slash. */ #undef LINKAT_TRAILING_SLASH_BUG @@ -2250,6 +2213,10 @@ /* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ #undef MAP_ANONYMOUS +/* Define if the mbrtowc function does not return (size_t) -2 for empty input. + */ +#undef MBRTOWC_EMPTY_INPUT_BUG + /* Define if the mbrtowc function has the NULL pwc argument bug. */ #undef MBRTOWC_NULL_ARG1_BUG @@ -2429,6 +2396,10 @@ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif +/* Use GNU style printf and scanf. */ +#ifndef __USE_MINGW_ANSI_STDIO +# undef __USE_MINGW_ANSI_STDIO +#endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS @@ -2554,13 +2525,28 @@ 'reference to static identifier "f" in extern inline function'. This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. - Suppress the use of extern inline on problematic Apple configurations. - OS X 10.8 and earlier mishandle it; see, e.g., - . + Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) + on configurations that mistakenly use 'static inline' to implement + functions or macros in standard C headers like . For example, + if isdigit is mistakenly implemented via a static inline function, + a program containing an extern inline function that calls isdigit + may not work since the C standard prohibits extern inline functions + from calling static functions. This bug is known to occur on: + + OS X 10.8 and earlier; see: + http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html + + DragonFly; see + http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log + + FreeBSD; see: + http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html + OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and for clang but remains for g++; see . - Perhaps Apple will fix this some day. */ -#if (defined __APPLE__ \ + Assume DragonFly and FreeBSD will be similar. */ +#if (((defined __APPLE__ && defined __MACH__) \ + || defined __DragonFly__ || defined __FreeBSD__) \ && (defined __header_inline \ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ && ! defined __clang__) \ @@ -2568,19 +2554,19 @@ && (defined __GNUC__ || defined __cplusplus)) \ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ && defined __GNUC__ && ! defined __cplusplus)))) -# define _GL_EXTERN_INLINE_APPLE_BUG +# define _GL_EXTERN_INLINE_STDHEADER_BUG #endif #if ((__GNUC__ \ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ : (199901L <= __STDC_VERSION__ \ && !defined __HP_cc \ && !(defined __SUNPRO_C && __STDC__))) \ - && !defined _GL_EXTERN_INLINE_APPLE_BUG) + && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) # define _GL_INLINE inline # define _GL_EXTERN_INLINE extern inline # define _GL_EXTERN_INLINE_IN_USE #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ - && !defined _GL_EXTERN_INLINE_APPLE_BUG) + && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ # define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) @@ -2594,17 +2580,19 @@ # define _GL_EXTERN_INLINE static _GL_UNUSED #endif -#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +/* In GCC 4.6 (inclusive) to 5.1 (exclusive), + suppress bogus "no previous prototype for 'FOO'" + and "no previous declaration for 'FOO'" diagnostics, + when FOO is an inline function in the header; see + and + . */ +#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__ # if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ # define _GL_INLINE_HEADER_CONST_PRAGMA # else # define _GL_INLINE_HEADER_CONST_PRAGMA \ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") # endif - /* Suppress GCC's bogus "no previous prototype for 'FOO'" - and "no previous declaration for 'FOO'" diagnostics, - when FOO is an inline function in the header; see - . */ # define _GL_INLINE_HEADER_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ @@ -2672,6 +2660,9 @@ /* Type of minor device numbers. */ #undef minor_t +/* Define to the real name of the mktime_internal function. */ +#undef mktime_internal + /* Define to `int' if does not define. */ #undef mode_t @@ -2771,6 +2762,16 @@ is a misnomer outside of parameter lists. */ #define _UNUSED_PARAMETER_ _GL_UNUSED +/* gcc supports the "unused" attribute on possibly unused labels, and + g++ has since version 4.5. Note to support C++ as well as C, + _GL_UNUSED_LABEL should be used with a trailing ; */ +#if !defined __cplusplus || __GNUC__ > 4 \ + || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) +# define _GL_UNUSED_LABEL _GL_UNUSED +#else +# define _GL_UNUSED_LABEL +#endif + /* The __pure__ attribute was added in gcc 2.96. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) diff --git a/configure b/configure index cfdd721e..aacbeffd 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for GNU tar 1.28. +# Generated by GNU Autoconf 2.69 for GNU tar 1.29. # # Report bugs to . # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GNU tar' PACKAGE_TARNAME='tar' -PACKAGE_VERSION='1.28' -PACKAGE_STRING='GNU tar 1.28' +PACKAGE_VERSION='1.29' +PACKAGE_STRING='GNU tar 1.29' PACKAGE_BUGREPORT='bug-tar@gnu.org' PACKAGE_URL='http://www.gnu.org/software/tar/' @@ -661,10 +661,6 @@ DEFAULT_ARCHIVE DEFAULT_ARCHIVE_FORMAT RSH LIBOBJS -TAR_COND_GRANTPT_FALSE -TAR_COND_GRANTPT_TRUE -TAR_LIB_ATTR_FALSE -TAR_LIB_ATTR_TRUE TAR_COND_XATTR_H_FALSE TAR_COND_XATTR_H_TRUE GNULIB_TEST_WARN_CFLAGS @@ -690,6 +686,7 @@ LIBUNISTRING_UNITYPES_H HAVE_UNISTD_H NEXT_AS_FIRST_DIRECTIVE_UNISTD_H NEXT_UNISTD_H +UNISTD_H_DEFINES_STRUCT_TIMESPEC PTHREAD_H_DEFINES_STRUCT_TIMESPEC SYS_TIME_H_DEFINES_STRUCT_TIMESPEC TIME_H_DEFINES_STRUCT_TIMESPEC @@ -746,8 +743,6 @@ GNULIB_SIGPROCMASK GNULIB_SIGNAL_H_SIGPIPE GNULIB_RAISE GNULIB_PTHREAD_SIGMASK -USE_ACL -LIB_ACL HAVE__BOOL GL_GENERATE_STDBOOL_H_FALSE GL_GENERATE_STDBOOL_H_TRUE @@ -762,6 +757,7 @@ HAVE_TIMEGM HAVE_STRPTIME HAVE_NANOSLEEP HAVE_DECL_LOCALTIME_R +GNULIB_TIME_RZ GNULIB_TIME_R GNULIB_TIMEGM GNULIB_STRPTIME @@ -852,6 +848,7 @@ GL_GENERATE_STDDEF_H_FALSE GL_GENERATE_STDDEF_H_TRUE STDDEF_H HAVE_WCHAR_T +HAVE_MAX_ALIGN_T REPLACE_NULL REPLACE_STRUCT_LCONV REPLACE_DUPLOCALE @@ -938,6 +935,7 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H NEXT_SYS_TIME_H REPLACE_STRUCT_TIMEVAL REPLACE_GETTIMEOFDAY +HAVE_TIMEZONE_T HAVE_SYS_TIME_H HAVE_STRUCT_TIMEVAL HAVE_GETTIMEOFDAY @@ -1065,6 +1063,7 @@ GL_GENERATE_FLOAT_H_TRUE FLOAT_H NEXT_AS_FIRST_DIRECTIVE_FLOAT_H NEXT_FLOAT_H +LIB_HAS_ACL NEXT_AS_FIRST_DIRECTIVE_FCNTL_H NEXT_FCNTL_H REPLACE_OPENAT @@ -1162,9 +1161,11 @@ REPLACE_USLEEP REPLACE_UNLINKAT REPLACE_UNLINK REPLACE_TTYNAME_R +REPLACE_SYMLINKAT REPLACE_SYMLINK REPLACE_SLEEP REPLACE_RMDIR +REPLACE_READLINKAT REPLACE_READLINK REPLACE_READ REPLACE_PWRITE @@ -1283,6 +1284,7 @@ REPLACE_SETENV REPLACE_REALPATH REPLACE_REALLOC REPLACE_RANDOM_R +REPLACE_QSORT_R REPLACE_PUTENV REPLACE_PTSNAME_R REPLACE_PTSNAME @@ -1334,6 +1336,7 @@ GNULIB_REALPATH GNULIB_REALLOC_POSIX GNULIB_RANDOM_R GNULIB_RANDOM +GNULIB_QSORT_R GNULIB_PUTENV GNULIB_PTSNAME_R GNULIB_PTSNAME @@ -1456,6 +1459,8 @@ GL_GENERATE_ALLOCA_H_FALSE GL_GENERATE_ALLOCA_H_TRUE ALLOCA_H ALLOCA +USE_ACL +LIB_ACL GL_COND_LIBTOOL_FALSE GL_COND_LIBTOOL_TRUE ac_ct_AR @@ -2136,7 +2141,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GNU tar 1.28 to adapt to many kinds of systems. +\`configure' configures GNU tar 1.29 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2206,7 +2211,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU tar 1.28:";; + short | recursive ) echo "Configuration of GNU tar 1.29:";; esac cat <<\_ACEOF @@ -2356,7 +2361,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GNU tar configure 1.28 +GNU tar configure 1.29 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -3065,7 +3070,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU tar $as_me 1.28, which was +It was created by GNU tar $as_me 1.29, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3362,6 +3367,7 @@ as_fn_append ac_header_list " sys/tprintf.h" as_fn_append ac_header_list " sys/tape.h" as_fn_append ac_header_list " unistd.h" as_fn_append ac_header_list " locale.h" +as_fn_append ac_func_list " fchmod" as_fn_append ac_func_list " flockfile" as_fn_append ac_func_list " funlockfile" as_fn_append ac_header_list " features.h" @@ -3425,10 +3431,7 @@ as_fn_append ac_func_list " mkfifoat" as_fn_append ac_func_list " mknodat" as_fn_append ac_func_list " mknod" as_fn_append ac_func_list " nl_langinfo" -as_fn_append ac_func_list " posix_openpt" as_fn_append ac_header_list " priv.h" -as_fn_append ac_func_list " ptsname_r" -as_fn_append ac_func_list " fchmod" as_fn_append ac_header_list " malloc.h" as_fn_append ac_func_list " renameat" as_fn_append ac_func_list " secure_getenv" @@ -3445,6 +3448,7 @@ as_fn_append ac_func_list " strtoumax" as_fn_append ac_func_list " symlinkat" as_fn_append ac_header_list " sysexits.h" as_fn_append ac_func_list " localtime_r" +as_fn_append ac_func_list " timegm" as_fn_append ac_func_list " pipe" as_fn_append ac_func_list " unlinkat" as_fn_append ac_header_list " utime.h" @@ -3461,7 +3465,6 @@ as_fn_append ac_header_list " pwd.h" as_fn_append ac_header_list " grp.h" as_fn_append ac_func_list " setlocale" as_fn_append ac_func_list " fsync" -as_fn_append ac_func_list " grantpt" gt_needs="$gt_needs need-formatstring-macros" # Check that the precious variables saved in the cache have kept the same # value. @@ -4050,7 +4053,7 @@ fi # Define the identity of the package. PACKAGE='tar' - VERSION='1.28' + VERSION='1.29' cat >>confdefs.h <<_ACEOF @@ -6164,12 +6167,12 @@ else fi if test -z "$ARFLAGS"; then - ARFLAGS='cru' + ARFLAGS='cr' fi fi else if test -z "$ARFLAGS"; then - ARFLAGS='cru' + ARFLAGS='cr' fi fi @@ -6465,6 +6468,8 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } $as_echo "#define _GNU_SOURCE 1" >>confdefs.h + $as_echo "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h + $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h @@ -6798,15 +6803,19 @@ fi # Code from module absolute-header: - # Code from module acl: + # Code from module acl-permissions: + # Code from module alignof: # Code from module alloca: # Code from module alloca-opt: # Code from module allocator: # Code from module areadlink: + # Code from module areadlink-with-size: # Code from module areadlinkat: + # Code from module areadlinkat-with-size: # Code from module argmatch: # Code from module argp: # Code from module argp-version-etc: + # Code from module assure: # Code from module at-internal: # Code from module backupfile: # Code from module bitrotate: @@ -6854,9 +6863,11 @@ fi # Code from module fd-hook: # Code from module fdopendir: # Code from module fdutimensat: + # Code from module file-has-acl: # Code from module fileblocks: # Code from module filename: # Code from module filenamecat-lgpl: + # Code from module flexmember: # Code from module float: # Code from module fnmatch: # Code from module fnmatch-gnu: @@ -6892,7 +6903,6 @@ fi # Code from module inttostr: # Code from module inttypes: # Code from module inttypes-incomplete: - # Code from module isatty: # Code from module iswblank: # Code from module langinfo: # Code from module largefile: @@ -6927,6 +6937,7 @@ fi # Code from module mkfifoat: # Code from module mknod: # Code from module mktime: + # Code from module mktime-internal: # Code from module modechange: # Code from module msvc-inval: # Code from module msvc-nothrow: @@ -6941,12 +6952,8 @@ fi # Code from module opendir: # Code from module parse-datetime: # Code from module pathmax: - # Code from module posix_openpt: # Code from module priv-set: # Code from module progname: - # Code from module ptsname: - # Code from module ptsname_r: - # Code from module qacl: # Code from module quote: # Code from module quotearg: # Code from module quotearg-simple: @@ -7025,8 +7032,10 @@ fi # Code from module tempname: # Code from module time: # Code from module time_r: + # Code from module time_rz: + # Code from module timegm: # Code from module timespec: - # Code from module ttyname_r: + # Code from module timespec-sub: # Code from module unistd: # Code from module unistd-safer: # Code from module unitypes: @@ -7036,7 +7045,6 @@ fi # Code from module unlinkat: # Code from module unlinkdir: # Code from module unlocked-io: - # Code from module unlockpt: # Code from module unsetenv: # Code from module utimens: # Code from module utimensat: @@ -7809,6 +7817,33 @@ $as_echo "#define ssize_t int" >>confdefs.h LIBC_FATAL_STDERR_=1 export LIBC_FATAL_STDERR_ + + gl_need_lib_has_acl= + # Check whether --enable-acl was given. +if test "${enable_acl+set}" = set; then : + enableval=$enable_acl; +else + enable_acl=auto +fi + + + + + + for ac_func in $ac_func_list +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : @@ -8020,17 +8055,19 @@ else for ac_kw in __restrict __restrict__ _Restrict restrict; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -typedef int * int_ptr; - int foo (int_ptr $ac_kw ip) { - return ip[0]; - } +typedef int *int_ptr; + int foo (int_ptr $ac_kw ip) { return ip[0]; } + int bar (int [$ac_kw]); /* Catch GCC bug 14050. */ + int bar (int ip[$ac_kw]) { return ip[0]; } + int main () { int s[1]; - int * $ac_kw t = s; - t[0] = 0; - return foo(t) + int *$ac_kw t = s; + t[0] = 0; + return foo (t) + bar (t); + ; return 0; } @@ -8202,21 +8239,6 @@ _ACEOF - for ac_func in $ac_func_list -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - - - @@ -8757,6 +8779,7 @@ $as_echo "$gt_cv_locale_fr" >&6; } GNULIB_PTSNAME=0; GNULIB_PTSNAME_R=0; GNULIB_PUTENV=0; + GNULIB_QSORT_R=0; GNULIB_RANDOM=0; GNULIB_RANDOM_R=0; GNULIB_REALLOC_POSIX=0; @@ -8808,6 +8831,7 @@ $as_echo "$gt_cv_locale_fr" >&6; } REPLACE_PTSNAME=0; REPLACE_PTSNAME_R=0; REPLACE_PUTENV=0; + REPLACE_QSORT_R=0; REPLACE_RANDOM_R=0; REPLACE_REALLOC=0; REPLACE_REALPATH=0; @@ -9178,9 +9202,11 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h REPLACE_PWRITE=0; REPLACE_READ=0; REPLACE_READLINK=0; + REPLACE_READLINKAT=0; REPLACE_RMDIR=0; REPLACE_SLEEP=0; REPLACE_SYMLINK=0; + REPLACE_SYMLINKAT=0; REPLACE_TTYNAME_R=0; REPLACE_UNLINK=0; REPLACE_UNLINKAT=0; @@ -11035,14 +11061,15 @@ if ${gl_cv_func_lstat_dereferences_slashed_symlink+:} false; then : else rm -f conftest.sym conftest.file echo >conftest.file - if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then - if test "$cross_compiling" = yes; then : + if test "$cross_compiling" = yes; then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; - esac + *-gnu*) + # Guess yes on glibc systems. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; + *) + # If we don't know, assume the worst. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11052,10 +11079,12 @@ int main () { struct stat sbuf; - /* Linux will dereference the symlink and fail, as required by - POSIX. That is better in the sense that it means we will not - have to compile and use the lstat wrapper. */ - return lstat ("conftest.sym/", &sbuf) == 0; + if (symlink ("conftest.file", "conftest.sym") != 0) + return 1; + /* Linux will dereference the symlink and fail, as required by + POSIX. That is better in the sense that it means we will not + have to compile and use the lstat wrapper. */ + return lstat ("conftest.sym/", &sbuf) == 0; ; return 0; @@ -11070,11 +11099,6 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - else - # If the 'ln -s' command failed, then we probably don't even - # have an lstat function. - gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" - fi rm -f conftest.sym conftest.file fi @@ -11224,6 +11248,17 @@ _ACEOF +ac_fn_c_check_decl "$LINENO" "getdtablesize" "ac_cv_have_decl_getdtablesize" "$ac_includes_default" +if test "x$ac_cv_have_decl_getdtablesize" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETDTABLESIZE $ac_have_decl +_ACEOF + ac_fn_c_check_decl "$LINENO" "getline" "ac_cv_have_decl_getline" "$ac_includes_default" if test "x$ac_cv_have_decl_getline" = xyes; then : ac_have_decl=1 @@ -11876,6 +11911,7 @@ _ACEOF HAVE_GETTIMEOFDAY=1; HAVE_STRUCT_TIMEVAL=1; HAVE_SYS_TIME_H=1; + HAVE_TIMEZONE_T=0; REPLACE_GETTIMEOFDAY=0; REPLACE_STRUCT_TIMEVAL=0; @@ -12125,48 +12161,29 @@ $as_echo_n "checking for unsigned long long int... " >&6; } if ${ac_cv_type_unsigned_long_long_int+:} false; then : $as_echo_n "(cached) " >&6 else - ac_cv_type_unsigned_long_long_int=yes - if test "x${ac_cv_prog_cc_c99-no}" = xno; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - - /* For now, do not test the preprocessor; as of 2007 there are too many - implementations with broken preprocessors. Perhaps this can - be revisited in 2012. In the meantime, code should not expect - #if to work with literals wider than 32 bits. */ - /* Test literals. */ - long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - unsigned long long int ull = 18446744073709551615ULL; - /* Test constant expressions. */ - typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - ? 1 : -1)]; - typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 - ? 1 : -1)]; - int i = 63; -int -main () -{ -/* Test availability of runtime routines for shift and division. */ - long long int llmax = 9223372036854775807ll; - unsigned long long int ullmax = 18446744073709551615ull; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll) - | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) - | (ullmax / ull) | (ullmax % ull)); +unsigned long long int ull = 18446744073709551615ULL; + typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63; +int +main () +{ +unsigned long long int ullmax = 18446744073709551615ull; + return (ull << 63 | ull >> 63 | ull << i | ull >> i + | ullmax / ull | ullmax % ull); ; return 0; } - _ACEOF if ac_fn_c_try_link "$LINENO"; then : - + ac_cv_type_unsigned_long_long_int=yes else ac_cv_type_unsigned_long_long_int=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 $as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } @@ -13714,6 +13731,7 @@ $as_echo "$ac_cv_gnu_library_2_1" >&6; } REPLACE_NULL=0; + HAVE_MAX_ALIGN_T=1; HAVE_WCHAR_T=1; @@ -13753,6 +13771,15 @@ $as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h STDDEF_H= + ac_fn_c_check_type "$LINENO" "max_align_t" "ac_cv_type_max_align_t" "#include + +" +if test "x$ac_cv_type_max_align_t" = xyes; then : + +else + HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h +fi + if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 STDDEF_H=stddef.h @@ -14646,6 +14673,7 @@ _ACEOF GNULIB_STRPTIME=0; GNULIB_TIMEGM=0; GNULIB_TIME_R=0; + GNULIB_TIME_RZ=0; HAVE_DECL_LOCALTIME_R=1; HAVE_NANOSLEEP=1; HAVE_STRPTIME=1; @@ -14906,12 +14934,6 @@ fi - - - - - - GNULIB_PTHREAD_SIGMASK=0; GNULIB_RAISE=0; GNULIB_SIGNAL_H_SIGPIPE=0; @@ -15120,7 +15142,7 @@ else # Guess yes on glibc systems. *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; + freebsd[1-4].*) gl_cv_func_snprintf_retval_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; @@ -15621,6 +15643,7 @@ $as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; } TIME_H_DEFINES_STRUCT_TIMESPEC=0 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0 + UNISTD_H_DEFINES_STRUCT_TIMESPEC=0 if test $gl_cv_sys_struct_timespec_in_time_h = yes; then TIME_H_DEFINES_STRUCT_TIMESPEC=1 else @@ -15681,6 +15704,36 @@ fi $as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; } if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +$as_echo_n "checking for struct timespec in ... " >&6; } +if ${gl_cv_sys_struct_timespec_in_unistd_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +static struct timespec x; x.tv_sec = x.tv_nsec; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timespec_in_unistd_h=yes +else + gl_cv_sys_struct_timespec_in_unistd_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_unistd_h" >&5 +$as_echo "$gl_cv_sys_struct_timespec_in_unistd_h" >&6; } + if test $gl_cv_sys_struct_timespec_in_unistd_h = yes; then + UNISTD_H_DEFINES_STRUCT_TIMESPEC=1 + fi fi fi fi @@ -15699,6 +15752,7 @@ $as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; } + if test $gl_cv_have_include_next = yes; then gl_cv_next_time_h='<'time.h'>' else @@ -15766,16 +15820,7 @@ $as_echo "$gl_cv_next_time_h" >&6; } -ac_fn_c_check_decl "$LINENO" "ttyname_r" "ac_cv_have_decl_ttyname_r" "$ac_includes_default" -if test "x$ac_cv_have_decl_ttyname_r" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_TTYNAME_R $ac_have_decl -_ACEOF @@ -16568,189 +16613,631 @@ fi gl_source_base='gnu' - if test $ac_cv_func_alloca_works = no; then - : - fi - - # Define an additional variable used in the Makefile substitution. - if test $ac_cv_working_alloca_h = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5 -$as_echo_n "checking for alloca as a compiler built-in... " >&6; } -if ${gl_cv_rpl_alloca+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#if defined __GNUC__ || defined _AIX || defined _MSC_VER - Need own alloca -#endif + LIB_ACL= + use_acl=0 + if test "$enable_acl" != no; then + for ac_header in sys/acl.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/acl.h" "ac_cv_header_sys_acl_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_acl_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_ACL_H 1 _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Need own alloca" >/dev/null 2>&1; then : - gl_cv_rpl_alloca=yes -else - gl_cv_rpl_alloca=no + fi -rm -f conftest* +done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5 -$as_echo "$gl_cv_rpl_alloca" >&6; } - if test $gl_cv_rpl_alloca = yes; then + if test $ac_cv_header_sys_acl_h = yes; then + ac_save_LIBS=$LIBS -$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h + if test $use_acl = 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing acl_get_file" >&5 +$as_echo_n "checking for library containing acl_get_file... " >&6; } +if ${ac_cv_search_acl_get_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - ALLOCA_H=alloca.h - else - ALLOCA_H= - fi +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char acl_get_file (); +int +main () +{ +return acl_get_file (); + ; + return 0; +} +_ACEOF +for ac_lib in '' acl pacl; do + if test -z "$ac_lib"; then + ac_res="none required" else - ALLOCA_H=alloca.h + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_acl_get_file=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_acl_get_file+:} false; then : + break +fi +done +if ${ac_cv_search_acl_get_file+:} false; then : - if test -n "$ALLOCA_H"; then - GL_GENERATE_ALLOCA_H_TRUE= - GL_GENERATE_ALLOCA_H_FALSE='#' else - GL_GENERATE_ALLOCA_H_TRUE='#' - GL_GENERATE_ALLOCA_H_FALSE= + ac_cv_search_acl_get_file=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_get_file" >&5 +$as_echo "$ac_cv_search_acl_get_file" >&6; } +ac_res=$ac_cv_search_acl_get_file +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + if test "$ac_cv_search_acl_get_file" != "none required"; then + LIB_ACL=$ac_cv_search_acl_get_file + fi + for ac_func in acl_get_file acl_get_fd acl_set_file acl_set_fd \ + acl_free acl_from_mode acl_from_text \ + acl_delete_def_file acl_extended_file \ + acl_delete_fd_np acl_delete_file_np \ + acl_copy_ext_native acl_create_entry_np \ + acl_to_short_text acl_free_text +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF +fi +done + # If the acl_get_file bug is detected, don't enable the ACL support. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working acl_get_file" >&5 +$as_echo_n "checking for working acl_get_file... " >&6; } +if ${gl_cv_func_working_acl_get_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + gl_cv_func_working_acl_get_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include -cat >>confdefs.h <<_ACEOF -#define GNULIB_AREADLINKAT 1 -_ACEOF +int +main () +{ +if (!acl_get_file (".", ACL_TYPE_ACCESS) && errno == ENOENT) + return 1; + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if test $cross_compiling = yes; then + gl_cv_func_working_acl_get_file="guessing yes" + elif ./conftest$ac_exeext; then + gl_cv_func_working_acl_get_file=yes + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_acl_get_file" >&5 +$as_echo "$gl_cv_func_working_acl_get_file" >&6; } + if test "$gl_cv_func_working_acl_get_file" != no; then : + use_acl=1 +fi + if test $use_acl = 1; then + for ac_header in acl/libacl.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "acl/libacl.h" "ac_cv_header_acl_libacl_h" "$ac_includes_default" +if test "x$ac_cv_header_acl_libacl_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ACL_LIBACL_H 1 +_ACEOF +fi +done - ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include -" -if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl -_ACEOF -if test $ac_have_decl = 1; then : -else -$as_echo "#define GNULIB_PROGRAM_INVOCATION_NAME 1" >>confdefs.h -fi - ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include -" -if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl + for ac_func in acl_entries +do : + ac_fn_c_check_func "$LINENO" "acl_entries" "ac_cv_func_acl_entries" +if test "x$ac_cv_func_acl_entries" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ACL_ENTRIES 1 _ACEOF -if test $ac_have_decl = 1; then : else -$as_echo "#define GNULIB_PROGRAM_INVOCATION_SHORT_NAME 1" >>confdefs.h + gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi +done - # Check if program_invocation_name and program_invocation_short_name - # are defined elsewhere. It is improbable that only one of them will - # be defined and other not, I prefer to stay on the safe side and to - # test each one separately. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether program_invocation_name is defined" >&5 -$as_echo_n "checking whether program_invocation_name is defined... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ACL_FIRST_ENTRY" >&5 +$as_echo_n "checking for ACL_FIRST_ENTRY... " >&6; } +if ${gl_cv_acl_ACL_FIRST_ENTRY+:} false; then : + $as_echo_n "(cached) " >&6 +else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include +#include +int type = ACL_FIRST_ENTRY; int main () { -program_invocation_name = "test"; + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -$as_echo "#define HAVE_PROGRAM_INVOCATION_NAME 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_acl_ACL_FIRST_ENTRY=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + gl_cv_acl_ACL_FIRST_ENTRY=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_FIRST_ENTRY" >&5 +$as_echo "$gl_cv_acl_ACL_FIRST_ENTRY" >&6; } + if test $gl_cv_acl_ACL_FIRST_ENTRY = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether program_invocation_short_name is defined" >&5 -$as_echo_n "checking whether program_invocation_short_name is defined... " >&6; } +$as_echo "#define HAVE_ACL_FIRST_ENTRY 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ACL_TYPE_EXTENDED" >&5 +$as_echo_n "checking for ACL_TYPE_EXTENDED... " >&6; } +if ${gl_cv_acl_ACL_TYPE_EXTENDED+:} false; then : + $as_echo_n "(cached) " >&6 +else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include +#include +int type = ACL_TYPE_EXTENDED; int main () { -program_invocation_short_name = "test"; + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -$as_echo "#define HAVE_PROGRAM_INVOCATION_SHORT_NAME 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_acl_ACL_TYPE_EXTENDED=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + gl_cv_acl_ACL_TYPE_EXTENDED=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_TYPE_EXTENDED" >&5 +$as_echo "$gl_cv_acl_ACL_TYPE_EXTENDED" >&6; } + if test $gl_cv_acl_ACL_TYPE_EXTENDED = yes; then +$as_echo "#define HAVE_ACL_TYPE_EXTENDED 1" >>confdefs.h + fi + else + LIB_ACL= + fi +fi + fi + if test $use_acl = 0; then + for ac_func in facl +do : + ac_fn_c_check_func "$LINENO" "facl" "ac_cv_func_facl" +if test "x$ac_cv_func_facl" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_FACL 1 +_ACEOF +fi +done + if test $ac_cv_func_facl = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing acl_trivial" >&5 +$as_echo_n "checking for library containing acl_trivial... " >&6; } +if ${ac_cv_search_acl_trivial+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char acl_trivial (); +int +main () +{ +return acl_trivial (); + ; + return 0; +} +_ACEOF +for ac_lib in '' sec; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_acl_trivial=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_acl_trivial+:} false; then : + break +fi +done +if ${ac_cv_search_acl_trivial+:} false; then : +else + ac_cv_search_acl_trivial=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_trivial" >&5 +$as_echo "$ac_cv_search_acl_trivial" >&6; } +ac_res=$ac_cv_search_acl_trivial +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + if test "$ac_cv_search_acl_trivial" != "none required"; then + LIB_ACL=$ac_cv_search_acl_trivial + fi +fi + for ac_func in acl_trivial +do : + ac_fn_c_check_func "$LINENO" "acl_trivial" "ac_cv_func_acl_trivial" +if test "x$ac_cv_func_acl_trivial" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ACL_TRIVIAL 1 +_ACEOF +fi +done + use_acl=1 + fi + fi + if test $use_acl = 0; then + for ac_func in getacl +do : + ac_fn_c_check_func "$LINENO" "getacl" "ac_cv_func_getacl" +if test "x$ac_cv_func_getacl" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETACL 1 +_ACEOF +fi +done + if test $ac_cv_func_getacl = yes; then + use_acl=1 + fi + for ac_header in aclv.h +do : + ac_fn_c_check_header_compile "$LINENO" "aclv.h" "ac_cv_header_aclv_h" "#include +" +if test "x$ac_cv_header_aclv_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ACLV_H 1 +_ACEOF - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=argp_error:2:c-format" +fi +done + fi - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=argp_failure:4:c-format" + if test $use_acl = 0; then + for ac_func in aclx_get +do : + ac_fn_c_check_func "$LINENO" "aclx_get" "ac_cv_func_aclx_get" +if test "x$ac_cv_func_aclx_get" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ACLX_GET 1 +_ACEOF + +fi +done + + if test $ac_cv_func_aclx_get = yes; then + use_acl=1 + fi + fi + + if test $use_acl = 0 || test "$ac_cv_func_aclx_get" = yes; then + for ac_func in statacl +do : + ac_fn_c_check_func "$LINENO" "statacl" "ac_cv_func_statacl" +if test "x$ac_cv_func_statacl" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STATACL 1 +_ACEOF + +fi +done + + if test $ac_cv_func_statacl = yes; then + use_acl=1 + fi + fi + + if test $use_acl = 0; then + for ac_func in aclsort +do : + ac_fn_c_check_func "$LINENO" "aclsort" "ac_cv_func_aclsort" +if test "x$ac_cv_func_aclsort" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ACLSORT 1 +_ACEOF + +fi +done + + if test $ac_cv_func_aclsort = yes; then + use_acl=1 + fi + fi + + LIBS=$ac_save_LIBS + fi + + if test "$enable_acl$use_acl" = yes0; then + as_fn_error $? "ACLs enabled but support not detected" "$LINENO" 5 + elif test "$enable_acl$use_acl" = auto0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libacl development library was not found or not usable." >&5 +$as_echo "$as_me: WARNING: libacl development library was not found or not usable." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNU tar will be built without ACL support." >&5 +$as_echo "$as_me: WARNING: GNU tar will be built without ACL support." >&2;} + fi + fi + test $gl_need_lib_has_acl && LIB_HAS_ACL=$LIB_ACL + + +cat >>confdefs.h <<_ACEOF +#define USE_ACL $use_acl +_ACEOF + + USE_ACL=$use_acl + + + + + if test $ac_cv_func_alloca_works = no; then + : + fi + + # Define an additional variable used in the Makefile substitution. + if test $ac_cv_working_alloca_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5 +$as_echo_n "checking for alloca as a compiler built-in... " >&6; } +if ${gl_cv_rpl_alloca+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#if defined __GNUC__ || defined _AIX || defined _MSC_VER + Need own alloca +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Need own alloca" >/dev/null 2>&1; then : + gl_cv_rpl_alloca=yes +else + gl_cv_rpl_alloca=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5 +$as_echo "$gl_cv_rpl_alloca" >&6; } + if test $gl_cv_rpl_alloca = yes; then + +$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h + + ALLOCA_H=alloca.h + else + ALLOCA_H= + fi + else + ALLOCA_H=alloca.h + fi + + if test -n "$ALLOCA_H"; then + GL_GENERATE_ALLOCA_H_TRUE= + GL_GENERATE_ALLOCA_H_FALSE='#' +else + GL_GENERATE_ALLOCA_H_TRUE='#' + GL_GENERATE_ALLOCA_H_FALSE= +fi + + + + +cat >>confdefs.h <<_ACEOF +#define GNULIB_AREADLINKAT 1 +_ACEOF + + + + +cat >>confdefs.h <<_ACEOF +#define GNULIB_AREADLINKAT_WITH_SIZE 1 +_ACEOF + + + + + + + + ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include +" +if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl +_ACEOF +if test $ac_have_decl = 1; then : + +else + +$as_echo "#define GNULIB_PROGRAM_INVOCATION_NAME 1" >>confdefs.h + +fi + + ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include +" +if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl +_ACEOF +if test $ac_have_decl = 1; then : + +else + +$as_echo "#define GNULIB_PROGRAM_INVOCATION_SHORT_NAME 1" >>confdefs.h + +fi + + + # Check if program_invocation_name and program_invocation_short_name + # are defined elsewhere. It is improbable that only one of them will + # be defined and other not, I prefer to stay on the safe side and to + # test each one separately. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether program_invocation_name is defined" >&5 +$as_echo_n "checking whether program_invocation_name is defined... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +program_invocation_name = "test"; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +$as_echo "#define HAVE_PROGRAM_INVOCATION_NAME 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether program_invocation_short_name is defined" >&5 +$as_echo_n "checking whether program_invocation_short_name is defined... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +program_invocation_short_name = "test"; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +$as_echo "#define HAVE_PROGRAM_INVOCATION_SHORT_NAME 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + + + + + + + + + + + + + + + + + + + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=argp_error:2:c-format" + + + + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=argp_failure:4:c-format" @@ -17856,49 +18343,66 @@ else gl_cv_func_dup2_works="guessing no" ;; cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 gl_cv_func_dup2_works="guessing no" ;; - linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a - # closed fd may yield -EBADF instead of -1 / errno=EBADF. - gl_cv_func_dup2_works="guessing no" ;; - freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. + aix* | freebsd*) + # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE, + # not EBADF. gl_cv_func_dup2_works="guessing no" ;; haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. gl_cv_func_dup2_works="guessing no" ;; + *-android*) # implemented using dup3(), which fails if oldfd == newfd + gl_cv_func_dup2_works="guessing no" ;; *) gl_cv_func_dup2_works="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include -#include -#include + #include + #include + #include + #include + #include + #ifndef RLIM_SAVED_CUR + # define RLIM_SAVED_CUR RLIM_INFINITY + #endif + #ifndef RLIM_SAVED_MAX + # define RLIM_SAVED_MAX RLIM_INFINITY + #endif + int main () { int result = 0; -#ifdef FD_CLOEXEC - if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) - result |= 1; -#endif - if (dup2 (1, 1) == 0) - result |= 2; -#ifdef FD_CLOEXEC - if (fcntl (1, F_GETFD) != FD_CLOEXEC) - result |= 4; -#endif - close (0); - if (dup2 (0, 0) != -1) - result |= 8; - /* Many gnulib modules require POSIX conformance of EBADF. */ - if (dup2 (2, 1000000) == -1 && errno != EBADF) - result |= 16; - /* Flush out some cygwin core dumps. */ - if (dup2 (2, -1) != -1 || errno != EBADF) - result |= 32; - dup2 (2, 255); - dup2 (2, 256); - return result; - + int bad_fd = INT_MAX; + struct rlimit rlim; + if (getrlimit (RLIMIT_NOFILE, &rlim) == 0 + && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX + && rlim.rlim_cur != RLIM_INFINITY + && rlim.rlim_cur != RLIM_SAVED_MAX + && rlim.rlim_cur != RLIM_SAVED_CUR) + bad_fd = rlim.rlim_cur; + #ifdef FD_CLOEXEC + if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) + result |= 1; + #endif + if (dup2 (1, 1) != 1) + result |= 2; + #ifdef FD_CLOEXEC + if (fcntl (1, F_GETFD) != FD_CLOEXEC) + result |= 4; + #endif + close (0); + if (dup2 (0, 0) != -1) + result |= 8; + /* Many gnulib modules require POSIX conformance of EBADF. */ + if (dup2 (2, bad_fd) == -1 && errno != EBADF) + result |= 16; + /* Flush out some cygwin core dumps. */ + if (dup2 (2, -1) != -1 || errno != EBADF) + result |= 32; + dup2 (2, 255); + dup2 (2, 256); + return result; ; return 0; } @@ -18662,26 +19166,43 @@ if ${gl_cv_func_fcntl_f_dupfd_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : - # Guess that it works on glibc systems - case $host_os in #(( - *-gnu*) gl_cv_func_fcntl_f_dupfd_works="guessing yes";; - *) gl_cv_func_fcntl_f_dupfd_works="guessing no";; + case $host_os in + aix* | cygwin* | haiku*) + gl_cv_func_fcntl_f_dupfd_works="guessing no" ;; + *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#include #include + #include + #include + #include + #include + #ifndef RLIM_SAVED_CUR + # define RLIM_SAVED_CUR RLIM_INFINITY + #endif + #ifndef RLIM_SAVED_MAX + # define RLIM_SAVED_MAX RLIM_INFINITY + #endif int main () { int result = 0; - if (fcntl (0, F_DUPFD, -1) != -1) result |= 1; - if (errno != EINVAL) result |= 2; - return result; - + int bad_fd = INT_MAX; + struct rlimit rlim; + if (getrlimit (RLIMIT_NOFILE, &rlim) == 0 + && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX + && rlim.rlim_cur != RLIM_INFINITY + && rlim.rlim_cur != RLIM_SAVED_MAX + && rlim.rlim_cur != RLIM_SAVED_CUR) + bad_fd = rlim.rlim_cur; + if (fcntl (0, F_DUPFD, -1) != -1) result |= 1; + if (errno != EINVAL) result |= 2; + if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4; + if (errno != EINVAL) result |= 8; + return result; ; return 0; } @@ -19078,6 +19599,52 @@ _ACEOF + if test "$enable_acl" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getxattr with XATTR_NAME_POSIX_ACL macros" >&5 +$as_echo_n "checking for getxattr with XATTR_NAME_POSIX_ACL macros... " >&6; } +if ${gl_cv_getxattr_with_posix_acls+:} false; then : + $as_echo_n "(cached) " >&6 +else + gl_cv_getxattr_with_posix_acls=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include + +int +main () +{ +ssize_t a = getxattr (".", XATTR_NAME_POSIX_ACL_ACCESS, 0, 0); + ssize_t b = getxattr (".", XATTR_NAME_POSIX_ACL_DEFAULT, 0, 0); + return a < 0 || b < 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_getxattr_with_posix_acls=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_getxattr_with_posix_acls" >&5 +$as_echo "$gl_cv_getxattr_with_posix_acls" >&6; } + fi + if test "$gl_cv_getxattr_with_posix_acls" = yes; then + LIB_HAS_ACL= + +$as_echo "#define GETXATTR_WITH_POSIX_ACLS 1" >>confdefs.h + + else + gl_need_lib_has_acl=1 + LIB_HAS_ACL=$LIB_ACL + fi + + + + ac_fn_c_check_member "$LINENO" "struct stat" "st_blocks" "ac_cv_member_struct_stat_st_blocks" "$ac_includes_default" if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then : @@ -19115,6 +19682,48 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for flexible array member" >&5 +$as_echo_n "checking for flexible array member... " >&6; } +if ${ac_cv_c_flexmember+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include + struct s { int n; double d[]; }; +int +main () +{ +int m = getchar (); + struct s *p = malloc (offsetof (struct s, d) + + m * sizeof (double)); + p->d[0] = 0.0; + return p->d != (double *) NULL; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_flexmember=yes +else + ac_cv_c_flexmember=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_flexmember" >&5 +$as_echo "$ac_cv_c_flexmember" >&6; } + if test $ac_cv_c_flexmember = yes; then + +$as_echo "#define FLEXIBLE_ARRAY_MEMBER /**/" >>confdefs.h + + else + $as_echo "#define FLEXIBLE_ARRAY_MEMBER 1" >>confdefs.h + + fi + + FLOAT_H= @@ -20227,6 +20836,8 @@ main () if (PATH_MAX <= cwd_len && cwd_len < PATH_MAX + DIR_NAME_SIZE) { + struct stat sb; + c = getcwd (buf, PATH_MAX); if (!c && errno == ENOENT) { @@ -20243,6 +20854,16 @@ main () fail = 21; break; } + + /* Our replacement needs to be able to stat() long ../../paths, + so generate a path larger than PATH_MAX to check, + avoiding the replacement if we can't stat(). */ + c = getcwd (buf, cwd_len + 1); + if (c && !AT_FDCWD && stat (c, &sb) != 0 && is_ENAMETOOLONG (errno)) + { + fail = 32; + break; + } } if (dotdot_max <= cwd_len - initial_cwd_len) @@ -20302,6 +20923,7 @@ else case $? in 10|11|12) gl_cv_func_getcwd_path_max='no, but it is partly working';; 31) gl_cv_func_getcwd_path_max='no, it has the AIX bug';; + 32) gl_cv_func_getcwd_path_max='yes, but with shorter paths';; *) gl_cv_func_getcwd_path_max=no;; esac fi @@ -20500,12 +21122,17 @@ $as_echo "#define HAVE_MINIMALLY_WORKING_GETCWD 1" >>confdefs.h $as_echo "#define HAVE_PARTLY_WORKING_GETCWD 1" >>confdefs.h + ;; + "yes, but with shorter paths") + +$as_echo "#define HAVE_GETCWD_SHORTER 1" >>confdefs.h + ;; esac if { case "$gl_cv_func_getcwd_null" in *yes) false;; *) true;; esac; } \ || test $gl_cv_func_getcwd_posix_signature != yes \ - || test "$gl_cv_func_getcwd_path_max" != yes \ + || { case "$gl_cv_func_getcwd_path_max" in *yes*) false;; *) true;; esac; } \ || test $gl_abort_bug = yes; then REPLACE_GETCWD=1 fi @@ -20739,7 +21366,9 @@ $as_echo "#define GNULIB_TEST_GETDELIM 1" >>confdefs.h - if test $ac_cv_func_getdtablesize = yes; then + + if test $ac_cv_func_getdtablesize = yes && + test $ac_cv_have_decl_getdtablesize = yes; then # Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft limit # up to an unchangeable hard limit; all other platforms correctly # require setrlimit before getdtablesize() can report a larger value. @@ -21841,40 +22470,6 @@ $as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; } - case $host_os in - mingw*) REPLACE_ISATTY=1 ;; - esac - - if test $REPLACE_ISATTY = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS isatty.$ac_objext" - - : - fi - - - - - - GNULIB_ISATTY=1 - - - - - -$as_echo "#define GNULIB_TEST_ISATTY 1" >>confdefs.h - - - - - @@ -22494,49 +23089,60 @@ _ACEOF if test $ac_cv_func_linkat = no; then HAVE_LINKAT=0 else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether linkat(,AT_SYMLINK_FOLLOW) works" >&5 -$as_echo_n "checking whether linkat(,AT_SYMLINK_FOLLOW) works... " >&6; } -if ${gl_cv_func_linkat_follow+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether linkat() can link symlinks" >&5 +$as_echo_n "checking whether linkat() can link symlinks... " >&6; } +if ${gl_cv_func_linkat_nofollow+:} false; then : $as_echo_n "(cached) " >&6 else - rm -rf conftest.f1 conftest.f2 - touch conftest.f1 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + rm -rf conftest.l1 conftest.l2 + ln -s target conftest.l1 + if test "$cross_compiling" = yes; then : + case "$host_os" in + darwin*) gl_cv_func_linkat_nofollow="guessing no" ;; + *) gl_cv_func_linkat_nofollow="guessing yes" ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include -#include -#ifdef __linux__ -/* Linux added linkat in 2.6.16, but did not add AT_SYMLINK_FOLLOW - until 2.6.18. Always replace linkat to support older kernels. */ -choke me -#endif + #include int main () { -return linkat (AT_FDCWD, "conftest.f1", AT_FDCWD, "conftest.f2", - AT_SYMLINK_FOLLOW); +return linkat (AT_FDCWD, "conftest.l1", AT_FDCWD, + "conftest.l2", 0); + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_linkat_follow=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_linkat_nofollow=yes else - gl_cv_func_linkat_follow="need runtime check" + gl_cv_func_linkat_nofollow=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - rm -rf conftest.f1 conftest.f2 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + + rm -rf conftest.l1 conftest.l2 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_linkat_follow" >&5 -$as_echo "$gl_cv_func_linkat_follow" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_linkat_nofollow" >&5 +$as_echo "$gl_cv_func_linkat_nofollow" >&6; } + + case $gl_cv_func_linkat_nofollow in + *no) LINKAT_SYMLINK_NOTSUP=1 ;; + *yes) LINKAT_SYMLINK_NOTSUP=0 ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether linkat handles trailing slash correctly" >&5 $as_echo_n "checking whether linkat handles trailing slash correctly... " >&6; } if ${gl_cv_func_linkat_slash+:} false; then : $as_echo_n "(cached) " >&6 else - rm -rf conftest.a conftest.b conftest.c conftest.d + rm -rf conftest.a conftest.b conftest.c conftest.d conftest.e conftest.s if test "$cross_compiling" = yes; then : # Guess yes on glibc systems, no otherwise. case "$host_os" in @@ -22578,6 +23184,16 @@ int result; if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.d/", AT_SYMLINK_FOLLOW) == 0) result |= 8; + + /* On OS X 10.10 a trailing "/" will cause the second path to be + dereferenced, and thus will succeed on a dangling symlink. */ + if (symlink ("conftest.e", "conftest.s") == 0) + { + if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.s/", + AT_SYMLINK_FOLLOW) == 0) + result |= 16; + } + return result; ; @@ -22593,7 +23209,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - rm -rf conftest.a conftest.b conftest.c conftest.d + rm -rf conftest.a conftest.b conftest.c conftest.d conftest.e conftest.s fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_linkat_slash" >&5 $as_echo "$gl_cv_func_linkat_slash" >&6; } @@ -22601,7 +23217,13 @@ $as_echo "$gl_cv_func_linkat_slash" >&6; } *yes) gl_linkat_slash_bug=0 ;; *) gl_linkat_slash_bug=1 ;; esac - if test "$gl_cv_func_linkat_follow" != yes \ + + case "$gl_cv_func_linkat_nofollow" in + *yes) linkat_nofollow=yes ;; + *) linkat_nofollow=no ;; + esac + + if test "$linkat_nofollow" != yes \ || test $gl_linkat_slash_bug = 1; then REPLACE_LINKAT=1 @@ -22609,6 +23231,11 @@ cat >>confdefs.h <<_ACEOF #define LINKAT_TRAILING_SLASH_BUG $gl_linkat_slash_bug _ACEOF + +cat >>confdefs.h <<_ACEOF +#define LINKAT_SYMLINK_NOTSUP $LINKAT_SYMLINK_NOTSUP +_ACEOF + fi fi @@ -22623,8 +23250,6 @@ _ACEOF gl_LIBOBJS="$gl_LIBOBJS linkat.$ac_objext" - fi - if test $HAVE_LINKAT = 0; then @@ -23766,6 +24391,49 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_nul_retval" >&5 $as_echo "$gl_cv_func_mbrtowc_nul_retval" >&6; } + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works on empty input" >&5 +$as_echo_n "checking whether mbrtowc works on empty input... " >&6; } +if ${gl_cv_func_mbrtowc_empty_input+:} false; then : + $as_echo_n "(cached) " >&6 +else + + case "$host_os" in + # Guess no on AIX and glibc systems. + aix* | *-gnu*) + gl_cv_func_mbrtowc_empty_input="guessing no" ;; + *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; + esac + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + static wchar_t wc; + static mbstate_t mbs; + int + main (void) + { + return mbrtowc (&wc, "", 0, &mbs) == (size_t) -2; + } +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mbrtowc_empty_input=no +else + gl_cv_func_mbrtowc_empty_input=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_empty_input" >&5 +$as_echo "$gl_cv_func_mbrtowc_empty_input" >&6; } + case "$gl_cv_func_mbrtowc_null_arg1" in *yes) ;; *) @@ -23795,6 +24463,14 @@ $as_echo "#define MBRTOWC_RETVAL_BUG 1" >>confdefs.h *) $as_echo "#define MBRTOWC_NUL_RETVAL_BUG 1" >>confdefs.h + REPLACE_MBRTOWC=1 + ;; + esac + case "$gl_cv_func_mbrtowc_empty_input" in + *yes) ;; + *) +$as_echo "#define MBRTOWC_EMPTY_INPUT_BUG 1" >>confdefs.h + REPLACE_MBRTOWC=1 ;; esac @@ -25336,6 +26012,35 @@ $as_echo "#define GNULIB_TEST_MKTIME 1" >>confdefs.h + + if test $REPLACE_MKTIME = 0; then + ac_fn_c_check_func "$LINENO" "__mktime_internal" "ac_cv_func___mktime_internal" +if test "x$ac_cv_func___mktime_internal" = xyes; then : + +$as_echo "#define mktime_internal __mktime_internal" >>confdefs.h + + +else + REPLACE_MKTIME=1 + +fi + + fi + + if test $REPLACE_MKTIME = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS mktime.$ac_objext" + + : + fi + : @@ -25486,23 +26191,26 @@ $as_echo "#define GNULIB_TEST_NL_LANGINFO 1" >>confdefs.h -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for obstacks" >&5 -$as_echo_n "checking for obstacks... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for obstacks that work with any size object" >&5 +$as_echo_n "checking for obstacks that work with any size object... " >&6; } if ${ac_cv_func_obstack+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default - #include "obstack.h" +#include "obstack.h" + void *obstack_chunk_alloc (size_t n) { return 0; } + void obstack_chunk_free (void *p) { } + /* Check that an internal function returns size_t, not int. */ + size_t _obstack_memory_used (struct obstack *); + int main () { struct obstack mem; - #define obstack_chunk_alloc malloc - #define obstack_chunk_free free - obstack_init (&mem); - obstack_free (&mem, 0); + obstack_init (&mem); + obstack_free (&mem, 0); + ; return 0; } @@ -25517,11 +26225,11 @@ rm -f core conftest.err conftest.$ac_objext \ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_obstack" >&5 $as_echo "$ac_cv_func_obstack" >&6; } -if test $ac_cv_func_obstack = yes; then + if test "$ac_cv_func_obstack" = yes; then $as_echo "#define HAVE_OBSTACK 1" >>confdefs.h -else + else @@ -25532,7 +26240,7 @@ else gl_LIBOBJS="$gl_LIBOBJS obstack.$ac_objext" -fi + fi @@ -25868,43 +26576,6 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - - - - - if test $ac_cv_func_posix_openpt != yes; then - HAVE_POSIX_OPENPT=0 - fi - - if test $HAVE_POSIX_OPENPT = 0; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS posix_openpt.$ac_objext" - - fi - - - - - - GNULIB_POSIX_OPENPT=1 - - - - - -$as_echo "#define GNULIB_TEST_POSIX_OPENPT 1" >>confdefs.h - - - - for ac_func in getppriv do : ac_fn_c_check_func "$LINENO" "getppriv" "ac_cv_func_getppriv" @@ -25943,677 +26614,6 @@ cat >>confdefs.h <<_ACEOF _ACEOF - - - - - for ac_func in ptsname -do : - ac_fn_c_check_func "$LINENO" "ptsname" "ac_cv_func_ptsname" -if test "x$ac_cv_func_ptsname" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_PTSNAME 1 -_ACEOF - -fi -done - - if test $ac_cv_func_ptsname = no; then - HAVE_PTSNAME=0 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ptsname sets errno on failure" >&5 -$as_echo_n "checking whether ptsname sets errno on failure... " >&6; } -if ${gl_cv_func_ptsname_sets_errno+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_ptsname_sets_errno="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_ptsname_sets_errno="guessing no" ;; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ - - return ptsname (-1) || !errno; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_ptsname_sets_errno=yes -else - gl_cv_func_ptsname_sets_errno=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ptsname_sets_errno" >&5 -$as_echo "$gl_cv_func_ptsname_sets_errno" >&6; } - case $gl_cv_func_ptsname_sets_errno in - *no) REPLACE_PTSNAME=1 ;; - esac - fi - - if test $HAVE_PTSNAME = 0 || test $REPLACE_PTSNAME = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS ptsname.$ac_objext" - - - : - - fi - - - - - - GNULIB_PTSNAME=1 - - - - - -$as_echo "#define GNULIB_TEST_PTSNAME 1" >>confdefs.h - - - - - - - - - - if test $ac_cv_func_ptsname_r = no; then - HAVE_PTSNAME_R=0 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ptsname_r has the same signature as in glibc" >&5 -$as_echo_n "checking whether ptsname_r has the same signature as in glibc... " >&6; } -if ${gl_cv_func_ptsname_r_signature_ok+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - /* Test whether ptsname_r is declared at all. */ - int (*f) (int, char *, size_t) = ptsname_r; - /* Test whether it has the same declaration as in glibc. */ - #undef ptsname_r - extern - #ifdef __cplusplus - "C" - #endif - int ptsname_r (int, char *, size_t); - -int -main () -{ -return f (0, NULL, 0); - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_ptsname_r_signature_ok=yes -else - gl_cv_func_ptsname_r_signature_ok=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ptsname_r_signature_ok" >&5 -$as_echo "$gl_cv_func_ptsname_r_signature_ok" >&6; } - if test $gl_cv_func_ptsname_r_signature_ok = no; then - REPLACE_PTSNAME_R=1 - fi - fi - - if test $HAVE_PTSNAME_R = 0 || test $REPLACE_PTSNAME_R = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS ptsname_r.$ac_objext" - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isatty sets errno when it fails" >&5 -$as_echo_n "checking whether isatty sets errno when it fails... " >&6; } -if ${gl_cv_func_isatty_sets_errno+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - irix* | solaris* | mingw*) - gl_cv_func_isatty_sets_errno="guessing no";; - *) - gl_cv_func_isatty_sets_errno="guessing yes";; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - # include - #else - # include - #endif - -int -main () -{ -errno = 0; - isatty (-1); - return errno == 0; - - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_isatty_sets_errno=yes -else - gl_cv_func_isatty_sets_errno=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isatty_sets_errno" >&5 -$as_echo "$gl_cv_func_isatty_sets_errno" >&6; } - case "$gl_cv_func_isatty_sets_errno" in - *yes) ;; - *) - -$as_echo "#define ISATTY_FAILS_WITHOUT_SETTING_ERRNO 1" >>confdefs.h - - ;; - esac - - fi - - - - - - GNULIB_PTSNAME_R=1 - - - - - -$as_echo "#define GNULIB_TEST_PTSNAME_R 1" >>confdefs.h - - - - - # Check whether --enable-acl was given. -if test "${enable_acl+set}" = set; then : - enableval=$enable_acl; -else - enable_acl=auto -fi - - - - LIB_ACL= - use_acl=0 - if test "x$enable_acl" != "xno"; then - for ac_header in sys/acl.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/acl.h" "ac_cv_header_sys_acl_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_acl_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_ACL_H 1 -_ACEOF - -fi - -done - - if test $ac_cv_header_sys_acl_h = yes; then - ac_save_LIBS=$LIBS - - if test $use_acl = 0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing acl_get_file" >&5 -$as_echo_n "checking for library containing acl_get_file... " >&6; } -if ${ac_cv_search_acl_get_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char acl_get_file (); -int -main () -{ -return acl_get_file (); - ; - return 0; -} -_ACEOF -for ac_lib in '' acl pacl; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_acl_get_file=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_acl_get_file+:} false; then : - break -fi -done -if ${ac_cv_search_acl_get_file+:} false; then : - -else - ac_cv_search_acl_get_file=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_get_file" >&5 -$as_echo "$ac_cv_search_acl_get_file" >&6; } -ac_res=$ac_cv_search_acl_get_file -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "$ac_cv_search_acl_get_file" != "none required"; then - LIB_ACL=$ac_cv_search_acl_get_file - fi - for ac_func in acl_get_file acl_get_fd acl_set_file acl_set_fd \ - acl_free acl_from_mode acl_from_text \ - acl_delete_def_file acl_extended_file \ - acl_delete_fd_np acl_delete_file_np \ - acl_copy_ext_native acl_create_entry_np \ - acl_to_short_text acl_free_text -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - # If the acl_get_file bug is detected, don't enable the ACL support. - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working acl_get_file" >&5 -$as_echo_n "checking for working acl_get_file... " >&6; } -if ${gl_cv_func_working_acl_get_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_cv_func_working_acl_get_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - #include - -int -main () -{ -if (!acl_get_file (".", ACL_TYPE_ACCESS) && errno == ENOENT) - return 1; - return 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if test $cross_compiling = yes; then - gl_cv_func_working_acl_get_file="guessing yes" - elif ./conftest$ac_exeext; then - gl_cv_func_working_acl_get_file=yes - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_acl_get_file" >&5 -$as_echo "$gl_cv_func_working_acl_get_file" >&6; } - if test "$gl_cv_func_working_acl_get_file" != no; then : - use_acl=1 -fi - - if test $use_acl = 1; then - for ac_header in acl/libacl.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "acl/libacl.h" "ac_cv_header_acl_libacl_h" "$ac_includes_default" -if test "x$ac_cv_header_acl_libacl_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ACL_LIBACL_H 1 -_ACEOF - -fi - -done - - - - - - - - - - for ac_func in acl_entries -do : - ac_fn_c_check_func "$LINENO" "acl_entries" "ac_cv_func_acl_entries" -if test "x$ac_cv_func_acl_entries" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ACL_ENTRIES 1 -_ACEOF - -else - - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" - -fi -done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ACL_FIRST_ENTRY" >&5 -$as_echo_n "checking for ACL_FIRST_ENTRY... " >&6; } -if ${gl_cv_acl_ACL_FIRST_ENTRY+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int type = ACL_FIRST_ENTRY; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_acl_ACL_FIRST_ENTRY=yes -else - gl_cv_acl_ACL_FIRST_ENTRY=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_FIRST_ENTRY" >&5 -$as_echo "$gl_cv_acl_ACL_FIRST_ENTRY" >&6; } - if test $gl_cv_acl_ACL_FIRST_ENTRY = yes; then - -$as_echo "#define HAVE_ACL_FIRST_ENTRY 1" >>confdefs.h - - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ACL_TYPE_EXTENDED" >&5 -$as_echo_n "checking for ACL_TYPE_EXTENDED... " >&6; } -if ${gl_cv_acl_ACL_TYPE_EXTENDED+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int type = ACL_TYPE_EXTENDED; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_acl_ACL_TYPE_EXTENDED=yes -else - gl_cv_acl_ACL_TYPE_EXTENDED=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_TYPE_EXTENDED" >&5 -$as_echo "$gl_cv_acl_ACL_TYPE_EXTENDED" >&6; } - if test $gl_cv_acl_ACL_TYPE_EXTENDED = yes; then - -$as_echo "#define HAVE_ACL_TYPE_EXTENDED 1" >>confdefs.h - - fi - else - LIB_ACL= - fi - -fi - - fi - - if test $use_acl = 0; then - for ac_func in facl -do : - ac_fn_c_check_func "$LINENO" "facl" "ac_cv_func_facl" -if test "x$ac_cv_func_facl" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_FACL 1 -_ACEOF - -fi -done - - if test $ac_cv_func_facl = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing acl_trivial" >&5 -$as_echo_n "checking for library containing acl_trivial... " >&6; } -if ${ac_cv_search_acl_trivial+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char acl_trivial (); -int -main () -{ -return acl_trivial (); - ; - return 0; -} -_ACEOF -for ac_lib in '' sec; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_acl_trivial=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_acl_trivial+:} false; then : - break -fi -done -if ${ac_cv_search_acl_trivial+:} false; then : - -else - ac_cv_search_acl_trivial=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_trivial" >&5 -$as_echo "$ac_cv_search_acl_trivial" >&6; } -ac_res=$ac_cv_search_acl_trivial -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "$ac_cv_search_acl_trivial" != "none required"; then - LIB_ACL=$ac_cv_search_acl_trivial - fi - -fi - - for ac_func in acl_trivial -do : - ac_fn_c_check_func "$LINENO" "acl_trivial" "ac_cv_func_acl_trivial" -if test "x$ac_cv_func_acl_trivial" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ACL_TRIVIAL 1 -_ACEOF - -fi -done - - use_acl=1 - fi - fi - - if test $use_acl = 0; then - for ac_func in getacl -do : - ac_fn_c_check_func "$LINENO" "getacl" "ac_cv_func_getacl" -if test "x$ac_cv_func_getacl" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETACL 1 -_ACEOF - -fi -done - - if test $ac_cv_func_getacl = yes; then - use_acl=1 - fi - for ac_header in aclv.h -do : - ac_fn_c_check_header_compile "$LINENO" "aclv.h" "ac_cv_header_aclv_h" "#include -" -if test "x$ac_cv_header_aclv_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ACLV_H 1 -_ACEOF - -fi - -done - - fi - - if test $use_acl = 0; then - for ac_func in aclx_get -do : - ac_fn_c_check_func "$LINENO" "aclx_get" "ac_cv_func_aclx_get" -if test "x$ac_cv_func_aclx_get" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ACLX_GET 1 -_ACEOF - -fi -done - - if test $ac_cv_func_aclx_get = yes; then - use_acl=1 - fi - fi - - if test $use_acl = 0 || test "$ac_cv_func_aclx_get" = yes; then - for ac_func in statacl -do : - ac_fn_c_check_func "$LINENO" "statacl" "ac_cv_func_statacl" -if test "x$ac_cv_func_statacl" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STATACL 1 -_ACEOF - -fi -done - - if test $ac_cv_func_statacl = yes; then - use_acl=1 - fi - fi - - if test $use_acl = 0; then - for ac_func in aclsort -do : - ac_fn_c_check_func "$LINENO" "aclsort" "ac_cv_func_aclsort" -if test "x$ac_cv_func_aclsort" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ACLSORT 1 -_ACEOF - -fi -done - - if test $ac_cv_func_aclsort = yes; then - use_acl=1 - fi - fi - - LIBS=$ac_save_LIBS - fi - if test "x$enable_acl$use_acl" = "xyes0"; then - as_fn_error $? "ACLs enabled but support not detected" "$LINENO" 5 - elif test "x$enable_acl$use_acl" = "xauto0"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libacl development library was not found or not usable." >&5 -$as_echo "$as_me: WARNING: libacl development library was not found or not usable." >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNU tar will be built without ACL support." >&5 -$as_echo "$as_me: WARNING: GNU tar will be built without ACL support." >&2;} - fi - fi - - -cat >>confdefs.h <<_ACEOF -#define USE_ACL $use_acl -_ACEOF - - USE_ACL=$use_acl - - - : @@ -26924,11 +26924,52 @@ $as_echo "#define GNULIB_TEST_READLINK 1" >>confdefs.h + if test $ac_cv_func_readlinkat = no; then HAVE_READLINKAT=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlinkat signature is correct" >&5 +$as_echo_n "checking whether readlinkat signature is correct... " >&6; } +if ${gl_cv_decl_readlinkat_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check whether original declaration has correct type. */ + ssize_t readlinkat (int, char const *, char *, size_t); +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_decl_readlinkat_works=yes +else + gl_cv_decl_readlinkat_works=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_readlinkat_works" >&5 +$as_echo "$gl_cv_decl_readlinkat_works" >&6; } + # Assume readinkat has the same trailing slash bug as readlink, + # as is the case on Mac Os X 10.10 + case "$gl_cv_func_readlink_works" in + *yes) + if test "$gl_cv_decl_readlinkat_works" != yes; then + REPLACE_READLINKAT=1 + fi + ;; + *) + REPLACE_READLINKAT=1 + ;; + esac fi - if test $HAVE_READLINKAT = 0; then + if test $HAVE_READLINKAT = 0 || test $REPLACE_READLINKAT = 1; then @@ -29136,8 +29177,12 @@ else /* Test _Alignas only on platforms where gnulib can help. */ #if \ ((defined __cplusplus && 201103 <= __cplusplus) \ - || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \ - || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) + || (defined __APPLE__ && defined __MACH__ \ + ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ + : __GNUC__) \ + || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \ + || __ICC || 0x5110 <= __SUNPRO_C \ + || 1300 <= _MSC_VER) struct alignas_test { char c; char alignas (8) alignas_8; }; char test_alignas[offsetof (struct alignas_test, alignas_8) == 8 ? 1 : -1]; @@ -29391,6 +29436,15 @@ fi STDDEF_H= + ac_fn_c_check_type "$LINENO" "max_align_t" "ac_cv_type_max_align_t" "#include + +" +if test "x$ac_cv_type_max_align_t" = xyes; then : + +else + HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h +fi + if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 STDDEF_H=stddef.h @@ -29520,6 +29574,8 @@ $as_echo "$gl_cv_next_stddef_h" >&6; } + + if test $gl_cv_have_include_next = yes; then gl_cv_next_stdio_h='<'stdio.h'>' else @@ -29584,6 +29640,48 @@ $as_echo "$gl_cv_next_stdio_h" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which flavor of printf attribute matches inttypes macros" >&5 +$as_echo_n "checking which flavor of printf attribute matches inttypes macros... " >&6; } +if ${gl_cv_func_printf_attribute_flavor+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #define __STDC_FORMAT_MACROS 1 + #include + #include + /* For non-mingw systems, compilation will trivially succeed. + For mingw, compilation will succeed for older mingw (system + printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */ + #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) && \ + (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) + extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1]; + #endif + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_printf_attribute_flavor=system +else + gl_cv_func_printf_attribute_flavor=gnu +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_attribute_flavor" >&5 +$as_echo "$gl_cv_func_printf_attribute_flavor" >&6; } + if test "$gl_cv_func_printf_attribute_flavor" = gnu; then + +$as_echo "#define GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU 1" >>confdefs.h + + fi + GNULIB_FSCANF=1 @@ -30830,9 +30928,64 @@ $as_echo "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h if test $ac_cv_func_symlinkat = no; then HAVE_SYMLINKAT=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlinkat handles trailing slash correctly" >&5 +$as_echo_n "checking whether symlinkat handles trailing slash correctly... " >&6; } +if ${gl_cv_func_symlinkat_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_symlinkat_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_symlinkat_works="guessing no" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +int result = 0; + if (!symlinkat ("a", AT_FDCWD, "conftest.link/")) + result |= 1; + if (symlinkat ("conftest.f", AT_FDCWD, "conftest.lnk2")) + result |= 2; + else if (!symlinkat ("a", AT_FDCWD, "conftest.lnk2/")) + result |= 4; + return result; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_symlinkat_works=yes +else + gl_cv_func_symlinkat_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + rm -f conftest.f conftest.link conftest.lnk2 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlinkat_works" >&5 +$as_echo "$gl_cv_func_symlinkat_works" >&6; } + case "$gl_cv_func_symlinkat_works" in + *yes) ;; + *) + REPLACE_SYMLINKAT=1 + ;; + esac fi - if test $HAVE_SYMLINKAT = 0; then + if test $HAVE_SYMLINKAT = 0 || test $REPLACE_SYMLINKAT = 1; then @@ -31255,172 +31408,103 @@ $as_echo "#define GNULIB_TEST_TIME_R 1" >>confdefs.h - : - if test $ac_cv_have_decl_ttyname_r = no; then - HAVE_DECL_TTYNAME_R=0 - fi + ac_fn_c_check_type "$LINENO" "timezone_t" "ac_cv_type_timezone_t" "#include +" +if test "x$ac_cv_type_timezone_t" = xyes; then : - for ac_func in ttyname_r -do : - ac_fn_c_check_func "$LINENO" "ttyname_r" "ac_cv_func_ttyname_r" -if test "x$ac_cv_func_ttyname_r" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_TTYNAME_R 1 +cat >>confdefs.h <<_ACEOF +#define HAVE_TIMEZONE_T 1 _ACEOF + fi -done - if test $ac_cv_func_ttyname_r = no; then - HAVE_TTYNAME_R=0 - else - HAVE_TTYNAME_R=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ttyname_r is compatible with its POSIX signature" >&5 -$as_echo_n "checking whether ttyname_r is compatible with its POSIX signature... " >&6; } -if ${gl_cv_func_ttyname_r_posix+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include -int -main () -{ -*ttyname_r (0, NULL, 0); - ; - return 0; -} + if test "$ac_cv_type_timezone_t" = yes; then + HAVE_TIMEZONE_T=1 + fi -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_ttyname_r_posix=no -else - gl_cv_func_ttyname_r_posix=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test "$HAVE_TIMEZONE_T" = 0; then -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ttyname_r_posix" >&5 -$as_echo "$gl_cv_func_ttyname_r_posix" >&6; } - if test $gl_cv_func_ttyname_r_posix = no; then - REPLACE_TTYNAME_R=1 - else -$as_echo "#define HAVE_POSIXDECL_TTYNAME_R 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ttyname_r works with small buffers" >&5 -$as_echo_n "checking whether ttyname_r works with small buffers... " >&6; } -if ${gl_cv_func_ttyname_r_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$host_os" in - # Guess no on Solaris. - solaris*) gl_cv_func_ttyname_r_works="guessing no" ;; - # Guess no on OSF/1. - osf*) gl_cv_func_ttyname_r_works="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_ttyname_r_works="guessing yes" ;; - esac - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main (void) -{ - int result = 0; - int fd; - char buf[31]; /* use any size < 128 here */ - fd = open ("/dev/tty", O_RDONLY); - if (fd < 0) - result |= 16; - else if (ttyname_r (fd, buf, sizeof (buf)) != 0) - result |= 17; - else if (ttyname_r (fd, buf, 1) == 0) - result |= 18; - return result; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_ttyname_r_works=yes -else - case $? in - 17 | 18) gl_cv_func_ttyname_r_works=no ;; - esac -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + gl_LIBOBJS="$gl_LIBOBJS time_rz.$ac_objext" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ttyname_r_works" >&5 -$as_echo "$gl_cv_func_ttyname_r_works" >&6; } - case "$gl_cv_func_ttyname_r_works" in - *yes) ;; - *) REPLACE_TTYNAME_R=1 ;; - esac - fi fi - if test $HAVE_TTYNAME_R = 0 || test $REPLACE_TTYNAME_R = 1; then + GNULIB_TIME_RZ=1 - gl_LIBOBJS="$gl_LIBOBJS ttyname_r.$ac_objext" + +$as_echo "#define GNULIB_TEST_TIME_RZ 1" >>confdefs.h + + - for ac_func in ttyname -do : - ac_fn_c_check_func "$LINENO" "ttyname" "ac_cv_func_ttyname" -if test "x$ac_cv_func_ttyname" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_TTYNAME 1 -_ACEOF -fi -done + REPLACE_TIMEGM=0 + if test $ac_cv_func_timegm = yes; then + if test $gl_cv_func_working_mktime = no; then + # Assume that timegm is buggy if mktime is. + REPLACE_TIMEGM=1 + fi + else + HAVE_TIMEGM=0 fi + if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then + + + - GNULIB_TTYNAME_R=1 + gl_LIBOBJS="$gl_LIBOBJS timegm.$ac_objext" + : + + fi + -$as_echo "#define GNULIB_TEST_TTYNAME_R 1" >>confdefs.h + GNULIB_TIMEGM=1 +$as_echo "#define GNULIB_TEST_TIMEGM 1" >>confdefs.h + + + + : + + + + @@ -31576,7 +31660,7 @@ fi || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ - && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4 } } } @@ -31603,7 +31687,7 @@ fi || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ - && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4 } } } @@ -31630,7 +31714,7 @@ fi || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ - && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4 + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6 } } } @@ -31847,6 +31931,7 @@ $as_echo "#define GNULIB_TEST_UNLINK 1" >>confdefs.h ;; *) # GNU/Hurd has unlinkat, but it has the same bug as unlink. + # Darwin has unlinkat, but it has the same UNLINK_PARENT_BUG. if test $REPLACE_UNLINK = 1; then REPLACE_UNLINKAT=1 fi @@ -31926,66 +32011,6 @@ $as_echo "#define USE_UNLOCKED_IO 1" >>confdefs.h - - - - for ac_func in unlockpt -do : - ac_fn_c_check_func "$LINENO" "unlockpt" "ac_cv_func_unlockpt" -if test "x$ac_cv_func_unlockpt" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_UNLOCKPT 1 -_ACEOF - -fi -done - - if test $ac_cv_func_unlockpt = no; then - HAVE_UNLOCKPT=0 - fi - - if test $HAVE_UNLOCKPT = 0; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS unlockpt.$ac_objext" - - - for ac_func in revoke -do : - ac_fn_c_check_func "$LINENO" "revoke" "ac_cv_func_revoke" -if test "x$ac_cv_func_revoke" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_REVOKE 1 -_ACEOF - -fi -done - - - fi - - - - - - GNULIB_UNLOCKPT=1 - - - - - -$as_echo "#define GNULIB_TEST_UNLOCKPT 1" >>confdefs.h - - - - - if test $ac_cv_have_decl_unsetenv = no; then HAVE_DECL_UNSETENV=0 @@ -34342,6 +34367,7 @@ fi nw="$nw -Winline" # It's OK to not inline. nw="$nw -Wstrict-overflow" # It's OK to optimize strictly. nw="$nw -Wsuggest-attribute=pure" # Too many warnings for now. + nw="$nw -Wstack-protector" @@ -34451,6 +34477,14 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; } fi # List all gcc warning categories. + # To compare this list to your installed GCC's, run this Bash command: + # + # comm -3 \ + # <(sed -n 's/^ *\(-[^ ]*\) .*/\1/p' manywarnings.m4 | sort) \ + # <(gcc --help=warnings | sed -n 's/^ \(-[^ ]*\) .*/\1/p' | sort | + # grep -v -x -f <( + # awk '/^[^#]/ {print ws}' ../build-aux/gcc-warning.spec)) + gl_manywarn_set= for gl_manywarn_item in \ -W \ @@ -34458,20 +34492,25 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; } -Waddress \ -Waggressive-loop-optimizations \ -Wall \ - -Warray-bounds \ -Wattributes \ -Wbad-function-cast \ + -Wbool-compare \ -Wbuiltin-macro-redefined \ -Wcast-align \ -Wchar-subscripts \ + -Wchkp \ -Wclobbered \ -Wcomment \ -Wcomments \ -Wcoverage-mismatch \ -Wcpp \ + -Wdate-time \ -Wdeprecated \ -Wdeprecated-declarations \ + -Wdesignated-init \ -Wdisabled-optimization \ + -Wdiscarded-array-qualifiers \ + -Wdiscarded-qualifiers \ -Wdiv-by-zero \ -Wdouble-promotion \ -Wempty-body \ @@ -34482,6 +34521,7 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; } -Wformat-extra-args \ -Wformat-nonliteral \ -Wformat-security \ + -Wformat-signedness \ -Wformat-y2k \ -Wformat-zero-length \ -Wfree-nonheap-object \ @@ -34489,15 +34529,19 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; } -Wimplicit \ -Wimplicit-function-declaration \ -Wimplicit-int \ + -Wincompatible-pointer-types \ -Winit-self \ -Winline \ + -Wint-conversion \ -Wint-to-pointer-cast \ -Winvalid-memory-model \ -Winvalid-pch \ -Wjump-misses-init \ + -Wlogical-not-parentheses \ -Wlogical-op \ -Wmain \ -Wmaybe-uninitialized \ + -Wmemset-transposed-args \ -Wmissing-braces \ -Wmissing-declarations \ -Wmissing-field-initializers \ @@ -34508,9 +34552,10 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; } -Wnarrowing \ -Wnested-externs \ -Wnonnull \ - -Wnormalized=nfc \ + -Wodr \ -Wold-style-declaration \ -Wold-style-definition \ + -Wopenmp-simd \ -Woverflow \ -Woverlength-strings \ -Woverride-init \ @@ -34525,6 +34570,9 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; } -Wreturn-type \ -Wsequence-point \ -Wshadow \ + -Wshift-count-negative \ + -Wshift-count-overflow \ + -Wsizeof-array-argument \ -Wsizeof-pointer-memaccess \ -Wstack-protector \ -Wstrict-aliasing \ @@ -34534,7 +34582,10 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; } -Wsuggest-attribute=format \ -Wsuggest-attribute=noreturn \ -Wsuggest-attribute=pure \ + -Wsuggest-final-methods \ + -Wsuggest-final-types \ -Wswitch \ + -Wswitch-bool \ -Wswitch-default \ -Wsync-nand \ -Wsystem-headers \ @@ -34561,13 +34612,27 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; } -Wvla \ -Wvolatile-register-var \ -Wwrite-strings \ - -fdiagnostics-show-option \ - -funit-at-a-time \ \ ; do gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" done + # gcc --help=warnings outputs an unusual form for these options; list + # them here so that the above 'comm' command doesn't report a false match. + gl_manywarn_set="$gl_manywarn_set -Warray-bounds=2" + gl_manywarn_set="$gl_manywarn_set -Wnormalized=nfc" + + # These are needed for older GCC versions. + if test -n "$GCC"; then + case `($CC --version) 2>/dev/null` in + 'gcc (GCC) '[0-3].* | \ + 'gcc (GCC) '4.[0-7].*) + gl_manywarn_set="$gl_manywarn_set -fdiagnostics-show-option" + gl_manywarn_set="$gl_manywarn_set -funit-at-a-time" + ;; + esac + fi + # Disable specific options as needed. if test "$gl_cv_cc_nomfi_needed" = yes; then gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" @@ -34866,6 +34931,7 @@ fi + $as_echo "#define lint 1" >>confdefs.h @@ -34994,41 +35060,6 @@ else TAR_COND_XATTR_H_FALSE= fi - if false; then - TAR_LIB_ATTR_TRUE= - TAR_LIB_ATTR_FALSE='#' -else - TAR_LIB_ATTR_TRUE='#' - TAR_LIB_ATTR_FALSE= -fi - - if test "$ac_cv_header_sys_xattr_h" = yes; then - for ac_func in getxattr fgetxattr lgetxattr \ - setxattr fsetxattr lsetxattr \ - listxattr flistxattr llistxattr -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - # only when functions are present - -$as_echo "#define HAVE_SYS_XATTR_H 1" >>confdefs.h - - if test "$with_xattrs" != no; then - -$as_echo "#define HAVE_XATTRS /**/" >>confdefs.h - - fi - -fi -done - - fi - - # If is not found, then check for if test "$ac_cv_header_sys_xattr_h" != yes; then for ac_header in attr/xattr.h do : @@ -35050,13 +35081,20 @@ else TAR_COND_XATTR_H_FALSE= fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgetxattr in -lattr" >&5 -$as_echo_n "checking for fgetxattr in -lattr... " >&6; } -if ${ac_cv_lib_attr_fgetxattr+:} false; then : + fi + + if test "$with_xattrs" != no; then + for i in getxattr fgetxattr lgetxattr \ + setxattr fsetxattr lsetxattr \ + listxattr flistxattr llistxattr + do + as_ac_Search=`$as_echo "ac_cv_search_$i" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing $i" >&5 +$as_echo_n "checking for library containing $i... " >&6; } +if eval \${$as_ac_Search+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lattr $LIBS" + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -35066,67 +35104,56 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char fgetxattr (); +char $i (); int main () { -return fgetxattr (); +return $i (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_attr_fgetxattr=yes -else - ac_cv_lib_attr_fgetxattr=no +for ac_lib in '' attr; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + eval "$as_ac_Search=\$ac_res" fi rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_fgetxattr" >&5 -$as_echo "$ac_cv_lib_attr_fgetxattr" >&6; } -if test "x$ac_cv_lib_attr_fgetxattr" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBATTR 1 -_ACEOF - - LIBS="-lattr $LIBS" - + conftest$ac_exeext + if eval \${$as_ac_Search+:} false; then : + break fi +done +if eval \${$as_ac_Search+:} false; then : - if test "$ac_cv_lib_attr_fgetxattr" = yes; then - TAR_LIB_ATTR_TRUE= - TAR_LIB_ATTR_FALSE='#' else - TAR_LIB_ATTR_TRUE='#' - TAR_LIB_ATTR_FALSE= + eval "$as_ac_Search=no" fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +eval ac_res=\$$as_ac_Search + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval ac_res=\$$as_ac_Search +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "$ac_cv_header_attr_xattr_h" = yes; then - for ac_func in getxattr fgetxattr lgetxattr \ - setxattr fsetxattr lsetxattr \ - listxattr flistxattr llistxattr -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - # only when functions are present +fi -$as_echo "#define HAVE_ATTR_XATTR_H 1" >>confdefs.h + eval found=\$ac_cv_search_$i + test "$found" = "no" && break + done - if test "$with_xattrs" != no; then + if test "$found" != no; then $as_echo "#define HAVE_XATTRS /**/" >>confdefs.h - fi - -fi -done - fi fi @@ -35135,16 +35162,6 @@ done - - if test $ac_cv_func_grantpt = yes; then - TAR_COND_GRANTPT_TRUE= - TAR_COND_GRANTPT_FALSE='#' -else - TAR_COND_GRANTPT_TRUE='#' - TAR_COND_GRANTPT_FALSE= -fi - - ac_fn_c_check_decl "$LINENO" "getgrgid" "ac_cv_have_decl_getgrgid" "#include " if test "x$ac_cv_have_decl_getgrgid" = xyes; then : @@ -36258,36 +36275,42 @@ else if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi - if test "$cross_compiling" = yes; then : - - case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac - + am_cv_func_iconv_works=no + for ac_iconv_const in '' 'const'; do + if test "$cross_compiling" = yes; then : + case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -int main () + +#ifndef ICONV_CONST +# define ICONV_CONST $ac_iconv_const +#endif + +int +main () { - int result = 0; +int result = 0; /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { - static const char input[] = "\342\202\254"; /* EURO SIGN */ + static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; - const char *inptr = input; + ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, - (char **) &inptr, &inbytesleft, + &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 1; @@ -36300,14 +36323,14 @@ int main () iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { - static const char input[] = "\263"; + static ICONV_CONST char input[] = "\263"; char buf[10]; - const char *inptr = input; + ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, - (char **) &inptr, &inbytesleft, + &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 2; @@ -36319,14 +36342,14 @@ int main () iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { - static const char input[] = "\304"; + static ICONV_CONST char input[] = "\304"; static char buf[2] = { (char)0xDE, (char)0xAD }; - const char *inptr = input; + ICONV_CONST char *inptr = input; size_t inbytesleft = 1; char *outptr = buf; size_t outbytesleft = 1; size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, + &inptr, &inbytesleft, &outptr, &outbytesleft); if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) result |= 4; @@ -36339,14 +36362,14 @@ int main () iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { - static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; - const char *inptr = input; + ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, + &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) result |= 8; @@ -36366,17 +36389,20 @@ int main () && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) result |= 16; return result; + + ; + return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes -else - am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + test "$am_cv_func_iconv_works" = no || break + done LIBS="$am_save_LIBS" fi @@ -36572,7 +36598,7 @@ $as_echo "$USE_NLS" >&6; } - GETTEXT_MACRO_VERSION=0.18 + GETTEXT_MACRO_VERSION=0.19 @@ -37125,36 +37151,42 @@ else if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi - if test "$cross_compiling" = yes; then : - - case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac - + am_cv_func_iconv_works=no + for ac_iconv_const in '' 'const'; do + if test "$cross_compiling" = yes; then : + case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -int main () + +#ifndef ICONV_CONST +# define ICONV_CONST $ac_iconv_const +#endif + +int +main () { - int result = 0; +int result = 0; /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { - static const char input[] = "\342\202\254"; /* EURO SIGN */ + static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; - const char *inptr = input; + ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, - (char **) &inptr, &inbytesleft, + &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 1; @@ -37167,14 +37199,14 @@ int main () iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { - static const char input[] = "\263"; + static ICONV_CONST char input[] = "\263"; char buf[10]; - const char *inptr = input; + ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, - (char **) &inptr, &inbytesleft, + &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 2; @@ -37186,14 +37218,14 @@ int main () iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { - static const char input[] = "\304"; + static ICONV_CONST char input[] = "\304"; static char buf[2] = { (char)0xDE, (char)0xAD }; - const char *inptr = input; + ICONV_CONST char *inptr = input; size_t inbytesleft = 1; char *outptr = buf; size_t outbytesleft = 1; size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, + &inptr, &inbytesleft, &outptr, &outbytesleft); if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) result |= 4; @@ -37206,14 +37238,14 @@ int main () iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { - static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; - const char *inptr = input; + ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, + &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) result |= 8; @@ -37233,17 +37265,20 @@ int main () && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) result |= 16; return result; + + ; + return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes -else - am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + test "$am_cv_func_iconv_works" = no || break + done LIBS="$am_save_LIBS" fi @@ -38187,22 +38222,10 @@ if test -z "${TAR_COND_XATTR_H_TRUE}" && test -z "${TAR_COND_XATTR_H_FALSE}"; th as_fn_error $? "conditional \"TAR_COND_XATTR_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${TAR_LIB_ATTR_TRUE}" && test -z "${TAR_LIB_ATTR_FALSE}"; then - as_fn_error $? "conditional \"TAR_LIB_ATTR\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${TAR_COND_XATTR_H_TRUE}" && test -z "${TAR_COND_XATTR_H_FALSE}"; then as_fn_error $? "conditional \"TAR_COND_XATTR_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${TAR_LIB_ATTR_TRUE}" && test -z "${TAR_LIB_ATTR_FALSE}"; then - as_fn_error $? "conditional \"TAR_LIB_ATTR\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${TAR_COND_GRANTPT_TRUE}" && test -z "${TAR_COND_GRANTPT_FALSE}"; then - as_fn_error $? "conditional \"TAR_COND_GRANTPT\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 @@ -38600,7 +38623,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GNU tar $as_me 1.28, which was +This file was extended by GNU tar $as_me 1.29, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -38668,7 +38691,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -GNU tar config.status 1.28 +GNU tar config.status 1.29 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index a93c6c07..50fbae51 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ # Configure template for GNU tar. -*- autoconf -*- -# Copyright 1991, 1994-2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 1991, 1994-2010, 2013-2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -AC_INIT([GNU tar], [1.28], [bug-tar@gnu.org]) +AC_INIT([GNU tar], [1.29], [bug-tar@gnu.org]) AC_CONFIG_SRCDIR([src/tar.c]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_HEADERS([config.h]) @@ -150,6 +150,7 @@ if test "$gl_gcc_warnings" = yes; then nw="$nw -Winline" # It's OK to not inline. nw="$nw -Wstrict-overflow" # It's OK to optimize strictly. nw="$nw -Wsuggest-attribute=pure" # Too many warnings for now. + nw="$nw -Wstack-protector" gl_MANYWARN_ALL_GCC([ws]) gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw]) @@ -160,9 +161,10 @@ if test "$gl_gcc_warnings" = yes; then gl_WARN_ADD([-Wno-type-limits]) # It's OK to optimize based on types. gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now gl_WARN_ADD([-Wno-format-nonliteral]) - + gl_WARN_ADD([-fdiagnostics-show-option]) gl_WARN_ADD([-funit-at-a-time]) + AC_SUBST([WARN_CFLAGS]) @@ -204,8 +206,7 @@ fi TAR_HEADERS_ATTR_XATTR_H -AC_CHECK_FUNCS_ONCE([fchmod fchown fsync lstat mkfifo readlink symlink grantpt]) -AM_CONDITIONAL([TAR_COND_GRANTPT], [test $ac_cv_func_grantpt = yes]) +AC_CHECK_FUNCS_ONCE([fchmod fchown fsync lstat mkfifo readlink symlink]) AC_CHECK_DECLS([getgrgid],,, [#include ]) AC_CHECK_DECLS([getpwuid],,, [#include ]) diff --git a/doc/Makefile.am b/doc/Makefile.am index b6549415..a84e0e35 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,6 +1,6 @@ # Makefile for GNU tar documentation. -# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2013-2014 Free +# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2013-2014, 2016 Free # Software Foundation, Inc. # This file is part of GNU tar. diff --git a/doc/Makefile.in b/doc/Makefile.in index ca44f1a2..9afbf828 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -16,7 +16,7 @@ # Makefile for GNU tar documentation. -# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2013-2014 Free +# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2013-2014, 2016 Free # Software Foundation, Inc. # This file is part of GNU tar. @@ -126,10 +126,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ - $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ - $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \ + $(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \ + $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -144,10 +145,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ - $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \ - $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ @@ -169,14 +170,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ - $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ - $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix_openpt.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \ + $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/opendir.m4 \ + $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ + $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/ptsname.m4 \ - $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/raise.m4 \ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/read.m4 \ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \ @@ -212,24 +212,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ + $(top_srcdir)/m4/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ - $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkat.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/unlockpt.m4 \ - $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ - $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ - $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ - $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ - $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ - $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ - $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ - $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \ - $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \ - $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ + $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ + $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ + $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ + $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_h.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \ + $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wcwidth.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/write.m4 \ + $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ + $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -528,6 +528,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_QSORT_R = @GNULIB_QSORT_R@ GNULIB_RAISE = @GNULIB_RAISE@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ @@ -587,6 +588,7 @@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ +GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ @@ -739,6 +741,7 @@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ @@ -825,6 +828,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ @@ -898,6 +902,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_EACCESS = @LIB_EACCESS@ +LIB_HAS_ACL = @LIB_HAS_ACL@ LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ @@ -1063,10 +1068,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ +REPLACE_READLINKAT = @REPLACE_READLINKAT@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ @@ -1099,6 +1106,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ +REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ @@ -1141,6 +1149,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ +UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_ACL = @USE_ACL@ diff --git a/doc/dumpdir.texi b/doc/dumpdir.texi index 76af48e8..9ded73d8 100644 --- a/doc/dumpdir.texi +++ b/doc/dumpdir.texi @@ -1,5 +1,5 @@ @c This is part of the paxutils manual. -@c Copyright (C) 2006-2007, 2014 Free Software Foundation, Inc. +@c Copyright (C) 2006-2007, 2014, 2016 Free Software Foundation, Inc. @c Written by Sergey Poznyakoff @c This file is distributed under GFDL 1.1 or any later version @c published by the Free Software Foundation. diff --git a/doc/fdl.texi b/doc/fdl.texi index fed27fe8..1246eb27 100644 --- a/doc/fdl.texi +++ b/doc/fdl.texi @@ -5,7 +5,7 @@ @c hence no sectioning command or @node. @display -Copyright @copyright{} 2000-2002, 2007-2008, 2014 Free Software +Copyright @copyright{} 2000-2002, 2007-2008, 2014, 2016 Free Software Foundation, Inc. @uref{http://fsf.org/} diff --git a/doc/gendocs_template b/doc/gendocs_template index ef1ff414..d67f898f 100755 --- a/doc/gendocs_template +++ b/doc/gendocs_template @@ -106,7 +106,7 @@ Please send broken links and other corrections (or suggestions) to

-Copyright 2004, 2013-2014 Free Software Foundation, Inc., +Copyright 2004, 2013-2014, 2016 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA
Verbatim copying and distribution of this entire article is diff --git a/doc/genfile.texi b/doc/genfile.texi index e0f4e351..e35f34b2 100644 --- a/doc/genfile.texi +++ b/doc/genfile.texi @@ -124,9 +124,8 @@ the rest of the command line specifies a so-called @dfn{file map}. descriptors}. Each descriptor is composed of two values: a number, specifying fragment offset from the end of the previous fragment or, for the very first fragment, from the beginning of the file, and -@dfn{contents string}, i.e., a string of characters, specifying the -pattern to fill the fragment with. File offset can be suffixed with -the following quantifiers: +@dfn{contents string}, that specifies the pattern to fill the fragment +with. File offset can be suffixed with the following quantifiers: @table @samp @item k @@ -140,17 +139,29 @@ The number is expressed in megabytes. The number is expressed in gigabytes. @end table - For each letter in contents string @command{genfile} will generate -a @dfn{block} of data, filled with this letter and will write it to -the fragment. The size of block is given by @option{--block-size} -option. It defaults to 512. Thus, if the string consists of @var{n} -characters, the resulting file fragment will contain -@code{@var{n}*@var{block-size}} of data. - - Last fragment descriptor can have only file offset part. In this + Contents string can be either a fragment size or a pattern. +Fragment size is a decimal number, prefixed with an equals sign. It +can be suffixed with a quantifier, as discussed above. If fragment +size is given, the fragment of that size will be filled with the +currently selected pattern (@pxref{Generate Mode, --pattern}) and +written to the file. + + A pattern is a string of arbitrary ASCII characters. For each +of them, @command{genfile} will generate a @dfn{block} of data, +filled with that character and will write it to the fragment. The size +of block is given by @option{--block-size} option. It defaults to 512. +Thus, if pattern consists of @var{n} characters, the resulting file +fragment will contain @code{@var{n}*@var{block-size}} bytes of data. + + The last fragment descriptor can have only file offset part. In this case @command{genfile} will create a hole at the end of the file up to the given offset. + A dash appearing as a fragment descriptor instructs +@command{genfile} to read file map from the standard input. Each line +of input should consist of fragment offset and contents string, +separated by any amount of whitespace. + For example, consider the following invocation: @smallexample @@ -170,8 +181,14 @@ letters @samp{A}, @samp{B}, @samp{C} and @samp{D}. @item 1053184 @tab 2048000 @tab Zero bytes @end multitable - The exit code of @command{genfile --status} command is @code{0} -only if created file is actually sparse. +@cindex --quite, option + The exit code of @command{genfile --sparse} command is @code{0} +only if created file is actually sparse. If it is not, the +appropriate error message is displayed and the command exists with +code @code{1}. The @option{--quite} (@option{-q}) option suppresses +this behavior. If @option{--quite} is given, @command{genfile +--sparse} exits with code @code{0} if it was able to create the file, +whether the resulting file is sparse or not. @node Status Mode @appendixsec Status Mode diff --git a/doc/header.texi b/doc/header.texi index 9f8595db..b35b6d49 100644 --- a/doc/header.texi +++ b/doc/header.texi @@ -1,7 +1,7 @@ @comment GNU tar Archive Format description. @comment -@comment Copyright 1988-1989, 1991-1997, 2000-2001, 2003-2007, 2012-2014 Free -@comment Software Foundation, Inc. +@comment Copyright 1988-1989, 1991-1997, 2000-2001, 2003-2007, 2012-2014, 2016 +@comment Free Software Foundation, Inc. @comment @comment This file is part of GNU tar. @comment diff --git a/doc/intern.texi b/doc/intern.texi index f5169738..e5a8bd17 100644 --- a/doc/intern.texi +++ b/doc/intern.texi @@ -1,5 +1,5 @@ @c This is part of the paxutils manual. -@c Copyright (C) 2006, 2014 Free Software Foundation, Inc. +@c Copyright (C) 2006, 2014, 2016 Free Software Foundation, Inc. @c This file is distributed under GFDL 1.1 or any later version @c published by the Free Software Foundation. diff --git a/doc/mastermenu.el b/doc/mastermenu.el index dcc8dd17..6f5ea877 100644 --- a/doc/mastermenu.el +++ b/doc/mastermenu.el @@ -1,6 +1,6 @@ ;;; mastermenu.el --- Redefinition of texinfo-master-menu-list -;; Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +;; Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. ;; Author: Sergey Poznyakoff ;; Maintainer: bug-tar@gnu.org diff --git a/doc/parse-datetime.texi b/doc/parse-datetime.texi index 7fa3c9ec..34e9ede5 100644 --- a/doc/parse-datetime.texi +++ b/doc/parse-datetime.texi @@ -1,11 +1,11 @@ @c GNU date syntax documentation -@c Copyright (C) 1994-2006, 2009-2014 Free Software Foundation, Inc. +@c Copyright (C) 1994-2006, 2009-2015 Free Software Foundation, Inc. @c Permission is granted to copy, distribute and/or modify this document @c under the terms of the GNU Free Documentation License, Version 1.3 or @c any later version published by the Free Software Foundation; with no -@c Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +@c Invariant Sections, no Front-Cover Texts, and no Back-Cover @c Texts. A copy of the license is included in the ``GNU Free @c Documentation License'' file as part of this distribution. diff --git a/doc/rendition.texi b/doc/rendition.texi index f008ffff..453c4e8a 100644 --- a/doc/rendition.texi +++ b/doc/rendition.texi @@ -1,6 +1,6 @@ @c This is part of GNU tar manual. -@c Copyright 1992, 1994-1997, 1999-2004, 2006, 2013-2014 Free Software -@c Foundation, Inc. +@c Copyright 1992, 1994-1997, 1999-2004, 2006, 2013-2014, 2016 Free +@c Software Foundation, Inc. @c See file tar.texi for copying conditions. @c This file contains support for 'renditions' by Fran@,{c}ois Pinard diff --git a/doc/snapshot.texi b/doc/snapshot.texi index f57e55fe..ad3d3983 100644 --- a/doc/snapshot.texi +++ b/doc/snapshot.texi @@ -1,5 +1,5 @@ @c This is part of the paxutils manual. -@c Copyright (C) 2005, 2007, 2014 Free Software Foundation, Inc. +@c Copyright (C) 2005, 2007, 2014, 2016 Free Software Foundation, Inc. @c Written by Sergey Poznyakoff @c This file is distributed under GFDL 1.1 or any later version @c published by the Free Software Foundation. @@ -116,7 +116,7 @@ epoch. These are followed by arbitrary number of directory records. particular directory. Parts of a directory record are delimited with @acronym{ASCII} 0 characters. The following table describes each part. The @dfn{Number} type in this table stands for a decimal integer -in @acronym{ASCII} notation. (Negative values are preceeded with a "-" +in @acronym{ASCII} notation. (Negative values are preceded with a "-" character, while positive values have no leading punctuation.) @multitable @columnfractions 0.25 0.15 0.6 diff --git a/doc/sparse.texi b/doc/sparse.texi index 1bbccfc4..2b070632 100644 --- a/doc/sparse.texi +++ b/doc/sparse.texi @@ -1,5 +1,5 @@ @c This is part of the paxutils manual. -@c Copyright (C) 2006, 2014 Free Software Foundation, Inc. +@c Copyright (C) 2006, 2014, 2016 Free Software Foundation, Inc. @c This file is distributed under GFDL 1.1 or any later version @c published by the Free Software Foundation. diff --git a/doc/stamp-vti b/doc/stamp-vti index 85496ec8..eacd45d3 100644 --- a/doc/stamp-vti +++ b/doc/stamp-vti @@ -1,4 +1,4 @@ -@set UPDATED 22 July 2014 -@set UPDATED-MONTH July 2014 -@set EDITION 1.28 -@set VERSION 1.28 +@set UPDATED 14 April 2016 +@set UPDATED-MONTH April 2016 +@set EDITION 1.29 +@set VERSION 1.29 diff --git a/doc/tar-snapshot-edit.texi b/doc/tar-snapshot-edit.texi index 9dc96f54..b93639f4 100644 --- a/doc/tar-snapshot-edit.texi +++ b/doc/tar-snapshot-edit.texi @@ -1,5 +1,5 @@ @c This is part of the paxutils manual. -@c Copyright (C) 2007, 2014 Free Software Foundation, Inc. +@c Copyright (C) 2007, 2014, 2016 Free Software Foundation, Inc. @c This file is distributed under GFDL 1.1 or any later version @c published by the Free Software Foundation. diff --git a/doc/tar.1 b/doc/tar.1 index d256a0a1..b72f28e5 100644 --- a/doc/tar.1 +++ b/doc/tar.1 @@ -1,5 +1,5 @@ .\" This file is part of GNU tar. -*- nroff -*- -.\" Copyright 2013-2014 Free Software Foundation, Inc. +.\" Copyright 2013-2014, 2016 Free Software Foundation, Inc. .\" .\" GNU tar is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ .\" .\" You should have received a copy of the GNU General Public License .\" along with this program. If not, see . -.TH TAR 1 "February 22, 2014" "TAR" "GNU TAR Manual" +.TH TAR 1 "March 23, 2016" "TAR" "GNU TAR Manual" .SH NAME tar \- an archiving utility .SH SYNOPSIS @@ -37,7 +37,7 @@ tar \- an archiving utility \fBtar\fR \fB\-x\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...] .SS GNU-style usage .sp -\fBtar\fR {\fB\-\-catenate\fR|\fB\-\-concatenate} [\fIOPTIONS\fR] \fIARCHIVE\fR \fIARCHIVE\fR +\fBtar\fR {\fB\-\-catenate\fR|\fB\-\-concatenate\fR} [\fIOPTIONS\fR] \fIARCHIVE\fR \fIARCHIVE\fR .sp \fBtar\fR \fB\-\-create\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...] .sp @@ -175,7 +175,7 @@ resulting archive might be unusable with non-GNU implementations of \fBtar\fR. Notice also that when more than one archive is given, the members from archives other than the first one will be accessible in the resulting archive only if using the \fB\-i\fR -(\fB\-\-ignore\-zeros) option. +(\fB\-\-ignore\-zeros\fR) option. Compressed archives cannot be concatenated. .TP @@ -198,7 +198,7 @@ short option equivalent. .TP \fB\-r\fR, \fB\-\-append\fR Append files to the end of an archive. Arguments have the same -meaning as for \fB\-c\fR (\fB\-\-create). +meaning as for \fB\-c\fR (\fB\-\-create\fR). .TP \fB\-t\fR, \fB\-\-list\fR List the contents of an archive. Arguments are optional. When given, @@ -259,6 +259,12 @@ When listing or extracting, the actual contents of \fIFILE\fR is not inspected, it is needed only due to syntactical requirements. It is therefore common practice to use \fB/dev/null\fR in its place. .TP +\fB\-\-hole\-detection\fR=\fIMETHOD\fR +Use \fIMETHOD\fR to detect holes in sparse files. This option implies +\fB\-\-sparse\fR. Valid values for \fIMETHOD\fR are \fBseek\fR and +\fBraw\fR. Default is \fBseek\fR with fallback to \fBraw\fR when not +applicable. +.TP \fB\-G\fR, \fB\-\-incremental\fR Handle old GNU-format incremental backups. .TP @@ -291,7 +297,7 @@ Process only the \fIN\fRth occurrence of each file in the archive. This option is valid only when used with one of the following subcommands: \fB\-\-delete\fR, \fB\-\-diff\fR, \fB\-\-extract\fR or \fB\-\-list\fR and when a list of files is given -either on the command line or via the \fB\-\fRT option. The default +either on the command line or via the \fB\-T\fR option. The default \fIN\fR is \fB1\fR. .TP \fB\-\-restrict\fR @@ -347,6 +353,9 @@ Recursively remove all files in the directory prior to extracting it. \fB\-\-remove\-files\fR Remove files from disk after adding them to the archive. .TP +\fB\-\-skip\-old\-files +Don't replace existing files when extracting, silently skip over them. +.TP \fB\-U\fR, \fB\-\-unlink\-first\fR Remove each file prior to extracting over it. .TP @@ -464,15 +473,40 @@ Delay setting modification times and permissions of extracted directories until the end of extraction. Use this option when extracting from an archive which has unusual member ordering. .TP -\fB\-\-group\fR=\fINAME\fR -Force \fINAME\fR as group for added files. +\fB\-\-group\fR=\fINAME\fR[:\fIGID\fR] +Force \fINAME\fR as group for added files. If \fIGID\fR is not +supplied, \fINAME\fR can be either a user name or numeric GID. In +this case the missing part (GID or name) will be inferred from the +current host's group database. + +When used with \fB\-\-group\-map\fR=\fIFILE\fR, affects only those +files whose owner group is not listed in \fIFILE\fR. +.TP +\fB\-\-group\-map\fR=\fIFILE\fR +Read group translation map from \fIFILE\fR. Empty lines are ignored. +Comments are introduced with \fB#\fR sign and extend to the end of line. +Each non-empty line in \fIFILE\fR defines translation for a single +group. It must consist of two fields, delimited by any amount of whitespace: + +.EX +\fIOLDGRP\fR \fINEWGRP\fR[\fB:\fINEWGID\fR] +.EE + +\fIOLDGRP\fR is either a valid group name or a GID prefixed with +\fB+\fR. Unless \fINEWGID\fR is supplied, \fINEWGRP\fR must also be +either a valid group name or a \fB+\fIGID\fR. Otherwise, both +\fINEWGRP\fR and \fINEWGID\fR need not be listed in the system group +database. + +As a result, each input file with owner group \fIOLDGRP\fR will be +stored in archive with owner group \fINEWGRP\fR and GID \fINEWGID\fR. .TP \fB\-\-mode\fR=\fICHANGES\fR Force symbolic mode \fICHANGES\fR for added files. .TP \fB\-\-mtime\fR=\fIDATE-OR-FILE\fR Set mtime for added files. \fIDATE-OR-FILE\fR is either a date/time -in almost arbitrary formate, or the name of an existing file. In the +in almost arbitrary format, or the name of an existing file. In the latter case the mtime of that file will be used. .TP \fB\-m\fR, \fB\-\-touch\fR @@ -491,8 +525,33 @@ Apply the user's umask when extracting permissions from the archive \fB\-\-numeric\-owner\fR Always use numbers for user/group names. .TP -\fB\-\-owner\fR=\fINAME\fR -Force \fINAME\fR as owner for added files. +\fB\-\-owner\fR=\fINAME\fR[:\fIUID\fR] +Force \fINAME\fR as owner for added files. If \fIUID\fR is not +supplied, \fINAME\fR can be either a user name or numeric UID. In +this case the missing part (UID or name) will be inferred from the +current host's user database. + +When used with \fB\-\-owner\-map\fR=\fIFILE\fR, affects only those +files whose owner is not listed in \fIFILE\fR. +.TP +\fB\-\-owner\-map\fR=\fIFILE\fR +Read owner translation map from \fIFILE\fR. Empty lines are ignored. +Comments are introduced with \fB#\fR sign and extend to the end of line. +Each non-empty line in \fIFILE\fR defines translation for a single +UID. It must consist of two fields, delimited by any amount of whitespace: + +.EX +\fIOLDUSR\fR \fINEWUSR\fR[\fB:\fINEWUID\fR] +.EE + +\fIOLDUSR\fR is either a valid user name or a UID prefixed with +\fB+\fR. Unless \fINEWUID\fR is supplied, \fINEWUSR\fR must also be +either a valid user name or a \fB+\fIUID\fR. Otherwise, both +\fINEWUSR\fR and \fINEWUID\fR need not be listed in the system user +database. + +As a result, each input file owned by \fIOLDUSR\fR will be +stored in archive with owner name \fINEWUSR\fR and UID \fINEWUID\fR. .TP \fB\-p\fR, \fB\-\-preserve\-permissions\fR, \fB\-\-same\-permissions\fR extract information about file permissions (default for superuser) @@ -524,6 +583,34 @@ Using \fB\-\-sort=inode\fR reduces the number of disk seeks made when creating the archive and thus can considerably speed up archivation. This sorting order is supported only if the underlying system provides the necessary information. +.SS Extended file attributes +.TP +.B \-\-acls +Enable POSIX ACLs support. +.TP +.B \-\-no\-acls +Disable POSIX ACLs support. +.TP +.B \-\-selinux +Enable SELinux context support. +.TP +.B \-\-no-selinux +Disable SELinux context support. +.TP +.B \-\-xattrs +Enable extended attributes support. +.TP +.B \-\-no\-xattrs +Disable extended attributes support. +.TP +.BI \-\-xattrs\-exclude= PATTERN +Specify the exclude pattern for xattr keys. \fIPATTERN\fR is a POSIX +regular expression, e.g. \fB\-\-xattrs\-exclude='^user\.'\fR, to exclude +attributes from the user namespace. +.TP +.BI \-\-xattrs\-include= PATTERN +Specify the include pattern for xattr keys. \fIPATTERN\fR is a POSIX +regular expression. .SS Device selection and switching .TP \fB\-f\fR, \fB\-\-file\fR=\fIARCHIVE\fR @@ -557,7 +644,7 @@ instead. You can do so by giving the following command line option: --rsh-command=/usr/bin/ssh .EE -The remote mashine should have the +The remote machine should have the .BR rmt (8) command installed. If its pathname does not match \fBtar\fR's default, you can inform \fBtar\fR about the correct pathname using the @@ -567,7 +654,7 @@ option. \fB\-\-force\-local\fR Archive file is local even if it has a colon. .TP -\fB\-\fRF, \fB\-\-info\-script\fR=\fICOMMAND\fR, \fB\-\-new\-volume\-script\fR=\fICOMMAND\fR +\fB\-F\fR, \fB\-\-info\-script\fR=\fICOMMAND\fR, \fB\-\-new\-volume\-script\fR=\fICOMMAND\fR Run \fICOMMAND\fR at the end of each tape (implies \fB\-M\fR). The command can include arguments. When started, it will inherit \fBtar\fR's environment plus the following variables: @@ -609,7 +696,7 @@ If the info script fails, \fBtar\fR exits; otherwise, it begins writing the next volume. .RE .TP -\fB\-L\fR, \fB\-\-tape\-length\fR=\fN\fR +\fB\-L\fR, \fB\-\-tape\-length\fR=\fIN\fR Change tape after writing \fIN\fRx1024 bytes. If \fIN\fR is followed by a size suffix (see the subsection .B Size suffixes @@ -703,7 +790,7 @@ use \fITEXT\fR as a globbing pattern for volume name. \fB\-a\fR, \fB\-\-auto\-compress\fR Use archive suffix to determine the compression program. .TP -\fB\-\fRI, \fB\-\-use\-compress\-program\fI=\fICOMMAND\fR +\fB\-I\fR, \fB\-\-use\-compress\-program\fI=\fICOMMAND\fR Filter data through \fICOMMAND\fR. It must accept the \fB\-d\fR option, for decompression. The argument can contain command line options. @@ -735,7 +822,7 @@ Do not use archive suffix to determine the compression program. Filter the archive through .BR gzip (1). .TP -\fB\-\fRZ, \fB\-\-compress\fR, \fB\-\-uncompress\fR +\fB\-Z\fR, \fB\-\-compress\fR, \fB\-\-uncompress\fR Filter the archive through .BR compress (1). .SS Local file selection @@ -768,7 +855,8 @@ environment variable. If it is not set, \fBexisting\fR is assumed. .RE .TP \fB\-C\fR, \fB\-\-directory\fR=\fIDIR\fR -Change to directory DIR. +Change to \fIDIR\fR before performing any operations. This option is +order-sensitive, i.e. it affects all options that follow. .TP \fB\-\-exclude\fR=\fIPATTERN\fR Exclude files matching \fIPATTERN\fR, a @@ -841,9 +929,27 @@ Avoid descending automatically in directories. \fB\-\-no\-unquote\fR Do not unquote input file or member names. .TP +\fB\-\-no\-verbatim\-files\-from\fR +Treat each line read from a file list as if it were supplied in the +command line. I.e., leading and trailing whitespace is removed and, +if the resulting string begins with a dash, it is treated as \fBtar\fR +command line option. + +This is the default behavior. The \fB\-\-no\-verbatim\-files\-from\fR +option is provided as a way to restore it after +\fB\-\-verbatim\-files\-from\fR option. + +This option is positional: it affects all \fB\-\-files\-from\fR +options that occur after it in, until \fB\-\-verbatim\-files\-from\fR +option or end of line, whichever occurs first. + +It is implied by the \fB\-\-no\-null\fR option. +.TP \fB\-\-null\fR -Instruct subsequent \fB\-T\fR options to read null-terminated names, -disable handling of the \fB\-C\fR option read from the file. +Instruct subsequent \fB\-T\fR options to read null-terminated names +verbatim (disables special handling of names that start with a dash). + +See also \fB\-\-verbatim\-files\-from\fR. .TP \fB\-N\fR, \fB\-\-newer\fR=\fIDATE\fR, \fB\-\-after\-date\fR=\fIDATE\fR Only store files newer than DATE. If \fIDATE\fR starts with \fB/\fR @@ -865,10 +971,43 @@ unless overridden by environment variable \fBSIMPLE_BACKUP_SUFFIX\fR. .TP \fB\-T\fR, \fB\-\-files\-from\fR=\fIFILE\fR Get names to extract or create from \fIFILE\fR. + +Unless specified otherwise, the \fIFILE\fR must contain a list of +names separated by ASCII \fBLF\fR (i.e. one name per line). The +names read are handled the same way as command line arguments. They +undergo quote removal and word splitting, and any string that starts +with a \fB\-\fR is handled as \fBtar\fR command line option. + +If this behavior is undesirable, it can be turned off using the +\fB\-\-verbatim\-files\-from\fR option. + +The \fB\-\-null\fR option instructs \fBtar\fR that the names in +\fIFILE\fR are separated by ASCII \fBNUL\fR character, instead of +\fBLF\fR. It is useful if the list is generated by +.BR find (1) +.B \-print0 +predicate. .TP \fB\-\-unquote\fR Unquote file or member names (default). .TP +\fB\-\-verbatim\-files\-from\fR +Treat each line obtained from a file list as a file name, even if it +starts with a dash. File lists are supplied with the +\fB\-\-files\-from\fR (\fB\-T\fR) option. The default behavior is to +handle names supplied in file lists as if they were typed in the +command line, i.e. any names starting with a dash are treated as +\fBtar\fR options. The \fB\-\-verbatim\-files\-from\fR option +disables this behavior. + +This option affects all \fB\-\-files\-from\fR options that occur after +it in the command line. Its effect is reverted by the +\fB\-\-no\-verbatim\-files\-from} option. + +This option is implied by the \fB\-\-null\fR option. + +See also \fB\-\-add\-file\fR. +.TP \fB\-X\fR, \fB\-\-exclude\-from\fR=\fIFILE\fR Exclude files matching patterns listed in FILE. .SS File name transformations @@ -876,7 +1015,7 @@ Exclude files matching patterns listed in FILE. \fB\-\-strip\-components\fR=\fINUMBER\fR Strip \fINUMBER\fR leading components from file names on extraction. .TP -\fB\-\-transform\fR=\fIEXPRESSION\dR, \fB\-\-xform\fR=\fIEXPRESSION\fR +\fB\-\-transform\fR=\fIEXPRESSION\fR, \fB\-\-xform\fR=\fIEXPRESSION\fR Use sed replace \fIEXPRESSION\fR to transform file names. .SS File name matching options These options affect both exclude and include patterns. @@ -912,6 +1051,9 @@ Display progress messages every \fIN\fRth record (default 10). \fB\-\-checkpoint\-action\fR=\fIACTION\fR Run \fIACTION\fR on each checkpoint. .TP +\fB\-\-clamp\-mtime\fR +Only set time when the file is more recent than what was given with \-\-mtime. +.TP \fB\-\-full\-time\fR Print file time to its full resolution. .TP @@ -1021,6 +1163,9 @@ Keywords applicable for \fBtar --create\fR: .HP Keywords applicable for \fBtar --extract\fR: .TP +.B existing\-file +"%s: skipping existing file" +.TP .B timestamp "%s: implausibly old time stamp %s" .br diff --git a/doc/tar.info b/doc/tar.info index 9dfe69d6..9488af35 100644 --- a/doc/tar.info +++ b/doc/tar.info @@ -1,23 +1,21 @@ -This is tar.info, produced by makeinfo version 4.13 from tar.texi. +This is tar.info, produced by makeinfo version 5.9.93 from tar.texi. -This manual is for GNU `tar' (version 1.28, 22 July 2014), which +This manual is for GNU 'tar' (version 1.29, 14 April 2016), which creates and extracts files from archives. - Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2013 Free Software + Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2016 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being "GNU General Public - License", with the Front-Cover Texts being "A GNU Manual", and - with the Back-Cover Texts as in (a) below. A copy of the license - is included in the section entitled "GNU Free Documentation - License". - - (a) The FSF's Back-Cover Text is: "You have the freedom to copy - and modify this GNU manual." + License", with the Front-Cover Texts being "A GNU Manual", and with + the Back-Cover Texts as in (a) below. A copy of the license is + included in the section entitled "GNU Free Documentation License". + (a) The FSF's Back-Cover Text is: "You have the freedom to copy and + modify this GNU manual." INFO-DIR-SECTION Archiving START-INFO-DIR-ENTRY * Tar: (tar). Making tape (or disk) archives. @@ -25,425 +23,444 @@ END-INFO-DIR-ENTRY INFO-DIR-SECTION Individual utilities START-INFO-DIR-ENTRY -* tar: (tar)tar invocation. Invoking GNU `tar'. +* tar: (tar)tar invocation. Invoking GNU 'tar'. END-INFO-DIR-ENTRY  Indirect: -tar.info-1: 1141 -tar.info-2: 299746 -tar.info-3: 569473 +tar.info-1: 1138 +tar.info-2: 302896  Tag Table: (Indirect) -Node: Top1141 -Node: Introduction10443 -Node: Book Contents11230 -Node: Definitions13402 -Node: What tar Does15205 -Node: Naming tar Archives17971 -Node: Authors18691 -Node: Reports20504 -Node: Tutorial20861 -Node: assumptions21674 -Node: stylistic conventions24149 -Node: basic tar options24592 -Node: frequent operations28230 -Node: Two Frequent Options28882 -Node: file tutorial29513 -Node: verbose tutorial30870 -Ref: verbose member listing33084 -Node: help tutorial35844 -Node: create36198 -Node: prepare for examples37699 -Node: Creating the archive39468 -Node: create verbose42300 -Node: short create43120 -Node: create dir45873 -Node: list48581 -Ref: listing member and file names49860 -Node: list dir52174 -Node: extract53186 -Node: extracting archives54300 -Node: extracting files54805 -Ref: extracting files-Footnote-157452 -Node: extract dir57832 -Node: extracting untrusted archives60225 -Node: failing commands61104 -Node: going further62198 -Node: tar invocation62411 -Node: Synopsis64191 -Ref: exit status67512 -Node: using tar options69146 -Ref: TAR_OPTIONS70723 -Node: Styles71740 -Ref: Styles-Footnote-173239 -Node: Long Options73495 -Node: Short Options75667 -Ref: Short Options-Footnote-177475 -Node: Old Options77692 -Node: Mixing80455 -Ref: Mixing-Footnote-182821 -Node: All Options82941 -Node: Operation Summary83546 -Ref: --append83666 -Ref: --catenate83746 -Ref: --compare83817 -Ref: --concatenate84020 -Ref: --create84130 -Ref: --delete84198 -Ref: --diff84312 -Ref: --extract84368 -Ref: --get84470 -Ref: --list84528 -Ref: --update84596 -Node: Option Summary84806 -Ref: --absolute-names84961 -Ref: --after-date85251 -Ref: --anchored85303 -Ref: --atime-preserve85436 -Ref: --auto-compress87956 -Ref: --backup88183 -Ref: --block-number88374 -Ref: --blocking-factor88548 -Ref: --bzip288700 -Ref: --check-device88807 -Ref: --checkpoint89002 -Ref: --checkpoint-action89444 -Ref: --check-links90595 -Ref: --compress90872 -Ref: --uncompress90872 -Ref: --confirmation91076 -Ref: --delay-directory-restore91144 -Ref: --dereference91345 -Ref: --directory91539 -Ref: --exclude91792 -Ref: --exclude-backups91911 -Ref: --exclude-from92001 -Ref: --exclude-caches92147 -Ref: --exclude-caches-under92355 -Ref: --exclude-caches-all92533 -Ref: --exclude-ignore92662 -Ref: --exclude-ignore-recursive92882 -Ref: --exclude-tag93126 -Ref: --exclude-tag-under93297 -Ref: --exclude-tag-all93487 -Ref: --exclude-vcs93616 -Ref: --exclude-vcs-ignores93775 -Ref: --file94167 -Ref: --files-from94367 -Ref: --force-local94570 -Ref: --format94761 -Ref: --full-time95431 -Ref: --group96111 -Ref: --gzip96407 -Ref: --gunzip96407 -Ref: --ungzip96407 -Ref: --hard-dereference96630 -Ref: --help96817 -Ref: --ignore-case96951 -Ref: --ignore-command-error97078 -Ref: --ignore-failed-read97189 -Ref: --ignore-zeros97330 -Ref: --incremental97475 -Ref: --index-file97740 -Ref: --info-script97825 -Ref: --new-volume-script97825 -Ref: --interactive98122 -Ref: ----keep-directory-symlink98334 -Ref: --keep-newer-files98882 -Ref: --keep-old-files99024 -Ref: --label99236 -Ref: --level99524 -Ref: --listed-incremental99965 -Ref: --lzip100329 -Ref: --lzma100429 -Ref: --mode100629 -Ref: --mtime100920 -Ref: --multi-volume101361 -Ref: --newer101565 -Ref: --newer-mtime101843 -Ref: --no-anchored102067 -Ref: --no-auto-compress102204 -Ref: --no-check-device102355 -Ref: --no-delay-directory-restore102538 -Ref: --no-ignore-case102791 -Ref: --no-ignore-command-error102884 -Ref: --no-null103039 -Ref: --no-overwrite-dir103244 -Ref: --no-quote-chars103387 -Ref: --no-recursion103568 -Ref: --no-same-owner103673 -Ref: --no-same-permissions103856 -Ref: --no-seek104058 -Ref: --no-unquote104276 -Ref: --no-wildcards104414 -Ref: --no-wildcards-match-slash104498 -Ref: --null104600 -Ref: --numeric-owner104828 -Ref: --occurrence105479 -Ref: --old-archive106046 -Ref: --one-file-system106095 -Ref: --one-top-level106273 -Ref: --overwrite106909 -Ref: --overwrite-dir107051 -Ref: --owner107196 -Ref: --pax-option107521 -Ref: --portability107828 -Ref: --posix107893 -Ref: --preserve107935 -Ref: --preserve-order108073 -Ref: --preserve-permissions108137 -Ref: --same-permissions108137 -Ref: --quote-chars108551 -Ref: --quoting-style108704 -Ref: --read-full-records109025 -Ref: --record-size109190 -Ref: --recursion109534 -Ref: --recursive-unlink109637 -Ref: --remove-files109804 -Ref: --restrict109950 -Ref: --rmt-command110138 -Ref: --rsh-command110279 -Ref: --same-order110401 -Ref: --same-owner110693 -Ref: --seek111070 -Ref: --show-defaults111439 -Ref: --show-omitted-dirs111947 -Ref: --show-snapshot-field-ranges112101 -Ref: --show-transformed-names112297 -Ref: --show-stored-names112297 -Ref: --skip-old-files112686 -Ref: --sort113136 -Ref: --sparse113780 -Ref: --sparse-version113919 -Ref: --starting-file114143 -Ref: --strip-components114332 -Ref: --suffix114644 -Ref: --tape-length114763 -Ref: --test-label115178 -Ref: --to-command115330 -Ref: --to-stdout115489 -Ref: --totals115642 -Ref: --touch115873 -Ref: --transform116075 -Ref: --xform116075 -Ref: --unlink-first116686 -Ref: --unquote116854 -Ref: --use-compress-program116961 -Ref: --utc117139 -Ref: --verbose117232 -Ref: --verify117484 -Ref: --version117602 -Ref: --volno-file117774 -Ref: --warning117961 -Ref: --wildcards118138 -Ref: --wildcards-match-slash118258 -Ref: --xz118350 -Ref: Option Summary-Footnote-1118481 -Node: Short Option Summary118699 -Node: help120900 -Ref: help-Footnote-1124734 -Node: defaults124945 -Node: verbose125964 -Ref: totals128265 -Ref: Progress information129855 -Ref: show-omitted-dirs130834 -Ref: block-number131253 -Ref: verbose-Footnote-1132280 -Node: checkpoints132387 -Ref: checkpoint exec138449 -Node: warnings140475 -Node: interactive143874 -Node: external145973 -Node: operations147554 -Node: Basic tar147813 -Ref: Basic tar-Footnote-1150920 -Node: Advanced tar151064 -Node: Operations151909 -Node: append153808 -Ref: append-Footnote-1156903 -Node: appending files157090 -Node: multiple158828 -Node: update161550 -Node: how to update162526 -Node: concatenate164310 -Ref: concatenate-Footnote-1167558 -Node: delete167701 -Node: compare169474 -Node: create options170906 -Node: override171364 -Node: Ignore Failed Read175501 -Node: extract options175721 -Node: Reading176554 -Node: read full records178054 -Node: Ignore Zeros178390 -Node: Writing179381 -Node: Dealing with Old Files179938 -Node: Overwrite Old Files182741 -Node: Keep Old Files184198 -Node: Keep Newer Files185005 -Node: Unlink First185295 -Node: Recursive Unlink185699 -Node: Data Modification Times186252 -Node: Setting Access Permissions187062 -Node: Directory Modification Times and Permissions187694 -Node: Writing to Standard Output191306 -Node: Writing to an External Program192841 -Node: remove files196422 -Node: Scarce196615 -Node: Starting File196863 -Node: Same Order197664 -Node: backup198500 -Node: Applications201586 -Node: looking ahead203047 -Node: Backups203873 -Node: Full Dumps205454 -Node: Incremental Dumps207260 -Ref: --level=0210174 -Ref: device numbers210707 -Ref: incremental-op214685 -Ref: Incremental Dumps-Footnote-1215059 -Ref: Incremental Dumps-Footnote-2215209 -Node: Backup Levels215697 -Node: Backup Parameters218084 -Node: General-Purpose Variables219265 -Ref: RSH222426 -Node: Magnetic Tape Control224305 -Node: User Hooks225643 -Node: backup-specs example226972 -Node: Scripted Backups228115 -Ref: Scripted Backups-Footnote-1230978 -Node: Scripted Restoration231362 -Node: Choosing233973 -Node: file235095 -Ref: remote-dev237731 -Ref: local and remote archives238116 -Node: Selecting Archive Members239147 -Ref: input name quoting239828 -Node: files241814 -Ref: files-Footnote-1244310 -Node: nul244468 -Node: exclude246882 -Ref: exclude-vcs-ignores248437 -Ref: exclude-vcs250146 -Ref: exclude-Footnote-1254048 -Ref: exclude-Footnote-2254303 -Node: problems with exclude254374 -Node: wildcards256419 -Node: controlling pattern-matching259003 -Ref: controlling pattern-matching-Footnote-1262993 -Node: quoting styles263209 -Ref: escape sequences263555 -Node: transform269686 -Ref: show-transformed-names271677 -Node: after277868 -Node: recurse281470 -Node: one284194 -Node: directory285627 -Node: absolute288689 -Ref: absolute-Footnote-1292017 -Node: Date input formats292368 -Node: General date syntax294766 -Node: Calendar date items297749 -Node: Time of day items299746 -Node: Time zone items301942 -Node: Combined date and time of day items303194 -Node: Day of week items304046 -Node: Relative items in date strings305055 -Node: Pure numbers in date strings307857 -Node: Seconds since the Epoch308838 -Node: Specifying time zone rules310459 -Node: Authors of parse_datetime312831 -Ref: Authors of get_date313010 -Node: Formats313973 -Node: Compression318661 -Node: gzip318953 -Ref: alternative decompression programs321162 -Ref: auto-compress324932 -Ref: use-compress-program325663 -Ref: gzip-Footnote-1327586 -Ref: gzip-Footnote-2327635 -Node: lbzip2327775 -Node: sparse328872 -Node: Attributes331926 -Node: Portability337747 -Node: Portable Names339233 -Node: dereference339938 -Node: hard links341065 -Ref: hard links-Footnote-1343950 -Node: old344006 -Node: ustar345190 -Node: gnu345793 -Node: posix346670 -Node: PAX keywords347151 -Node: Checksumming352761 -Node: Large or Negative Values354704 -Node: Other Tars356304 -Node: Split Recovery357440 -Node: Sparse Recovery361172 -Ref: extracting sparse v.0.x364805 -Ref: Sparse Recovery-Footnote-1368094 -Ref: Sparse Recovery-Footnote-2368117 -Node: cpio368238 -Node: Media372995 -Node: Device374942 -Ref: size-suffixes379731 -Node: Remote Tape Server380851 -Node: Common Problems and Solutions384513 -Node: Blocking384905 -Ref: Blocking-Footnote-1391388 -Node: Format Variations391492 -Node: Blocking Factor392404 -Node: Many404056 -Node: Tape Positioning407850 -Node: mt409723 -Node: Using Multiple Tapes411278 -Node: Multi-Volume Archives413344 -Ref: tape-length414829 -Ref: change volume prompt415389 -Ref: volno-file416260 -Ref: info-script416812 -Ref: Multi-Volume Archives-Footnote-1422396 -Ref: Multi-Volume Archives-Footnote-2422506 -Node: Tape Files422574 -Node: Tarcat424056 -Node: label425101 -Ref: --test-label option426688 -Ref: label-Footnote-1430138 -Ref: label-Footnote-2430247 -Ref: label-Footnote-3430380 -Node: verify430615 -Node: Write Protection433915 -Node: Reliability and security434745 -Node: Reliability435133 -Node: Permissions problems435911 -Node: Data corruption and repair436350 -Node: Race conditions437276 -Node: Security439016 -Node: Privacy439619 -Node: Integrity440868 -Node: Live untrusted data443079 -Node: Security rules of thumb445419 -Node: Changes446948 -Node: Configuring Help Summary450563 -Node: Fixing Snapshot Files457064 -Node: Tar Internals460433 -Node: Standard460765 -Node: Extensions482966 -Node: Sparse Formats485526 -Node: Old GNU Format486816 -Node: PAX 0489217 -Node: PAX 1492348 -Node: Snapshot Files494086 -Node: Dumpdir499656 -Node: Genfile502902 -Node: Generate Mode503995 -Node: Status Mode508292 -Node: Exec Mode510090 -Node: Free Software Needs Free Documentation512835 -Node: GNU Free Documentation License517817 -Node: Index of Command Line Options543033 -Node: Index569473 +Node: Top1138 +Node: Introduction10495 +Node: Book Contents11282 +Node: Definitions13454 +Node: What tar Does15257 +Node: Naming tar Archives18024 +Node: Authors18745 +Node: Reports20558 +Node: Tutorial20915 +Node: assumptions21728 +Node: stylistic conventions24202 +Node: basic tar options24645 +Node: frequent operations28284 +Node: Two Frequent Options28934 +Node: file tutorial29565 +Node: verbose tutorial30923 +Ref: verbose member listing33137 +Node: help tutorial35905 +Node: create36260 +Node: prepare for examples37698 +Node: Creating the archive39467 +Node: create verbose43054 +Node: short create43874 +Node: create dir46609 +Node: list49317 +Ref: listing member and file names50852 +Node: list dir53471 +Node: extract54483 +Node: extracting archives55597 +Node: extracting files56102 +Ref: extracting files-Footnote-157988 +Node: extract dir58368 +Node: extracting untrusted archives60760 +Node: failing commands61640 +Node: going further63225 +Node: tar invocation63438 +Node: Synopsis65218 +Ref: exit status68540 +Node: using tar options70173 +Ref: TAR_OPTIONS71753 +Node: Styles72772 +Ref: Styles-Footnote-174271 +Node: Long Options74527 +Node: Short Options76699 +Ref: Short Options-Footnote-178507 +Node: Old Options78724 +Node: Mixing81487 +Ref: Mixing-Footnote-183853 +Node: All Options83973 +Node: Operation Summary84609 +Ref: --append84729 +Ref: --catenate84810 +Ref: --compare84882 +Ref: --concatenate85086 +Ref: --create85197 +Ref: --delete85266 +Ref: --diff85381 +Ref: --extract85438 +Ref: --get85541 +Ref: --list85600 +Ref: --update85669 +Node: Option Summary85880 +Ref: --absolute-names86035 +Ref: --acls86327 +Ref: --after-date86408 +Ref: --anchored86461 +Ref: --atime-preserve86594 +Ref: --auto-compress89110 +Ref: --backup89338 +Ref: --block-number89530 +Ref: --blocking-factor89705 +Ref: --bzip289858 +Ref: --check-device89966 +Ref: --checkpoint90161 +Ref: --checkpoint-action90604 +Ref: --check-links91763 +Ref: --compress92040 +Ref: --uncompress92040 +Ref: --clamp-mtime92245 +Ref: --confirmation92285 +Ref: --delay-directory-restore92354 +Ref: --dereference92557 +Ref: --directory92752 +Ref: --exclude93006 +Ref: --exclude-backups93126 +Ref: --exclude-from93216 +Ref: --exclude-caches93363 +Ref: --exclude-caches-under93572 +Ref: --exclude-caches-all93751 +Ref: --exclude-ignore93881 +Ref: --exclude-ignore-recursive94101 +Ref: --exclude-tag94345 +Ref: --exclude-tag-under94517 +Ref: --exclude-tag-all94708 +Ref: --exclude-vcs94838 +Ref: --exclude-vcs-ignores94998 +Ref: --file95391 +Ref: --files-from95592 +Ref: --force-local95796 +Ref: --format95988 +Ref: --full-time96663 +Ref: --group97343 +Ref: --group-map97670 +Ref: --gzip98062 +Ref: --gunzip98062 +Ref: --ungzip98062 +Ref: --hard-dereference98286 +Ref: --help98473 +Ref: --hole-detection98609 +Ref: --ignore-case98845 +Ref: --ignore-command-error98972 +Ref: --ignore-failed-read99084 +Ref: --ignore-zeros99226 +Ref: --incremental99371 +Ref: --index-file99637 +Ref: --info-script99723 +Ref: --new-volume-script99723 +Ref: --interactive100021 +Ref: --keep-directory-symlink100234 +Ref: --keep-newer-files100783 +Ref: --keep-old-files100926 +Ref: --label101139 +Ref: --level101428 +Ref: --listed-incremental101868 +Ref: --lzip102233 +Ref: --lzma102334 +Ref: --mode102536 +Ref: --mtime102829 +Ref: --multi-volume103509 +Ref: --newer103715 +Ref: --newer-mtime103994 +Ref: --no-acls104219 +Ref: --no-anchored104313 +Ref: --no-auto-compress104450 +Ref: --no-check-device104602 +Ref: --no-delay-directory-restore104785 +Ref: --no-ignore-case105034 +Ref: --no-ignore-command-error105127 +Ref: --no-null105283 +Ref: --no-overwrite-dir105489 +Ref: --no-quote-chars105633 +Ref: --no-recursion105814 +Ref: --no-same-owner105920 +Ref: --no-same-permissions106104 +Ref: --no-seek106307 +Ref: --no-selinux106526 +Ref: --no-unquote106627 +Ref: --no-verbatim-files-from106765 +Ref: --no-wildcards107266 +Ref: --no-wildcards-match-slash107350 +Ref: --no-xattrs107452 +Ref: --null107555 +Ref: --numeric-owner107906 +Ref: --occurrence108558 +Ref: --old-archive109126 +Ref: --one-file-system109175 +Ref: --one-top-level109353 +Ref: --overwrite109989 +Ref: --overwrite-dir110132 +Ref: --owner110278 +Ref: --owner-map110641 +Ref: --pax-option111017 +Ref: --portability111324 +Ref: --posix111389 +Ref: --preserve-order111431 +Ref: --preserve-permissions111496 +Ref: --same-permissions111496 +Ref: --quote-chars111911 +Ref: --quoting-style112064 +Ref: --read-full-records112387 +Ref: --record-size112553 +Ref: --recursion112906 +Ref: --recursive-unlink113011 +Ref: --remove-files113174 +Ref: --restrict113321 +Ref: --rmt-command113510 +Ref: --rsh-command113652 +Ref: --same-order113775 +Ref: --same-owner114068 +Ref: --seek114447 +Ref: --selinux114818 +Ref: --show-defaults114919 +Ref: --show-omitted-dirs115429 +Ref: --show-snapshot-field-ranges115584 +Ref: --show-transformed-names115781 +Ref: --show-stored-names115781 +Ref: --skip-old-files116171 +Ref: --sort116622 +Ref: --sparse117261 +Ref: --sparse-version117401 +Ref: --starting-file117627 +Ref: --strip-components117817 +Ref: --suffix118154 +Ref: --tape-length118274 +Ref: --test-label118699 +Ref: --to-command118852 +Ref: --to-stdout119012 +Ref: --totals119166 +Ref: --touch119398 +Ref: --transform119601 +Ref: --xform119601 +Ref: --unlink-first120215 +Ref: --unquote120379 +Ref: --use-compress-program120486 +Ref: --utc120665 +Ref: --verbatim-files-from120759 +Ref: --verbose121603 +Ref: --verify121856 +Ref: --version121975 +Ref: --volno-file122148 +Ref: --warning122336 +Ref: --wildcards122514 +Ref: --wildcards-match-slash122634 +Ref: --xattrs122726 +Ref: --xattrs-exclude122825 +Ref: --xattrs-include122952 +Ref: --xz123217 +Ref: Option Summary-Footnote-1123347 +Node: Short Option Summary123566 +Node: Position-Sensitive Options126469 +Ref: Position-Sensitive Options-Footnote-1129341 +Node: help129503 +Ref: help-Footnote-1133338 +Node: defaults133549 +Node: verbose134568 +Ref: totals136871 +Ref: Progress information138461 +Ref: show-omitted-dirs139440 +Ref: block-number139859 +Ref: verbose-Footnote-1140886 +Node: checkpoints140993 +Ref: checkpoint exec147058 +Node: warnings149087 +Node: interactive152490 +Node: external154589 +Node: operations156177 +Node: Basic tar156436 +Ref: Basic tar-Footnote-1159543 +Node: Advanced tar159687 +Node: Operations160532 +Node: append162427 +Ref: append-Footnote-1165524 +Node: appending files165711 +Node: multiple167448 +Node: update170170 +Node: how to update171147 +Node: concatenate172931 +Ref: concatenate-Footnote-1176179 +Node: delete176322 +Node: compare178096 +Node: create options179530 +Node: override180017 +Node: Extended File Attributes187078 +Node: Ignore Failed Read191713 +Node: extract options191949 +Node: Reading192782 +Node: read full records194282 +Node: Ignore Zeros194617 +Node: Writing195608 +Node: Dealing with Old Files196165 +Node: Overwrite Old Files198967 +Node: Keep Old Files200424 +Node: Keep Newer Files201231 +Node: Unlink First201521 +Node: Recursive Unlink201925 +Node: Data Modification Times202478 +Node: Setting Access Permissions203288 +Node: Directory Modification Times and Permissions203920 +Node: Writing to Standard Output207533 +Node: Writing to an External Program209068 +Node: remove files212658 +Node: Scarce212851 +Node: Starting File213099 +Node: Same Order213900 +Node: backup214736 +Node: Applications217827 +Node: looking ahead219291 +Node: Backups220117 +Node: Full Dumps221698 +Node: Incremental Dumps223507 +Ref: --level=0226421 +Ref: device numbers226954 +Ref: incremental-op230937 +Ref: Incremental Dumps-Footnote-1231311 +Ref: Incremental Dumps-Footnote-2231461 +Node: Backup Levels231949 +Node: Backup Parameters234336 +Node: General-Purpose Variables235517 +Ref: RSH238685 +Node: Magnetic Tape Control240569 +Node: User Hooks241908 +Node: backup-specs example243241 +Node: Scripted Backups244381 +Ref: Scripted Backups-Footnote-1247246 +Node: Scripted Restoration247630 +Node: Choosing250236 +Node: file251358 +Ref: remote-dev253994 +Ref: local and remote archives254379 +Node: Selecting Archive Members255410 +Ref: input name quoting256091 +Node: files258066 +Ref: verbatim-files-from260773 +Ref: no-verbatim-files-from261033 +Ref: files-Footnote-1261775 +Node: nul261933 +Node: exclude264391 +Ref: exclude-vcs-ignores265949 +Ref: exclude-vcs267662 +Ref: exclude-Footnote-1271598 +Ref: exclude-Footnote-2271852 +Node: problems with exclude271923 +Node: wildcards273973 +Node: controlling pattern-matching276556 +Ref: anchored patterns279197 +Ref: case-insensitive matches279467 +Ref: controlling pattern-matching-Footnote-1280544 +Node: quoting styles280761 +Ref: escape sequences281106 +Node: transform287250 +Ref: show-transformed-names289241 +Node: after295433 +Node: recurse299035 +Node: one302896 +Node: directory304329 +Node: absolute307428 +Ref: absolute-Footnote-1310755 +Node: Date input formats311106 +Node: General date syntax313502 +Node: Calendar date items316479 +Node: Time of day items318476 +Node: Time zone items320672 +Node: Combined date and time of day items321923 +Node: Day of week items322776 +Node: Relative items in date strings323784 +Node: Pure numbers in date strings326586 +Node: Seconds since the Epoch327567 +Node: Specifying time zone rules329189 +Node: Authors of parse_datetime331562 +Ref: Authors of get_date331741 +Node: Formats332704 +Node: Compression337379 +Node: gzip337671 +Ref: alternative decompression programs339882 +Ref: auto-compress343431 +Ref: use-compress-program344196 +Ref: gzip-Footnote-1346163 +Ref: gzip-Footnote-2346212 +Node: lbzip2346352 +Node: sparse347449 +Node: Attributes351993 +Node: Portability357655 +Node: Portable Names359141 +Node: dereference359846 +Node: hard links360973 +Ref: hard links-Footnote-1363858 +Node: old363914 +Node: ustar365097 +Node: gnu365700 +Node: posix366577 +Node: PAX keywords367058 +Node: Checksumming373056 +Node: Large or Negative Values375000 +Node: Other Tars376601 +Node: Split Recovery377737 +Node: Sparse Recovery381486 +Ref: extracting sparse v.0.x385115 +Ref: Sparse Recovery-Footnote-1388404 +Ref: Sparse Recovery-Footnote-2388427 +Node: cpio388548 +Node: Media393309 +Node: Device395260 +Ref: size-suffixes400051 +Node: Remote Tape Server401191 +Node: Common Problems and Solutions404855 +Node: Blocking405247 +Ref: Blocking-Footnote-1411731 +Node: Format Variations411835 +Node: Blocking Factor412750 +Node: Many424401 +Node: Tape Positioning428195 +Node: mt430071 +Node: Using Multiple Tapes431628 +Node: Multi-Volume Archives433694 +Ref: tape-length435179 +Ref: change volume prompt435734 +Ref: volno-file436601 +Ref: info-script437154 +Ref: Multi-Volume Archives-Footnote-1442739 +Ref: Multi-Volume Archives-Footnote-2442849 +Node: Tape Files442917 +Node: Tarcat444402 +Node: label445447 +Ref: --test-label option447035 +Ref: label-Footnote-1450486 +Ref: label-Footnote-2450595 +Ref: label-Footnote-3450728 +Node: verify450963 +Node: Write Protection454263 +Node: Reliability and security455093 +Node: Reliability455481 +Node: Permissions problems456259 +Node: Data corruption and repair456698 +Node: Race conditions457625 +Node: Security459364 +Node: Privacy459967 +Node: Integrity461216 +Node: Live untrusted data463427 +Node: Security rules of thumb465766 +Node: Changes467294 +Node: Configuring Help Summary470915 +Node: Fixing Snapshot Files477431 +Node: Tar Internals480800 +Node: Standard481132 +Node: Extensions503335 +Node: Sparse Formats505897 +Node: Old GNU Format507186 +Node: PAX 0509573 +Node: PAX 1512691 +Node: Snapshot Files514419 +Node: Dumpdir520017 +Node: Genfile523247 +Node: Generate Mode524343 +Node: Status Mode529583 +Node: Exec Mode531385 +Node: Free Software Needs Free Documentation534145 +Node: GNU Free Documentation License539126 +Node: Index of Command Line Options564329 +Node: Index592555  End Tag Table diff --git a/doc/tar.info-1 b/doc/tar.info-1 index 6fe9be8c..ac57a2fd 100644 --- a/doc/tar.info-1 +++ b/doc/tar.info-1 @@ -1,23 +1,21 @@ -This is tar.info, produced by makeinfo version 4.13 from tar.texi. +This is tar.info, produced by makeinfo version 5.9.93 from tar.texi. -This manual is for GNU `tar' (version 1.28, 22 July 2014), which +This manual is for GNU 'tar' (version 1.29, 14 April 2016), which creates and extracts files from archives. - Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2013 Free Software + Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2016 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being "GNU General Public - License", with the Front-Cover Texts being "A GNU Manual", and - with the Back-Cover Texts as in (a) below. A copy of the license - is included in the section entitled "GNU Free Documentation - License". - - (a) The FSF's Back-Cover Text is: "You have the freedom to copy - and modify this GNU manual." + License", with the Front-Cover Texts being "A GNU Manual", and with + the Back-Cover Texts as in (a) below. A copy of the license is + included in the section entitled "GNU Free Documentation License". + (a) The FSF's Back-Cover Text is: "You have the freedom to copy and + modify this GNU manual." INFO-DIR-SECTION Archiving START-INFO-DIR-ENTRY * Tar: (tar). Making tape (or disk) archives. @@ -25,7 +23,7 @@ END-INFO-DIR-ENTRY INFO-DIR-SECTION Individual utilities START-INFO-DIR-ENTRY -* tar: (tar)tar invocation. Invoking GNU `tar'. +* tar: (tar)tar invocation. Invoking GNU 'tar'. END-INFO-DIR-ENTRY  @@ -34,23 +32,22 @@ File: tar.info, Node: Top, Next: Introduction, Up: (dir) GNU tar: an archiver tool ************************* -This manual is for GNU `tar' (version 1.28, 22 July 2014), which +This manual is for GNU 'tar' (version 1.29, 14 April 2016), which creates and extracts files from archives. - Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2013 Free Software + Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2016 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being "GNU General Public - License", with the Front-Cover Texts being "A GNU Manual", and - with the Back-Cover Texts as in (a) below. A copy of the license - is included in the section entitled "GNU Free Documentation - License". + License", with the Front-Cover Texts being "A GNU Manual", and with + the Back-Cover Texts as in (a) below. A copy of the license is + included in the section entitled "GNU Free Documentation License". - (a) The FSF's Back-Cover Text is: "You have the freedom to copy - and modify this GNU manual." + (a) The FSF's Back-Cover Text is: "You have the freedom to copy and + modify this GNU manual." The first part of this master menu lists the major nodes in this Info document. The rest of the menu lists all the lower level nodes. @@ -80,22 +77,22 @@ Appendices * Index of Command Line Options:: * Index:: - --- The Detailed Node Listing --- + -- The Detailed Node Listing -- Introduction * Book Contents:: What this Book Contains * Definitions:: Some Definitions -* What tar Does:: What `tar' Does -* Naming tar Archives:: How `tar' Archives are Named -* Authors:: GNU `tar' Authors +* What tar Does:: What 'tar' Does +* Naming tar Archives:: How 'tar' Archives are Named +* Authors:: GNU 'tar' Authors * Reports:: Reporting bugs or suggestions -Tutorial Introduction to `tar' +Tutorial Introduction to 'tar' * assumptions:: * stylistic conventions:: -* basic tar options:: Basic `tar' Operations and Options +* basic tar options:: Basic 'tar' Operations and Options * frequent operations:: * Two Frequent Options:: * create:: How to Create Archives @@ -129,7 +126,7 @@ How to Extract Members from an Archive * extracting untrusted archives:: * failing commands:: -Invoking GNU `tar' +Invoking GNU 'tar' * Synopsis:: * using tar options:: @@ -149,13 +146,14 @@ The Three Option Styles * Old Options:: Old Option Style * Mixing:: Mixing Option Styles -All `tar' Options +All 'tar' Options * Operation Summary:: * Option Summary:: * Short Option Summary:: +* Position-Sensitive Options:: -GNU `tar' Operations +GNU 'tar' Operations * Basic tar:: * Advanced tar:: @@ -165,7 +163,7 @@ GNU `tar' Operations * Applications:: * looking ahead:: -Advanced GNU `tar' Operations +Advanced GNU 'tar' Operations * Operations:: * append:: @@ -174,7 +172,7 @@ Advanced GNU `tar' Operations * delete:: * compare:: -How to Add Files to Existing Archives: `--append' +How to Add Files to Existing Archives: '--append' * appending files:: Appending Files to an Archive * multiple:: @@ -183,15 +181,16 @@ Updating an Archive * how to update:: -Options Used by `--create' +Options Used by '--create' * override:: Overriding File Metadata. +* Extended File Attributes:: * Ignore Failed Read:: -Options Used by `--extract' +Options Used by '--extract' * Reading:: Options to Help Read Archives -* Writing:: Changing How `tar' Writes Files +* Writing:: Changing How 'tar' Writes Files * Scarce:: Coping with Scarce Resources Options to Help Read Archives @@ -199,7 +198,7 @@ Options to Help Read Archives * read full records:: * Ignore Zeros:: -Changing How `tar' Writes Files +Changing How 'tar' Writes Files * Dealing with Old Files:: * Overwrite Old Files:: @@ -221,8 +220,8 @@ Coping with Scarce Resources Performing Backups and Restoring Files -* Full Dumps:: Using `tar' to Perform Full Dumps -* Incremental Dumps:: Using `tar' to Perform Incremental Dumps +* Full Dumps:: Using 'tar' to Perform Full Dumps +* Incremental Dumps:: Using 'tar' to Perform Incremental Dumps * Backup Levels:: Levels of Backups * Backup Parameters:: Setting Parameters for Backups and Restoration * Scripted Backups:: Using the Backup Scripts @@ -233,9 +232,9 @@ Setting Parameters for Backups and Restoration * General-Purpose Variables:: * Magnetic Tape Control:: * User Hooks:: -* backup-specs example:: An Example Text of `Backup-specs' +* backup-specs example:: An Example Text of 'Backup-specs' -Choosing Files and Names for `tar' +Choosing Files and Names for 'tar' * file:: Choosing the Archive's Name * Selecting Archive Members:: @@ -282,8 +281,8 @@ Controlling the Archive Format * Compression:: Using Less Space through Compression * Attributes:: Handling File Attributes -* Portability:: Making `tar' Archives More Portable -* cpio:: Comparison of `tar' and `cpio' +* Portability:: Making 'tar' Archives More Portable +* cpio:: Comparison of 'tar' and 'cpio' Using Less Space through Compression @@ -292,9 +291,9 @@ Using Less Space through Compression Creating and Reading Compressed Archives -* lbzip2:: Using lbzip2 with GNU `tar'. +* lbzip2:: Using lbzip2 with GNU 'tar'. -Making `tar' Archives More Portable +Making 'tar' Archives More Portable * Portable Names:: Portable Names * dereference:: Symbolic Links @@ -306,13 +305,13 @@ Making `tar' Archives More Portable * Checksumming:: Checksumming Problems * Large or Negative Values:: Large files, negative time stamps, etc. * Other Tars:: How to Extract GNU-Specific Data Using - Other `tar' Implementations + Other 'tar' Implementations -GNU `tar' and POSIX `tar' +GNU 'tar' and POSIX 'tar' * PAX keywords:: Controlling Extended Header Keywords. -How to Extract GNU-Specific Data Using Other `tar' Implementations +How to Extract GNU-Specific Data Using Other 'tar' Implementations * Split Recovery:: Members Split Between Volumes * Sparse Recovery:: Sparse Members @@ -337,7 +336,7 @@ Blocking Many Archives on One Tape * Tape Positioning:: Tape Positions and Tape Marks -* mt:: The `mt' Utility +* mt:: The 'mt' Utility Using Multiple Tapes @@ -370,13 +369,14 @@ Copying This Manual * GNU Free Documentation License:: License for copying this manual +  File: tar.info, Node: Introduction, Next: Tutorial, Prev: Top, Up: Top 1 Introduction ************** -GNU `tar' creates and manipulates "archives" which are actually +GNU 'tar' creates and manipulates "archives" which are actually collections of many other files; the program provides users with an organized and systematic method for controlling a large amount of data. The name "tar" originally came from the phrase "Tape ARchive", but @@ -386,9 +386,9 @@ archives need not (and these days, typically do not) reside on tapes. * Book Contents:: What this Book Contains * Definitions:: Some Definitions -* What tar Does:: What `tar' Does -* Naming tar Archives:: How `tar' Archives are Named -* Authors:: GNU `tar' Authors +* What tar Does:: What 'tar' Does +* Naming tar Archives:: How 'tar' Archives are Named +* Authors:: GNU 'tar' Authors * Reports:: Reporting bugs or suggestions  @@ -399,28 +399,28 @@ File: tar.info, Node: Book Contents, Next: Definitions, Up: Introduction The first part of this chapter introduces you to various terms that will recur throughout the book. It also tells you who has worked on GNU -`tar' and its documentation, and where you should send bug reports or +'tar' and its documentation, and where you should send bug reports or comments. The second chapter is a tutorial (*note Tutorial::) which provides a -gentle introduction for people who are new to using `tar'. It is meant -to be self-contained, not requiring any reading from subsequent -chapters to make sense. It moves from topic to topic in a logical, -progressive order, building on information already explained. +gentle introduction for people who are new to using 'tar'. It is meant +to be self-contained, not requiring any reading from subsequent chapters +to make sense. It moves from topic to topic in a logical, progressive +order, building on information already explained. Although the tutorial is paced and structured to allow beginners to -learn how to use `tar', it is not intended solely for beginners. The +learn how to use 'tar', it is not intended solely for beginners. The tutorial explains how to use the three most frequently used operations -(`create', `list', and `extract') as well as two frequently used -options (`file' and `verbose'). The other chapters do not refer to the -tutorial frequently; however, if a section discusses something which is -a complex variant of a basic concept, there may be a cross-reference to -that basic concept. (The entire book, including the tutorial, assumes -that the reader understands some basic concepts of using a Unix-type -operating system; *note Tutorial::.) +('create', 'list', and 'extract') as well as two frequently used options +('file' and 'verbose'). The other chapters do not refer to the tutorial +frequently; however, if a section discusses something which is a complex +variant of a basic concept, there may be a cross-reference to that basic +concept. (The entire book, including the tutorial, assumes that the +reader understands some basic concepts of using a Unix-type operating +system; *note Tutorial::.) The third chapter presents the remaining five operations, and -information about using `tar' options and option syntax. +information about using 'tar' options and option syntax. The other chapters are meant to be used as a reference. Each chapter presents everything that needs to be said about a specific topic. @@ -428,13 +428,12 @@ presents everything that needs to be said about a specific topic. One of the chapters (*note Date input formats::) exists in its entirety in other GNU manuals, and is mostly self-contained. In addition, one section of this manual (*note Standard::) contains a big -quote which is taken directly from `tar' sources. +quote which is taken directly from 'tar' sources. - In general, we give both long and short (abbreviated) option names -at least once in each section where the relevant option is covered, so -that novice readers will become familiar with both styles. (A few -options have no short versions, and the relevant sections will indicate -this.) + In general, we give both long and short (abbreviated) option names at +least once in each section where the relevant option is covered, so that +novice readers will become familiar with both styles. (A few options +have no short versions, and the relevant sections will indicate this.)  File: tar.info, Node: Definitions, Next: What tar Does, Prev: Book Contents, Up: Introduction @@ -442,18 +441,18 @@ File: tar.info, Node: Definitions, Next: What tar Does, Prev: Book Contents, 1.2 Some Definitions ==================== -The `tar' program is used to create and manipulate `tar' archives. An +The 'tar' program is used to create and manipulate 'tar' archives. An "archive" is a single file which contains the contents of many files, while still identifying the names of the files, their owner(s), and so forth. (In addition, archives record access permissions, user and group, size in bytes, and data modification time. Some archives also record the file names in each archived directory, as well as other file -and directory information.) You can use `tar' to "create" a new -archive in a specified directory. +and directory information.) You can use 'tar' to "create" a new archive +in a specified directory. The files inside an archive are called "members". Within this manual, we use the term "file" to refer only to files accessible in the -normal ways (by `ls', `cat', and so forth), and the term "member" to +normal ways (by 'ls', 'cat', and so forth), and the term "member" to refer only to the members of an archive. Similarly, a "file name" is the name of a file, as it resides in the file system, and a "member name" is the name of an archive member within the archive. @@ -461,64 +460,64 @@ name" is the name of an archive member within the archive. The term "extraction" refers to the process of copying an archive member (or multiple members) into a file in the file system. Extracting all the members of an archive is often called "extracting the archive". -The term "unpack" can also be used to refer to the extraction of many -or all the members of an archive. Extracting an archive does not -destroy the archive's structure, just as creating an archive does not -destroy the copies of the files that exist outside of the archive. You -may also "list" the members in a given archive (this is often thought -of as "printing" them to the standard output, or the command line), or -"append" members to a pre-existing archive. All of these operations -can be performed using `tar'. +The term "unpack" can also be used to refer to the extraction of many or +all the members of an archive. Extracting an archive does not destroy +the archive's structure, just as creating an archive does not destroy +the copies of the files that exist outside of the archive. You may also +"list" the members in a given archive (this is often thought of as +"printing" them to the standard output, or the command line), or +"append" members to a pre-existing archive. All of these operations can +be performed using 'tar'.  File: tar.info, Node: What tar Does, Next: Naming tar Archives, Prev: Definitions, Up: Introduction -1.3 What `tar' Does +1.3 What 'tar' Does =================== -The `tar' program provides the ability to create `tar' archives, as -well as various other kinds of manipulation. For example, you can use -`tar' on previously created archives to extract files, to store -additional files, or to update or list files which were already stored. +The 'tar' program provides the ability to create 'tar' archives, as well +as various other kinds of manipulation. For example, you can use 'tar' +on previously created archives to extract files, to store additional +files, or to update or list files which were already stored. - Initially, `tar' archives were used to store files conveniently on -magnetic tape. The name `tar' comes from this use; it stands for -`t'ape `ar'chiver. Despite the utility's name, `tar' can direct its -output to available devices, files, or other programs (using pipes). -`tar' may even access remote devices or files (as archives). + Initially, 'tar' archives were used to store files conveniently on +magnetic tape. The name 'tar' comes from this use; it stands for 't'ape +'ar'chiver. Despite the utility's name, 'tar' can direct its output to +available devices, files, or other programs (using pipes). 'tar' may +even access remote devices or files (as archives). - You can use `tar' archives in many ways. We want to stress a few of + You can use 'tar' archives in many ways. We want to stress a few of them: storage, backup, and transportation. Storage - Often, `tar' archives are used to store related files for + Often, 'tar' archives are used to store related files for convenient file transfer over a network. For example, the GNU - Project distributes its software bundled into `tar' archives, so + Project distributes its software bundled into 'tar' archives, so that all the files relating to a particular program (or set of related programs) can be transferred as a single unit. A magnetic tape can store several files in sequence. However, the tape has no names for these files; it only knows their relative position on the tape. One way to store several files on one tape - and retain their names is by creating a `tar' archive. Even when + and retain their names is by creating a 'tar' archive. Even when the basic transfer mechanism can keep track of names, as FTP can, the nuisance of handling multiple files, directories, and multiple - links makes `tar' archives useful. + links makes 'tar' archives useful. Archive files are also used for long-term storage. You can think - of this as transportation from the present into the future. (It - is a science-fiction idiom that you can move through time as well - as in space; the idea here is that `tar' can be used to move - archives in all dimensions, even time!) + of this as transportation from the present into the future. (It is + a science-fiction idiom that you can move through time as well as + in space; the idea here is that 'tar' can be used to move archives + in all dimensions, even time!) Backup - Because the archive created by `tar' is capable of preserving file - information and directory structure, `tar' is commonly used for + Because the archive created by 'tar' is capable of preserving file + information and directory structure, 'tar' is commonly used for performing full and incremental backups of disks. A backup puts a collection of files (possibly pertaining to many users and projects) together on a disk or a tape. This guards against accidental destruction of the information in those files. GNU - `tar' has special features that allow it to be used to make + 'tar' has special features that allow it to be used to make incremental and full dumps of all the files in a file system. Transportation @@ -529,54 +528,54 @@ Transportation  File: tar.info, Node: Naming tar Archives, Next: Authors, Prev: What tar Does, Up: Introduction -1.4 How `tar' Archives are Named +1.4 How 'tar' Archives are Named ================================ -Conventionally, `tar' archives are given names ending with `.tar'. -This is not necessary for `tar' to operate properly, but this manual -follows that convention in order to accustom readers to it and to make -examples more clear. +Conventionally, 'tar' archives are given names ending with '.tar'. This +is not necessary for 'tar' to operate properly, but this manual follows +that convention in order to accustom readers to it and to make examples +more clear. - Often, people refer to `tar' archives as "`tar' files," and archive -members as "files" or "entries". For people familiar with the -operation of `tar', this causes no difficulty. However, in this -manual, we consistently refer to "archives" and "archive members" to -make learning to use `tar' easier for novice users. + Often, people refer to 'tar' archives as "'tar' files," and archive +members as "files" or "entries". For people familiar with the operation +of 'tar', this causes no difficulty. However, in this manual, we +consistently refer to "archives" and "archive members" to make learning +to use 'tar' easier for novice users.  File: tar.info, Node: Authors, Next: Reports, Prev: Naming tar Archives, Up: Introduction -1.5 GNU `tar' Authors +1.5 GNU 'tar' Authors ===================== -GNU `tar' was originally written by John Gilmore, and modified by many +GNU 'tar' was originally written by John Gilmore, and modified by many people. The GNU enhancements were written by Jay Fenlason, then Joy Kendall, and the whole package has been further maintained by Thomas Bushnell, n/BSG, Franc,ois Pinard, Paul Eggert, and finally Sergey Poznyakoff with the help of numerous and kind users. - We wish to stress that `tar' is a collective work, and owes much to + We wish to stress that 'tar' is a collective work, and owes much to all those people who reported problems, offered solutions and other insights, or shared their thoughts and suggestions. An impressive, yet -partial list of those contributors can be found in the `THANKS' file -from the GNU `tar' distribution. +partial list of those contributors can be found in the 'THANKS' file +from the GNU 'tar' distribution. - Jay Fenlason put together a draft of a GNU `tar' manual, borrowing + Jay Fenlason put together a draft of a GNU 'tar' manual, borrowing notes from the original man page from John Gilmore. This was withdrawn in version 1.11. Thomas Bushnell, n/BSG and Amy Gorin worked on a -tutorial and manual for GNU `tar'. Franc,ois Pinard put version 1.11.8 +tutorial and manual for GNU 'tar'. Franc,ois Pinard put version 1.11.8 of the manual together by taking information from all these sources and merging them. Melissa Weisshaus finally edited and redesigned the book -to create version 1.12. The book for versions from 1.14 up to 1.28 -were edited by the current maintainer, Sergey Poznyakoff. +to create version 1.12. The book for versions from 1.14 up to 1.29 were +edited by the current maintainer, Sergey Poznyakoff. For version 1.12, Daniel Hagerty contributed a great deal of technical consulting. In particular, he is the primary author of *note Backups::. - In July, 2003 GNU `tar' was put on CVS at savannah.gnu.org (see -`http://savannah.gnu.org/projects/tar'), and active development and -maintenance work has started again. Currently GNU `tar' is being + In July, 2003 GNU 'tar' was put on CVS at savannah.gnu.org (see +), and active development and +maintenance work has started again. Currently GNU 'tar' is being maintained by Paul Eggert, Sergey Poznyakoff and Jeff Bailey. Support for POSIX archives was added by Sergey Poznyakoff. @@ -588,7 +587,7 @@ File: tar.info, Node: Reports, Prev: Authors, Up: Introduction ================================= If you find problems or have suggestions about this program or manual, -please report them to `bug-tar@gnu.org'. +please report them to 'bug-tar@gnu.org'. When reporting a bug, please be sure to include as much detail as possible, in order to reproduce it. @@ -596,20 +595,20 @@ possible, in order to reproduce it.  File: tar.info, Node: Tutorial, Next: tar invocation, Prev: Introduction, Up: Top -2 Tutorial Introduction to `tar' +2 Tutorial Introduction to 'tar' ******************************** -This chapter guides you through some basic examples of three `tar' -operations: `--create', `--list', and `--extract'. If you already know -how to use some other version of `tar', then you may not need to read +This chapter guides you through some basic examples of three 'tar' +operations: '--create', '--list', and '--extract'. If you already know +how to use some other version of 'tar', then you may not need to read this chapter. This chapter omits most complicated details about how -`tar' works. +'tar' works. * Menu: * assumptions:: * stylistic conventions:: -* basic tar options:: Basic `tar' Operations and Options +* basic tar options:: Basic 'tar' Operations and Options * frequent operations:: * Two Frequent Options:: * create:: How to Create Archives @@ -623,7 +622,7 @@ File: tar.info, Node: assumptions, Next: stylistic conventions, Up: Tutorial 2.1 Assumptions this Tutorial Makes =================================== -This chapter is paced to allow beginners to learn about `tar' slowly. +This chapter is paced to allow beginners to learn about 'tar' slowly. At the same time, we will try to cover all the basic aspects of these three operations. In order to accomplish both of these tasks, we have made certain assumptions about your knowledge before reading this @@ -640,28 +639,27 @@ manual, and the hardware you will be using: some basic understanding of directory structure and how files are named according to which directory they are in. You should understand concepts such as standard output and standard input, - what various definitions of the term `argument' mean, and the + what various definitions of the term 'argument' mean, and the differences between relative and absolute file names. * This manual assumes that you are working from your own home directory (unless we state otherwise). In this tutorial, you will - create a directory to practice `tar' commands in. When we show + create a directory to practice 'tar' commands in. When we show file names, we will assume that those names are relative to your home directory. For example, my home directory is - `/home/fsf/melissa'. All of my examples are in a subdirectory of + '/home/fsf/melissa'. All of my examples are in a subdirectory of the directory named by that file name; the subdirectory is called - `practice'. + 'practice'. * In general, we show examples of archives which exist on (or can be written to, or worked with from) a directory on a hard disk. In - most cases, you could write those archives to, or work with them - on any other device, such as a tape drive. However, some of the - later examples in the tutorial and next chapter will not work on - tape drives. Additionally, working with tapes is much more - complicated than working with hard disks. For these reasons, the - tutorial does not cover working with tape drives. *Note Media::, - for complete information on using `tar' archives with tape drives. - + most cases, you could write those archives to, or work with them on + any other device, such as a tape drive. However, some of the later + examples in the tutorial and next chapter will not work on tape + drives. Additionally, working with tapes is much more complicated + than working with hard disks. For these reasons, the tutorial does + not cover working with tape drives. *Note Media::, for complete + information on using 'tar' archives with tape drives.  File: tar.info, Node: stylistic conventions, Next: basic tar options, Prev: assumptions, Up: Tutorial @@ -669,25 +667,25 @@ File: tar.info, Node: stylistic conventions, Next: basic tar options, Prev: a 2.2 Stylistic Conventions ========================= -In the examples, `$' represents a typical shell prompt. It precedes -lines you should type; to make this more clear, those lines are shown -in `this font', as opposed to lines which represent the computer's -response; those lines are shown in `this font', or sometimes `like +In the examples, '$' represents a typical shell prompt. It precedes +lines you should type; to make this more clear, those lines are shown in +'this font', as opposed to lines which represent the computer's +response; those lines are shown in 'this font', or sometimes 'like this'.  File: tar.info, Node: basic tar options, Next: frequent operations, Prev: stylistic conventions, Up: Tutorial -2.3 Basic `tar' Operations and Options +2.3 Basic 'tar' Operations and Options ====================================== -`tar' can take a wide variety of arguments which specify and define the -actions it will have on the particular set of files or the archive. -The main types of arguments to `tar' fall into one of two classes: +'tar' can take a wide variety of arguments which specify and define the +actions it will have on the particular set of files or the archive. The +main types of arguments to 'tar' fall into one of two classes: operations, and options. Some arguments fall into a class called "operations"; exactly one of -these is both allowed and required for any instance of using `tar'; you +these is both allowed and required for any instance of using 'tar'; you may _not_ specify more than one. People sometimes speak of "operating modes". You are in a particular operating mode when you have specified the operation which specifies it; there are eight operations in total, @@ -695,26 +693,26 @@ and thus there are eight operating modes. The other arguments fall into the class known as "options". You are not required to specify any options, and you are allowed to specify more -than one at a time (depending on the way you are using `tar' at that +than one at a time (depending on the way you are using 'tar' at that time). Some options are used so frequently, and are so useful for helping you type commands more carefully that they are effectively "required". We will discuss them in this chapter. - You can write most of the `tar' operations and options in any of + You can write most of the 'tar' operations and options in any of three forms: long (mnemonic) form, short form, and old style. Some of the operations and options have no short or "old" forms; however, the operations and options which we will cover in this tutorial have corresponding abbreviations. We will indicate those abbreviations appropriately to get you used to seeing them. Note, that the "old -style" option forms exist in GNU `tar' for compatibility with Unix -`tar'. In this book we present a full discussion of this way of -writing options and operations (*note Old Options::), and we discuss -the other two styles of writing options (*Note Long Options::, and -*note Short Options::). +style" option forms exist in GNU 'tar' for compatibility with Unix +'tar'. In this book we present a full discussion of this way of writing +options and operations (*note Old Options::), and we discuss the other +two styles of writing options (*Note Long Options::, and *note Short +Options::). In the examples and in the text of this tutorial, we usually use the long forms of operations and options; but the "short" forms produce the -same result and can make typing long `tar' commands easier. For +same result and can make typing long 'tar' commands easier. For example, instead of typing tar --create --verbose --file=afiles.tar apple angst aspic @@ -729,23 +727,23 @@ For more information on option syntax, see *note Advanced tar::. In discussions in the text, when we name an option by its long form, we also give the corresponding short option in parentheses. - The term, "option", can be confusing at times, since "operations" -are often lumped in with the actual, _optional_ "options" in certain -general class statements. For example, we just talked about "short and -long forms of options and operations". However, experienced `tar' -users often refer to these by shorthand terms such as, "short and long + The term, "option", can be confusing at times, since "operations" are +often lumped in with the actual, _optional_ "options" in certain general +class statements. For example, we just talked about "short and long +forms of options and operations". However, experienced 'tar' users +often refer to these by shorthand terms such as, "short and long options". This term assumes that the "operations" are included, also. Context will help you determine which definition of "options" to use. Similarly, the term "command" can be confusing, as it is often used -in two different ways. People sometimes refer to `tar' "commands". A -`tar' "command" is the entire command line of user input which tells -`tar' what to do -- including the operation, options, and any arguments +in two different ways. People sometimes refer to 'tar' "commands". A +'tar' "command" is the entire command line of user input which tells +'tar' what to do -- including the operation, options, and any arguments (file names, pipes, other commands, etc.). However, you will also -sometimes hear the term "the `tar' command". When the word "command" -is used specifically like this, a person is usually referring to the -`tar' _operation_, not the whole line. Again, use context to figure -out which of the meanings the speaker intends. +sometimes hear the term "the 'tar' command". When the word "command" is +used specifically like this, a person is usually referring to the 'tar' +_operation_, not the whole line. Again, use context to figure out which +of the meanings the speaker intends.  File: tar.info, Node: frequent operations, Next: Two Frequent Options, Prev: basic tar options, Up: Tutorial @@ -758,16 +756,14 @@ forms), as well as a brief description of their meanings. The rest of this chapter will cover how to use these operations in detail. We will present the rest of the operations in the next chapter. -`--create' -`-c' - Create a new `tar' archive. - -`--list' -`-t' +'--create' +'-c' + Create a new 'tar' archive. +'--list' +'-t' List the contents of an archive. - -`--extract' -`-x' +'--extract' +'-x' Extract one or more members from an archive.  @@ -776,12 +772,12 @@ File: tar.info, Node: Two Frequent Options, Next: create, Prev: frequent oper 2.5 Two Frequently Used Options =============================== -To understand how to run `tar' in the three operating modes listed +To understand how to run 'tar' in the three operating modes listed previously, you also need to understand how to use two of the options to -`tar': `--file' (which takes an archive file as an argument) and -`--verbose'. (You are usually not _required_ to specify either of -these options when you run `tar', but they can be very useful in making -things more clear and helping you avoid errors.) +'tar': '--file' (which takes an archive file as an argument) and +'--verbose'. (You are usually not _required_ to specify either of these +options when you run 'tar', but they can be very useful in making things +more clear and helping you avoid errors.) * Menu: @@ -792,67 +788,67 @@ things more clear and helping you avoid errors.)  File: tar.info, Node: file tutorial, Next: verbose tutorial, Up: Two Frequent Options -The `--file' Option +The '--file' Option ------------------- -`--file=ARCHIVE-NAME' -`-f ARCHIVE-NAME' +'--file=ARCHIVE-NAME' +'-f ARCHIVE-NAME' Specify the name of an archive file. - You can specify an argument for the `--file=ARCHIVE-NAME' (`-f -ARCHIVE-NAME') option whenever you use `tar'; this option determines -the name of the archive file that `tar' will work on. + You can specify an argument for the '--file=ARCHIVE-NAME' ('-f +ARCHIVE-NAME') option whenever you use 'tar'; this option determines the +name of the archive file that 'tar' will work on. - If you don't specify this argument, then `tar' will examine the -environment variable `TAPE'. If it is set, its value will be used as -the archive name. Otherwise, `tar' will use the default archive, -determined at compile time. Usually it is standard output or some + If you don't specify this argument, then 'tar' will examine the +environment variable 'TAPE'. If it is set, its value will be used as +the archive name. Otherwise, 'tar' will use the default archive, +determined at compile time. Usually it is standard output or some physical tape drive attached to your machine (you can verify what the -default is by running `tar --show-defaults', *note defaults::). If +default is by running 'tar --show-defaults', *note defaults::). If there is no tape drive attached, or the default is not meaningful, then -`tar' will print an error message. The error message might look -roughly like one of the following: +'tar' will print an error message. The error message might look roughly +like one of the following: tar: can't open /dev/rmt8 : No such device or address tar: can't open /dev/rsmt0 : I/O error To avoid confusion, we recommend that you always specify an archive file -name by using `--file=ARCHIVE-NAME' (`-f ARCHIVE-NAME') when writing -your `tar' commands. For more information on using the -`--file=ARCHIVE-NAME' (`-f ARCHIVE-NAME') option, see *note file::. +name by using '--file=ARCHIVE-NAME' ('-f ARCHIVE-NAME') when writing +your 'tar' commands. For more information on using the +'--file=ARCHIVE-NAME' ('-f ARCHIVE-NAME') option, see *note file::.  File: tar.info, Node: verbose tutorial, Next: help tutorial, Prev: file tutorial, Up: Two Frequent Options -The `--verbose' Option +The '--verbose' Option ---------------------- -`--verbose' -`-v' - Show the files being worked on as `tar' is running. +'--verbose' +'-v' + Show the files being worked on as 'tar' is running. - `--verbose' (`-v') shows details about the results of running `tar'. + '--verbose' ('-v') shows details about the results of running 'tar'. This can be especially useful when the results might not be obvious. -For example, if you want to see the progress of `tar' as it writes -files into the archive, you can use the `--verbose' option. In the -beginning, you may find it useful to use `--verbose' at all times; when -you are more accustomed to `tar', you will likely want to use it at -certain times but not at others. We will use `--verbose' at times to -help make something clear, and we will give many examples both using -and not using `--verbose' to show the differences. - - Each instance of `--verbose' on the command line increases the +For example, if you want to see the progress of 'tar' as it writes files +into the archive, you can use the '--verbose' option. In the beginning, +you may find it useful to use '--verbose' at all times; when you are +more accustomed to 'tar', you will likely want to use it at certain +times but not at others. We will use '--verbose' at times to help make +something clear, and we will give many examples both using and not using +'--verbose' to show the differences. + + Each instance of '--verbose' on the command line increases the verbosity level by one, so if you need more details on the output, specify it twice. - When reading archives (`--list', `--extract', `--diff'), `tar' by + When reading archives ('--list', '--extract', '--diff'), 'tar' by default prints only the names of the members being extracted. Using -`--verbose' will show a full, `ls' style member listing. +'--verbose' will show a full, 'ls' style member listing. - In contrast, when writing archives (`--create', `--append', -`--update'), `tar' does not print file names by default. So, a single -`--verbose' option shows the file names being added to the archive, -while two `--verbose' options enable the full listing. + In contrast, when writing archives ('--create', '--append', +'--update'), 'tar' does not print file names by default. So, a single +'--verbose' option shows the file names being added to the archive, +while two '--verbose' options enable the full listing. For example, to create an archive in verbose mode: @@ -877,16 +873,16 @@ twice, like this: Note that you must double the hyphens properly each time. Later in the tutorial, we will give examples using -`--verbose --verbose'. +'--verbose --verbose'. The full output consists of six fields: - * File type and permissions in symbolic form. These are displayed - in the same format as the first column of `ls -l' output (*note + * File type and permissions in symbolic form. These are displayed in + the same format as the first column of 'ls -l' output (*note format=verbose: (fileutils)What information is listed.). - * Owner name and group separated by a slash character. If these - data are not available (for example, when listing a `v7' format + * Owner name and group separated by a slash character. If these data + are not available (for example, when listing a 'v7' format archive), numeric ID values are printed instead. * Size of the file, in bytes. @@ -904,40 +900,39 @@ Note that you must double the hyphens properly each time. Depending on the file type, the name can be followed by some additional information, described in the following table: - `-> LINK-NAME' + '-> LINK-NAME' The file or archive member is a "symbolic link" and LINK-NAME is the name of file it links to. - `link to LINK-NAME' + 'link to LINK-NAME' The file or archive member is a "hard link" and LINK-NAME is the name of file it links to. - `--Long Link--' + '--Long Link--' The archive member is an old GNU format long link. You will normally not encounter this. - `--Long Name--' + '--Long Name--' The archive member is an old GNU format long name. You will normally not encounter this. - `--Volume Header--' + '--Volume Header--' The archive member is a GNU "volume header" (*note Tape Files::). - `--Continued at byte N--' + '--Continued at byte N--' Encountered only at the beginning of a multi-volume archive (*note Using Multiple Tapes::). This archive member is a - continuation from the previous volume. The number N gives the + continuation from the previous volume. The number N gives the offset where the original file was split. - `unknown file type C' - An archive member of unknown type. C is the type character + 'unknown file type C' + An archive member of unknown type. C is the type character from the archive header. If you encounter such a message, it means that either your archive contains proprietary member - types GNU `tar' is not able to handle, or the archive is + types GNU 'tar' is not able to handle, or the archive is corrupted. - For example, here is an archive listing containing most of the special suffixes explained above: @@ -952,12 +947,13 @@ special suffixes explained above:  File: tar.info, Node: help tutorial, Prev: verbose tutorial, Up: Two Frequent Options -Getting Help: Using the `--help' Option +Getting Help: Using the '--help' Option --------------------------------------- -`--help' - The `--help' option to `tar' prints out a very brief list of all - operations and option available for the current version of `tar' +'--help' + + The '--help' option to 'tar' prints out a very brief list of all + operations and option available for the current version of 'tar' available on your system.  @@ -966,12 +962,10 @@ File: tar.info, Node: create, Next: list, Prev: Two Frequent Options, Up: Tu 2.6 How to Create Archives ========================== - _(This message will disappear, once this node revised.)_ - -One of the basic operations of `tar' is `--create' (`-c'), which you -use to create a `tar' archive. We will explain `--create' first -because, in order to learn about the other operations, you will find it -useful to have an archive available to practice on. +One of the basic operations of 'tar' is '--create' ('-c'), which you use +to create a 'tar' archive. We will explain '--create' first because, in +order to learn about the other operations, you will find it useful to +have an archive available to practice on. To make this easier, in this section you will first create a directory containing three files. Then, we will show you how to create @@ -981,14 +975,14 @@ chapter and the next chapter will show many examples using this directory and the files you will create: some of those files may be other directories and other archives. - The three files you will archive in this example are called `blues', -`folk', and `jazz'. The archive is called `collection.tar'. + The three files you will archive in this example are called 'blues', +'folk', and 'jazz'. The archive is called 'collection.tar'. - This section will proceed slowly, detailing how to use `--create' in -`verbose' mode, and showing examples using both short and long forms. -In the rest of the tutorial, and in the examples in the next chapter, -we will proceed at a slightly quicker pace. This section moves more -slowly to allow beginning users to understand how `tar' works. + This section will proceed slowly, detailing how to use '--create' in +'verbose' mode, and showing examples using both short and long forms. +In the rest of the tutorial, and in the examples in the next chapter, we +will proceed at a slightly quicker pace. This section moves more slowly +to allow beginning users to understand how 'tar' works. * Menu: @@ -1005,31 +999,31 @@ File: tar.info, Node: prepare for examples, Next: Creating the archive, Up: c ------------------------------------------------- To follow along with this and future examples, create a new directory -called `practice' containing files called `blues', `folk' and `jazz'. +called 'practice' containing files called 'blues', 'folk' and 'jazz'. The files can contain any information you like: ideally, they should contain information which relates to their names, and be of different -lengths. Our examples assume that `practice' is a subdirectory of your +lengths. Our examples assume that 'practice' is a subdirectory of your home directory. - Now `cd' to the directory named `practice'; `practice' is now your + Now 'cd' to the directory named 'practice'; 'practice' is now your "working directory". (_Please note_: Although the full file name of -this directory is `/HOMEDIR/practice', in our examples we will refer to -this directory as `practice'; the HOMEDIR is presumed.) +this directory is '/HOMEDIR/practice', in our examples we will refer to +this directory as 'practice'; the HOMEDIR is presumed.) In general, you should check that the files to be archived exist -where you think they do (in the working directory) by running `ls'. +where you think they do (in the working directory) by running 'ls'. Because you just created the directory and the files and have changed to that directory, you probably don't need to do that this time. It is very important to make sure there isn't already a file in the working directory with the archive name you intend to use (in this case, -`collection.tar'), or that you don't care about its contents. Whenever -you use `create', `tar' will erase the current contents of the file -named by `--file=ARCHIVE-NAME' (`-f ARCHIVE-NAME') if it exists. `tar' +'collection.tar'), or that you don't care about its contents. Whenever +you use 'create', 'tar' will erase the current contents of the file +named by '--file=ARCHIVE-NAME' ('-f ARCHIVE-NAME') if it exists. 'tar' will not tell you if you are about to overwrite an archive unless you specify an option which does this (*note backup::, for the information on how to do so). To add files to an existing archive, you need to use -a different option, such as `--append' (`-r'); see *note append:: for +a different option, such as '--append' ('-r'); see *note append:: for information on how to do this.  @@ -1038,25 +1032,40 @@ File: tar.info, Node: Creating the archive, Next: create verbose, Prev: prepa 2.6.2 Creating the Archive -------------------------- -To place the files `blues', `folk', and `jazz' into an archive named -`collection.tar', use the following command: +To place the files 'blues', 'folk', and 'jazz' into an archive named +'collection.tar', use the following command: $ tar --create --file=collection.tar blues folk jazz The order of the arguments is not very important, _when using long -option forms_. You could also say: +option forms_, however you should always remember to use option as the +first argument to tar. For example, the following is wrong: - $ tar blues --create folk --file=collection.tar jazz + $ tar blues -c folk -f collection.tar jazz + tar: -c: Invalid blocking factor + Try 'tar --help' or 'tar --usage' for more information. + + The error message is produced because 'tar' always treats its first +argument as an option (or cluster of options), even if it does not start +with dash. This is "traditional" or "old option" style, called so +because all implementations of 'tar' have used it since the very +inception of the tar archiver in 1970s. This option style will be +explained later (*note Old Options::), for now just remember to always +place option as the first argument. + + That being said, you could issue the following command: + + $ tar --create folk blues --file=collection.tar jazz However, you can see that this order is harder to understand; this is why we will list the arguments in the order that makes the commands easiest to understand (and we encourage you to do the same when you use -`tar', to avoid errors). +'tar', to avoid errors). - Note that the sequence `--file=collection.tar' is considered to be + Note that the sequence '--file=collection.tar' is considered to be _one_ argument. If you substituted any other string of characters for -`collection.tar', then that string would become the name of the -archive file you create. +'collection.tar', then that string would become the name of the archive +file you create. The order of the options becomes more important when you begin to use short forms. With short forms, if you type commands in the wrong order @@ -1065,46 +1074,46 @@ results you don't expect. For this reason, it is a good idea to get into the habit of typing options in the order that makes inherent sense. *Note short create::, for more information on this. - In this example, you type the command as shown above: `--create' is -the operation which creates the new archive (`collection.tar'), and -`--file' is the option which lets you give it the name you chose. The -files, `blues', `folk', and `jazz', are now members of the archive, -`collection.tar' (they are "file name arguments" to the `--create' + In this example, you type the command as shown above: '--create' is +the operation which creates the new archive ('collection.tar'), and +'--file' is the option which lets you give it the name you chose. The +files, 'blues', 'folk', and 'jazz', are now members of the archive, +'collection.tar' (they are "file name arguments" to the '--create' operation. *Note Choosing::, for the detailed discussion on these.) -Now that they are in the archive, they are called _archive members_, -not files. (*note members: Definitions.). +Now that they are in the archive, they are called _archive members_, not +files. (*note members: Definitions.). When you create an archive, you _must_ specify which files you want placed in the archive. If you do not specify any archive members, GNU -`tar' will complain. +'tar' will complain. - If you now list the contents of the working directory (`ls'), you + If you now list the contents of the working directory ('ls'), you will find the archive file listed as well as the files you saw previously: blues folk jazz collection.tar -Creating the archive `collection.tar' did not destroy the copies of the +Creating the archive 'collection.tar' did not destroy the copies of the files in the directory. - Keep in mind that if you don't indicate an operation, `tar' will not -run and will prompt you for one. If you don't name any files, `tar' + Keep in mind that if you don't indicate an operation, 'tar' will not +run and will prompt you for one. If you don't name any files, 'tar' will complain. You must have write access to the working directory, or else you will not be able to create an archive in that directory. - _Caution_: Do not attempt to use `--create' (`-c') to add files to -an existing archive; it will delete the archive and write a new one. -Use `--append' (`-r') instead. *Note append::. + _Caution_: Do not attempt to use '--create' ('-c') to add files to an +existing archive; it will delete the archive and write a new one. Use +'--append' ('-r') instead. *Note append::.  File: tar.info, Node: create verbose, Next: short create, Prev: Creating the archive, Up: create -2.6.3 Running `--create' with `--verbose' +2.6.3 Running '--create' with '--verbose' ----------------------------------------- -If you include the `--verbose' (`-v') option on the command line, `tar' +If you include the '--verbose' ('-v') option on the command line, 'tar' will list the files it is acting on as it is working. In verbose mode, -the `create' example above would appear as: +the 'create' example above would appear as: $ tar --create --verbose --file=collection.tar blues folk jazz blues @@ -1112,25 +1121,25 @@ the `create' example above would appear as: jazz This example is just like the example we showed which did not use -`--verbose', except that `tar' generated the remaining lines. +'--verbose', except that 'tar' generated the remaining lines. In the rest of the examples in this chapter, we will frequently use -`verbose' mode so we can show actions or `tar' responses that you would +'verbose' mode so we can show actions or 'tar' responses that you would otherwise not see, and which are important for you to understand.  File: tar.info, Node: short create, Next: create dir, Prev: create verbose, Up: create -2.6.4 Short Forms with `create' +2.6.4 Short Forms with 'create' ------------------------------- -As we said before, the `--create' (`-c') operation is one of the most -basic uses of `tar', and you will use it countless times. Eventually, -you will probably want to use abbreviated (or "short") forms of -options. A full discussion of the three different forms that options -can take appears in *note Styles::; for now, here is what the previous -example (including the `--verbose' (`-v') option) looks like using -short option forms: +As we said before, the '--create' ('-c') operation is one of the most +basic uses of 'tar', and you will use it countless times. Eventually, +you will probably want to use abbreviated (or "short") forms of options. +A full discussion of the three different forms that options can take +appears in *note Styles::; for now, here is what the previous example +(including the '--verbose' ('-v') option) looks like using short option +forms: $ tar -cvf collection.tar blues folk jazz blues @@ -1148,17 +1157,16 @@ attempted the above example in the following way: $ tar -cfv collection.tar blues folk jazz -In this case, `tar' will make an archive file called `v', containing -the files `blues', `folk', and `jazz', because the `v' is the closest -"file name" to the `-f' option, and is thus taken to be the chosen -archive file name. `tar' will try to add a file called -`collection.tar' to the `v' archive file; if the file `collection.tar' -did not already exist, `tar' will report an error indicating that this -file does not exist. If the file `collection.tar' does already exist -(e.g., from a previous command you may have run), then `tar' will add -this file to the archive. Because the `-v' option did not get -registered, `tar' will not run under `verbose' mode, and will not -report its progress. +In this case, 'tar' will make an archive file called 'v', containing the +files 'blues', 'folk', and 'jazz', because the 'v' is the closest "file +name" to the '-f' option, and is thus taken to be the chosen archive +file name. 'tar' will try to add a file called 'collection.tar' to the +'v' archive file; if the file 'collection.tar' did not already exist, +'tar' will report an error indicating that this file does not exist. If +the file 'collection.tar' does already exist (e.g., from a previous +command you may have run), then 'tar' will add this file to the archive. +Because the '-v' option did not get registered, 'tar' will not run under +'verbose' mode, and will not report its progress. The end result is that you may be quite confused about what happened, and possibly overwrite a file. To illustrate this further, we will show @@ -1166,21 +1174,20 @@ you how an example we showed previously would look using short forms. This example, - $ tar blues --create folk --file=collection.tar jazz + $ tar --create folk blues --file=collection.tar jazz -is confusing as it is. When shown using short forms, however, it -becomes much more so: +is confusing as it is. It becomes even more so when using short forms: - $ tar blues -c folk -f collection.tar jazz + $ tar -c folk blues -f collection.tar jazz It would be very easy to put the wrong string of characters immediately -following the `-f', but doing that could sacrifice valuable data. +following the '-f', but doing that could sacrifice valuable data. For this reason, we recommend that you pay very careful attention to -the order of options and placement of file and archive names, -especially when using short option forms. Not having the option name -written out mnemonically can affect how well you remember which option -does what, and therefore where different names have to be placed. +the order of options and placement of file and archive names, especially +when using short option forms. Not having the option name written out +mnemonically can affect how well you remember which option does what, +and therefore where different names have to be placed.  File: tar.info, Node: create dir, Prev: short create, Up: create @@ -1189,7 +1196,7 @@ File: tar.info, Node: create dir, Prev: short create, Up: create --------------------------- You can archive a directory by specifying its directory name as a file -name argument to `tar'. The files in the directory will be archived +name argument to 'tar'. The files in the directory will be archived relative to the working directory, and the directory will be re-created along with its contents when the archive is extracted. @@ -1200,14 +1207,14 @@ type: $ cd .. $ -This will put you into the directory which contains `practice', i.e., +This will put you into the directory which contains 'practice', i.e., your home directory. Once in the superior directory, you can specify -the subdirectory, `practice', as a file name argument. To store -`practice' in the new archive file `music.tar', type: +the subdirectory, 'practice', as a file name argument. To store +'practice' in the new archive file 'music.tar', type: $ tar --create --verbose --file=music.tar practice -`tar' should output: +'tar' should output: practice/ practice/blues @@ -1216,33 +1223,33 @@ the subdirectory, `practice', as a file name argument. To store practice/collection.tar Note that the archive thus created is not in the subdirectory -`practice', but rather in the current working directory--the directory -from which `tar' was invoked. Before trying to archive a directory -from its superior directory, you should make sure you have write access -to the superior directory itself, not only the directory you are trying -archive with `tar'. For example, you will probably not be able to -store your home directory in an archive by invoking `tar' from the root -directory; *Note absolute::. (Note also that `collection.tar', the -original archive file, has itself been archived. `tar' will accept any +'practice', but rather in the current working directory--the directory +from which 'tar' was invoked. Before trying to archive a directory from +its superior directory, you should make sure you have write access to +the superior directory itself, not only the directory you are trying +archive with 'tar'. For example, you will probably not be able to store +your home directory in an archive by invoking 'tar' from the root +directory; *Note absolute::. (Note also that 'collection.tar', the +original archive file, has itself been archived. 'tar' will accept any file as a file to be archived, regardless of its content. When -`music.tar' is extracted, the archive file `collection.tar' will be +'music.tar' is extracted, the archive file 'collection.tar' will be re-written into the file system). - If you give `tar' a command such as + If you give 'tar' a command such as $ tar --create --file=foo.tar . -`tar' will report `tar: ./foo.tar is the archive; not dumped'. This -happens because `tar' creates the archive `foo.tar' in the current -directory before putting any files into it. Then, when `tar' attempts -to add all the files in the directory `.' to the archive, it notices -that the file `./foo.tar' is the same as the archive `foo.tar', and -skips it. (It makes no sense to put an archive into itself.) GNU `tar' +'tar' will report 'tar: ./foo.tar is the archive; not dumped'. This +happens because 'tar' creates the archive 'foo.tar' in the current +directory before putting any files into it. Then, when 'tar' attempts +to add all the files in the directory '.' to the archive, it notices +that the file './foo.tar' is the same as the archive 'foo.tar', and +skips it. (It makes no sense to put an archive into itself.) GNU 'tar' will continue in this case, and create the archive normally, except for the exclusion of that one file. (_Please note:_ Other implementations -of `tar' may not be so clever; they will enter an infinite loop when +of 'tar' may not be so clever; they will enter an infinite loop when this happens, so you should not depend on this behavior unless you are -certain you are running GNU `tar'. In general, it is wise to always +certain you are running GNU 'tar'. In general, it is wise to always place the archive outside of the directory being dumped.)  @@ -1252,92 +1259,110 @@ File: tar.info, Node: list, Next: extract, Prev: create, Up: Tutorial ======================== Frequently, you will find yourself wanting to determine exactly what a -particular archive contains. You can use the `--list' (`-t') operation -to get the member names as they currently appear in the archive, as -well as various attributes of the files at the time they were archived. -For example, you can examine the archive `collection.tar' that you -created in the last section with the command, +particular archive contains. You can use the '--list' ('-t') operation +to get the member names as they currently appear in the archive, as well +as various attributes of the files at the time they were archived. For +example, assuming 'practice' is your working directory, you can examine +the archive 'collection.tar' that you created in the last section with +the command, $ tar --list --file=collection.tar -The output of `tar' would then be: +The output of 'tar' would then be: blues folk jazz -The archive `bfiles.tar' would list as follows: +Be sure to use a '--file=ARCHIVE-NAME' ('-f ARCHIVE-NAME') option just +as with '--create' ('-c') to specify the name of the archive. - ./birds - baboon - ./box + You can specify one or more individual member names as arguments when +using 'list'. In this case, 'tar' will only list the names of members +you identify. For example, 'tar --list --file=collection.tar folk' +would only print 'folk': -Be sure to use a `--file=ARCHIVE-NAME' (`-f ARCHIVE-NAME') option just -as with `--create' (`-c') to specify the name of the archive. + $ tar --list --file=collection.tar folk + folk - If you use the `--verbose' (`-v') option with `--list', then `tar' -will print out a listing reminiscent of `ls -l', showing owner, file -size, and so forth. This output is described in detail in *note -verbose member listing::. + If you use the '--verbose' ('-v') option with '--list', then 'tar' +will print out a listing reminiscent of 'ls -l', showing owner, file +size, and so forth. This output is described in detail in *note verbose +member listing::. - If you had used `--verbose' (`-v') mode, the example above would -look like: + If you had used '--verbose' ('-v') mode, the example above would look +like: $ tar --list --verbose --file=collection.tar folk -rw-r--r-- myself/user 62 1990-05-23 10:55 folk - It is important to notice that the output of `tar --list --verbose' -does not necessarily match that produced by `tar --create --verbose' -while creating the archive. It is because GNU `tar', unless told -explicitly not to do so, removes some directory prefixes from file -names before storing them in the archive (*Note absolute::, for more -information). In other words, in verbose mode GNU `tar' shows "file + It is important to notice that the output of 'tar --list --verbose' +does not necessarily match that produced by 'tar --create --verbose' +while creating the archive. It is because GNU 'tar', unless told +explicitly not to do so, removes some directory prefixes from file names +before storing them in the archive (*Note absolute::, for more +information). In other words, in verbose mode GNU 'tar' shows "file names" when creating an archive and "member names" when listing it. -Consider this example: +Consider this example, run from your home directory: - $ tar --create --verbose --file archive /etc/mail + $ tar --create --verbose --file practice.tar ~/practice tar: Removing leading '/' from member names - /etc/mail/ - /etc/mail/sendmail.cf - /etc/mail/aliases - $ tar --test --file archive - etc/mail/ - etc/mail/sendmail.cf - etc/mail/aliases + /home/myself/practice/ + /home/myself/practice/blues + /home/myself/practice/folk + /home/myself/practice/jazz + /home/myself/practice/collection.tar + $ tar --test --file practice.tar + home/myself/practice/ + home/myself/practice/blues + home/myself/practice/folk + home/myself/practice/jazz + home/myself/practice/collection.tar This default behavior can sometimes be inconvenient. You can force -GNU `tar' show member names when creating archive by supplying -`--show-stored-names' option. +GNU 'tar' show member names when creating archive by supplying +'--show-stored-names' option. -`--show-stored-names' +'--show-stored-names' Print member (as opposed to _file_) names when creating the archive. - You can specify one or more individual member names as arguments when -using `list'. In this case, `tar' will only list the names of members -you identify. For example, `tar --list --file=afiles.tar apple' would -only print `apple'. - - Because `tar' preserves file names, these must be specified as they -appear in the archive (i.e., relative to the directory from which the -archive was created). Therefore, it is essential when specifying -member names to `tar' that you give the exact member names. For -example, `tar --list --file=bfiles.tar birds' would produce an error -message something like `tar: birds: Not found in archive', because -there is no member named `birds', only one named `./birds'. While the -names `birds' and `./birds' name the same file, _member_ names by -default are compared verbatim. - - However, `tar --list --file=bfiles.tar baboon' would respond with -`baboon', because this exact member name is in the archive file -`bfiles.tar'. If you are not sure of the exact file name, use -"globbing patterns", for example: - - $ tar --list --file=bfiles.tar --wildcards '*b*' - -will list all members whose name contains `b'. *Note wildcards::, for -a detailed discussion of globbing patterns and related `tar' command -line options. + With this option, both commands produce the same output: + + $ tar --create --verbose --show-stored-names \ + --file practice.tar ~/practice + tar: Removing leading '/' from member names + home/myself/practice/ + home/myself/practice/blues + home/myself/practice/folk + home/myself/practice/jazz + home/myself/practice/collection.tar + $ tar --test --file practice.tar + home/myself/practice/ + home/myself/practice/blues + home/myself/practice/folk + home/myself/practice/jazz + home/myself/practice/collection.tar + + Since 'tar' preserves file names, those you wish to list must be +specified as they appear in the archive (i.e., relative to the directory +from which the archive was created). Continuing the example above: + + $ tar --list --file=practice.tar folk + tar: folk: Not found in archive + tar: Exiting with failure status due to previous errors + + the error message is produced because there is no member named +'folk', only one named 'home/myself/folk'. + + If you are not sure of the exact file name, use "globbing patterns", +for example: + + $ tar --list --file=practice.tar --wildcards '*/folk' + home/myself/practice/folk + +*Note wildcards::, for a detailed discussion of globbing patterns and +related 'tar' command line options. * Menu: @@ -1350,16 +1375,16 @@ Listing the Contents of a Stored Directory ------------------------------------------ To get information about the contents of an archived directory, use the -directory name as a file name argument in conjunction with `--list' -(`-t'). To find out file attributes, include the `--verbose' (`-v') +directory name as a file name argument in conjunction with '--list' +('-t'). To find out file attributes, include the '--verbose' ('-v') option. - For example, to find out about files in the directory `practice', in -the archive file `music.tar', type: + For example, to find out about files in the directory 'practice', in +the archive file 'music.tar', type: $ tar --list --verbose --file=music.tar practice - `tar' responds: + 'tar' responds: drwxrwxrwx myself/user 0 1990-05-31 21:49 practice/ -rw-r--r-- myself/user 42 1990-05-21 13:29 practice/blues @@ -1367,7 +1392,7 @@ the archive file `music.tar', type: -rw-r--r-- myself/user 40 1990-05-21 13:30 practice/jazz -rw-r--r-- myself/user 10240 1990-05-31 21:49 practice/collection.tar - When you use a directory name as a file name argument, `tar' acts on + When you use a directory name as a file name argument, 'tar' acts on all the files (including sub-directories) in that directory.  @@ -1379,15 +1404,15 @@ File: tar.info, Node: extract, Next: going further, Prev: list, Up: Tutorial Creating an archive is only half the job--there is no point in storing files in an archive if you can't retrieve them. The act of retrieving members from an archive so they can be used and manipulated as -unarchived files again is called "extraction". To extract files from -an archive, use the `--extract' (`--get' or `-x') operation. As with -`--create', specify the name of the archive with `--file' (`-f') -option. Extracting an archive does not modify the archive in any way; -you can extract it multiple times if you want or need to. +unarchived files again is called "extraction". To extract files from an +archive, use the '--extract' ('--get' or '-x') operation. As with +'--create', specify the name of the archive with '--file' ('-f') option. +Extracting an archive does not modify the archive in any way; you can +extract it multiple times if you want or need to. - Using `--extract', you can extract an entire archive, or specific + Using '--extract', you can extract an entire archive, or specific files. The files can be directories containing other files, or not. As -with `--create' (`-c') and `--list' (`-t'), you may use the short or the +with '--create' ('-c') and '--list' ('-t'), you may use the short or the long form of the operation without affecting the performance. * Menu: @@ -1411,9 +1436,9 @@ no individual file names as arguments. For example, produces this: - -rw-r--r-- me/user 28 1996-10-18 16:31 jazz - -rw-r--r-- me/user 21 1996-09-23 16:44 blues - -rw-r--r-- me/user 20 1996-09-23 16:44 folk + -rw-r--r-- myself/user 28 1996-10-18 16:31 jazz + -rw-r--r-- myself/user 21 1996-09-23 16:44 blues + -rw-r--r-- myself/user 20 1996-09-23 16:44 folk  File: tar.info, Node: extracting files, Next: extract dir, Prev: extracting archives, Up: extract @@ -1422,53 +1447,39 @@ File: tar.info, Node: extracting files, Next: extract dir, Prev: extracting a ------------------------------- To extract specific archive members, give their exact member names as -arguments, as printed by `--list' (`-t'). If you had mistakenly -deleted one of the files you had placed in the archive `collection.tar' -earlier (say, `blues'), you can extract it from the archive without -changing the archive's structure. Its contents will be identical to -the original file `blues' that you deleted. - - First, make sure you are in the `practice' directory, and list the -files in the directory. Now, delete the file, `blues', and list the +arguments, as printed by '--list' ('-t'). If you had mistakenly deleted +one of the files you had placed in the archive 'collection.tar' earlier +(say, 'blues'), you can extract it from the archive without changing the +archive's structure. Its contents will be identical to the original +file 'blues' that you deleted. + + First, make sure you are in the 'practice' directory, and list the +files in the directory. Now, delete the file, 'blues', and list the files in the directory again. - You can now extract the member `blues' from the archive file -`collection.tar' like this: + You can now extract the member 'blues' from the archive file +'collection.tar' like this: $ tar --extract --file=collection.tar blues If you list the files in the directory again, you will see that the file -`blues' has been restored, with its original permissions, data +'blues' has been restored, with its original permissions, data modification times, and owner.(1) (These parameters will be identical to those which the file had when you originally placed it in the -archive; any changes you may have made before deleting the file from -the file system, however, will _not_ have been made to the archive -member.) The archive file, `collection.tar', is the same as it was -before you extracted `blues'. You can confirm this by running `tar' -with `--list' (`-t'). +archive; any changes you may have made before deleting the file from the +file system, however, will _not_ have been made to the archive member.) +The archive file, 'collection.tar', is the same as it was before you +extracted 'blues'. You can confirm this by running 'tar' with '--list' +('-t'). Remember that as with other operations, specifying the exact member -name is important. `tar --extract --file=bfiles.tar birds' will fail, -because there is no member named `birds'. To extract the member named -`./birds', you must specify `tar --extract --file=bfiles.tar ./birds'. -If you don't remember the exact member names, use `--list' (`-t') option -(*note list::). You can also extract those members that match a -specific "globbing pattern". For example, to extract from `bfiles.tar' -all files that begin with `b', no matter their directory prefix, you -could type: - - $ tar -x -f bfiles.tar --wildcards --no-anchored 'b*' - -Here, `--wildcards' instructs `tar' to treat command line arguments as -globbing patterns and `--no-anchored' informs it that the patterns -apply to member names after any `/' delimiter. The use of globbing -patterns is discussed in detail in *Note wildcards::. +name is important (*Note failing commands::, for more examples). You can extract a file to standard output by combining the above -options with the `--to-stdout' (`-O') option (*note Writing to Standard +options with the '--to-stdout' ('-O') option (*note Writing to Standard Output::). - If you give the `--verbose' option, then `--extract' will print the + If you give the '--verbose' option, then '--extract' will print the names of the archive members as it extracts them. ---------- Footnotes ---------- @@ -1477,7 +1488,7 @@ names of the archive members as it extracts them. modification times are always restored, in most cases, one has to be root for restoring the owner, and use a special option for restoring permissions. Here, it just happens that the restoring user is also the -owner of the archived members, and that the current `umask' is +owner of the archived members, and that the current 'umask' is compatible with original permissions.  @@ -1492,41 +1503,40 @@ the extracted directory has the same name as any directory already in the working directory, then files in the extracted directory will be placed into the directory of the same name. Likewise, if there are files in the pre-existing directory with the same names as the members -which you extract, the files from the extracted archive will replace -the files already in the working directory (and possible -subdirectories). This will happen regardless of whether or not the -files in the working directory were more recent than those extracted -(there exist, however, special options that alter this behavior *note -Writing::). +which you extract, the files from the extracted archive will replace the +files already in the working directory (and possible subdirectories). +This will happen regardless of whether or not the files in the working +directory were more recent than those extracted (there exist, however, +special options that alter this behavior *note Writing::). However, if a file was stored with a directory name as part of its -file name, and that directory does not exist under the working -directory when the file is extracted, `tar' will create the directory. - - We can demonstrate how to use `--extract' to extract a directory -file with an example. Change to the `practice' directory if you -weren't there, and remove the files `folk' and `jazz'. Then, go back -to the parent directory and extract the archive `music.tar'. You may -either extract the entire archive, or you may extract only the files -you just deleted. To extract the entire archive, don't give any file -names as arguments after the archive name `music.tar'. To extract only -the files you deleted, use the following command: +file name, and that directory does not exist under the working directory +when the file is extracted, 'tar' will create the directory. + + We can demonstrate how to use '--extract' to extract a directory file +with an example. Change to the 'practice' directory if you weren't +there, and remove the files 'folk' and 'jazz'. Then, go back to the +parent directory and extract the archive 'music.tar'. You may either +extract the entire archive, or you may extract only the files you just +deleted. To extract the entire archive, don't give any file names as +arguments after the archive name 'music.tar'. To extract only the files +you deleted, use the following command: $ tar -xvf music.tar practice/folk practice/jazz practice/folk practice/jazz -If you were to specify two `--verbose' (`-v') options, `tar' would have -displayed more detail about the extracted files, as shown in the -example below: +If you were to specify two '--verbose' ('-v') options, 'tar' would have +displayed more detail about the extracted files, as shown in the example +below: $ tar -xvvf music.tar practice/folk practice/jazz -rw-r--r-- me/user 28 1996-10-18 16:31 practice/jazz -rw-r--r-- me/user 20 1996-09-23 16:44 practice/folk -Because you created the directory with `practice' as part of the file -names of each of the files by archiving the `practice' directory as -`practice', you must give `practice' as part of the file names when you +Because you created the directory with 'practice' as part of the file +names of each of the files by archiving the 'practice' directory as +'practice', you must give 'practice' as part of the file names when you extract those files from the archive.  @@ -1537,19 +1547,19 @@ File: tar.info, Node: extracting untrusted archives, Next: failing commands, Extracting files from archives can overwrite files that already exist. If you receive an archive from an untrusted source, you should make a -new directory and extract into that directory, so that you don't have -to worry about the extraction overwriting one of your existing files. -For example, if `untrusted.tar' came from somewhere else on the -Internet, and you don't necessarily trust its contents, you can extract -it as follows: +new directory and extract into that directory, so that you don't have to +worry about the extraction overwriting one of your existing files. For +example, if 'untrusted.tar' came from somewhere else on the Internet, +and you don't necessarily trust its contents, you can extract it as +follows: $ mkdir newdir $ cd newdir $ tar -xvf ../untrusted.tar It is also a good practice to examine contents of the archive before -extracting it, using `--list' (`-t') option, possibly combined with -`--verbose' (`-v'). +extracting it, using '--list' ('-t') option, possibly combined with +'--verbose' ('-v').  File: tar.info, Node: failing commands, Prev: extracting untrusted archives, Up: extract @@ -1570,8 +1580,8 @@ you will get the following response: tar: jazz: Not found in archive This is because these files were not originally _in_ the parent -directory `..', where the archive is located; they were in the -`practice' directory, and their file names reflect this: +directory '..', where the archive is located; they were in the +'practice' directory, and their file names reflect this: $ tar -tvf music.tar practice/blues @@ -1587,7 +1597,20 @@ the archive. You must use the correct member names, or wildcards, in order to extract the files from the archive. If you have forgotten the correct names of the files in the archive, -use `tar --list --verbose' to list them correctly. +use 'tar --list --verbose' to list them correctly. + + To extract the member named 'practice/folk', you must specify + + $ tar --extract --file=music.tar practice/folk + +Notice also, that as explained above, the 'practice' directory will be +created, if it didn't already exist. There are options that allow you +to strip away a certain number of leading directory components (*note +transform::). For example, + + $ tar --extract --file=music.tar --strip-components=1 folk + +will extract the file 'folk' into the current working directory.  File: tar.info, Node: going further, Prev: extract, Up: Tutorial @@ -1600,39 +1623,39 @@ File: tar.info, Node: going further, Prev: extract, Up: Tutorial  File: tar.info, Node: tar invocation, Next: operations, Prev: Tutorial, Up: Top -3 Invoking GNU `tar' +3 Invoking GNU 'tar' ******************** -This chapter is about how one invokes the GNU `tar' command, from the +This chapter is about how one invokes the GNU 'tar' command, from the command synopsis (*note Synopsis::). There are numerous options, and many styles for writing them. One mandatory option specifies the -operation `tar' should perform (*note Operation Summary::), other +operation 'tar' should perform (*note Operation Summary::), other options are meant to detail how this operation should be performed (*note Option Summary::). Non-option arguments are not always interpreted the same way, depending on what the operation is. You will find in this chapter everything about option styles and rules for writing them (*note Styles::). On the other hand, operations -and options are fully described elsewhere, in other chapters. Here, -you will find only synthetic descriptions for operations and options, -together with pointers to other parts of the `tar' manual. +and options are fully described elsewhere, in other chapters. Here, you +will find only synthetic descriptions for operations and options, +together with pointers to other parts of the 'tar' manual. Some options are so special they are fully described right in this chapter. They have the effect of inhibiting the normal operation of -`tar' or else, they globally alter the amount of feedback the user -receives about what is going on. These are the `--help' and -`--version' (*note help::), `--verbose' (*note verbose::) and -`--interactive' options (*note interactive::). +'tar' or else, they globally alter the amount of feedback the user +receives about what is going on. These are the '--help' and '--version' +(*note help::), '--verbose' (*note verbose::) and '--interactive' +options (*note interactive::). * Menu: * Synopsis:: * using tar options:: * Styles:: -* All Options:: All `tar' Options. +* All Options:: All 'tar' Options. * help:: Where to Get Help. * defaults:: What are the Default Values. -* verbose:: Checking `tar' progress. +* verbose:: Checking 'tar' progress. * checkpoints:: Checkpoints. * warnings:: Controlling Warning Messages. * interactive:: Asking for Confirmation During Operations. @@ -1641,156 +1664,152 @@ receives about what is going on. These are the `--help' and  File: tar.info, Node: Synopsis, Next: using tar options, Up: tar invocation -3.1 General Synopsis of `tar' +3.1 General Synopsis of 'tar' ============================= -The GNU `tar' program is invoked as either one of: +The GNU 'tar' program is invoked as either one of: tar OPTION... [NAME]... tar LETTER... [ARGUMENT]... [OPTION]... [NAME]... The second form is for when old options are being used. - You can use `tar' to store files in an archive, to extract them from + You can use 'tar' to store files in an archive, to extract them from an archive, and to do other types of archive manipulation. The primary -argument to `tar', which is called the "operation", specifies which -action to take. The other arguments to `tar' are either "options", -which change the way `tar' performs an operation, or file names or -archive members, which specify the files or members `tar' is to act on. +argument to 'tar', which is called the "operation", specifies which +action to take. The other arguments to 'tar' are either "options", +which change the way 'tar' performs an operation, or file names or +archive members, which specify the files or members 'tar' is to act on. You can actually type in arguments in any order, even if in this manual the options always precede the other arguments, to make examples easier to understand. Further, the option stating the main operation -mode (the `tar' main command) is usually given first. +mode (the 'tar' main command) is usually given first. Each NAME in the synopsis above is interpreted as an archive member -name when the main command is one of `--compare' (`--diff', `-d'), -`--delete', `--extract' (`--get', `-x'), `--list' (`-t') or `--update' -(`-u'). When naming archive members, you must give the exact name of -the member in the archive, as it is printed by `--list'. For -`--append' (`-r') and `--create' (`-c'), these NAME arguments specify -the names of either files or directory hierarchies to place in the -archive. These files or hierarchies should already exist in the file -system, prior to the execution of the `tar' command. - - `tar' interprets relative file names as being relative to the -working directory. `tar' will make all file names relative (by -removing leading slashes when archiving or restoring files), unless you -specify otherwise (using the `--absolute-names' option). *Note -absolute::, for more information about `--absolute-names'. +name when the main command is one of '--compare' ('--diff', '-d'), +'--delete', '--extract' ('--get', '-x'), '--list' ('-t') or '--update' +('-u'). When naming archive members, you must give the exact name of +the member in the archive, as it is printed by '--list'. For '--append' +('-r') and '--create' ('-c'), these NAME arguments specify the names of +either files or directory hierarchies to place in the archive. These +files or hierarchies should already exist in the file system, prior to +the execution of the 'tar' command. + + 'tar' interprets relative file names as being relative to the working +directory. 'tar' will make all file names relative (by removing leading +slashes when archiving or restoring files), unless you specify otherwise +(using the '--absolute-names' option). *Note absolute::, for more +information about '--absolute-names'. If you give the name of a directory as either a file name or a member -name, then `tar' acts recursively on all the files and directories -beneath that directory. For example, the name `/' identifies all the -files in the file system to `tar'. +name, then 'tar' acts recursively on all the files and directories +beneath that directory. For example, the name '/' identifies all the +files in the file system to 'tar'. The distinction between file names and archive member names is -especially important when shell globbing is used, and sometimes a -source of confusion for newcomers. *Note wildcards::, for more -information about globbing. The problem is that shells may only glob -using existing files in the file system. Only `tar' itself may glob on -archive members, so when needed, you must ensure that wildcard -characters reach `tar' without being interpreted by the shell first. -Using a backslash before `*' or `?', or putting the whole argument -between quotes, is usually sufficient for this. +especially important when shell globbing is used, and sometimes a source +of confusion for newcomers. *Note wildcards::, for more information +about globbing. The problem is that shells may only glob using existing +files in the file system. Only 'tar' itself may glob on archive +members, so when needed, you must ensure that wildcard characters reach +'tar' without being interpreted by the shell first. Using a backslash +before '*' or '?', or putting the whole argument between quotes, is +usually sufficient for this. Even if NAMEs are often specified on the command line, they can also be read from a text file in the file system, using the -`--files-from=FILE-OF-NAMES' (`-T FILE-OF-NAMES') option. +'--files-from=FILE-OF-NAMES' ('-T FILE-OF-NAMES') option. - If you don't use any file name arguments, `--append' (`-r'), -`--delete' and `--concatenate' (`--catenate', `-A') will do nothing, -while `--create' (`-c') will usually yield a diagnostic and inhibit -`tar' execution. The other operations of `tar' (`--list', `--extract', -`--compare', and `--update') will act on the entire contents of the + If you don't use any file name arguments, '--append' ('-r'), +'--delete' and '--concatenate' ('--catenate', '-A') will do nothing, +while '--create' ('-c') will usually yield a diagnostic and inhibit +'tar' execution. The other operations of 'tar' ('--list', '--extract', +'--compare', and '--update') will act on the entire contents of the archive. - Besides successful exits, GNU `tar' may fail for many reasons. Some -reasons correspond to bad usage, that is, when the `tar' command line -is improperly written. Errors may be encountered later, while -processing the archive or the files. Some errors are recoverable, in -which case the failure is delayed until `tar' has completed all its -work. Some errors are such that it would be not meaningful, or at -least risky, to continue processing: `tar' then aborts processing -immediately. All abnormal exits, whether immediate or delayed, should -always be clearly diagnosed on `stderr', after a line stating the -nature of the error. - - Possible exit codes of GNU `tar' are summarized in the following + Besides successful exits, GNU 'tar' may fail for many reasons. Some +reasons correspond to bad usage, that is, when the 'tar' command line is +improperly written. Errors may be encountered later, while processing +the archive or the files. Some errors are recoverable, in which case +the failure is delayed until 'tar' has completed all its work. Some +errors are such that it would be not meaningful, or at least risky, to +continue processing: 'tar' then aborts processing immediately. All +abnormal exits, whether immediate or delayed, should always be clearly +diagnosed on 'stderr', after a line stating the nature of the error. + + Possible exit codes of GNU 'tar' are summarized in the following table: 0 - `Successful termination'. + 'Successful termination'. 1 - `Some files differ'. If tar was invoked with `--compare' - (`--diff', `-d') command line option, this means that some files - in the archive differ from their disk counterparts (*note - compare::). If tar was given `--create', `--append' or `--update' - option, this exit code means that some files were changed while - being archived and so the resulting archive does not contain the - exact copy of the file set. + 'Some files differ'. If tar was invoked with '--compare' + ('--diff', '-d') command line option, this means that some files in + the archive differ from their disk counterparts (*note compare::). + If tar was given '--create', '--append' or '--update' option, this + exit code means that some files were changed while being archived + and so the resulting archive does not contain the exact copy of the + file set. 2 - `Fatal error'. This means that some fatal, unrecoverable error + 'Fatal error'. This means that some fatal, unrecoverable error occurred. - If `tar' has invoked a subprocess and that subprocess exited with a -nonzero exit code, `tar' exits with that code as well. This can -happen, for example, if `tar' was given some compression option (*note -gzip::) and the external compressor program failed. Another example is -`rmt' failure during backup to the remote device (*note Remote Tape -Server::). + If 'tar' has invoked a subprocess and that subprocess exited with a +nonzero exit code, 'tar' exits with that code as well. This can happen, +for example, if 'tar' was given some compression option (*note gzip::) +and the external compressor program failed. Another example is 'rmt' +failure during backup to the remote device (*note Remote Tape Server::).  File: tar.info, Node: using tar options, Next: Styles, Prev: Synopsis, Up: tar invocation -3.2 Using `tar' Options +3.2 Using 'tar' Options ======================= -GNU `tar' has a total of eight operating modes which allow you to +GNU 'tar' has a total of eight operating modes which allow you to perform a variety of tasks. You are required to choose one operating -mode each time you employ the `tar' program by specifying one, and only -one operation as an argument to the `tar' command (the corresponding +mode each time you employ the 'tar' program by specifying one, and only +one operation as an argument to the 'tar' command (the corresponding options may be found at *note frequent operations:: and *note Operations::). Depending on circumstances, you may also wish to customize how the chosen operating mode behaves. For example, you may -wish to change the way the output looks, or the format of the files -that you wish to archive may require you to do something special in -order to make the archive look right. +wish to change the way the output looks, or the format of the files that +you wish to archive may require you to do something special in order to +make the archive look right. - You can customize and control `tar''s performance by running `tar' -with one or more options (such as `--verbose' (`-v'), which we used in + You can customize and control 'tar''s performance by running 'tar' +with one or more options (such as '--verbose' ('-v'), which we used in the tutorial). As we said in the tutorial, "options" are arguments to -`tar' which are (as their name suggests) optional. Depending on the -operating mode, you may specify one or more options. Different options +'tar' which are (as their name suggests) optional. Depending on the +operating mode, you may specify one or more options. Different options will have different effects, but in general they all change details of the operation, such as archive format, archive name, or level of user interaction. Some options make sense with all operating modes, while -others are meaningful only with particular modes. You will likely use +others are meaningful only with particular modes. You will likely use some options frequently, while you will only use others infrequently, or not at all. (A full list of options is available in *note All Options::.) - The `TAR_OPTIONS' environment variable specifies default options to + The 'TAR_OPTIONS' environment variable specifies default options to be placed in front of any explicit options. For example, if -`TAR_OPTIONS' is `-v --unlink-first', `tar' behaves as if the two -options `-v' and `--unlink-first' had been specified before any -explicit options. Option specifications are separated by whitespace. -A backslash escapes the next character, so it can be used to specify an +'TAR_OPTIONS' is '-v --unlink-first', 'tar' behaves as if the two +options '-v' and '--unlink-first' had been specified before any explicit +options. Option specifications are separated by whitespace. A +backslash escapes the next character, so it can be used to specify an option containing whitespace or a backslash. - Note that `tar' options are case sensitive. For example, the -options `-T' and `-t' are different; the first requires an argument for -stating the name of a file providing a list of NAMEs, while the second -does not require an argument and is another way to write `--list' -(`-t'). + Note that 'tar' options are case sensitive. For example, the options +'-T' and '-t' are different; the first requires an argument for stating +the name of a file providing a list of NAMEs, while the second does not +require an argument and is another way to write '--list' ('-t'). - In addition to the eight operations, there are many options to -`tar', and three different styles for writing both: long (mnemonic) -form, short form, and old style. These styles are discussed below. -Both the options and the operations can be written in any of these three -styles. + In addition to the eight operations, there are many options to 'tar', +and three different styles for writing both: long (mnemonic) form, short +form, and old style. These styles are discussed below. Both the +options and the operations can be written in any of these three styles.  File: tar.info, Node: Styles, Next: All Options, Prev: using tar options, Up: tar invocation @@ -1799,8 +1818,8 @@ File: tar.info, Node: Styles, Next: All Options, Prev: using tar options, Up =========================== There are three styles for writing operations and options to the command -line invoking `tar'. The different styles were developed at different -times during the history of `tar'. These styles will be presented +line invoking 'tar'. The different styles were developed at different +times during the history of 'tar'. These styles will be presented below, from the most recent to the oldest. Some options must take an argument(1). Where you _place_ the @@ -1808,9 +1827,9 @@ arguments generally depends on which style of options you choose. We will detail specific information relevant to each option style in the sections on the different option styles, below. The differences are subtle, yet can often be very important; incorrect option placement can -cause you to overwrite a number of important files. We urge you to -note these differences, and only use the option style(s) which makes -the most sense to you until you feel comfortable with the others. +cause you to overwrite a number of important files. We urge you to note +these differences, and only use the option style(s) which makes the most +sense to you until you feel comfortable with the others. Some options _may_ take an argument. Such options may have at most long and short forms, they do not have old style equivalent. The rules @@ -1826,10 +1845,10 @@ specifying mandatory arguments. Please, pay special attention to them. ---------- Footnotes ---------- - (1) For example, `--file' (`-f') takes the name of an archive file -as an argument. If you do not supply an archive file name, `tar' will -use a default, but this can be confusing; thus, we recommend that you -always supply a specific archive file name. + (1) For example, '--file' ('-f') takes the name of an archive file as +an argument. If you do not supply an archive file name, 'tar' will use +a default, but this can be confusing; thus, we recommend that you always +supply a specific archive file name.  File: tar.info, Node: Long Options, Next: Short Options, Up: Styles @@ -1838,19 +1857,19 @@ File: tar.info, Node: Long Options, Next: Short Options, Up: Styles ----------------------- Each option has at least one "long" (or "mnemonic") name starting with -two dashes in a row, e.g., `--list'. The long names are more clear than +two dashes in a row, e.g., '--list'. The long names are more clear than their corresponding short or old names. It sometimes happens that a single long option has many different names which are synonymous, such -as `--compare' and `--diff'. In addition, long option names can be -given unique abbreviations. For example, `--cre' can be used in place -of `--create' because there is no other long option which begins with -`cre'. (One way to find this out is by trying it and seeing what +as '--compare' and '--diff'. In addition, long option names can be +given unique abbreviations. For example, '--cre' can be used in place +of '--create' because there is no other long option which begins with +'cre'. (One way to find this out is by trying it and seeing what happens; if a particular abbreviation could represent more than one -option, `tar' will tell you that that abbreviation is ambiguous and +option, 'tar' will tell you that that abbreviation is ambiguous and you'll know that that abbreviation won't work. You may also choose to -run `tar --help' to see a list of options. Be aware that if you run -`tar' with a unique abbreviation for the long name of an option you -didn't want to use, you are stuck; `tar' will perform the command as +run 'tar --help' to see a list of options. Be aware that if you run +'tar' with a unique abbreviation for the long name of an option you +didn't want to use, you are stuck; 'tar' will perform the command as ordered.) Long options are meant to be obvious and easy to remember, and their @@ -1860,21 +1879,20 @@ corresponding short options (see below). For example: $ tar --create --verbose --blocking-factor=20 --file=/dev/rmt0 gives a fairly good set of hints about what the command does, even for -those not fully acquainted with `tar'. +those not fully acquainted with 'tar'. - Long options which require arguments take those arguments -immediately following the option name. There are two ways of -specifying a mandatory argument. It can be separated from the option -name either by an equal sign, or by any amount of white space -characters. For example, the `--file' option (which tells the name of -the `tar' archive) is given a file such as `archive.tar' as argument by -using any of the following notations: `--file=archive.tar' or `--file -archive.tar'. + Long options which require arguments take those arguments immediately +following the option name. There are two ways of specifying a mandatory +argument. It can be separated from the option name either by an equal +sign, or by any amount of white space characters. For example, the +'--file' option (which tells the name of the 'tar' archive) is given a +file such as 'archive.tar' as argument by using any of the following +notations: '--file=archive.tar' or '--file archive.tar'. In contrast, optional arguments must always be introduced using an -equal sign. For example, the `--backup' option takes an optional +equal sign. For example, the '--backup' option takes an optional argument specifying backup type. It must be used as -`--backup=BACKUP-TYPE'. +'--backup=BACKUP-TYPE'.  File: tar.info, Node: Short Options, Next: Old Options, Prev: Long Options, Up: Styles @@ -1883,9 +1901,9 @@ File: tar.info, Node: Short Options, Next: Old Options, Prev: Long Options, ------------------------ Most options also have a "short option" name. Short options start with -a single dash, and are followed by a single character, e.g., `-t' -(which is equivalent to `--list'). The forms are absolutely identical -in function; they are interchangeable. +a single dash, and are followed by a single character, e.g., '-t' (which +is equivalent to '--list'). The forms are absolutely identical in +function; they are interchangeable. The short option names are faster to type than long option names. @@ -1893,20 +1911,20 @@ in function; they are interchangeable. immediately following the option, usually separated by white space. It is also possible to stick the argument right after the short option name, using no intervening space. For example, you might write -`-f archive.tar' or `-farchive.tar' instead of using -`--file=archive.tar'. Both `--file=ARCHIVE-NAME' and `-f ARCHIVE-NAME' +'-f archive.tar' or '-farchive.tar' instead of using +'--file=archive.tar'. Both '--file=ARCHIVE-NAME' and '-f ARCHIVE-NAME' denote the option which indicates a specific archive, here named -`archive.tar'. +'archive.tar'. Short options which take optional arguments take their arguments immediately following the option letter, _without any intervening white space characters_. Short options' letters may be clumped together, but you are not -required to do this (as compared to old options; see below). When -short options are clumped as a set, use one (single) dash for them all, -e.g., ``tar' -cvf'. Only the last option in such a set is allowed to -have an argument(1). +required to do this (as compared to old options; see below). When short +options are clumped as a set, use one (single) dash for them all, e.g., +''tar' -cvf'. Only the last option in such a set is allowed to have an +argument(1). When the options are separated, the argument for each option which requires an argument directly follows that option, as is usual for Unix @@ -1921,7 +1939,7 @@ properly, you may end up overwriting files. ---------- Footnotes ---------- (1) Clustering many options, the last of which has an argument, is a -rather opaque way to write options. Some wonder if GNU `getopt' should +rather opaque way to write options. Some wonder if GNU 'getopt' should not even be made helpful enough for considering such usages as invalid.  @@ -1930,24 +1948,24 @@ File: tar.info, Node: Old Options, Next: Mixing, Prev: Short Options, Up: St 3.3.3 Old Option Style ---------------------- -As far as we know, all `tar' programs, GNU and non-GNU, support "old -options": that is, if the first argument does not start with `-', it is -assumed to specify option letters. GNU `tar' supports old options not +As far as we know, all 'tar' programs, GNU and non-GNU, support "old +options": that is, if the first argument does not start with '-', it is +assumed to specify option letters. GNU 'tar' supports old options not only for historical reasons, but also because many people are used to them. If the first argument does not start with a dash, you are announcing the old option style instead of the short option style; old options are decoded differently. Like short options, old options are single letters. However, old -options must be written together as a single clumped set, without -spaces separating them or dashes preceding them. This set of letters -must be the first to appear on the command line, after the `tar' -program name and some white space; old options cannot appear anywhere -else. The letter of an old option is exactly the same letter as the -corresponding short option. For example, the old option `t' is the -same as the short option `-t', and consequently, the same as the long -option `--list'. So for example, the command `tar cv' specifies the -option `-v' in addition to the operation `-c'. +options must be written together as a single clumped set, without spaces +separating them or dashes preceding them. This set of letters must be +the first to appear on the command line, after the 'tar' program name +and some white space; old options cannot appear anywhere else. The +letter of an old option is exactly the same letter as the corresponding +short option. For example, the old option 't' is the same as the short +option '-t', and consequently, the same as the long option '--list'. So +for example, the command 'tar cv' specifies the option '-v' in addition +to the operation '-c'. When options that need arguments are given together with the command, all the associated arguments follow, in the same order as the options. @@ -1956,30 +1974,30 @@ style as follows: $ tar cvbf 20 /dev/rmt0 -Here, `20' is the argument of `-b' and `/dev/rmt0' is the argument of -`-f'. +Here, '20' is the argument of '-b' and '/dev/rmt0' is the argument of +'-f'. The old style syntax can make it difficult to match option letters with their corresponding arguments, and is often confusing. In the -command `tar cvbf 20 /dev/rmt0', for example, `20' is the argument for -`-b', `/dev/rmt0' is the argument for `-f', and `-v' does not have a +command 'tar cvbf 20 /dev/rmt0', for example, '20' is the argument for +'-b', '/dev/rmt0' is the argument for '-f', and '-v' does not have a corresponding argument. Even using short options like in -`tar -c -v -b 20 -f /dev/rmt0' is clearer, putting all arguments next -to the option they pertain to. +'tar -c -v -b 20 -f /dev/rmt0' is clearer, putting all arguments next to +the option they pertain to. If you want to reorder the letters in the old option argument, be sure to reorder any corresponding argument appropriately. - This old way of writing `tar' options can surprise even experienced + This old way of writing 'tar' options can surprise even experienced users. For example, the two commands: tar cfz archive.tar.gz file tar -cfz archive.tar.gz file -are quite different. The first example uses `archive.tar.gz' as the -value for option `f' and recognizes the option `z'. The second -example, however, uses `z' as the value for option `f' -- probably not -what was intended. +are quite different. The first example uses 'archive.tar.gz' as the +value for option 'f' and recognizes the option 'z'. The second example, +however, uses 'z' as the value for option 'f' -- probably not what was +intended. This second example could be corrected in many ways, among which the following are equivalent: @@ -1994,12 +2012,12 @@ File: tar.info, Node: Mixing, Prev: Old Options, Up: Styles 3.3.4 Mixing Option Styles -------------------------- -All three styles may be intermixed in a single `tar' command, so long -as the rules for each style are fully respected(1). Old style options -and either of the modern styles of options may be mixed within a single -`tar' command. However, old style options must be introduced as the +All three styles may be intermixed in a single 'tar' command, so long as +the rules for each style are fully respected(1). Old style options and +either of the modern styles of options may be mixed within a single +'tar' command. However, old style options must be introduced as the first arguments only, following the rule for old options (old options -must appear directly after the `tar' command and some white space). +must appear directly after the 'tar' command and some white space). Modern options may be given only after all arguments to the old options have been collected. If this rule is not respected, a modern option might be falsely interpreted as the value of the argument to one of the @@ -2030,8 +2048,8 @@ illustrate the many combinations and orderings of option styles. tar f archive.tar -c tar fc archive.tar - On the other hand, the following commands are _not_ equivalent to -the previous set: + On the other hand, the following commands are _not_ equivalent to the +previous set: tar -f -c archive.tar tar -fc archive.tar @@ -2042,36 +2060,37 @@ the previous set: These last examples mean something completely different from what the user intended (judging based on the example in the previous set which uses long options, whose intent is therefore very clear). The first -four specify that the `tar' archive would be a file named `-c', `c', -`carchive.tar' or `archive.tarc', respectively. The first two examples +four specify that the 'tar' archive would be a file named '-c', 'c', +'carchive.tar' or 'archive.tarc', respectively. The first two examples also specify a single non-option, NAME argument having the value -`archive.tar'. The last example contains only old style option letters -(repeating option `c' twice), not all of which are meaningful (eg., `.', -`h', or `i'), with no argument value. +'archive.tar'. The last example contains only old style option letters +(repeating option 'c' twice), not all of which are meaningful (eg., '.', +'h', or 'i'), with no argument value. ---------- Footnotes ---------- - (1) Before GNU `tar' version 1.11.6, a bug prevented intermixing old + (1) Before GNU 'tar' version 1.11.6, a bug prevented intermixing old style options with long options in some cases.  File: tar.info, Node: All Options, Next: help, Prev: Styles, Up: tar invocation -3.4 All `tar' Options +3.4 All 'tar' Options ===================== -The coming manual sections contain an alphabetical listing of all `tar' +The coming manual sections contain an alphabetical listing of all 'tar' operations and options, with brief descriptions and cross-references to -more in-depth explanations in the body of the manual. They also -contain an alphabetically arranged table of the short option forms with -their corresponding long option. You can use this table as a reference -for deciphering `tar' commands in scripts. +more in-depth explanations in the body of the manual. They also contain +an alphabetically arranged table of the short option forms with their +corresponding long option. You can use this table as a reference for +deciphering 'tar' commands in scripts. * Menu: * Operation Summary:: * Option Summary:: * Short Option Summary:: +* Position-Sensitive Options::  File: tar.info, Node: Operation Summary, Next: Option Summary, Up: All Options @@ -2079,354 +2098,396 @@ File: tar.info, Node: Operation Summary, Next: Option Summary, Up: All Option 3.4.1 Operations ---------------- -`--append' -`-r' +'--append' +'-r' + Appends files to the end of the archive. *Note append::. -`--catenate' -`-A' - Same as `--concatenate'. *Note concatenate::. +'--catenate' +'-A' + + Same as '--concatenate'. *Note concatenate::. + +'--compare' +'-d' -`--compare' -`-d' Compares archive members with their counterparts in the file system, and reports differences in file size, mode, owner, modification date and contents. *Note compare::. -`--concatenate' -`-A' - Appends other `tar' archives to the end of the archive. *Note +'--concatenate' +'-A' + + Appends other 'tar' archives to the end of the archive. *Note concatenate::. -`--create' -`-c' - Creates a new `tar' archive. *Note create::. +'--create' +'-c' + + Creates a new 'tar' archive. *Note create::. + +'--delete' -`--delete' Deletes members from the archive. Don't try this on an archive on a tape! *Note delete::. -`--diff' -`-d' - Same `--compare'. *Note compare::. +'--diff' +'-d' + + Same '--compare'. *Note compare::. + +'--extract' +'-x' -`--extract' -`-x' Extracts members from the archive into the file system. *Note extract::. -`--get' -`-x' - Same as `--extract'. *Note extract::. +'--get' +'-x' + + Same as '--extract'. *Note extract::. + +'--list' +'-t' -`--list' -`-t' Lists the members in an archive. *Note list::. -`--update' -`-u' +'--update' +'-u' + Adds files to the end of the archive, but only if they are newer than their counterparts already in the archive, or if they do not - already exist in the archive. *Note update::. - + already exist in the archive. *Note update::.  File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Operation Summary, Up: All Options -3.4.2 `tar' Options +3.4.2 'tar' Options ------------------- -`--absolute-names' -`-P' - Normally when creating an archive, `tar' strips an initial `/' - from member names, and when extracting from an archive `tar' - treats names specially if they have initial `/' or internal `..'. - This option disables that behavior. *Note absolute::. +'--absolute-names' +'-P' + + Normally when creating an archive, 'tar' strips an initial '/' from + member names, and when extracting from an archive 'tar' treats + names specially if they have initial '/' or internal '..'. This + option disables that behavior. *Note absolute::. + +'--acls' + Enable POSIX ACLs support. *Note acls: Extended File Attributes. + +'--after-date' -`--after-date' - (See `--newer', *note after::) + (See '--newer', *note after::) -`--anchored' +'--anchored' A pattern must match an initial subsequence of the name's components. *Note controlling pattern-matching::. -`--atime-preserve' -`--atime-preserve=replace' -`--atime-preserve=system' +'--atime-preserve' +'--atime-preserve=replace' +'--atime-preserve=system' + Attempt to preserve the access time of files when reading them. This option currently is effective only on files that you own, unless you have superuser privileges. - `--atime-preserve=replace' remembers the access time of a file + '--atime-preserve=replace' remembers the access time of a file before reading it, and then restores the access time afterwards. This may cause problems if other programs are reading the file at the same time, as the times of their accesses will be lost. On - most platforms restoring the access time also requires `tar' to + most platforms restoring the access time also requires 'tar' to restore the data modification time too, so this option may also cause problems if other programs are writing the file at the same - time (`tar' attempts to detect this situation, but cannot do so + time ('tar' attempts to detect this situation, but cannot do so reliably due to race conditions). Worse, on most platforms restoring the access time also updates the status change time, which means that this option is incompatible with incremental backups. - `--atime-preserve=system' avoids changing time stamps on files, + '--atime-preserve=system' avoids changing time stamps on files, without interfering with time stamp updates caused by other - programs, so it works better with incremental backups. However, - it requires a special `O_NOATIME' option from the underlying - operating and file system implementation, and it also requires - that searching directories does not update their access times. As - of this writing (November 2005) this works only with Linux, and - only with Linux kernels 2.6.8 and later. Worse, there is - currently no reliable way to know whether this feature actually - works. Sometimes `tar' knows that it does not work, and if you use - `--atime-preserve=system' then `tar' complains and exits right - away. But other times `tar' might think that the option works - when it actually does not. - - Currently `--atime-preserve' with no operand defaults to - `--atime-preserve=replace', but this may change in the future as - support for `--atime-preserve=system' improves. + programs, so it works better with incremental backups. However, it + requires a special 'O_NOATIME' option from the underlying operating + and file system implementation, and it also requires that searching + directories does not update their access times. As of this writing + (November 2005) this works only with Linux, and only with Linux + kernels 2.6.8 and later. Worse, there is currently no reliable way + to know whether this feature actually works. Sometimes 'tar' knows + that it does not work, and if you use '--atime-preserve=system' + then 'tar' complains and exits right away. But other times 'tar' + might think that the option works when it actually does not. + + Currently '--atime-preserve' with no operand defaults to + '--atime-preserve=replace', but this may change in the future as + support for '--atime-preserve=system' improves. If your operating or file system does not support - `--atime-preserve=system', you might be able to preserve access - times reliably by using the `mount' command. For example, you can + '--atime-preserve=system', you might be able to preserve access + times reliably by using the 'mount' command. For example, you can mount the file system read-only, or access the file system via a - read-only loopback mount, or use the `noatime' mount option + read-only loopback mount, or use the 'noatime' mount option available on some systems. However, mounting typically requires superuser privileges and can be a pain to manage. -`--auto-compress' -`-a' - During a `--create' operation, enables automatic compressed format - recognition based on the archive suffix. The effect of this - option is cancelled by `--no-auto-compress'. *Note gzip::. +'--auto-compress' +'-a' + + During a '--create' operation, enables automatic compressed format + recognition based on the archive suffix. The effect of this option + is cancelled by '--no-auto-compress'. *Note gzip::. -`--backup=BACKUP-TYPE' - Rather than deleting files from the file system, `tar' will back +'--backup=BACKUP-TYPE' + + Rather than deleting files from the file system, 'tar' will back them up using simple or numbered backups, depending upon BACKUP-TYPE. *Note backup::. -`--block-number' -`-R' - With this option present, `tar' prints error messages for read +'--block-number' +'-R' + + With this option present, 'tar' prints error messages for read errors with the block number in the archive file. *Note block-number::. -`--blocking-factor=BLOCKING' -`-b BLOCKING' - Sets the blocking factor `tar' uses to BLOCKING x 512 bytes per +'--blocking-factor=BLOCKING' +'-b BLOCKING' + + Sets the blocking factor 'tar' uses to BLOCKING x 512 bytes per record. *Note Blocking Factor::. -`--bzip2' -`-j' - This option tells `tar' to read or write archives through `bzip2'. +'--bzip2' +'-j' + + This option tells 'tar' to read or write archives through 'bzip2'. *Note gzip::. -`--check-device' +'--check-device' Check device numbers when creating a list of modified files for incremental archiving. This is the default. *Note device numbers::, for a detailed description. -`--checkpoint[=NUMBER]' - This option directs `tar' to print periodic checkpoint messages as +'--checkpoint[=NUMBER]' + + This option directs 'tar' to print periodic checkpoint messages as it reads through the archive. It is intended for when you want a - visual indication that `tar' is still running, but don't want to - see `--verbose' output. You can also instruct `tar' to execute a - list of actions on each checkpoint, see `--checkpoint-action' + visual indication that 'tar' is still running, but don't want to + see '--verbose' output. You can also instruct 'tar' to execute a + list of actions on each checkpoint, see '--checkpoint-action' below. For a detailed description, see *note checkpoints::. -`--checkpoint-action=ACTION' - Instruct `tar' to execute an action upon hitting a breakpoint. +'--checkpoint-action=ACTION' + Instruct 'tar' to execute an action upon hitting a breakpoint. Here we give only a brief outline. *Note checkpoints::, for a complete description. The ACTION argument can be one of the following: - bell + bell Produce an audible bell on the console. - dot - . + dot + . Print a single dot on the standard listing stream. - echo + echo Display a textual message on the standard error, with the status and number of the checkpoint. This is the default. - echo=STRING + echo=STRING Display STRING on the standard error. Before output, the string is subject to meta-character expansion. - exec=COMMAND + exec=COMMAND Execute the given COMMAND. - sleep=TIME + sleep=TIME Wait for TIME seconds. - ttyout=STRING - Output STRING on the current console (`/dev/tty'). + ttyout=STRING + Output STRING on the current console ('/dev/tty'). - Several `--checkpoint-action' options can be specified. The + Several '--checkpoint-action' options can be specified. The supplied actions will be executed in order of their appearance in the command line. - Using `--checkpoint-action' without `--checkpoint' assumes default + Using '--checkpoint-action' without '--checkpoint' assumes default checkpoint frequency of one checkpoint per 10 records. -`--check-links' -`-l' - If this option was given, `tar' will check the number of links +'--check-links' +'-l' + If this option was given, 'tar' will check the number of links dumped for each processed file. If this number does not match the total number of hard links for the file, a warning message will be output (1). *Note hard links::. -`--compress' -`--uncompress' -`-Z' - `tar' will use the `compress' program when reading or writing the +'--compress' +'--uncompress' +'-Z' + + 'tar' will use the 'compress' program when reading or writing the archive. This allows you to directly act on archives while saving space. *Note gzip::. -`--confirmation' - (See `--interactive'.) *Note interactive::. +'--clamp-mtime' + + (See '--mtime'.) + +'--confirmation' + + (See '--interactive'.) *Note interactive::. + +'--delay-directory-restore' -`--delay-directory-restore' Delay setting modification times and permissions of extracted - directories until the end of extraction. *Note Directory + directories until the end of extraction. *Note Directory Modification Times and Permissions::. -`--dereference' -`-h' - When reading or writing a file to be archived, `tar' accesses the +'--dereference' +'-h' + + When reading or writing a file to be archived, 'tar' accesses the file that a symbolic link points to, rather than the symlink itself. *Note dereference::. -`--directory=DIR' -`-C DIR' - When this option is specified, `tar' will change its current +'--directory=DIR' +'-C DIR' + + When this option is specified, 'tar' will change its current directory to DIR before performing any operations. When this option is used during archive creation, it is order sensitive. *Note directory::. -`--exclude=PATTERN' - When performing operations, `tar' will skip files that match +'--exclude=PATTERN' + + When performing operations, 'tar' will skip files that match PATTERN. *Note exclude::. -`--exclude-backups' +'--exclude-backups' Exclude backup and lock files. *Note exclude-backups: exclude. -`--exclude-from=FILE' -`-X FILE' - Similar to `--exclude', except `tar' will use the list of patterns +'--exclude-from=FILE' +'-X FILE' + + Similar to '--exclude', except 'tar' will use the list of patterns in the file FILE. *Note exclude::. -`--exclude-caches' +'--exclude-caches' + Exclude from dump any directory containing a valid cache directory tag file, but still dump the directory node and the tag file itself. *Note exclude-caches: exclude. -`--exclude-caches-under' +'--exclude-caches-under' + Exclude from dump any directory containing a valid cache directory tag file, but still dump the directory node itself. *Note exclude::. -`--exclude-caches-all' +'--exclude-caches-all' + Exclude from dump any directory containing a valid cache directory tag file. *Note exclude::. -`--exclude-ignore=FILE' - Before dumping a directory, `tar' checks if it contains FILE. If +'--exclude-ignore=FILE' + Before dumping a directory, 'tar' checks if it contains FILE. If so, exclusion patterns are read from this file. The patterns affect only the directory itself. *Note exclude::. -`--exclude-ignore-recursive=FILE' - Before dumping a directory, `tar' checks if it contains FILE. If +'--exclude-ignore-recursive=FILE' + Before dumping a directory, 'tar' checks if it contains FILE. If so, exclusion patterns are read from this file. The patterns affect the directory and all itssubdirectories. *Note exclude::. -`--exclude-tag=FILE' +'--exclude-tag=FILE' + Exclude from dump any directory containing file named FILE, but dump the directory node and FILE itself. *Note exclude-tag: exclude. -`--exclude-tag-under=FILE' +'--exclude-tag-under=FILE' + Exclude from dump the contents of any directory containing file named FILE, but dump the directory node itself. *Note exclude-tag-under: exclude. -`--exclude-tag-all=FILE' +'--exclude-tag-all=FILE' + Exclude from dump any directory containing file named FILE. *Note exclude-tag-all: exclude. -`--exclude-vcs' +'--exclude-vcs' + Exclude from dump directories and files, that are internal for some widely used version control systems. *Note exclude-vcs::. -`--exclude-vcs-ignores' +'--exclude-vcs-ignores' Exclude files that match patterns read from VCS-specific ignore - files. Supported files are: `.cvsignore', `.gitignore', - `.bzrignore', and `.hgignore'. The semantics of each file is the - same as for the corresponding VCS, e.g. patterns read from - `.gitignore' affect the directory and all its subdirectories. + files. Supported files are: '.cvsignore', '.gitignore', + '.bzrignore', and '.hgignore'. The semantics of each file is the + same as for the corresponding VCS, e.g. patterns read from + '.gitignore' affect the directory and all its subdirectories. *Note exclude-vcs-ignores::. -`--file=ARCHIVE' -`-f ARCHIVE' - `tar' will use the file ARCHIVE as the `tar' archive it performs - operations on, rather than `tar''s compilation dependent default. +'--file=ARCHIVE' +'-f ARCHIVE' + + 'tar' will use the file ARCHIVE as the 'tar' archive it performs + operations on, rather than 'tar''s compilation dependent default. *Note file tutorial::. -`--files-from=FILE' -`-T FILE' - `tar' will use the contents of FILE as a list of archive members - or files to operate on, in addition to those specified on the +'--files-from=FILE' +'-T FILE' + + 'tar' will use the contents of FILE as a list of archive members or + files to operate on, in addition to those specified on the command-line. *Note files::. -`--force-local' - Forces `tar' to interpret the file name given to `--file' as a +'--force-local' + + Forces 'tar' to interpret the file name given to '--file' as a local file, even if it looks like a remote tape drive name. *Note local and remote archives::. -`--format=FORMAT' -`-H FORMAT' +'--format=FORMAT' +'-H FORMAT' + Selects output archive format. FORMAT may be one of the following: - `v7' - Creates an archive that is compatible with Unix V7 `tar'. + 'v7' + Creates an archive that is compatible with Unix V7 'tar'. - `oldgnu' - Creates an archive that is compatible with GNU `tar' version + 'oldgnu' + Creates an archive that is compatible with GNU 'tar' version 1.12 or earlier. - `gnu' + 'gnu' Creates archive in GNU tar 1.13 format. Basically it is the - same as `oldgnu' with the only difference in the way it + same as 'oldgnu' with the only difference in the way it handles long numeric fields. - `ustar' + 'ustar' Creates a POSIX.1-1988 compatible archive. - `posix' + 'posix' Creates a POSIX.1-2001 archive. - *Note Formats::, for a detailed discussion of these formats. -`--full-time' - This option instructs `tar' to print file times to their full +'--full-time' + This option instructs 'tar' to print file times to their full resolution. Usually this means 1-second resolution, but that - depends on the underlying file system. The `--full-time' option + depends on the underlying file system. The '--full-time' option takes effect only when detailed output (verbosity level 2 or - higher) has been requested using the `--verbose' option, e.g., - when listing or extracting archives: + higher) has been requested using the '--verbose' option, e.g., when + listing or extracting archives: $ tar -t -v --full-time -f archive.tar @@ -2435,425 +2496,539 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera $ tar -c -vv --full-time -f archive.tar . Notice, thar when creating the archive you need to specify - `--verbose' twice to get a detailed output (*note verbose + '--verbose' twice to get a detailed output (*note verbose tutorial::). -`--group=GROUP' - Files added to the `tar' archive will have a group ID of GROUP, +'--group=GROUP' + + Files added to the 'tar' archive will have a group ID of GROUP, rather than the group from the source file. GROUP can specify a symbolic name, or a numeric ID, or both as NAME:ID. *Note override::. - Also see the comments for the `--owner=USER' option. + Also see the '--group-map' option and comments for the + '--owner=USER' option. + +'--group-map=FILE' + + Read owner group translation map from FILE. This option allows to + translate only certain group names and/or UIDs. *Note override::, + for a detailed description. When used together with '--group' + option, the latter affects only those files whose owner group is + not listed in the FILE. + + This option does not affect extraction from archives. -`--gzip' -`--gunzip' -`--ungzip' -`-z' - This option tells `tar' to read or write archives through `gzip', - allowing `tar' to directly operate on several kinds of compressed +'--gzip' +'--gunzip' +'--ungzip' +'-z' + + This option tells 'tar' to read or write archives through 'gzip', + allowing 'tar' to directly operate on several kinds of compressed archives transparently. *Note gzip::. -`--hard-dereference' +'--hard-dereference' When creating an archive, dereference hard links and store the files they refer to, instead of creating usual hard link members. *Note hard links::. -`--help' -`-?' - `tar' will print out a short message summarizing the operations and - options to `tar' and exit. *Note help::. +'--help' +'-?' + + 'tar' will print out a short message summarizing the operations and + options to 'tar' and exit. *Note help::. -`--ignore-case' +'--hole-detection=METHOD' + Use METHOD to detect holes in sparse files. This option implies + '--sparse'. Valid methods are 'seek' and 'raw'. Default is 'seek' + with fallback to 'raw' when not applicable. *Note sparse::. + +'--ignore-case' Ignore case when matching member or file names with patterns. *Note controlling pattern-matching::. -`--ignore-command-error' - Ignore exit codes of subprocesses. *Note Writing to an External +'--ignore-command-error' + Ignore exit codes of subprocesses. *Note Writing to an External Program::. -`--ignore-failed-read' +'--ignore-failed-read' + Do not exit unsuccessfully merely because an unreadable file was encountered. *Note Ignore Failed Read::. -`--ignore-zeros' -`-i' - With this option, `tar' will ignore zeroed blocks in the archive, - which normally signals EOF. *Note Reading::. +'--ignore-zeros' +'-i' -`--incremental' -`-G' - Informs `tar' that it is working with an old GNU-format - incremental backup archive. It is intended primarily for - backwards compatibility only. *Note Incremental Dumps::, for a - detailed discussion of incremental archives. + With this option, 'tar' will ignore zeroed blocks in the archive, + which normally signals EOF. *Note Reading::. + +'--incremental' +'-G' + + Informs 'tar' that it is working with an old GNU-format incremental + backup archive. It is intended primarily for backwards + compatibility only. *Note Incremental Dumps::, for a detailed + discussion of incremental archives. + +'--index-file=FILE' -`--index-file=FILE' Send verbose output to FILE instead of to standard output. -`--info-script=COMMAND' -`--new-volume-script=COMMAND' -`-F COMMAND' - When `tar' is performing multi-tape backups, COMMAND is run at the - end of each tape. If it exits with nonzero status, `tar' fails +'--info-script=COMMAND' +'--new-volume-script=COMMAND' +'-F COMMAND' + + When 'tar' is performing multi-tape backups, COMMAND is run at the + end of each tape. If it exits with nonzero status, 'tar' fails immediately. *Note info-script::, for a detailed discussion of this feature. -`--interactive' -`--confirmation' -`-w' - Specifies that `tar' should ask the user for confirmation before +'--interactive' +'--confirmation' +'-w' + + Specifies that 'tar' should ask the user for confirmation before performing potentially destructive options, such as overwriting files. *Note interactive::. -`--keep-directory-symlink' +'--keep-directory-symlink' + This option changes the behavior of tar when it encounters a symlink with the same name as the directory that it is about to extract. By default, in this case tar would first remove the symlink and then proceed extracting the directory. - The `--keep-directory-symlink' option disables this behavior and + The '--keep-directory-symlink' option disables this behavior and instructs tar to follow symlinks to directories when extracting from the archive. It is mainly intended to provide compatibility with the Slackware installation scripts. -`--keep-newer-files' +'--keep-newer-files' + Do not replace existing files that are newer than their archive copies when extracting files from an archive. -`--keep-old-files' -`-k' +'--keep-old-files' +'-k' + Do not overwrite existing files when extracting files from an archive. Return error if such files exist. See also *note --skip-old-files::. *Note Keep Old Files::. -`--label=NAME' -`-V NAME' - When creating an archive, instructs `tar' to write NAME as a name - record in the archive. When extracting or listing archives, `tar' +'--label=NAME' +'-V NAME' + + When creating an archive, instructs 'tar' to write NAME as a name + record in the archive. When extracting or listing archives, 'tar' will only operate on archives that have a label matching the pattern specified in NAME. *Note Tape Files::. -`--level=N' - Force incremental backup of level N. As of GNU `tar' version - 1.28, the option `--level=0' truncates the snapshot file, thereby - forcing the level 0 dump. Other values of N are effectively - ignored. *Note --level=0::, for details and examples. +'--level=N' + Force incremental backup of level N. As of GNU 'tar' version 1.29, + the option '--level=0' truncates the snapshot file, thereby forcing + the level 0 dump. Other values of N are effectively ignored. + *Note --level=0::, for details and examples. The use of this option is valid only in conjunction with the - `--listed-incremental' option. *Note Incremental Dumps::, for a + '--listed-incremental' option. *Note Incremental Dumps::, for a detailed description. -`--listed-incremental=SNAPSHOT-FILE' -`-g SNAPSHOT-FILE' - During a `--create' operation, specifies that the archive that - `tar' creates is a new GNU-format incremental backup, using +'--listed-incremental=SNAPSHOT-FILE' +'-g SNAPSHOT-FILE' + + During a '--create' operation, specifies that the archive that + 'tar' creates is a new GNU-format incremental backup, using SNAPSHOT-FILE to determine which files to backup. With other - operations, informs `tar' that the archive is in incremental + operations, informs 'tar' that the archive is in incremental format. *Note Incremental Dumps::. -`--lzip' - This option tells `tar' to read or write archives through `lzip'. +'--lzip' + + This option tells 'tar' to read or write archives through 'lzip'. *Note gzip::. -`--lzma' - This option tells `tar' to read or write archives through `lzma'. +'--lzma' + + This option tells 'tar' to read or write archives through 'lzma'. *Note gzip::. -`--lzop' - This option tells `tar' to read or write archives through `lzop'. +'--lzop' + + This option tells 'tar' to read or write archives through 'lzop'. *Note gzip::. -`--mode=PERMISSIONS' - When adding files to an archive, `tar' will use PERMISSIONS for - the archive members, rather than the permissions from the files. +'--mode=PERMISSIONS' + + When adding files to an archive, 'tar' will use PERMISSIONS for the + archive members, rather than the permissions from the files. PERMISSIONS can be specified either as an octal number or as - symbolic permissions, like with `chmod'. *Note override::. + symbolic permissions, like with 'chmod'. *Note override::. + +'--mtime=DATE' -`--mtime=DATE' - When adding files to an archive, `tar' will use DATE as the + When adding files to an archive, 'tar' will use DATE as the modification time of members when creating archives, instead of - their actual modification times. The value of DATE can be either - a textual date representation (*note Date input formats::) or a - name of the existing file, starting with `/' or `.'. In the - latter case, the modification time of that file is used. *Note + their actual modification times. The value of DATE can be either a + textual date representation (*note Date input formats::) or a name + of the existing file, starting with '/' or '.'. In the latter + case, the modification time of that file is used. *Note override::. -`--multi-volume' -`-M' - Informs `tar' that it should create or otherwise operate on a - multi-volume `tar' archive. *Note Using Multiple Tapes::. - -`--new-volume-script' - (see `--info-script') - -`--newer=DATE' -`--after-date=DATE' -`-N' - When creating an archive, `tar' will only add files that have - changed since DATE. If DATE begins with `/' or `.', it is taken - to be the name of a file whose data modification time specifies - the date. *Note after::. - -`--newer-mtime=DATE' - Like `--newer', but add only files whose contents have changed (as - opposed to just `--newer', which will also back up files for which + When '--clamp-mtime' is also specified, files with modification + times earlier than DATE will retain their actual modification + times, and DATE will only be used for files whose modification + times are later than DATE. + +'--multi-volume' +'-M' + + Informs 'tar' that it should create or otherwise operate on a + multi-volume 'tar' archive. *Note Using Multiple Tapes::. + +'--new-volume-script' + + (see '--info-script') + +'--newer=DATE' +'--after-date=DATE' +'-N' + + When creating an archive, 'tar' will only add files that have + changed since DATE. If DATE begins with '/' or '.', it is taken to + be the name of a file whose data modification time specifies the + date. *Note after::. + +'--newer-mtime=DATE' + + Like '--newer', but add only files whose contents have changed (as + opposed to just '--newer', which will also back up files for which any status information has changed). *Note after::. -`--no-anchored' +'--no-acls' + Disable the POSIX ACLs support. *Note acls: Extended File + Attributes. + +'--no-anchored' An exclude pattern can match any subsequence of the name's components. *Note controlling pattern-matching::. -`--no-auto-compress' +'--no-auto-compress' + Disables automatic compressed format recognition based on the archive suffix. *Note --auto-compress::. *Note gzip::. -`--no-check-device' +'--no-check-device' Do not check device numbers when creating a list of modified files for incremental archiving. *Note device numbers::, for a detailed description. -`--no-delay-directory-restore' - Modification times and permissions of extracted directories are - set when all files from this directory have been extracted. This - is the default. *Note Directory Modification Times and - Permissions::. +'--no-delay-directory-restore' + + Modification times and permissions of extracted directories are set + when all files from this directory have been extracted. This is + the default. *Note Directory Modification Times and Permissions::. -`--no-ignore-case' +'--no-ignore-case' Use case-sensitive matching. *Note controlling pattern-matching::. -`--no-ignore-command-error' +'--no-ignore-command-error' Print warnings about subprocesses that terminated with a nonzero - exit code. *Note Writing to an External Program::. + exit code. *Note Writing to an External Program::. -`--no-null' - If the `--null' option was given previously, this option cancels - its effect, so that any following `--files-from' options will +'--no-null' + + If the '--null' option was given previously, this option cancels + its effect, so that any following '--files-from' options will expect their file lists to be newline-terminated. -`--no-overwrite-dir' +'--no-overwrite-dir' + Preserve metadata of existing directories when extracting files from an archive. *Note Overwrite Old Files::. -`--no-quote-chars=STRING' +'--no-quote-chars=STRING' Remove characters listed in STRING from the list of quoted - characters set by the previous `--quote-chars' option (*note + characters set by the previous '--quote-chars' option (*note quoting styles::). -`--no-recursion' - With this option, `tar' will not recurse into directories. *Note +'--no-recursion' + + With this option, 'tar' will not recurse into directories. *Note recurse::. -`--no-same-owner' -`-o' +'--no-same-owner' +'-o' + When extracting an archive, do not attempt to preserve the owner - specified in the `tar' archive. This the default behavior for + specified in the 'tar' archive. This the default behavior for ordinary users. -`--no-same-permissions' +'--no-same-permissions' + When extracting an archive, subtract the user's umask from files - from the permissions specified in the archive. This is the - default behavior for ordinary users. + from the permissions specified in the archive. This is the default + behavior for ordinary users. + +'--no-seek' -`--no-seek' The archive media does not support seeks to arbitrary locations. - Usually `tar' determines automatically whether the archive can be + Usually 'tar' determines automatically whether the archive can be seeked or not. Use this option to disable this mechanism. -`--no-unquote' +'--no-selinux' + Disable SELinux context support. *Note SELinux: Extended File + Attributes. + +'--no-unquote' Treat all input file or member names literally, do not interpret escape sequences. *Note input name quoting::. -`--no-wildcards' +'--no-verbatim-files-from' + + Instructs GNU 'tar' to treat each line read from a file list as if + it were supplied in the command line. I.e., leading and trailing + whitespace is removed and, if the result begins with a dash, it is + treated as a GNU 'tar' command line option. + + This is default behavior. This option is provided as a way to + restore it after '--verbatim-files-from' option. + + It is implied by the '--no-null' option. + + *Note no-verbatim-files-from::. + +'--no-wildcards' Do not use wildcards. *Note controlling pattern-matching::. -`--no-wildcards-match-slash' - Wildcards do not match `/'. *Note controlling pattern-matching::. +'--no-wildcards-match-slash' + Wildcards do not match '/'. *Note controlling pattern-matching::. + +'--no-xattrs' + Disable extended attributes support. *Note xattrs: Extended File + Attributes. + +'--null' + + When 'tar' is using the '--files-from' option, this option + instructs 'tar' to expect file names terminated with NUL, and to + process file names verbatim. + + This means that 'tar' correctly works with file names that contain + newlines or begin with a dash. + + *Note nul::. + + See also *note verbatim-files-from::. -`--null' - When `tar' is using the `--files-from' option, this option - instructs `tar' to expect file names terminated with NUL, so `tar' - can correctly work with file names that contain newlines. *Note - nul::. +'--numeric-owner' -`--numeric-owner' - This option will notify `tar' that it should use numeric user and - group IDs when creating a `tar' file, rather than names. *Note + This option will notify 'tar' that it should use numeric user and + group IDs when creating a 'tar' file, rather than names. *Note Attributes::. -`-o' - The function of this option depends on the action `tar' is - performing. When extracting files, `-o' is a synonym for - `--no-same-owner', i.e., it prevents `tar' from restoring - ownership of files being extracted. +'-o' + The function of this option depends on the action 'tar' is + performing. When extracting files, '-o' is a synonym for + '--no-same-owner', i.e., it prevents 'tar' from restoring ownership + of files being extracted. - When creating an archive, it is a synonym for `--old-archive'. + When creating an archive, it is a synonym for '--old-archive'. This behavior is for compatibility with previous versions of GNU - `tar', and will be removed in future releases. + 'tar', and will be removed in future releases. *Note Changes::, for more information. -`--occurrence[=NUMBER]' +'--occurrence[=NUMBER]' + This option can be used in conjunction with one of the subcommands - `--delete', `--diff', `--extract' or `--list' when a list of files - is given either on the command line or via `-T' option. + '--delete', '--diff', '--extract' or '--list' when a list of files + is given either on the command line or via '-T' option. - This option instructs `tar' to process only the NUMBERth - occurrence of each named file. NUMBER defaults to 1, so + This option instructs 'tar' to process only the NUMBERth occurrence + of each named file. NUMBER defaults to 1, so tar -x -f archive.tar --occurrence filename - will extract the first occurrence of the member `filename' from - `archive.tar' and will terminate without scanning to the end of - the archive. + will extract the first occurrence of the member 'filename' from + 'archive.tar' and will terminate without scanning to the end of the + archive. -`--old-archive' - Synonym for `--format=v7'. +'--old-archive' + Synonym for '--format=v7'. -`--one-file-system' - Used when creating an archive. Prevents `tar' from recursing into +'--one-file-system' + Used when creating an archive. Prevents 'tar' from recursing into directories that are on different file systems from the current directory. -`--one-top-level[=DIR]' - Tells `tar' to create a new directory beneath the extraction - directory (or the one passed to `-C') and use it to guard against +'--one-top-level[=DIR]' + Tells 'tar' to create a new directory beneath the extraction + directory (or the one passed to '-C') and use it to guard against tarbombs. In the absence of DIR argument, the name of the new directory will be equal to the base name of the archive (file name - minus the archive suffix, if recognized). Any member names that - do not begin with that directory name (after transformations from - `--transform' and `--strip-components') will be prefixed with it. - Recognized file name suffixes are `.tar', and any compression + minus the archive suffix, if recognized). Any member names that do + not begin with that directory name (after transformations from + '--transform' and '--strip-components') will be prefixed with it. + Recognized file name suffixes are '.tar', and any compression suffixes recognizable by *Note --auto-compress::. -`--overwrite' +'--overwrite' + Overwrite existing files and directory metadata when extracting files from an archive. *Note Overwrite Old Files::. -`--overwrite-dir' +'--overwrite-dir' + Overwrite the metadata of existing directories when extracting files from an archive. *Note Overwrite Old Files::. -`--owner=USER' - Specifies that `tar' should use USER as the owner of members when +'--owner=USER' + + Specifies that 'tar' should use USER as the owner of members when creating archives, instead of the user associated with the source file. USER can specify a symbolic name, or a numeric ID, or both as NAME:ID. *Note override::. + This option does not affect extraction from archives. See also + '--owner-map', below. + +'--owner-map=FILE' + + Read owner translation map from FILE. This option allows to + translate only certain owner names or UIDs. *Note override::, for + a detailed description. When used together with '--owner' option, + the latter affects only those files whose owner is not listed in + the FILE. + This option does not affect extraction from archives. -`--pax-option=KEYWORD-LIST' +'--pax-option=KEYWORD-LIST' This option enables creation of the archive in POSIX.1-2001 format - (*note posix::) and modifies the way `tar' handles the extended - header keywords. KEYWORD-LIST is a comma-separated list of - keyword options. *Note PAX keywords::, for a detailed discussion. + (*note posix::) and modifies the way 'tar' handles the extended + header keywords. KEYWORD-LIST is a comma-separated list of keyword + options. *Note PAX keywords::, for a detailed discussion. + +'--portability' +'--old-archive' + Synonym for '--format=v7'. -`--portability' -`--old-archive' - Synonym for `--format=v7'. +'--posix' + Same as '--format=posix'. -`--posix' - Same as `--format=posix'. +'--preserve-order' -`--preserve' - Synonymous with specifying both `--preserve-permissions' and - `--same-order'. *Note Setting Access Permissions::. + (See '--same-order'; *note Reading::.) -`--preserve-order' - (See `--same-order'; *note Reading::.) +'--preserve-permissions' +'--same-permissions' +'-p' -`--preserve-permissions' -`--same-permissions' -`-p' - When `tar' is extracting an archive, it normally subtracts the + When 'tar' is extracting an archive, it normally subtracts the users' umask from the permissions specified in the archive and uses that number as the permissions to create the destination file. - Specifying this option instructs `tar' that it should use the + Specifying this option instructs 'tar' that it should use the permissions directly from the archive. *Note Setting Access Permissions::. -`--quote-chars=STRING' +'--quote-chars=STRING' Always quote characters from STRING, even if the selected quoting style would not quote them (*note quoting styles::). -`--quoting-style=STYLE' - Set quoting style to use when printing member and file names - (*note quoting styles::). Valid STYLE values are: `literal', - `shell', `shell-always', `c', `escape', `locale', and `clocale'. - Default quoting style is `escape', unless overridden while - configuring the package. +'--quoting-style=STYLE' + Set quoting style to use when printing member and file names (*note + quoting styles::). Valid STYLE values are: 'literal', 'shell', + 'shell-always', 'c', 'escape', 'locale', and 'clocale'. Default + quoting style is 'escape', unless overridden while configuring the + package. -`--read-full-records' -`-B' - Specifies that `tar' should reblock its input, for reading from +'--read-full-records' +'-B' + + Specifies that 'tar' should reblock its input, for reading from pipes on systems with buggy implementations. *Note Reading::. -`--record-size=SIZE[SUF]' - Instructs `tar' to use SIZE bytes per record when accessing the +'--record-size=SIZE[SUF]' + + Instructs 'tar' to use SIZE bytes per record when accessing the archive. The argument can be suffixed with a "size suffix", e.g. - `--record-size=10K' for 10 Kilobytes. *Note size-suffixes::, for - a list of valid suffixes. *Note Blocking Factor::, for a detailed - description of this option. + '--record-size=10K' for 10 Kilobytes. *Note Table 9.1: + size-suffixes, for a list of valid suffixes. *Note Blocking + Factor::, for a detailed description of this option. -`--recursion' - With this option, `tar' recurses into directories (default). - *Note recurse::. +'--recursion' + + With this option, 'tar' recurses into directories (default). *Note + recurse::. + +'--recursive-unlink' -`--recursive-unlink' - Remove existing directory hierarchies before extracting - directories of the same name from the archive. *Note Recursive - Unlink::. + Remove existing directory hierarchies before extracting directories + of the same name from the archive. *Note Recursive Unlink::. -`--remove-files' - Directs `tar' to remove the source file from the file system after +'--remove-files' + + Directs 'tar' to remove the source file from the file system after appending it to an archive. *Note remove files::. -`--restrict' - Disable use of some potentially harmful `tar' options. Currently - this option disables shell invocation from multi-volume menu - (*note Using Multiple Tapes::). +'--restrict' + + Disable use of some potentially harmful 'tar' options. Currently + this option disables shell invocation from multi-volume menu (*note + Using Multiple Tapes::). -`--rmt-command=CMD' - Notifies `tar' that it should use CMD instead of the default - `/usr/libexec/rmt' (*note Remote Tape Server::). +'--rmt-command=CMD' -`--rsh-command=CMD' - Notifies `tar' that is should use CMD to communicate with remote + Notifies 'tar' that it should use CMD instead of the default + '/usr/libexec/rmt' (*note Remote Tape Server::). + +'--rsh-command=CMD' + + Notifies 'tar' that is should use CMD to communicate with remote devices. *Note Device::. -`--same-order' -`--preserve-order' -`-s' - This option is an optimization for `tar' when running on machines - with small amounts of memory. It informs `tar' that the list of +'--same-order' +'--preserve-order' +'-s' + + This option is an optimization for 'tar' when running on machines + with small amounts of memory. It informs 'tar' that the list of file arguments has already been sorted to match the order of files in the archive. *Note Reading::. -`--same-owner' - When extracting an archive, `tar' will attempt to preserve the - owner specified in the `tar' archive with this option present. +'--same-owner' + + When extracting an archive, 'tar' will attempt to preserve the + owner specified in the 'tar' archive with this option present. This is the default behavior for the superuser; this option has an effect only for ordinary users. *Note Attributes::. -`--same-permissions' - (See `--preserve-permissions'; *note Setting Access Permissions::.) +'--same-permissions' + + (See '--preserve-permissions'; *note Setting Access Permissions::.) + +'--seek' +'-n' -`--seek' -`-n' Assume that the archive media supports seeks to arbitrary - locations. Usually `tar' determines automatically whether the + locations. Usually 'tar' determines automatically whether the archive can be seeked or not. This option is intended for use in cases when such recognition fails. It takes effect only if the - archive is open for reading (e.g. with `--list' or `--extract' + archive is open for reading (e.g. with '--list' or '--extract' options). -`--show-defaults' - Displays the default options used by `tar' and exits successfully. +'--selinux' + Enable the SELinux context support. *Note selinux: Extended File + Attributes. + +'--show-defaults' + + Displays the default options used by 'tar' and exits successfully. This option is intended for use in shell scripts. Here is an example of what you can see using this option: @@ -2862,206 +3037,264 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera --rmt-command=/usr/libexec/rmt --rsh-command=/usr/bin/rsh Notice, that this option outputs only one line. The example output - above has been split to fit page boundaries. *Note defaults::. + above has been split to fit page boundaries. *Note defaults::. -`--show-omitted-dirs' - Instructs `tar' to mention the directories it is skipping when - operating on a `tar' archive. *Note show-omitted-dirs::. +'--show-omitted-dirs' -`--show-snapshot-field-ranges' - Displays the range of values allowed by this version of `tar' for + Instructs 'tar' to mention the directories it is skipping when + operating on a 'tar' archive. *Note show-omitted-dirs::. + +'--show-snapshot-field-ranges' + + Displays the range of values allowed by this version of 'tar' for each field in the snapshot file, then exits successfully. *Note Snapshot Files::. -`--show-transformed-names' -`--show-stored-names' +'--show-transformed-names' +'--show-stored-names' + Display file or member names after applying any transformations (*note transform::). In particular, when used in conjunction with - one of the archive creation operations it instructs `tar' to list + one of the archive creation operations it instructs 'tar' to list the member names stored in the archive, as opposed to the actual file names. *Note listing member and file names::. -`--skip-old-files' +'--skip-old-files' + Do not overwrite existing files when extracting files from an archive. *Note Keep Old Files::. - This option differs from `--keep-old-files' in that it does not + This option differs from '--keep-old-files' in that it does not treat such files as an error, instead it just silently avoids overwriting them. - The `--warning=existing-file' option can be used together with - this option to produce warning messages about existing old files - (*note warnings::). + The '--warning=existing-file' option can be used together with this + option to produce warning messages about existing old files (*note + warnings::). -`--sort=ORDER' +'--sort=ORDER' Specify the directory sorting order when reading directories. ORDER may be one of the following: - `none' - No directory sorting is performed. This is the default. + 'none' + No directory sorting is performed. This is the default. - `name' - Sort the directory entries on name. The operating system may + 'name' + Sort the directory entries on name. The operating system may deliver directory entries in a more or less random order, and sorting them makes archive creation reproducible. - `inode' - Sort the directory entries on inode number. Sorting - directories on inode number may reduce the amount of disk - seek operations when creating an archive for some file - systems. + 'inode' + Sort the directory entries on inode number. Sorting + directories on inode number may reduce the amount of disk seek + operations when creating an archive for some file systems. +'--sparse' +'-S' -`--sparse' -`-S' Invokes a GNU extension when adding files to an archive that handles sparse files efficiently. *Note sparse::. -`--sparse-version=VERSION' +'--sparse-version=VERSION' + Specifies the "format version" to use when archiving sparse files. - Implies `--sparse'. *Note sparse::. For the description of the + Implies '--sparse'. *Note sparse::. For the description of the supported sparse formats, *Note Sparse Formats::. -`--starting-file=NAME' -`-K NAME' - This option affects extraction only; `tar' will skip extracting +'--starting-file=NAME' +'-K NAME' + + This option affects extraction only; 'tar' will skip extracting files in the archive until it finds one that matches NAME. *Note Scarce::. -`--strip-components=NUMBER' +'--strip-components=NUMBER' Strip given NUMBER of leading components from file names before - extraction. For example, if archive `archive.tar' contained - `/some/file/name', then running + extraction. For example, if archive 'archive.tar' contained + '/some/file/name', then running tar --extract --file archive.tar --strip-components=2 - would extract this file to file `name'. + would extract this file to file 'name'. + + *Note transform::. -`--suffix=SUFFIX' - Alters the suffix `tar' uses when backing up files from the default - `~'. *Note backup::. +'--suffix=SUFFIX' -`--tape-length=NUM[SUF]' -`-L NUM[SUF]' - Specifies the length of tapes that `tar' is writing as being + Alters the suffix 'tar' uses when backing up files from the default + '~'. *Note backup::. + +'--tape-length=NUM[SUF]' +'-L NUM[SUF]' + + Specifies the length of tapes that 'tar' is writing as being NUM x 1024 bytes long. If optional SUF is given, it specifies a multiplicative factor to be used instead of 1024. For example, - `-L2M' means 2 megabytes. *Note size-suffixes::, for a list of - allowed suffixes. *Note Using Multiple Tapes::, for a detailed - discussion of this option. + '-L2M' means 2 megabytes. *Note Table 9.1: size-suffixes, for a + list of allowed suffixes. *Note Using Multiple Tapes::, for a + detailed discussion of this option. + +'--test-label' -`--test-label' Reads the volume label. If an argument is specified, test whether it matches the volume label. *Note --test-label option::. -`--to-command=COMMAND' - During extraction `tar' will pipe extracted files to the standard +'--to-command=COMMAND' + + During extraction 'tar' will pipe extracted files to the standard input of COMMAND. *Note Writing to an External Program::. -`--to-stdout' -`-O' - During extraction, `tar' will extract files to stdout rather than +'--to-stdout' +'-O' + + During extraction, 'tar' will extract files to stdout rather than to the file system. *Note Writing to Standard Output::. -`--totals[=SIGNO]' +'--totals[=SIGNO]' + Displays the total number of bytes transferred when processing an archive. If an argument is given, these data are displayed on - request, when signal SIGNO is delivered to `tar'. *Note totals::. + request, when signal SIGNO is delivered to 'tar'. *Note totals::. + +'--touch' +'-m' -`--touch' -`-m' Sets the data modification time of extracted files to the extraction time, rather than the data modification time stored in the archive. *Note Data Modification Times::. -`--transform=SED-EXPR' -`--xform=SED-EXPR' - Transform file or member names using `sed' replacement expression +'--transform=SED-EXPR' +'--xform=SED-EXPR' + Transform file or member names using 'sed' replacement expression SED-EXPR. For example, $ tar cf archive.tar --transform 's,^\./,usr/,' . - will add to `archive' files from the current working directory, - replacing initial `./' prefix with `usr/'. For the detailed + will add to 'archive' files from the current working directory, + replacing initial './' prefix with 'usr/'. For the detailed discussion, *Note transform::. To see transformed member names in verbose listings, use - `--show-transformed-names' option (*note show-transformed-names::). + '--show-transformed-names' option (*note show-transformed-names::). + +'--uncompress' + + (See '--compress', *note gzip::) -`--uncompress' - (See `--compress', *note gzip::) +'--ungzip' -`--ungzip' - (See `--gzip', *note gzip::) + (See '--gzip', *note gzip::) -`--unlink-first' -`-U' - Directs `tar' to remove the corresponding file from the file - system before extracting it from the archive. *Note Unlink - First::. +'--unlink-first' +'-U' -`--unquote' - Enable unquoting input file or member names (default). *Note - input name quoting::. + Directs 'tar' to remove the corresponding file from the file system + before extracting it from the archive. *Note Unlink First::. -`--use-compress-program=PROG' -`-I=PROG' - Instructs `tar' to access the archive through PROG, which is +'--unquote' + Enable unquoting input file or member names (default). *Note input + name quoting::. + +'--use-compress-program=PROG' +'-I=PROG' + + Instructs 'tar' to access the archive through PROG, which is presumed to be a compression program of some sort. *Note gzip::. -`--utc' +'--utc' + Display file modification dates in UTC. This option implies - `--verbose'. + '--verbose'. + +'--verbatim-files-from' + + Instructs GNU 'tar' to treat each line read from a file list as a + file name, even if it starts with a dash. + + File lists are supplied with the '--files-from' ('-T') option. By + default, each line read from a file list is first trimmed off the + leading and trailing whitespace and, if the result begins with a + dash, it is treated as a GNU 'tar' command line option. + + Use the '--verbatim-files-from' option to disable this special + handling. This facilitates the use of 'tar' with file lists + created by 'file' command. + + This option affects all '--files-from' options that occur after it + in the command line. Its effect is reverted by the + '--no-verbatim-files-from' option. -`--verbose' -`-v' - Specifies that `tar' should be more verbose about the operations - it is performing. This option can be specified multiple times for + This option is implied by the '--null' option. + + *Note verbatim-files-from::. + +'--verbose' +'-v' + + Specifies that 'tar' should be more verbose about the operations it + is performing. This option can be specified multiple times for some operations to increase the amount of information displayed. *Note verbose::. -`--verify' -`-W' +'--verify' +'-W' + Verifies that the archive was correctly written when creating an archive. *Note verify::. -`--version' +'--version' + Print information about the program's name, version, origin and legal status, all on standard output, and then exit successfully. *Note help::. -`--volno-file=FILE' - Used in conjunction with `--multi-volume'. `tar' will keep track +'--volno-file=FILE' + + Used in conjunction with '--multi-volume'. 'tar' will keep track of which volume of a multi-volume archive it is working in FILE. *Note volno-file::. -`--warning=KEYWORD' +'--warning=KEYWORD' + Enable or disable warning messages identified by KEYWORD. The - messages are suppressed if KEYWORD is prefixed with `no-'. *Note + messages are suppressed if KEYWORD is prefixed with 'no-'. *Note warnings::. -`--wildcards' +'--wildcards' Use wildcards when matching member names with patterns. *Note controlling pattern-matching::. -`--wildcards-match-slash' - Wildcards match `/'. *Note controlling pattern-matching::. +'--wildcards-match-slash' + Wildcards match '/'. *Note controlling pattern-matching::. -`--xz' -`-J' - Use `xz' for compressing or decompressing the archives. *Note - gzip::. +'--xattrs' + Enable extended attributes support. *Note xattrs: Extended File + Attributes. +'--xattrs-exclude=PATTERN' + Specify exclude pattern for xattr keys. *Note xattrs-exclude: + Extended File Attributes. + +'--xattrs-include=PATTERN.' + Specify include pattern for xattr keys. PATTERN is a POSIX regular + expression, e.g. '--xattrs-exclude='^user\.'' to include only + attributes from the user namespace. *Note xattrs-include: Extended + File Attributes. + +'--xz' +'-J' + Use 'xz' for compressing or decompressing the archives. *Note + gzip::. ---------- Footnotes ---------- - (1) Earlier versions of GNU `tar' understood `-l' as a synonym for -`--one-file-system'. The current semantics, which complies to UNIX98, -was introduced with version 1.15.91. *Note Changes::, for more + (1) Earlier versions of GNU 'tar' understood '-l' as a synonym for +'--one-file-system'. The current semantics, which complies to UNIX98, +was introduced with version 1.15.91. *Note Changes::, for more information.  -File: tar.info, Node: Short Option Summary, Prev: Option Summary, Up: All Options +File: tar.info, Node: Short Option Summary, Next: Position-Sensitive Options, Prev: Option Summary, Up: All Options 3.4.3 Short Options Cross Reference ----------------------------------- @@ -3070,150 +3303,304 @@ Here is an alphabetized list of all of the short option forms, matching them with the equivalent long option. Short Option Reference --------------------------------------------------------------------------- + +-------------------------------------------------------------------------- -A *note --concatenate::. + -B *note --read-full-records::. + -C *note --directory::. + -F *note --info-script::. + -G *note --incremental::. + -J *note --xz::. + -K *note --starting-file::. + -L *note --tape-length::. + -M *note --multi-volume::. + -N *note --newer::. + -O *note --to-stdout::. + -P *note --absolute-names::. + -R *note --block-number::. + -S *note --sparse::. + -T *note --files-from::. + -U *note --unlink-first::. + -V *note --label::. + -W *note --verify::. + -X *note --exclude-from::. + -Z *note --compress::. + -b *note --blocking-factor::. + -c *note --create::. + -d *note --compare::. + -f *note --file::. + -g *note --listed-incremental::. + -h *note --dereference::. + -i *note --ignore-zeros::. + -j *note --bzip2::. + -k *note --keep-old-files::. + -l *note --check-links::. + -m *note --touch::. --o When creating, *note --no-same-owner::, when extracting -- - *note --portability::. - The latter usage is deprecated. It is retained for - compatibility with the earlier versions of GNU `tar'. In - future releases `-o' will be equivalent to - `--no-same-owner' only. +-o When creating, *note --no-same-owner::, when extracting + -- *note --portability::. + + The latter usage is deprecated. It is retained for + compatibility with the earlier versions of GNU 'tar'. + In future releases '-o' will be equivalent to + '--no-same-owner' only. + -p *note --preserve-permissions::. + -r *note --append::. + -s *note --same-order::. + -t *note --list::. + -u *note --update::. + -v *note --verbose::. + -w *note --interactive::. + -x *note --extract::. + -z *note --gzip::. + + + +File: tar.info, Node: Position-Sensitive Options, Prev: Short Option Summary, Up: All Options + +3.4.4 Position-Sensitive Options +-------------------------------- + +Some GNU 'tar' options can be used multiple times in the same invocation +and affect all arguments that appear after them. These are options that +control how file names are selected and what kind of pattern matching is +used. + + The most obvious example is the '-C' option. It instructs 'tar' to +change to the directory given as its argument prior to processing the +rest of command line (*note directory::). Thus, in the following +command: + + tar -c -f a.tar -C /etc passwd -C /var log spool + +the file 'passwd' will be searched in the directory '/etc', and files +'log' and 'spool' - in '/var'. + + These options can also be used in a file list supplied with the +'--files-from' ('-T') option (*note files::). In that case they affect +all files (patterns) appearing in that file after them and remain in +effect for any arguments processed after that file. For example, if the +file 'list.txt' contained: + + README + -C src + main.c + +and 'tar' were invoked as follows: + + tar -c -f a.tar -T list.txt Makefile + +then the file 'README' would be looked up in the current working +directory, and files 'main.c' and 'Makefile' would be looked up in the +directory 'src'. + + Many options can be prefixed with '--no-' to cancel the effect of the +original option. + + For example, the '--recursion' option controls whether to recurse in +the subdirectories. It's counterpart '--no-recursion' disables this. +Consider the command below. It will store in the archive the directory +'/usr' with all files and directories that are located in it as well as +any files and directories in '/var', without recursing into them(1): + + tar -cf a.tar --recursion /usr --no-recursion /var/* + + The following table summarizes all position-sensitive options. + +'--directory=DIR' +'-C DIR' + *Note directory::. + +'--null' +'--no-null' + *Note nul::. + +'--unquote' +'--no-unquote' + *Note input name quoting::. + +'--verbatim-files-from' +'--no-verbatim-files-from' + *Note verbatim-files-from::. + +'--recursion' +'--no-recursion' + *Note recurse::. + +'--anchored' +'--no-anchored' + *Note anchored patterns::. + +'--ignore-case' +'--no-ignore-case' + *Note case-insensitive matches::. + +'--wildcards' +'--no-wildcards' + *Note controlling pattern-matching::. + +'--wildcards-match-slash' +'--no-wildcards-match-slash' + *Note controlling pattern-matching::. + +'--exclude' + *Note exclude::. + +'--exclude-from' +'-X' +'--exclude-caches' +'--exclude-caches-under' +'--exclude-caches-all' +'--exclude-tag' +'--exclude-ignore' +'--exclude-ignore-recursive' +'--exclude-tag-under' +'--exclude-tag-all' +'--exclude-vcs' +'--exclude-vcs-ignores' +'--exclude-backups' + *Note exclude::. + + ---------- Footnotes ---------- + + (1) The '--recursion' option is the default and is used here for +clarity. The same example can be written as: + + tar -cf a.tar /usr --no-recursion /var/*  File: tar.info, Node: help, Next: defaults, Prev: All Options, Up: tar invocation -3.5 GNU `tar' documentation +3.5 GNU 'tar' documentation =========================== -Being careful, the first thing is really checking that you are using -GNU `tar', indeed. The `--version' option causes `tar' to print -information about its name, version, origin and legal status, all on -standard output, and then exit successfully. For example, -`tar --version' might print: +Being careful, the first thing is really checking that you are using GNU +'tar', indeed. The '--version' option causes 'tar' to print information +about its name, version, origin and legal status, all on standard +output, and then exit successfully. For example, 'tar --version' might +print: - tar (GNU tar) 1.28 - Copyright (C) 2013-2014 Free Software Foundation, Inc. + tar (GNU tar) 1.29 + Copyright (C) 2013-2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by John Gilmore and Jay Fenlason. -The first occurrence of `tar' in the result above is the program name -in the package (for example, `rmt' is another program), while the -second occurrence of `tar' is the name of the package itself, -containing possibly many programs. The package is currently named -`tar', after the name of the main program it contains(1). +The first occurrence of 'tar' in the result above is the program name in +the package (for example, 'rmt' is another program), while the second +occurrence of 'tar' is the name of the package itself, containing +possibly many programs. The package is currently named 'tar', after the +name of the main program it contains(1). Another thing you might want to do is checking the spelling or -meaning of some particular `tar' option, without resorting to this -manual, for once you have carefully read it. GNU `tar' has a short -help feature, triggerable through the `--help' option. By using this -option, `tar' will print a usage message listing all available options -on standard output, then exit successfully, without doing anything else -and ignoring all other options. Even if this is only a brief summary, -it may be several screens long. So, if you are not using some kind of +meaning of some particular 'tar' option, without resorting to this +manual, for once you have carefully read it. GNU 'tar' has a short help +feature, triggerable through the '--help' option. By using this option, +'tar' will print a usage message listing all available options on +standard output, then exit successfully, without doing anything else and +ignoring all other options. Even if this is only a brief summary, it +may be several screens long. So, if you are not using some kind of scrollable window, you might prefer to use something like: $ tar --help | less -presuming, here, that you like using `less' for a pager. Other popular -pagers are `more' and `pg'. If you know about some KEYWORD which -interests you and do not want to read all the `--help' output, another +presuming, here, that you like using 'less' for a pager. Other popular +pagers are 'more' and 'pg'. If you know about some KEYWORD which +interests you and do not want to read all the '--help' output, another common idiom is doing: tar --help | grep KEYWORD -for getting only the pertinent lines. Notice, however, that some `tar' -options have long description lines and the above command will list -only the first of them. +for getting only the pertinent lines. Notice, however, that some 'tar' +options have long description lines and the above command will list only +the first of them. - The exact look of the option summary displayed by `tar --help' is -configurable. *Note Configuring Help Summary::, for a detailed + The exact look of the option summary displayed by 'tar --help' is +configurable. *Note Configuring Help Summary::, for a detailed description. - If you only wish to check the spelling of an option, running `tar + If you only wish to check the spelling of an option, running 'tar --usage' may be a better choice. This will display a terse list of -`tar' options without accompanying explanations. +'tar' options without accompanying explanations. The short help output is quite succinct, and you might have to get back to the full documentation for precise points. If you are reading -this paragraph, you already have the `tar' manual in some form. This +this paragraph, you already have the 'tar' manual in some form. This manual is available in a variety of forms from -`http://www.gnu.org/software/tar/manual'. It may be printed out of the -GNU `tar' distribution, provided you have TeX already installed -somewhere, and a laser printer around. Just configure the -distribution, execute the command `make dvi', then print `doc/tar.dvi' -the usual way (contact your local guru to know how). If GNU `tar' has -been conveniently installed at your place, this manual is also -available in interactive, hypertextual form as an Info file. Just call -`info tar' or, if you do not have the `info' program handy, use the -Info reader provided within GNU Emacs, calling `tar' from the main Info -menu. - - There is currently no `man' page for GNU `tar'. If you observe such -a `man' page on the system you are running, either it does not belong -to GNU `tar', or it has not been produced by GNU. Some package -maintainers convert `tar --help' output to a man page, using -`help2man'. In any case, please bear in mind that the authoritative -source of information about GNU `tar' is this Texinfo documentation. +. It may be printed out of the +GNU 'tar' distribution, provided you have TeX already installed +somewhere, and a laser printer around. Just configure the distribution, +execute the command 'make dvi', then print 'doc/tar.dvi' the usual way +(contact your local guru to know how). If GNU 'tar' has been +conveniently installed at your place, this manual is also available in +interactive, hypertextual form as an Info file. Just call 'info tar' +or, if you do not have the 'info' program handy, use the Info reader +provided within GNU Emacs, calling 'tar' from the main Info menu. + + There is currently no 'man' page for GNU 'tar'. If you observe such +a 'man' page on the system you are running, either it does not belong to +GNU 'tar', or it has not been produced by GNU. Some package maintainers +convert 'tar --help' output to a man page, using 'help2man'. In any +case, please bear in mind that the authoritative source of information +about GNU 'tar' is this Texinfo documentation. ---------- Footnotes ---------- - (1) There are plans to merge the `cpio' and `tar' packages into a -single one which would be called `paxutils'. So, who knows if, one of -this days, the `--version' would not output `tar (GNU paxutils) 3.2'. + (1) There are plans to merge the 'cpio' and 'tar' packages into a +single one which would be called 'paxutils'. So, who knows if, one of +this days, the '--version' would not output 'tar (GNU paxutils) 3.2'.  File: tar.info, Node: defaults, Next: verbose, Prev: help, Up: tar invocation -3.6 Obtaining GNU `tar' default values +3.6 Obtaining GNU 'tar' default values ====================================== -GNU `tar' has some predefined defaults that are used when you do not +GNU 'tar' has some predefined defaults that are used when you do not explicitly specify another values. To obtain a list of such defaults, -use `--show-defaults' option. This will output the values in the form -of `tar' command line options: +use '--show-defaults' option. This will output the values in the form +of 'tar' command line options: $ tar --show-defaults --format=gnu -f- -b20 --quoting-style=escape @@ -3222,61 +3609,60 @@ of `tar' command line options: Notice, that this option outputs only one line. The example output above has been split to fit page boundaries. -The above output shows that this version of GNU `tar' defaults to using -`gnu' archive format (*note Formats::), it uses standard output as the -archive, if no `--file' option has been given (*note file tutorial::), +The above output shows that this version of GNU 'tar' defaults to using +'gnu' archive format (*note Formats::), it uses standard output as the +archive, if no '--file' option has been given (*note file tutorial::), the default blocking factor is 20 (*note Blocking Factor::). It also -shows the default locations where `tar' will look for `rmt' and `rsh' +shows the default locations where 'tar' will look for 'rmt' and 'rsh' binaries.  File: tar.info, Node: verbose, Next: checkpoints, Prev: defaults, Up: tar invocation -3.7 Checking `tar' progress +3.7 Checking 'tar' progress =========================== -Typically, `tar' performs most operations without reporting any -information to the user except error messages. When using `tar' with -many options, particularly ones with complicated or -difficult-to-predict behavior, it is possible to make serious mistakes. -`tar' provides several options that make observing `tar' easier. These -options cause `tar' to print information as it progresses in its job, -and you might want to use them just for being more careful about what -is going on, or merely for entertaining yourself. If you have -encountered a problem when operating on an archive, however, you may -need more information than just an error message in order to solve the -problem. The following options can be helpful diagnostic tools. - - Normally, the `--list' (`-t') command to list an archive prints just -the file names (one per line) and the other commands are silent. When -used with most operations, the `--verbose' (`-v') option causes `tar' -to print the name of each file or archive member as it is processed. -This and the other options which make `tar' print status information -can be useful in monitoring `tar'. - - With `--create' or `--extract', `--verbose' used once just prints -the names of the files or members as they are processed. Using it -twice causes `tar' to print a longer listing (*Note verbose member -listing::, for the description) for each member. Since `--list' -already prints the names of the members, `--verbose' used once with -`--list' causes `tar' to print an `ls -l' type listing of the files in -the archive. The following examples both extract members with long -list output: +Typically, 'tar' performs most operations without reporting any +information to the user except error messages. When using 'tar' with +many options, particularly ones with complicated or difficult-to-predict +behavior, it is possible to make serious mistakes. 'tar' provides +several options that make observing 'tar' easier. These options cause +'tar' to print information as it progresses in its job, and you might +want to use them just for being more careful about what is going on, or +merely for entertaining yourself. If you have encountered a problem +when operating on an archive, however, you may need more information +than just an error message in order to solve the problem. The following +options can be helpful diagnostic tools. + + Normally, the '--list' ('-t') command to list an archive prints just +the file names (one per line) and the other commands are silent. When +used with most operations, the '--verbose' ('-v') option causes 'tar' to +print the name of each file or archive member as it is processed. This +and the other options which make 'tar' print status information can be +useful in monitoring 'tar'. + + With '--create' or '--extract', '--verbose' used once just prints the +names of the files or members as they are processed. Using it twice +causes 'tar' to print a longer listing (*Note verbose member listing::, +for the description) for each member. Since '--list' already prints the +names of the members, '--verbose' used once with '--list' causes 'tar' +to print an 'ls -l' type listing of the files in the archive. The +following examples both extract members with long list output: $ tar --extract --file=archive.tar --verbose --verbose $ tar xvvf archive.tar Verbose output appears on the standard output except when an archive -is being written to the standard output, as with `tar --create --file=- ---verbose' (`tar cvf -', or even `tar cv'--if the installer let -standard output be the default archive). In that case `tar' writes -verbose output to the standard error stream. +is being written to the standard output, as with 'tar --create --file=- +--verbose' ('tar cvf -', or even 'tar cv'--if the installer let standard +output be the default archive). In that case 'tar' writes verbose +output to the standard error stream. - If `--index-file=FILE' is specified, `tar' sends verbose output to + If '--index-file=FILE' is specified, 'tar' sends verbose output to FILE rather than to standard output or standard error. - The `--totals' option causes `tar' to print on the standard error -the total amount of bytes transferred when processing an archive. When + The '--totals' option causes 'tar' to print on the standard error the +total amount of bytes transferred when processing an archive. When creating or appending to an archive, this option prints the number of bytes written to the archive and the average speed at which they have been written, e.g.: @@ -3290,7 +3676,7 @@ read: $ tar -x -f archive.tar --totals Total bytes read: 7924664320 (7.4GiB, 95MiB/s) - Finally, when deleting from an archive, the `--totals' option + Finally, when deleting from an archive, the '--totals' option displays both numbers plus number of bytes removed from the archive: $ tar --delete -f foo.tar --totals --wildcards '*~' @@ -3298,72 +3684,70 @@ displays both numbers plus number of bytes removed from the archive: Total bytes written: 3829760 (3.7MiB, 81MiB/s) Total bytes deleted: 1474048 - You can also obtain this information on request. When `--totals' is + You can also obtain this information on request. When '--totals' is used with an argument, this argument is interpreted as a symbolic name of a signal, upon delivery of which the statistics is to be printed: -`--totals=SIGNO' +'--totals=SIGNO' Print statistics upon delivery of signal SIGNO. Valid arguments - are: `SIGHUP', `SIGQUIT', `SIGINT', `SIGUSR1' and `SIGUSR2'. - Shortened names without `SIG' prefix are also accepted. + are: 'SIGHUP', 'SIGQUIT', 'SIGINT', 'SIGUSR1' and 'SIGUSR2'. + Shortened names without 'SIG' prefix are also accepted. - Both forms of `--totals' option can be used simultaneously. Thus, -`tar -x --totals --totals=USR1' instructs `tar' to extract all members + Both forms of '--totals' option can be used simultaneously. Thus, +'tar -x --totals --totals=USR1' instructs 'tar' to extract all members from its default archive and print statistics after finishing the -extraction, as well as when receiving signal `SIGUSR1'. +extraction, as well as when receiving signal 'SIGUSR1'. - The `--checkpoint' option prints an occasional message as `tar' -reads or writes the archive. It is designed for those who don't need -the more detailed (and voluminous) output of `--block-number' (`-R'), -but do want visual confirmation that `tar' is actually making forward -progress. By default it prints a message each 10 records read or -written. This can be changed by giving it a numeric argument after an -equal sign: + The '--checkpoint' option prints an occasional message as 'tar' reads +or writes the archive. It is designed for those who don't need the more +detailed (and voluminous) output of '--block-number' ('-R'), but do want +visual confirmation that 'tar' is actually making forward progress. By +default it prints a message each 10 records read or written. This can +be changed by giving it a numeric argument after an equal sign: $ tar -c --checkpoint=1000 /var tar: Write checkpoint 1000 tar: Write checkpoint 2000 tar: Write checkpoint 3000 - This example shows the default checkpoint message used by `tar'. If -you place a dot immediately after the equal sign, it will print a `.' -at each checkpoint(1). For example: + This example shows the default checkpoint message used by 'tar'. If +you place a dot immediately after the equal sign, it will print a '.' at +each checkpoint(1). For example: $ tar -c --checkpoint=.1000 /var ... - The `--checkpoint' option provides a flexible mechanism for -executing arbitrary actions upon hitting checkpoints, see the next -section (*note checkpoints::), for more information on it. + The '--checkpoint' option provides a flexible mechanism for executing +arbitrary actions upon hitting checkpoints, see the next section (*note +checkpoints::), for more information on it. - The `--show-omitted-dirs' option, when reading an archive--with -`--list' or `--extract', for example--causes a message to be printed -for each directory in the archive which is skipped. This happens -regardless of the reason for skipping: the directory might not have -been named on the command line (implicitly or explicitly), it might be -excluded by the use of the `--exclude=PATTERN' option, or some other -reason. + The '--show-omitted-dirs' option, when reading an archive--with +'--list' or '--extract', for example--causes a message to be printed for +each directory in the archive which is skipped. This happens regardless +of the reason for skipping: the directory might not have been named on +the command line (implicitly or explicitly), it might be excluded by the +use of the '--exclude=PATTERN' option, or some other reason. - If `--block-number' (`-R') is used, `tar' prints, along with every + If '--block-number' ('-R') is used, 'tar' prints, along with every message it would normally produce, the block number within the archive where the message was triggered. Also, supplementary messages are triggered when reading blocks full of NULs, or when hitting end of file -on the archive. As of now, if the archive is properly terminated with -a NUL block, the reading of the file may stop before end of file is -met, so the position of end of file will not usually show when -`--block-number' (`-R') is used. Note that GNU `tar' drains the -archive before exiting when reading the archive from a pipe. +on the archive. As of now, if the archive is properly terminated with a +NUL block, the reading of the file may stop before end of file is met, +so the position of end of file will not usually show when +'--block-number' ('-R') is used. Note that GNU 'tar' drains the archive +before exiting when reading the archive from a pipe. This option is especially useful when reading damaged archives, since it helps pinpoint the damaged sections. It can also be used with -`--list' (`-t') when listing a file-system backup tape, allowing you to -choose among several backup tapes when retrieving a file later, in -favor of the tape where the file appears earliest (closest to the front -of the tape). *Note backup::. +'--list' ('-t') when listing a file-system backup tape, allowing you to +choose among several backup tapes when retrieving a file later, in favor +of the tape where the file appears earliest (closest to the front of the +tape). *Note backup::. ---------- Footnotes ---------- - (1) This is actually a shortcut for `--checkpoint=N + (1) This is actually a shortcut for '--checkpoint=N --checkpoint-action=dot'. *Note dot: checkpoints.  @@ -3379,22 +3763,22 @@ execute arbitrary actions. The checkpoint facility is enabled using the following option: -`--checkpoint[=N]' +'--checkpoint[=N]' Schedule checkpoints before writing or reading each Nth record. The default value for N is 10. A list of arbitrary "actions" can be executed at each checkpoint. These actions include: pausing, displaying textual messages, and executing arbitrary external programs. Actions are defined using the -`--checkpoint-action' option. +'--checkpoint-action' option. -`--checkpoint-action=ACTION' +'--checkpoint-action=ACTION' Execute an ACTION at each checkpoint. - The simplest value of ACTION is `echo'. It instructs `tar' to + The simplest value of ACTION is 'echo'. It instructs 'tar' to display the default message on the standard error stream upon arriving -at each checkpoint. The default message is (in POSIX locale) `Write -checkpoint N', for write checkpoints, and `Read checkpoint N', for read +at each checkpoint. The default message is (in POSIX locale) 'Write +checkpoint N', for write checkpoints, and 'Read checkpoint N', for read checkpoints. Here, N represents ordinal number of the checkpoint. In another locales, translated versions of this message are used. @@ -3407,17 +3791,17 @@ is equivalent to: $ tar -c --checkpoint=1000 /var - The `echo' action also allows to supply a customized message. You -do so by placing an equals sign and the message right after it, e.g.: + The 'echo' action also allows to supply a customized message. You do +so by placing an equals sign and the message right after it, e.g.: --checkpoint-action="echo=Hit %s checkpoint #%u" - The `%s' and `%u' in the above example are "format specifiers". The -`%s' specifier is replaced with the "type" of the checkpoint: `write' or -`read' (or a corresponding translated version in locales other than -POSIX). The `%u' specifier is replaced with the ordinal number of the + The '%s' and '%u' in the above example are "format specifiers". The +'%s' specifier is replaced with the "type" of the checkpoint: 'write' or +'read' (or a corresponding translated version in locales other than +POSIX). The '%u' specifier is replaced with the ordinal number of the checkpoint. Thus, the above example could produce the following output -when used with the `--create' option: +when used with the '--create' option: tar: Hit write checkpoint #10 tar: Hit write checkpoint #20 @@ -3428,18 +3812,18 @@ them can take optional arguments. These arguments, if given, are supplied in curly braces between the percent sign and the specifier letter. -`%s' - Print type of the checkpoint (`write' or `read'). +'%s' + Print type of the checkpoint ('write' or 'read'). -`%u' +'%u' Print number of the checkpoint. -`%{r,w,d}T' +'%{r,w,d}T' Print number of bytes transferred so far and approximate transfer speed. Optional arguments supply prefixes to be used before number of bytes read, written and deleted, correspondingly. If absent, - they default to `R'. `W', `D'. Any or all of them can be omitted, - so, that e.g. `%{}T' means to print corresponding statistics + they default to 'R'. 'W', 'D'. Any or all of them can be omitted, + so, that e.g. '%{}T' means to print corresponding statistics without any prefixes. Any surplus arguments, if present, are silently ignored. @@ -3447,47 +3831,47 @@ letter. tar: #1: R: 0 (0B, 0B/s),W: 0 (0B, 0B/s),D: 0 tar: #2: R: 10240 (10KiB, 19MiB/s),W: 0 (0B, 0B/s),D: 10240 - See also the `totals' action, described below. + See also the 'totals' action, described below. -`%{FMT}t' - Output current local time using FMT as format for `strftime' - (*note strftime: (strftime(3))strftime.). The `{FMT}' part is - optional. If not present, the default format is `%c', i.e. the - preferred date and time representation for the current locale. +'%{FMT}t' + Output current local time using FMT as format for 'strftime' (*note + strftime: (strftime(3))strftime.). The '{FMT}' part is optional. + If not present, the default format is '%c', i.e. the preferred + date and time representation for the current locale. -`%{N}*' - Pad output with spaces to the Nth column. If the `{N}' part is +'%{N}*' + Pad output with spaces to the Nth column. If the '{N}' part is omitted, the current screen width is assumed. -`%c' - This is a shortcut for `%{%Y-%m-%d %H:%M:%S}t: %ds, - %{read,wrote}T%*\r', intended mainly for use with `ttyout' action +'%c' + This is a shortcut for '%{%Y-%m-%d %H:%M:%S}t: %ds, + %{read,wrote}T%*\r', intended mainly for use with 'ttyout' action (see below). Aside from format expansion, the message string is subject to "unquoting", during which the backslash "escape sequences" are replaced with their corresponding ASCII characters (*note escape sequences::). -E.g. the following action will produce an audible bell and the message +E.g. the following action will produce an audible bell and the message described above at each checkpoint: --checkpoint-action='echo=\aHit %s checkpoint #%u' There is also a special action which produces an audible signal: -`bell'. It is not equivalent to `echo='\a'', because `bell' sends the -bell directly to the console (`/dev/tty'), whereas `echo='\a'' sends it +'bell'. It is not equivalent to 'echo='\a'', because 'bell' sends the +bell directly to the console ('/dev/tty'), whereas 'echo='\a'' sends it to the standard error. - The `ttyout=STRING' action outputs STRING to `/dev/tty', so it can -be used even if the standard output is redirected elsewhere. The -STRING is subject to the same modifications as with `echo' action. In -contrast to the latter, `ttyout' does not prepend `tar' executable name -to the string, nor does it output a newline after it. For example, the + The 'ttyout=STRING' action outputs STRING to '/dev/tty', so it can be +used even if the standard output is redirected elsewhere. The STRING is +subject to the same modifications as with 'echo' action. In contrast to +the latter, 'ttyout' does not prepend 'tar' executable name to the +string, nor does it output a newline after it. For example, the following action will print the checkpoint message at the same screen line, overwriting any previous message: --checkpoint-action="ttyout=Hit %s checkpoint #%u%*\r" -Notice the use of `%*' specifier to clear out any eventual remains of +Notice the use of '%*' specifier to clear out any eventual remains of the prior output line. As as more complex example, consider this: --checkpoint-action=ttyout='%{%Y-%m-%d %H:%M:%S}t (%d sec): #%u, %T%*\r' @@ -3496,28 +3880,28 @@ This prints the current local time, number of seconds expired since tar was started, the checkpoint ordinal number, transferred bytes and average computed I/O speed. - Another available checkpoint action is `dot' (or `.'). It instructs -`tar' to print a single dot on the standard listing stream, e.g.: + Another available checkpoint action is 'dot' (or '.'). It instructs +'tar' to print a single dot on the standard listing stream, e.g.: $ tar -c --checkpoint=1000 --checkpoint-action=dot /var ... - For compatibility with previous GNU `tar' versions, this action can -be abbreviated by placing a dot in front of the checkpoint frequency, -as shown in the previous section. + For compatibility with previous GNU 'tar' versions, this action can +be abbreviated by placing a dot in front of the checkpoint frequency, as +shown in the previous section. - The `totals' action prints the total number of bytes transferred so -far. The format of the data is the same as for the `--totals' option -(*note totals::). See also `%T' format specifier of the `echo' or -`ttyout' action. + The 'totals' action prints the total number of bytes transferred so +far. The format of the data is the same as for the '--totals' option +(*note totals::). See also '%T' format specifier of the 'echo' or +'ttyout' action. - Yet another action, `sleep', pauses `tar' for a specified amount of + Yet another action, 'sleep', pauses 'tar' for a specified amount of seconds. The following example will stop for 30 seconds at each checkpoint: $ tar -c --checkpoint=1000 --checkpoint-action=sleep=30 - Finally, the `exec' action executes a given external command. For + Finally, the 'exec' action executes a given external command. For example: $ tar -c --checkpoint=1000 --checkpoint-action=exec=/sbin/cpoint @@ -3527,42 +3911,42 @@ without additional command line arguments. If it does contain arguments, don't forget to quote it to prevent it from being split by the shell. *Note Running External Commands: external, for more detail. - The command gets a copy of `tar''s environment plus the following + The command gets a copy of 'tar''s environment plus the following variables: -`TAR_VERSION' - GNU `tar' version number. +'TAR_VERSION' + GNU 'tar' version number. -`TAR_ARCHIVE' - The name of the archive `tar' is processing. +'TAR_ARCHIVE' + The name of the archive 'tar' is processing. -`TAR_BLOCKING_FACTOR' +'TAR_BLOCKING_FACTOR' Current blocking factor (*note Blocking::). -`TAR_CHECKPOINT' +'TAR_CHECKPOINT' Number of the checkpoint. -`TAR_SUBCOMMAND' - A short option describing the operation `tar' is executing. *Note +'TAR_SUBCOMMAND' + A short option describing the operation 'tar' is executing. *Note Operations::, for a complete list of subcommand options. -`TAR_FORMAT' - Format of the archive being processed. *Note Formats::, for a +'TAR_FORMAT' + Format of the archive being processed. *Note Formats::, for a complete list of archive format names. These environment variables can also be passed as arguments to the command, provided that they are properly escaped, for example: tar -c -f arc.tar \ - --checkpoint-action='exec=/sbin/cpoint $TAR_FILENAME' + --checkpoint-action='exec=/sbin/cpoint $TAR_CHECKPOINT' Notice single quotes to prevent variable names from being expanded by -the shell when invoking `tar'. +the shell when invoking 'tar'. Any number of actions can be defined, by supplying several -`--checkpoint-action' options in the command line. For example, the -command below displays two messages, pauses execution for 30 seconds -and executes the `/sbin/cpoint' script: +'--checkpoint-action' options in the command line. For example, the +command below displays two messages, pauses execution for 30 seconds and +executes the '/sbin/cpoint' script: $ tar -c -f arc.tar \ --checkpoint-action='\aecho=Hit %s checkpoint #%u' \ @@ -3570,9 +3954,9 @@ and executes the `/sbin/cpoint' script: --checkpoint-action='sleep=30' \ --checkpoint-action='exec=/sbin/cpoint' - This example also illustrates the fact that `--checkpoint-action' -can be used without `--checkpoint'. In this case, the default -checkpoint frequency (at each 10th record) is assumed. + This example also illustrates the fact that '--checkpoint-action' can +be used without '--checkpoint'. In this case, the default checkpoint +frequency (at each 10th record) is assumed.  File: tar.info, Node: warnings, Next: interactive, Prev: checkpoints, Up: tar invocation @@ -3580,123 +3964,105 @@ File: tar.info, Node: warnings, Next: interactive, Prev: checkpoints, Up: ta 3.9 Controlling Warning Messages ================================ -Sometimes, while performing the requested task, GNU `tar' notices some +Sometimes, while performing the requested task, GNU 'tar' notices some conditions that are not exactly errors, but which the user should be -aware of. When this happens, `tar' issues a "warning message" +aware of. When this happens, 'tar' issues a "warning message" describing the condition. Warning messages are output to the standard -error and they do not affect the exit code of `tar' command. +error and they do not affect the exit code of 'tar' command. - GNU `tar' allows the user to suppress some or all of its warning + GNU 'tar' allows the user to suppress some or all of its warning messages: -`--warning=KEYWORD' +'--warning=KEYWORD' Control display of the warning messages identified by KEYWORD. If - KEYWORD starts with the prefix `no-', such messages are - suppressed. Otherwise, they are enabled. + KEYWORD starts with the prefix 'no-', such messages are suppressed. + Otherwise, they are enabled. - Multiple `--warning' messages accumulate. + Multiple '--warning' messages accumulate. The tables below list allowed values for KEYWORD along with the warning messages they control. -Keywords controlling `tar' operation +Keywords controlling 'tar' operation ------------------------------------ all - Enable all warning messages. This is the default. - + Enable all warning messages. This is the default. none - Disable all warning messages. - + Disable all warning messages. filename-with-nuls - `%s: file name read contains nul character' - + '%s: file name read contains nul character' alone-zero-block - `A lone zero block at %s' + 'A lone zero block at %s' -Keywords applicable for `tar --create' +Keywords applicable for 'tar --create' -------------------------------------- cachedir - `%s: contains a cache directory tag %s; %s' - + '%s: contains a cache directory tag %s; %s' file-shrank - `%s: File shrank by %s bytes; padding with zeros' - + '%s: File shrank by %s bytes; padding with zeros' xdev - `%s: file is on a different filesystem; not dumped' - + '%s: file is on a different filesystem; not dumped' file-ignored - `%s: Unknown file type; file ignored' - `%s: socket ignored' - `%s: door ignored' - + '%s: Unknown file type; file ignored' + '%s: socket ignored' + '%s: door ignored' file-unchanged - `%s: file is unchanged; not dumped' - + '%s: file is unchanged; not dumped' ignore-archive - `%s: file is the archive; not dumped' - + '%s: file is the archive; not dumped' file-removed - `%s: File removed before we read it' - + '%s: File removed before we read it' file-changed - `%s: file changed as we read it' + '%s: file changed as we read it' -Keywords applicable for `tar --extract' +Keywords applicable for 'tar --extract' --------------------------------------- +existing-file + '%s: skipping existing file' timestamp - `%s: implausibly old time stamp %s' - `%s: time stamp %s is %s s in the future' - + '%s: implausibly old time stamp %s' + '%s: time stamp %s is %s s in the future' contiguous-cast - `Extracting contiguous files as regular files' - + 'Extracting contiguous files as regular files' symlink-cast - `Attempting extraction of symbolic links as hard links' - + 'Attempting extraction of symbolic links as hard links' unknown-cast - `%s: Unknown file type '%c', extracted as normal file' - + '%s: Unknown file type '%c', extracted as normal file' ignore-newer - `Current %s is newer or same age' - + 'Current %s is newer or same age' unknown-keyword - `Ignoring unknown extended header keyword '%s'' - + 'Ignoring unknown extended header keyword '%s'' decompress-program Controls verbose description of failures occurring when trying to run alternative decompressor programs (*note alternative decompression programs::). This warning is disabled by default - (unless `--verbose' is used). A common example of what you can get + (unless '--verbose' is used). A common example of what you can get when using this warning is: $ tar --warning=decompress-program -x -f archive.Z tar (child): cannot run compress: No such file or directory tar (child): trying gzip - This means that `tar' first tried to decompress `archive.Z' using - `compress', and, when that failed, switched to `gzip'. - + This means that 'tar' first tried to decompress 'archive.Z' using + 'compress', and, when that failed, switched to 'gzip'. record-size - `Record size = %lu blocks' + 'Record size = %lu blocks' Keywords controlling incremental extraction: -------------------------------------------- rename-directory - `%s: Directory has been renamed from %s' - `%s: Directory has been renamed' - + '%s: Directory has been renamed from %s' + '%s: Directory has been renamed' new-directory - `%s: Directory is new' - + '%s: Directory is new' xdev - `%s: directory is on a different device: not purging' - + '%s: directory is on a different device: not purging' bad-dumpdir - `Malformed dumpdir: 'X' never used' + 'Malformed dumpdir: 'X' never used'  File: tar.info, Node: interactive, Next: external, Prev: warnings, Up: tar invocation @@ -3704,35 +4070,35 @@ File: tar.info, Node: interactive, Next: external, Prev: warnings, Up: tar i 3.10 Asking for Confirmation During Operations ============================================== -Typically, `tar' carries out a command without stopping for further +Typically, 'tar' carries out a command without stopping for further instructions. In some situations however, you may want to exclude some files and archive members from the operation (for instance if disk or storage space is tight). You can do this by excluding certain files automatically (*note Choosing::), or by performing an operation -interactively, using the `--interactive' (`-w') option. `tar' also -accepts `--confirmation' for this option. +interactively, using the '--interactive' ('-w') option. 'tar' also +accepts '--confirmation' for this option. - When the `--interactive' (`-w') option is specified, before reading, -writing, or deleting files, `tar' first prints a message for each such + When the '--interactive' ('-w') option is specified, before reading, +writing, or deleting files, 'tar' first prints a message for each such file, telling what operation it intends to take, then asks for confirmation on the terminal. The actions which require confirmation include adding a file to the archive, extracting a file from the archive, deleting a file from the archive, and deleting a file from disk. To confirm the action, you must type a line of input beginning -with `y'. If your input line begins with anything other than `y', -`tar' skips that file. +with 'y'. If your input line begins with anything other than 'y', 'tar' +skips that file. - If `tar' is reading the archive from the standard input, `tar' opens -the file `/dev/tty' to support the interactive communications. + If 'tar' is reading the archive from the standard input, 'tar' opens +the file '/dev/tty' to support the interactive communications. Verbose output is normally sent to standard output, separate from other error messages. However, if the archive is produced directly on -standard output, then verbose output is mixed with errors on `stderr'. +standard output, then verbose output is mixed with errors on 'stderr'. Producing the archive on standard output may be used as a way to avoid using disk space, when the archive is soon to be consumed by another process reading it, say. Some people felt the need of producing an -archive on stdout, still willing to segregate between verbose output -and error output. A possible approach would be using a named pipe to +archive on stdout, still willing to segregate between verbose output and +error output. A possible approach would be using a named pipe to receive the archive, and having the consumer process to read from that named pipe. This has the advantage of letting standard output free to receive verbose output, all separate from errors. @@ -3743,40 +4109,39 @@ File: tar.info, Node: external, Prev: interactive, Up: tar invocation 3.11 Running External Commands ============================== -Certain GNU `tar' operations imply running external commands that you +Certain GNU 'tar' operations imply running external commands that you supply on the command line. One of such operations is checkpointing, described above (*note checkpoint exec::). Another example of this -feature is the `-I' option, which allows you to supply the program to +feature is the '-I' option, which allows you to supply the program to use for compressing or decompressing the archive (*note use-compress-program::). - Whenever such operation is requested, `tar' first splits the -supplied command into words much like the shell does. It then treats -the first word as the name of the program or the shell script to execute -and the rest of words as its command line arguments. The program, -unless given as an absolute file name, is searched in the shell's -`PATH'. + Whenever such operation is requested, 'tar' first splits the supplied +command into words much like the shell does. It then treats the first +word as the name of the program or the shell script to execute and the +rest of words as its command line arguments. The program, unless given +as an absolute file name, is searched in the shell's 'PATH'. Any additional information is normally supplied to external commands in environment variables, specific to each particular operation. For -example, the `--checkpoint-action=exec' option, defines the -`TAR_ARCHIVE' variable to the name of the archive being worked upon. +example, the '--checkpoint-action=exec' option, defines the +'TAR_ARCHIVE' variable to the name of the archive being worked upon. You can, should the need be, use these variables in the command line of the external command. For example: $ tar -x -f archive.tar \ - --checkpoint=exec='printf "%04d in %32s\r" $TAR_CHECKPOINT $TAR_ARCHIVE' + --checkpoint-action=exec='printf "%04d in %32s\r" $TAR_CHECKPOINT $TAR_ARCHIVE' This command prints for each checkpoint its number and the name of the archive, using the same output line on the screen. Notice the use of single quotes to prevent variable names from being -expanded by the shell when invoking `tar'. +expanded by the shell when invoking 'tar'.  File: tar.info, Node: operations, Next: Backups, Prev: tar invocation, Up: Top -4 GNU `tar' Operations +4 GNU 'tar' Operations ********************** * Menu: @@ -3792,90 +4157,92 @@ File: tar.info, Node: operations, Next: Backups, Prev: tar invocation, Up: T  File: tar.info, Node: Basic tar, Next: Advanced tar, Up: operations -4.1 Basic GNU `tar' Operations +4.1 Basic GNU 'tar' Operations ============================== -The basic `tar' operations, `--create' (`-c'), `--list' (`-t') and -`--extract' (`--get', `-x'), are currently presented and described in +The basic 'tar' operations, '--create' ('-c'), '--list' ('-t') and +'--extract' ('--get', '-x'), are currently presented and described in the tutorial chapter of this manual. This section provides some complementary notes for these operations. -`--create' -`-c' +'--create' +'-c' + Creating an empty archive would have some kind of elegance. One - can initialize an empty archive and later use `--append' (`-r') - for adding all members. Some applications would not welcome - making an exception in the way of adding the first archive member. - On the other hand, many people reported that it is dangerously too - easy for `tar' to destroy a magnetic tape with an empty - archive(1). The two most common errors are: - - 1. Mistakingly using `create' instead of `extract', when the + can initialize an empty archive and later use '--append' ('-r') for + adding all members. Some applications would not welcome making an + exception in the way of adding the first archive member. On the + other hand, many people reported that it is dangerously too easy + for 'tar' to destroy a magnetic tape with an empty archive(1). The + two most common errors are: + + 1. Mistakingly using 'create' instead of 'extract', when the intent was to extract the full contents of an archive. This - error is likely: keys `c' and `x' are right next to each - other on the QWERTY keyboard. Instead of being unpacked, the + error is likely: keys 'c' and 'x' are right next to each other + on the QWERTY keyboard. Instead of being unpacked, the archive then gets wholly destroyed. When users speak about "exploding" an archive, they usually mean something else :-). - 2. Forgetting the argument to `file', when the intent was to + 2. Forgetting the argument to 'file', when the intent was to create an archive with a single file in it. This error is - likely because a tired user can easily add the `f' key to the - cluster of option letters, by the mere force of habit, - without realizing the full consequence of doing so. The - usual consequence is that the single file, which was meant to - be saved, is rather destroyed. + likely because a tired user can easily add the 'f' key to the + cluster of option letters, by the mere force of habit, without + realizing the full consequence of doing so. The usual + consequence is that the single file, which was meant to be + saved, is rather destroyed. So, recognizing the likelihood and the catastrophic nature of these - errors, GNU `tar' now takes some distance from elegance, and - cowardly refuses to create an archive when `--create' option is - given, there are no arguments besides options, and `--files-from' - (`-T') option is _not_ used. To get around the cautiousness of - GNU `tar' and nevertheless create an archive with nothing in it, - one may still use, as the value for the `--files-from' option, a - file with no names in it, as shown in the following commands: + errors, GNU 'tar' now takes some distance from elegance, and + cowardly refuses to create an archive when '--create' option is + given, there are no arguments besides options, and '--files-from' + ('-T') option is _not_ used. To get around the cautiousness of GNU + 'tar' and nevertheless create an archive with nothing in it, one + may still use, as the value for the '--files-from' option, a file + with no names in it, as shown in the following commands: tar --create --file=empty-archive.tar --files-from=/dev/null tar -cf empty-archive.tar -T /dev/null -`--extract' -`--get' -`-x' - A socket is stored, within a GNU `tar' archive, as a pipe. +'--extract' +'--get' +'-x' + + A socket is stored, within a GNU 'tar' archive, as a pipe. + +'--list (-t)' -``--list' (`-t')' - GNU `tar' now shows dates as `1996-08-30', while it used to show - them as `Aug 30 1996'. Preferably, people should get used to ISO + GNU 'tar' now shows dates as '1996-08-30', while it used to show + them as 'Aug 30 1996'. Preferably, people should get used to ISO 8601 dates. Local American dates should be made available again with full date localization support, once ready. In the meantime, programs not being localizable for dates should prefer international dates, that's really the way to go. - Look up `http://www.cl.cam.ac.uk/~mgk25/iso-time.html' if you are + Look up if you are curious, it contains a detailed explanation of the ISO 8601 standard. - ---------- Footnotes ---------- - (1) This is well described in `Unix-haters Handbook', by Simson + (1) This is well described in 'Unix-haters Handbook', by Simson Garfinkel, Daniel Weise & Steven Strassmann, IDG Books, ISBN 1-56884-203-1.  File: tar.info, Node: Advanced tar, Next: create options, Prev: Basic tar, Up: operations -4.2 Advanced GNU `tar' Operations +4.2 Advanced GNU 'tar' Operations ================================= -Now that you have learned the basics of using GNU `tar', you may want -to learn about further ways in which `tar' can help you. +Now that you have learned the basics of using GNU 'tar', you may want to +learn about further ways in which 'tar' can help you. This chapter presents five, more advanced operations which you probably won't use on a daily basis, but which serve more specialized functions. We also explain the different styles of options and why you -might want to use one or another, or a combination of them in your `tar' +might want to use one or another, or a combination of them in your 'tar' commands. Additionally, this chapter includes options which allow you -to define the output from `tar' more carefully, and provide help and +to define the output from 'tar' more carefully, and provide help and error correction in special circumstances. * Menu: @@ -3890,111 +4257,107 @@ error correction in special circumstances.  File: tar.info, Node: Operations, Next: append, Up: Advanced tar -4.2.1 The Five Advanced `tar' Operations +4.2.1 The Five Advanced 'tar' Operations ---------------------------------------- In the last chapter, you learned about the first three operations to -`tar'. This chapter presents the remaining five operations to `tar': -`--append', `--update', `--concatenate', `--delete', and `--compare'. +'tar'. This chapter presents the remaining five operations to 'tar': +'--append', '--update', '--concatenate', '--delete', and '--compare'. You are not likely to use these operations as frequently as those covered in the last chapter; however, since they perform specialized functions, they are quite useful when you do need to use them. We will -give examples using the same directory and files that you created in -the last chapter. As you may recall, the directory is called -`practice', the files are `jazz', `blues', `folk', and the two archive -files you created are `collection.tar' and `music.tar'. +give examples using the same directory and files that you created in the +last chapter. As you may recall, the directory is called 'practice', +the files are 'jazz', 'blues', 'folk', and the two archive files you +created are 'collection.tar' and 'music.tar'. - We will also use the archive files `afiles.tar' and `bfiles.tar'. -The archive `afiles.tar' contains the members `apple', `angst', and -`aspic'; `bfiles.tar' contains the members `./birds', `baboon', and -`./box'. + We will also use the archive files 'afiles.tar' and 'bfiles.tar'. +The archive 'afiles.tar' contains the members 'apple', 'angst', and +'aspic'; 'bfiles.tar' contains the members './birds', 'baboon', and +'./box'. Unless we state otherwise, all practicing you do and examples you -follow in this chapter will take place in the `practice' directory that +follow in this chapter will take place in the 'practice' directory that you created in the previous chapter; see *note prepare for examples::. (Below in this section, we will remind you of the state of the examples where the last chapter left them.) The five operations that we will cover in this chapter are: -`--append' -`-r' +'--append' +'-r' Add new entries to an archive that already exists. - -`--update' -`-u' - Add more recent copies of archive members to the end of an - archive, if they exist. - -`--concatenate' -`--catenate' -`-A' +'--update' +'-u' + Add more recent copies of archive members to the end of an archive, + if they exist. +'--concatenate' +'--catenate' +'-A' Add one or more pre-existing archives to the end of another archive. - -`--delete' +'--delete' Delete items from an archive (does not work on tapes). - -`--compare' -`--diff' -`-d' +'--compare' +'--diff' +'-d' Compare archive members to their counterparts in the file system.  File: tar.info, Node: append, Next: update, Prev: Operations, Up: Advanced tar -4.2.2 How to Add Files to Existing Archives: `--append' +4.2.2 How to Add Files to Existing Archives: '--append' ------------------------------------------------------- If you want to add files to an existing archive, you don't need to -create a new archive; you can use `--append' (`-r'). The archive must -already exist in order to use `--append'. (A related operation is the -`--update' operation; you can use this to add newer versions of archive +create a new archive; you can use '--append' ('-r'). The archive must +already exist in order to use '--append'. (A related operation is the +'--update' operation; you can use this to add newer versions of archive members to an existing archive. To learn how to do this with -`--update', *note update::.) +'--update', *note update::.) - If you use `--append' to add a file that has the same name as an + If you use '--append' to add a file that has the same name as an archive member to an archive containing that archive member, then the old member is not deleted. What does happen, however, is somewhat -complex. `tar' _allows_ you to have infinite number of files with the +complex. 'tar' _allows_ you to have infinite number of files with the same name. Some operations treat these same-named members no differently than any other set of archive members: for example, if you -view an archive with `--list' (`-t'), you will see all of those members +view an archive with '--list' ('-t'), you will see all of those members listed, with their data modification times, owners, etc. Other operations don't deal with these members as perfectly as you -might prefer; if you were to use `--extract' to extract the archive, +might prefer; if you were to use '--extract' to extract the archive, only the most recently added copy of a member with the same name as other members would end up in the working directory. This is because -`--extract' extracts an archive in the order the members appeared in -the archive; the most recently archived members will be extracted last. -Additionally, an extracted member will _replace_ a file of the same -name which existed in the directory already, and `tar' will not prompt -you about this(1). Thus, only the most recently archived member will -end up being extracted, as it will replace the one extracted before it, -and so on. +'--extract' extracts an archive in the order the members appeared in the +archive; the most recently archived members will be extracted last. +Additionally, an extracted member will _replace_ a file of the same name +which existed in the directory already, and 'tar' will not prompt you +about this(1). Thus, only the most recently archived member will end up +being extracted, as it will replace the one extracted before it, and so +on. There exists a special option that allows you to get around this -behavior and extract (or list) only a particular copy of the file. -This is `--occurrence' option. If you run `tar' with this option, it -will extract only the first copy of the file. You may also give this -option an argument specifying the number of copy to be extracted. -Thus, for example if the archive `archive.tar' contained three copies -of file `myfile', then the command +behavior and extract (or list) only a particular copy of the file. This +is '--occurrence' option. If you run 'tar' with this option, it will +extract only the first copy of the file. You may also give this option +an argument specifying the number of copy to be extracted. Thus, for +example if the archive 'archive.tar' contained three copies of file +'myfile', then the command tar --extract --file archive.tar --occurrence=2 myfile -would extract only the second copy. *Note --occurrence: Option -Summary, for the description of `--occurrence' option. +would extract only the second copy. *Note --occurrence: Option Summary, +for the description of '--occurrence' option. - If you want to replace an archive member, use `--delete' to delete -the member you want to remove from the archive, and then use `--append' + If you want to replace an archive member, use '--delete' to delete +the member you want to remove from the archive, and then use '--append' to add the member you want to be in the archive. Note that you can not change the order of the archive; the most recently added member will -still appear last. In this sense, you cannot truly "replace" one -member with another. (Replacing one member with another will not work -on certain types of media, such as tapes; see *note delete:: and *note +still appear last. In this sense, you cannot truly "replace" one member +with another. (Replacing one member with another will not work on +certain types of media, such as tapes; see *note delete:: and *note Media::, for more information.) * Menu: @@ -4004,9 +4367,9 @@ Media::, for more information.) ---------- Footnotes ---------- - (1) Unless you give it `--keep-old-files' (or `--skip-old-files') + (1) Unless you give it '--keep-old-files' (or '--skip-old-files') option, or the disk copy is newer than the one in the archive and you -invoke `tar' with `--keep-newer-files' option. +invoke 'tar' with '--keep-newer-files' option.  File: tar.info, Node: appending files, Next: multiple, Up: append @@ -4015,30 +4378,30 @@ File: tar.info, Node: appending files, Next: multiple, Up: append ..................................... The simplest way to add a file to an already existing archive is the -`--append' (`-r') operation, which writes specified files into the +'--append' ('-r') operation, which writes specified files into the archive whether or not they are already among the archived files. - When you use `--append', you _must_ specify file name arguments, as + When you use '--append', you _must_ specify file name arguments, as there is no default. If you specify a file that already exists in the archive, another copy of the file will be added to the end of the archive. As with other operations, the member names of the newly added -files will be exactly the same as their names given on the command -line. The `--verbose' (`-v') option will print out the names of the -files as they are written into the archive. +files will be exactly the same as their names given on the command line. +The '--verbose' ('-v') option will print out the names of the files as +they are written into the archive. - `--append' cannot be performed on some tape drives, unfortunately, + '--append' cannot be performed on some tape drives, unfortunately, due to deficiencies in the formats those tape drives use. The archive -must be a valid `tar' archive, or else the results of using this +must be a valid 'tar' archive, or else the results of using this operation will be unpredictable. *Note Media::. - To demonstrate using `--append' to add a file to an archive, create -a file called `rock' in the `practice' directory. Make sure you are in -the `practice' directory. Then, run the following `tar' command to add -`rock' to `collection.tar': + To demonstrate using '--append' to add a file to an archive, create a +file called 'rock' in the 'practice' directory. Make sure you are in +the 'practice' directory. Then, run the following 'tar' command to add +'rock' to 'collection.tar': $ tar --append --file=collection.tar rock -If you now use the `--list' (`-t') operation, you will see that `rock' +If you now use the '--list' ('-t') operation, you will see that 'rock' has been added to the archive: $ tar --list --file=collection.tar @@ -4053,35 +4416,35 @@ File: tar.info, Node: multiple, Prev: appending files, Up: append 4.2.2.2 Multiple Members with the Same Name ........................................... -You can use `--append' (`-r') to add copies of files which have been +You can use '--append' ('-r') to add copies of files which have been updated since the archive was created. (However, we do not recommend -doing this since there is another `tar' option called `--update'; *Note -update::, for more information. We describe this use of `--append' -here for the sake of completeness.) When you extract the archive, the -older version will be effectively lost. This works because files are +doing this since there is another 'tar' option called '--update'; *Note +update::, for more information. We describe this use of '--append' here +for the sake of completeness.) When you extract the archive, the older +version will be effectively lost. This works because files are extracted from an archive in the order in which they were archived. Thus, when the archive is extracted, a file archived later in time will replace a file of the same name which was archived earlier, even though the older version of the file will remain in the archive unless you delete all versions of the file. - Supposing you change the file `blues' and then append the changed -version to `collection.tar'. As you saw above, the original `blues' is -in the archive `collection.tar'. If you change the file and append the + Supposing you change the file 'blues' and then append the changed +version to 'collection.tar'. As you saw above, the original 'blues' is +in the archive 'collection.tar'. If you change the file and append the new version of the file to the archive, there will be two copies in the archive. When you extract the archive, the older version of the file will be extracted first, and then replaced by the newer version when it is extracted. - You can append the new, changed copy of the file `blues' to the + You can append the new, changed copy of the file 'blues' to the archive in this way: $ tar --append --verbose --file=collection.tar blues blues -Because you specified the `--verbose' option, `tar' has printed the -name of the file being appended as it was acted on. Now list the -contents of the archive: +Because you specified the '--verbose' option, 'tar' has printed the name +of the file being appended as it was acted on. Now list the contents of +the archive: $ tar --list --verbose --file=collection.tar -rw-r--r-- me/user 28 1996-10-18 16:31 jazz @@ -4090,21 +4453,21 @@ contents of the archive: -rw-r--r-- me/user 20 1996-09-23 16:44 rock -rw-r--r-- me/user 58 1996-10-24 18:30 blues -The newest version of `blues' is now at the end of the archive (note -the different creation dates and file sizes). If you extract the -archive, the older version of the file `blues' will be replaced by the -newer version. You can confirm this by extracting the archive and -running `ls' on the directory. +The newest version of 'blues' is now at the end of the archive (note the +different creation dates and file sizes). If you extract the archive, +the older version of the file 'blues' will be replaced by the newer +version. You can confirm this by extracting the archive and running +'ls' on the directory. - If you wish to extract the first occurrence of the file `blues' from -the archive, use `--occurrence' option, as shown in the following + If you wish to extract the first occurrence of the file 'blues' from +the archive, use '--occurrence' option, as shown in the following example: $ tar --extract -vv --occurrence --file=collection.tar blues -rw-r--r-- me/user 21 1996-09-23 16:44 blues - *Note Writing::, for more information on `--extract' and see *note --occurrence: Option Summary, for a description of `--occurrence' option. + *Note Writing::, for more information on '--extract' and see *note +-occurrence: Option Summary, for a description of '--occurrence' option.  File: tar.info, Node: update, Next: concatenate, Prev: append, Up: Advanced tar @@ -4112,21 +4475,21 @@ File: tar.info, Node: update, Next: concatenate, Prev: append, Up: Advanced 4.2.3 Updating an Archive ------------------------- -In the previous section, you learned how to use `--append' to add a -file to an existing archive. A related operation is `--update' (`-u'). -The `--update' operation updates a `tar' archive by comparing the date -of the specified archive members against the date of the file with the -same name. If the file has been modified more recently than the -archive member, then the newer version of the file is added to the -archive (as with `--append'). +In the previous section, you learned how to use '--append' to add a file +to an existing archive. A related operation is '--update' ('-u'). The +'--update' operation updates a 'tar' archive by comparing the date of +the specified archive members against the date of the file with the same +name. If the file has been modified more recently than the archive +member, then the newer version of the file is added to the archive (as +with '--append'). - Unfortunately, you cannot use `--update' with magnetic tape drives. + Unfortunately, you cannot use '--update' with magnetic tape drives. The operation will fail. - Both `--update' and `--append' work by adding to the end of the + Both '--update' and '--append' work by adding to the end of the archive. When you extract a file from the archive, only the version stored last will wind up in the file system, unless you use the -`--backup' option. *Note multiple::, for a detailed discussion. +'--backup' option. *Note multiple::, for a detailed discussion. * Menu: @@ -4135,65 +4498,64 @@ stored last will wind up in the file system, unless you use the  File: tar.info, Node: how to update, Up: update -4.2.3.1 How to Update an Archive Using `--update' +4.2.3.1 How to Update an Archive Using '--update' ................................................. -You must use file name arguments with the `--update' (`-u') operation. -If you don't specify any files, `tar' won't act on any files and won't +You must use file name arguments with the '--update' ('-u') operation. +If you don't specify any files, 'tar' won't act on any files and won't tell you that it didn't do anything (which may end up confusing you). - To see the `--update' option at work, create a new file, -`classical', in your practice directory, and some extra text to the -file `blues', using any text editor. Then invoke `tar' with the -`update' operation and the `--verbose' (`-v') option specified, using -the names of all the files in the `practice' directory as file name -arguments: + To see the '--update' option at work, create a new file, 'classical', +in your practice directory, and some extra text to the file 'blues', +using any text editor. Then invoke 'tar' with the 'update' operation +and the '--verbose' ('-v') option specified, using the names of all the +files in the 'practice' directory as file name arguments: $ tar --update -v -f collection.tar blues folk rock classical blues classical $ -Because we have specified verbose mode, `tar' prints out the names of +Because we have specified verbose mode, 'tar' prints out the names of the files it is working on, which in this case are the names of the -files that needed to be updated. If you run `tar --list' and look at -the archive, you will see `blues' and `classical' at its end. There -will be a total of two versions of the member `blues'; the one at the +files that needed to be updated. If you run 'tar --list' and look at +the archive, you will see 'blues' and 'classical' at its end. There +will be a total of two versions of the member 'blues'; the one at the end will be newer and larger, since you added text before updating it. - The reason `tar' does not overwrite the older file when updating it + The reason 'tar' does not overwrite the older file when updating it is because writing to the middle of a section of tape is a difficult process. Tapes are not designed to go backward. *Note Media::, for more information about tapes. - `--update' (`-u') is not suitable for performing backups for two + '--update' ('-u') is not suitable for performing backups for two reasons: it does not change directory content entries, and it lengthens -the archive every time it is used. The GNU `tar' options intended +the archive every time it is used. The GNU 'tar' options intended specifically for backups are more efficient. If you need to run backups, please consult *note Backups::.  File: tar.info, Node: concatenate, Next: delete, Prev: update, Up: Advanced tar -4.2.4 Combining Archives with `--concatenate' +4.2.4 Combining Archives with '--concatenate' --------------------------------------------- Sometimes it may be convenient to add a second archive onto the end of an archive rather than adding individual files to the archive. To add one or more archives to the end of another archive, you should use the -`--concatenate' (`--catenate', `-A') operation. +'--concatenate' ('--catenate', '-A') operation. - To use `--concatenate', give the first archive with `--file' option + To use '--concatenate', give the first archive with '--file' option and name the rest of archives to be concatenated on the command line. The members, and their member names, will be copied verbatim from those archives to the first one(1). The new, concatenated archive will be -called by the same name as the one given with the `--file' option. As -usual, if you omit `--file', `tar' will use the value of the environment -variable `TAPE', or, if this has not been set, the default archive name. +called by the same name as the one given with the '--file' option. As +usual, if you omit '--file', 'tar' will use the value of the environment +variable 'TAPE', or, if this has not been set, the default archive name. - To demonstrate how `--concatenate' works, create two small archives -called `bluesrock.tar' and `folkjazz.tar', using the relevant files -from `practice': + To demonstrate how '--concatenate' works, create two small archives +called 'bluesrock.tar' and 'folkjazz.tar', using the relevant files from +'practice': $ tar -cvf bluesrock.tar blues rock blues @@ -4202,7 +4564,7 @@ from `practice': folk jazz -If you like, You can run `tar --list' to make sure the archives contain +If you like, You can run 'tar --list' to make sure the archives contain what they are supposed to: $ tar -tvf bluesrock.tar @@ -4212,13 +4574,13 @@ what they are supposed to: -rw-r--r-- melissa/user 20 1996-09-23 16:44 folk -rw-r--r-- melissa/user 65 1997-01-30 14:15 jazz - We can concatenate these two archives with `tar': + We can concatenate these two archives with 'tar': $ cd .. $ tar --concatenate --file=bluesrock.tar jazzfolk.tar - If you now list the contents of the `bluesrock.tar', you will see -that now it also contains the archive members of `jazzfolk.tar': + If you now list the contents of the 'bluesrock.tar', you will see +that now it also contains the archive members of 'jazzfolk.tar': $ tar --list --file=bluesrock.tar blues @@ -4226,28 +4588,28 @@ that now it also contains the archive members of `jazzfolk.tar': folk jazz - When you use `--concatenate', the source and target archives must + When you use '--concatenate', the source and target archives must already exist and must have been created using compatible format -parameters. Notice, that `tar' does not check whether the archives it +parameters. Notice, that 'tar' does not check whether the archives it concatenates have compatible formats, it does not even check if the files are really tar archives. - Like `--append' (`-r'), this operation cannot be performed on some + Like '--append' ('-r'), this operation cannot be performed on some tape drives, due to deficiencies in the formats those tape drives use. - It may seem more intuitive to you to want or try to use `cat' to -concatenate two archives instead of using the `--concatenate' -operation; after all, `cat' is the utility for combining files. + It may seem more intuitive to you to want or try to use 'cat' to +concatenate two archives instead of using the '--concatenate' operation; +after all, 'cat' is the utility for combining files. - However, `tar' archives incorporate an end-of-file marker which must + However, 'tar' archives incorporate an end-of-file marker which must be removed if the concatenated archives are to be read properly as one -archive. `--concatenate' removes the end-of-archive marker from the -target archive before each new archive is appended. If you use `cat' -to combine the archives, the result will not be a valid `tar' format +archive. '--concatenate' removes the end-of-archive marker from the +target archive before each new archive is appended. If you use 'cat' to +combine the archives, the result will not be a valid 'tar' format archive. If you need to retrieve files from an archive that was added -to using the `cat' utility, use the `--ignore-zeros' (`-i') option. +to using the 'cat' utility, use the '--ignore-zeros' ('-i') option. *Note Ignore Zeros::, for further information on dealing with archives -improperly combined using the `cat' shell utility. +improperly combined using the 'cat' shell utility. ---------- Footnotes ---------- @@ -4258,31 +4620,31 @@ multiple::.  File: tar.info, Node: delete, Next: compare, Prev: concatenate, Up: Advanced tar -4.2.5 Removing Archive Members Using `--delete' +4.2.5 Removing Archive Members Using '--delete' ----------------------------------------------- -You can remove members from an archive by using the `--delete' option. -Specify the name of the archive with `--file' (`-f') and then specify +You can remove members from an archive by using the '--delete' option. +Specify the name of the archive with '--file' ('-f') and then specify the names of the members to be deleted; if you list no member names, -nothing will be deleted. The `--verbose' option will cause `tar' to -print the names of the members as they are deleted. As with -`--extract', you must give the exact member names when using `tar ---delete'. `--delete' will remove all versions of the named file from -the archive. The `--delete' operation can run very slowly. - - Unlike other operations, `--delete' has no short form. - - This operation will rewrite the archive. You can only use -`--delete' on an archive if the archive device allows you to write to -any point on the media, such as a disk; because of this, it does not -work on magnetic tapes. Do not try to delete an archive member from a -magnetic tape; the action will not succeed, and you will be likely to -scramble the archive and damage your tape. There is no safe way -(except by completely re-writing the archive) to delete files from most -kinds of magnetic tape. *Note Media::. - - To delete all versions of the file `blues' from the archive -`collection.tar' in the `practice' directory, make sure you are in that +nothing will be deleted. The '--verbose' option will cause 'tar' to +print the names of the members as they are deleted. As with +'--extract', you must give the exact member names when using 'tar +--delete'. '--delete' will remove all versions of the named file from +the archive. The '--delete' operation can run very slowly. + + Unlike other operations, '--delete' has no short form. + + This operation will rewrite the archive. You can only use '--delete' +on an archive if the archive device allows you to write to any point on +the media, such as a disk; because of this, it does not work on magnetic +tapes. Do not try to delete an archive member from a magnetic tape; the +action will not succeed, and you will be likely to scramble the archive +and damage your tape. There is no safe way (except by completely +re-writing the archive) to delete files from most kinds of magnetic +tape. *Note Media::. + + To delete all versions of the file 'blues' from the archive +'collection.tar' in the 'practice' directory, make sure you are in that directory, and then, $ tar --list --file=collection.tar @@ -4296,8 +4658,8 @@ directory, and then, jazz rock - The `--delete' option has been reported to work properly when `tar' -acts as a filter from `stdin' to `stdout'. + The '--delete' option has been reported to work properly when 'tar' +acts as a filter from 'stdin' to 'stdout'.  File: tar.info, Node: compare, Prev: delete, Up: Advanced tar @@ -4305,96 +4667,99 @@ File: tar.info, Node: compare, Prev: delete, Up: Advanced tar 4.2.6 Comparing Archive Members with the File System ---------------------------------------------------- -The `--compare' (`-d'), or `--diff' operation compares specified -archive members against files with the same names, and then reports -differences in file size, mode, owner, modification date and contents. -You should _only_ specify archive member names, not file names. If you -do not name any members, then `tar' will compare the entire archive. -If a file is represented in the archive but does not exist in the file -system, `tar' reports a difference. +The '--compare' ('-d'), or '--diff' operation compares specified archive +members against files with the same names, and then reports differences +in file size, mode, owner, modification date and contents. You should +_only_ specify archive member names, not file names. If you do not name +any members, then 'tar' will compare the entire archive. If a file is +represented in the archive but does not exist in the file system, 'tar' +reports a difference. You have to specify the record size of the archive when modifying an archive with a non-default record size. - `tar' ignores files in the file system that do not have -corresponding members in the archive. + 'tar' ignores files in the file system that do not have corresponding +members in the archive. - The following example compares the archive members `rock', `blues' -and `funk' in the archive `bluesrock.tar' with files of the same name -in the file system. (Note that there is no file, `funk'; `tar' will -report an error message.) + The following example compares the archive members 'rock', 'blues' +and 'funk' in the archive 'bluesrock.tar' with files of the same name in +the file system. (Note that there is no file, 'funk'; 'tar' will report +an error message.) $ tar --compare --file=bluesrock.tar rock blues funk rock blues tar: funk not found in archive - The spirit behind the `--compare' (`--diff', `-d') option is to -check whether the archive represents the current state of files on -disk, more than validating the integrity of the archive media. For -this latter goal, see *note verify::. + The spirit behind the '--compare' ('--diff', '-d') option is to check +whether the archive represents the current state of files on disk, more +than validating the integrity of the archive media. For this latter +goal, see *note verify::.  File: tar.info, Node: create options, Next: extract options, Prev: Advanced tar, Up: operations -4.3 Options Used by `--create' +4.3 Options Used by '--create' ============================== -The previous chapter described the basics of how to use `--create' -(`-c') to create an archive from a set of files. *Note create::. This -section described advanced options to be used with `--create'. +The previous chapter described the basics of how to use '--create' +('-c') to create an archive from a set of files. *Note create::. This +section described advanced options to be used with '--create'. * Menu: * override:: Overriding File Metadata. +* Extended File Attributes:: * Ignore Failed Read::  -File: tar.info, Node: override, Next: Ignore Failed Read, Up: create options +File: tar.info, Node: override, Next: Extended File Attributes, Up: create options 4.3.1 Overriding File Metadata ------------------------------ -As described above, a `tar' archive keeps, for each member it contains, +As described above, a 'tar' archive keeps, for each member it contains, its "metadata", such as modification time, mode and ownership of the -file. GNU `tar' allows to replace these data with other values when +file. GNU 'tar' allows to replace these data with other values when adding files to the archive. The options described in this section affect creation of archives of any type. For POSIX archives, see also *note PAX keywords::, for additional ways of controlling metadata, stored in the archive. -`--mode=PERMISSIONS' - When adding files to an archive, `tar' will use PERMISSIONS for - the archive members, rather than the permissions from the files. +'--mode=PERMISSIONS' + + When adding files to an archive, 'tar' will use PERMISSIONS for the + archive members, rather than the permissions from the files. PERMISSIONS can be specified either as an octal number or as - symbolic permissions, like with `chmod' (*Note Permissions: + symbolic permissions, like with 'chmod' (*Note Permissions: (fileutils)File permissions. This reference also has useful information for those not being overly familiar with the UNIX permission system). Using latter syntax allows for more - flexibility. For example, the value `a+rw' adds read and write + flexibility. For example, the value 'a+rw' adds read and write permissions for everybody, while retaining executable bits on directories or on any other file already marked as executable: $ tar -c -f archive.tar --mode='a+rw' . -`--mtime=DATE' - When adding files to an archive, `tar' will use DATE as the +'--mtime=DATE' + + When adding files to an archive, 'tar' will use DATE as the modification time of members when creating archives, instead of - their actual modification times. The argument DATE can be either - a textual date representation in almost arbitrary format (*note - Date input formats::) or a name of an existing file, starting with - `/' or `.'. In the latter case, the modification time of that - file will be used. + their actual modification times. The argument DATE can be either a + textual date representation in almost arbitrary format (*note Date + input formats::) or a name of an existing file, starting with '/' + or '.'. In the latter case, the modification time of that file + will be used. The following example will set the modification date to 00:00:00, January 1, 1970: $ tar -c -f archive.tar --mtime='1970-01-01' . - When used with `--verbose' (*note verbose tutorial::) GNU `tar' + When used with '--verbose' (*note verbose tutorial::) GNU 'tar' will try to convert the specified date back to its textual - representation and compare it with the one given with `--mtime' - options. If the two dates differ, `tar' will print a warning + representation and compare it with the one given with '--mtime' + options. If the two dates differ, 'tar' will print a warning saying what date it will use. This is to help user ensure he is using the right date. @@ -4405,16 +4770,25 @@ stored in the archive. 13:06:29.152478 ... -`--owner=USER' - Specifies that `tar' should use USER as the owner of members when + When used with '--clamp-mtime' GNU 'tar' will only set the + modification date to DATE on files whose actual modification date + is later than DATE. This is to make it easy to build reproducible + archives given a common timestamp for generated files while still + retaining the original timestamps of untouched files. + + $ tar -c -f archive.tar --clamp-mtime --mtime=@$SOURCE_DATE_EPOCH . + +'--owner=USER' + + Specifies that 'tar' should use USER as the owner of members when creating archives, instead of the user associated with the source file. If USER contains a colon, it is taken to be of the form NAME:ID where a nonempty NAME specifies the user name and a nonempty ID specifies the decimal numeric user ID. If USER does not contain a - colon, it is taken to be a user number if it is one or more - decimal digits; otherwise it is taken to be a user name. + colon, it is taken to be a user number if it is one or more decimal + digits; otherwise it is taken to be a user name. If a name is given but no number, the number is inferred from the current host's user database if possible, and the file's user @@ -4424,9 +4798,9 @@ stored in the archive. database is not consulted, and the name and number need not be valid on the current host. - There is no value indicating a missing number, and `0' usually - means `root'. Some people like to force `0' as the value to offer - in their distributions for the owner of files, because the `root' + There is no value indicating a missing number, and '0' usually + means 'root'. Some people like to force '0' as the value to offer + in their distributions for the owner of files, because the 'root' user is anonymous anyway, so that might as well be the owner of anonymous archives. For example: @@ -4436,40 +4810,212 @@ stored in the archive. $ tar -c -f archive.tar --owner=root . -`--group=GROUP' - Files added to the `tar' archive will have a group ID of GROUP, - rather than the group from the source file. As with `--owner', - the argument GROUP can be an existing group symbolic name, or a - decimal numeric group ID, or NAME:ID. +'--group=GROUP' + + Files added to the 'tar' archive will have a group ID of GROUP, + rather than the group from the source file. As with '--owner', the + argument GROUP can be an existing group symbolic name, or a decimal + numeric group ID, or NAME:ID. + + The '--owner' and '--group' options affect all files added to the +archive. GNU 'tar' provides also two options that allow for more +detailed control over owner translation: + +'--owner-map=FILE' + Read UID translation map from FILE. + + When reading, empty lines are ignored. The '#' sign, unless + quoted, introduces a comment, which extends to the end of the line. + Each nonempty line defines mapping for a single UID. It must + consist of two fields separated by any amount of whitespace. The + first field defines original username and UID. It can be a valid + user name or a valid UID prefixed with a plus sign. In both cases + the corresponding UID or user name is inferred from the current + host's user database. + + The second field defines the UID and username to map the original + one to. Its format can be the same as described above. Otherwise, + it can have the form NEWNAME:NEWUID, in which case neither NEWNAME + nor NEWUID are required to be valid as per the user database. + + For example, consider the following file: + + +10 bin + smith root:0 + + Given this file, each input file that is owner by UID 10 will be + stored in archive with owner name 'bin' and owner UID corresponding + to 'bin'. Each file owned by user 'smith' will be stored with + owner name 'root' and owner ID 0. Other files will remain + unchanged. + + When used together with '--owner-map', the '--owner' option affects + only files whose owner is not listed in the map file. + +'--group-map=FILE' + Read GID translation map from FILE. + + The format of FILE is the same as for '--owner-map' option: + + Each nonempty line defines mapping for a single GID. It must + consist of two fields separated by any amount of whitespace. The + first field defines original group name and GID. It can be a valid + group name or a valid GID prefixed with a plus sign. In both cases + the corresponding GID or user name is inferred from the current + host's group database. + + The second field defines the GID and group name to map the original + one to. Its format can be the same as described above. Otherwise, + it can have the form NEWNAME:NEWGID, in which case neither NEWNAME + nor NEWGID are required to be valid as per the group database. + + When used together with '--group-map', the '--group' option affects + only files whose owner group is not rewritten using the map file. + + +File: tar.info, Node: Extended File Attributes, Next: Ignore Failed Read, Prev: override, Up: create options + +4.3.2 Extended File Attributes +------------------------------ + +Extended file attributes are name-value pairs that can be associated +with each node in a file system. Despite the fact that POSIX.1e draft +which proposed them has been withdrawn, the extended file attributes are +supported by many file systems. GNU 'tar' can store extended file +attributes along with the files. This feature is controlled by the +following command line arguments: + +'--xattrs' + Enable extended attributes support. When used with '--create', + this option instructs GNU 'tar' to store extended file attribute in + the created archive. This implies POSIX.1-2001 archive format + ('--format=pax'). + + When used with '--extract', this option tells 'tar', for each file + extracted, to read stored attributes from the archive and to apply + them to the file. + +'--no-xattrs' + Disable extended attributes support. This is the default. + + Attribute names are strings prefixed by a "namespace" name and a dot. +Currently, four namespaces exist: 'user', 'trusted', 'security' and +'system'. By default, when '--xattr' is used, all names are stored in +the archive (or extracted, if using '--extract'). This can be +controlled using the following options: + +'--xattrs-exclude=PATTERN' + Specify exclude pattern for extended attributes. + +'--xattrs-include=PATTERN' + Specify include pattern for extended attributes. + + Here, the PATTERN is POSIX regular expression. For example, the +following command: + + $ tar --xattrs --xattrs-exclude='^user\.' -c a.tar . + + will include in the archive 'a.tar' all attributes, except those from +the 'user' namespace. + + Any number of these options can be given, thereby creating lists of +include and exclude patterns. + + When both options are used, first '--xattrs-inlcude' is applied to +select the set of attribute names to keep, and then '--xattrs-exclude' +is applied to the resulting set. In other words, only those attributes +will be stored, whose names match one of the regexps in +'--xattrs-inlcude' and don't match any of the regexps from +'--xattrs-exclude'. + + When listing the archive, if both '--xattrs' and '--verbose' options +are given, files that have extended attributes are marked with an +asterisk following their permission mask. For example: + + -rw-r--r--* smith/users 110 2016-03-16 16:07 file + + When two or more '--verbose' options are given, a detailed listing of +extended attributes is printed after each file entry. Each attribute is +listed on a separate line, which begins with two spaces and the letter +'x' indicating extended attribute. It is followed by a colon, length of +the attribute and its name, e.g.: + + -rw-r--r--* smith/users 110 2016-03-16 16:07 file + x: 7 user.mime_type + x: 32 trusted.md5sum + + File access control lists ("ACL") are another actively used feature +proposed by the POSIX.1e standard. Each ACL consists of a set of ACL +entries, each of which describes the access permissions on the file for +an individual user or a group of users as a combination of read, write +and search/execute permissions. + + Whether or not to use ACLs is controlled by the following two +options: + +'--acls' + Enable POSIX ACLs support. When used with '--create', this option + instructs GNU 'tar' to store ACLs in the created archive. This + implies POSIX.1-2001 archive format ('--format=pax'). + + When used with '--extract', this option tells 'tar', to restore + ACLs for each file extracted (provided they are present in the + archive). + +'--no-acls' + Disable POSIX ACLs support. This is the default. + + When listing the archive, if both '--acls' and '--verbose' options +are given, files that have ACLs are marked with a plus sing following +their permission mask. For example: + + -rw-r--r--+ smith/users 110 2016-03-16 16:07 file + + When two or more '--verbose' options are given, a detailed listing of +ACL is printed after each file entry: + + -rw-r--r--+ smith/users 110 2016-03-16 16:07 file + a: user::rw-,user:gray:-w-,group::r--,mask::rw-,other::r-- + + "Security-Enhanced Linux" ("SELinux" for short) is a Linux kernel +security module that provides a mechanism for supporting access control +security policies, including so-called mandatory access controls +("MAC"). Support for SELinux attributes is controlled by the following +command line options: + +'--selinux' + Enable the SELinux context support. + +'--no-selinux' + Disable SELinux context support.  -File: tar.info, Node: Ignore Failed Read, Prev: override, Up: create options +File: tar.info, Node: Ignore Failed Read, Prev: Extended File Attributes, Up: create options -4.3.2 Ignore Fail Read +4.3.3 Ignore Fail Read ---------------------- -`--ignore-failed-read' +'--ignore-failed-read' Do not exit with nonzero on unreadable files or directories.  File: tar.info, Node: extract options, Next: backup, Prev: create options, Up: operations -4.4 Options Used by `--extract' +4.4 Options Used by '--extract' =============================== -The previous chapter showed how to use `--extract' to extract an -archive into the file system. Various options cause `tar' to extract -more information than just file contents, such as the owner, the -permissions, the modification date, and so forth. This section -presents options to be used with `--extract' when certain special -considerations arise. You may review the information presented in -*note extract:: for more basic information about the `--extract' -operation. +The previous chapter showed how to use '--extract' to extract an archive +into the file system. Various options cause 'tar' to extract more +information than just file contents, such as the owner, the permissions, +the modification date, and so forth. This section presents options to +be used with '--extract' when certain special considerations arise. You +may review the information presented in *note extract:: for more basic +information about the '--extract' operation. * Menu: * Reading:: Options to Help Read Archives -* Writing:: Changing How `tar' Writes Files +* Writing:: Changing How 'tar' Writes Files * Scarce:: Coping with Scarce Resources  @@ -4478,26 +5024,26 @@ File: tar.info, Node: Reading, Next: Writing, Up: extract options 4.4.1 Options to Help Read Archives ----------------------------------- -Normally, `tar' will request data in full record increments from an +Normally, 'tar' will request data in full record increments from an archive storage device. If the device cannot return a full record, -`tar' will report an error. However, some devices do not always return +'tar' will report an error. However, some devices do not always return full records, or do not require the last record of an archive to be padded out to the next record boundary. To keep reading until you obtain a full record, or to accept an incomplete record if it contains -an end-of-archive marker, specify the `--read-full-records' (`-B') -option in conjunction with the `--extract' or `--list' operations. +an end-of-archive marker, specify the '--read-full-records' ('-B') +option in conjunction with the '--extract' or '--list' operations. *Note Blocking::. - The `--read-full-records' (`-B') option is turned on by default when -`tar' reads an archive from standard input, or from a remote machine. + The '--read-full-records' ('-B') option is turned on by default when +'tar' reads an archive from standard input, or from a remote machine. This is because on BSD Unix systems, attempting to read a pipe returns however much happens to be in the pipe, even if it is less than was -requested. If this option were not enabled, `tar' would fail as soon -as it read an incomplete record from the pipe. +requested. If this option were not enabled, 'tar' would fail as soon as +it read an incomplete record from the pipe. - If you're not sure of the blocking factor of an archive, you can -read the archive by specifying `--read-full-records' (`-B') and -`--blocking-factor=512-SIZE' (`-b 512-SIZE'), using a blocking factor + If you're not sure of the blocking factor of an archive, you can read +the archive by specifying '--read-full-records' ('-B') and +'--blocking-factor=512-SIZE' ('-b 512-SIZE'), using a blocking factor larger than what the archive uses. This lets you avoid having to determine the blocking factor of an archive. *Note Blocking Factor::. @@ -4512,10 +5058,9 @@ File: tar.info, Node: read full records, Next: Ignore Zeros, Up: Reading Reading Full Records .................... -`--read-full-records' - -`-B' - Use in conjunction with `--extract' (`--get', `-x') to read an +'--read-full-records' +'-B' + Use in conjunction with '--extract' ('--get', '-x') to read an archive which contains incomplete records, or one which has a blocking factor less than the one specified. @@ -4525,29 +5070,28 @@ File: tar.info, Node: Ignore Zeros, Prev: read full records, Up: Reading Ignoring Blocks of Zeros ........................ -Normally, `tar' stops reading when it encounters a block of zeros +Normally, 'tar' stops reading when it encounters a block of zeros between file entries (which usually indicates the end of the archive). -`--ignore-zeros' (`-i') allows `tar' to completely read an archive -which contains a block of zeros before the end (i.e., a damaged -archive, or one that was created by concatenating several archives -together). - - The `--ignore-zeros' (`-i') option is turned off by default because -many versions of `tar' write garbage after the end-of-archive entry, -since that part of the media is never supposed to be read. GNU `tar' +'--ignore-zeros' ('-i') allows 'tar' to completely read an archive which +contains a block of zeros before the end (i.e., a damaged archive, or +one that was created by concatenating several archives together). + + The '--ignore-zeros' ('-i') option is turned off by default because +many versions of 'tar' write garbage after the end-of-archive entry, +since that part of the media is never supposed to be read. GNU 'tar' does not write after the end of an archive, but seeks to maintain compatibility among archiving utilities. -`--ignore-zeros' -`-i' +'--ignore-zeros' +'-i' To ignore blocks of zeros (i.e., end-of-archive entries) which may be encountered while reading an archive. Use in conjunction with - `--extract' or `--list'. + '--extract' or '--list'.  File: tar.info, Node: Writing, Next: Scarce, Prev: Reading, Up: extract options -4.4.2 Changing How `tar' Writes Files +4.4.2 Changing How 'tar' Writes Files ------------------------------------- _(This message will disappear, once this node revised.)_ @@ -4573,18 +5117,18 @@ File: tar.info, Node: Dealing with Old Files, Next: Overwrite Old Files, Up: Options Controlling the Overwriting of Existing Files ..................................................... -When extracting files, if `tar' discovers that the extracted file +When extracting files, if 'tar' discovers that the extracted file already exists, it normally replaces the file by removing it before extracting it, to prevent confusion in the presence of hard or symbolic links. (If the existing file is a symbolic link, it is removed, not followed.) However, if a directory cannot be removed because it is -nonempty, `tar' normally overwrites its metadata (ownership, -permission, etc.). The `--overwrite-dir' option enables this default -behavior. To be more cautious and preserve the metadata of such a -directory, use the `--no-overwrite-dir' option. +nonempty, 'tar' normally overwrites its metadata (ownership, permission, +etc.). The '--overwrite-dir' option enables this default behavior. To +be more cautious and preserve the metadata of such a directory, use the +'--no-overwrite-dir' option. To be even more cautious and prevent existing files from being -replaced, use the `--keep-old-files' (`-k') option. It causes `tar' to +replaced, use the '--keep-old-files' ('-k') option. It causes 'tar' to refuse to replace or update a file that already exists, i.e., a file with the same name as an archive member prevents extraction of that archive member. Instead, it reports an error. For example: @@ -4595,32 +5139,31 @@ archive member. Instead, it reports an error. For example: tar: blues: Cannot open: File exists tar: Exiting with failure status due to previous errors - If you wish to preserve old files untouched, but don't want `tar' to -treat them as errors, use the `--skip-old-files' option. This option -causes `tar' to silently skip extracting over existing files. + If you wish to preserve old files untouched, but don't want 'tar' to +treat them as errors, use the '--skip-old-files' option. This option +causes 'tar' to silently skip extracting over existing files. To be more aggressive about altering existing files, use the -`--overwrite' option. It causes `tar' to overwrite existing files and +'--overwrite' option. It causes 'tar' to overwrite existing files and to follow existing symbolic links when extracting. - Some people argue that GNU `tar' should not hesitate to overwrite -files with other files when extracting. When extracting a `tar' + Some people argue that GNU 'tar' should not hesitate to overwrite +files with other files when extracting. When extracting a 'tar' archive, they expect to see a faithful copy of the state of the file system when the archive was created. It is debatable that this would -always be a proper behavior. For example, suppose one has an archive -in which `usr/local' is a link to `usr/local2'. Since then, maybe the -site removed the link and renamed the whole hierarchy from -`/usr/local2' to `/usr/local'. Such things happen all the time. I -guess it would not be welcome at all that GNU `tar' removes the whole -hierarchy just to make room for the link to be reinstated (unless it -_also_ simultaneously restores the full `/usr/local2', of course!) GNU -`tar' is indeed able to remove a whole hierarchy to reestablish a -symbolic link, for example, but _only if_ `--recursive-unlink' is -specified to allow this behavior. In any case, single files are -silently removed. - - Finally, the `--unlink-first' (`-U') option can improve performance -in some cases by causing `tar' to remove files unconditionally before +always be a proper behavior. For example, suppose one has an archive in +which 'usr/local' is a link to 'usr/local2'. Since then, maybe the site +removed the link and renamed the whole hierarchy from '/usr/local2' to +'/usr/local'. Such things happen all the time. I guess it would not be +welcome at all that GNU 'tar' removes the whole hierarchy just to make +room for the link to be reinstated (unless it _also_ simultaneously +restores the full '/usr/local2', of course!) GNU 'tar' is indeed able +to remove a whole hierarchy to reestablish a symbolic link, for example, +but _only if_ '--recursive-unlink' is specified to allow this behavior. +In any case, single files are silently removed. + + Finally, the '--unlink-first' ('-U') option can improve performance +in some cases by causing 'tar' to remove files unconditionally before extracting them.  @@ -4629,29 +5172,29 @@ File: tar.info, Node: Overwrite Old Files, Next: Keep Old Files, Prev: Dealin Overwrite Old Files ................... -`--overwrite' +'--overwrite' Overwrite existing files and directory metadata when extracting files from an archive. - This causes `tar' to write extracted files into the file system - without regard to the files already on the system; i.e., files - with the same names as archive members are overwritten when the - archive is extracted. It also causes `tar' to extract the - ownership, permissions, and time stamps onto any preexisting files - or directories. If the name of a corresponding file name is a + This causes 'tar' to write extracted files into the file system + without regard to the files already on the system; i.e., files with + the same names as archive members are overwritten when the archive + is extracted. It also causes 'tar' to extract the ownership, + permissions, and time stamps onto any preexisting files or + directories. If the name of a corresponding file name is a symbolic link, the file pointed to by the symbolic link will be overwritten instead of the symbolic link itself (if this is possible). Moreover, special devices, empty directories and even symbolic links are automatically removed if they are in the way of extraction. - Be careful when using the `--overwrite' option, particularly when - combined with the `--absolute-names' (`-P') option, as this + Be careful when using the '--overwrite' option, particularly when + combined with the '--absolute-names' ('-P') option, as this combination can change the contents, ownership or permissions of any file on your system. Also, many systems do not take kindly to overwriting files that are currently being executed. -`--overwrite-dir' +'--overwrite-dir' Overwrite the metadata of directories when extracting files from an archive, but remove other files before extracting. @@ -4661,22 +5204,22 @@ File: tar.info, Node: Keep Old Files, Next: Keep Newer Files, Prev: Overwrite Keep Old Files .............. -GNU `tar' provides two options to control its actions in a situation +GNU 'tar' provides two options to control its actions in a situation when it is about to extract a file which already exists on disk. -`--keep-old-files' -`-k' +'--keep-old-files' +'-k' Do not replace existing files from archive. When such a file is - encountered, `tar' issues an error message. Upon end of - extraction, `tar' exits with code 2 (*note exit status::). + encountered, 'tar' issues an error message. Upon end of + extraction, 'tar' exits with code 2 (*note exit status::). -`--skip-old-files' +'--skip-old-files' Do not replace existing files from archive, but do not treat that - as error. Such files are silently skipped and do not affect `tar' + as error. Such files are silently skipped and do not affect 'tar' exit status. Additional verbosity can be obtained using - `--warning=existing-file' together with that option (*note + '--warning=existing-file' together with that option (*note warnings::).  @@ -4685,9 +5228,9 @@ File: tar.info, Node: Keep Newer Files, Next: Unlink First, Prev: Keep Old Fi Keep Newer Files ................ -`--keep-newer-files' +'--keep-newer-files' Do not replace existing files that are newer than their archive - copies. This option is meaningless with `--list' (`-t'). + copies. This option is meaningless with '--list' ('-t').  File: tar.info, Node: Unlink First, Next: Recursive Unlink, Prev: Keep Newer Files, Up: Writing @@ -4695,11 +5238,11 @@ File: tar.info, Node: Unlink First, Next: Recursive Unlink, Prev: Keep Newer Unlink First ............ -`--unlink-first' -`-U' - Remove files before extracting over them. This can make `tar' run +'--unlink-first' +'-U' + Remove files before extracting over them. This can make 'tar' run a bit faster if you know in advance that the extracted files all - need to be removed. Normally this option slows `tar' down + need to be removed. Normally this option slows 'tar' down slightly, so it is disabled by default.  @@ -4708,12 +5251,12 @@ File: tar.info, Node: Recursive Unlink, Next: Data Modification Times, Prev: Recursive Unlink ................ -`--recursive-unlink' +'--recursive-unlink' When this option is specified, try removing files and directory hierarchies before extracting over them. _This is a dangerous option!_ - If you specify the `--recursive-unlink' option, `tar' removes + If you specify the '--recursive-unlink' option, 'tar' removes _anything_ that keeps you from extracting a file as far as current permissions will allow it. This could include removal of the contents of a full directory hierarchy. @@ -4724,20 +5267,20 @@ File: tar.info, Node: Data Modification Times, Next: Setting Access Permission Setting Data Modification Times ............................... -Normally, `tar' sets the data modification times of extracted files to +Normally, 'tar' sets the data modification times of extracted files to the corresponding times recorded for the files in the archive, but -limits the permissions of extracted files by the current `umask' +limits the permissions of extracted files by the current 'umask' setting. To set the data modification times of extracted files to the time -when the files were extracted, use the `--touch' (`-m') option in -conjunction with `--extract' (`--get', `-x'). +when the files were extracted, use the '--touch' ('-m') option in +conjunction with '--extract' ('--get', '-x'). -`--touch' -`-m' - Sets the data modification time of extracted archive members to - the time they were extracted, not the time recorded for them in - the archive. Use in conjunction with `--extract' (`--get', `-x'). +'--touch' +'-m' + Sets the data modification time of extracted archive members to the + time they were extracted, not the time recorded for them in the + archive. Use in conjunction with '--extract' ('--get', '-x').  File: tar.info, Node: Setting Access Permissions, Next: Directory Modification Times and Permissions, Prev: Data Modification Times, Up: Writing @@ -4746,15 +5289,15 @@ Setting Access Permissions .......................... To set the modes (access permissions) of extracted files to those -recorded for those files in the archive, use `--same-permissions' in -conjunction with the `--extract' (`--get', `-x') operation. +recorded for those files in the archive, use '--same-permissions' in +conjunction with the '--extract' ('--get', '-x') operation. -`--preserve-permissions' -`--same-permissions' -`-p' +'--preserve-permissions' +'--same-permissions' +'-p' Set modes of extracted archive members to those recorded in the archive, instead of current umask settings. Use in conjunction - with `--extract' (`--get', `-x'). + with '--extract' ('--get', '-x').  File: tar.info, Node: Directory Modification Times and Permissions, Next: Writing to Standard Output, Prev: Setting Access Permissions, Up: Writing @@ -4762,29 +5305,29 @@ File: tar.info, Node: Directory Modification Times and Permissions, Next: Writ Directory Modification Times and Permissions ............................................ -After successfully extracting a file member, GNU `tar' normally -restores its permissions and modification times, as described in the -previous sections. This cannot be done for directories, because after -extracting a directory `tar' will almost certainly extract files into -that directory and this will cause the directory modification time to -be updated. Moreover, restoring that directory permissions may not -permit file creation within it. Thus, restoring directory permissions -and modification times must be delayed at least until all files have -been extracted into that directory. GNU `tar' restores directories -using the following approach. +After successfully extracting a file member, GNU 'tar' normally restores +its permissions and modification times, as described in the previous +sections. This cannot be done for directories, because after extracting +a directory 'tar' will almost certainly extract files into that +directory and this will cause the directory modification time to be +updated. Moreover, restoring that directory permissions may not permit +file creation within it. Thus, restoring directory permissions and +modification times must be delayed at least until all files have been +extracted into that directory. GNU 'tar' restores directories using the +following approach. The extracted directories are created with the mode specified in the archive, as modified by the umask of the user, which gives sufficient permissions to allow file creation. The meta-information about the directory is recorded in the temporary list of directories. When -preparing to extract next archive member, GNU `tar' checks if the +preparing to extract next archive member, GNU 'tar' checks if the directory prefix of this file contains the remembered directory. If it does not, the program assumes that all files have been extracted into that directory, restores its modification time and permissions and removes its entry from the internal list. This approach allows to correctly restore directory meta-information in the majority of cases, while keeping memory requirements sufficiently small. It is based on -the fact, that most `tar' archives use the predefined order of members: +the fact, that most 'tar' archives use the predefined order of members: first the directory, then all the files and subdirectories in that directory. @@ -4792,11 +5335,11 @@ directory. incremental archives (*note Incremental Dumps::). The member order in an incremental archive is reversed: first all directory members are stored, followed by other (non-directory) members. So, when extracting -from incremental archives, GNU `tar' alters the above procedure. It +from incremental archives, GNU 'tar' alters the above procedure. It remembers all restored directories, and restores their meta-data only after the entire archive has been processed. Notice, that you do not -need to specify any special options for that, as GNU `tar' -automatically detects archives in incremental format. +need to specify any special options for that, as GNU 'tar' automatically +detects archives in incremental format. There may be cases, when such processing is required for normal archives too. Consider the following example: @@ -4809,25 +5352,25 @@ archives too. Consider the following example: bar/file foo/file2 - During the normal operation, after encountering `bar' GNU `tar' will -assume that all files from the directory `foo' were already extracted + During the normal operation, after encountering 'bar' GNU 'tar' will +assume that all files from the directory 'foo' were already extracted and will therefore restore its timestamp and permission bits. However, -after extracting `foo/file2' the directory timestamp will be offset +after extracting 'foo/file2' the directory timestamp will be offset again. To correctly restore directory meta-information in such cases, use -the `--delay-directory-restore' command line option: +the '--delay-directory-restore' command line option: -`--delay-directory-restore' +'--delay-directory-restore' Delays restoring of the modification times and permissions of extracted directories until the end of extraction. This way, correct meta-information is restored even if the archive has unusual member ordering. -`--no-delay-directory-restore' - Cancel the effect of the previous `--delay-directory-restore'. - Use this option if you have used `--delay-directory-restore' in - `TAR_OPTIONS' variable (*note TAR_OPTIONS::) and wish to +'--no-delay-directory-restore' + Cancel the effect of the previous '--delay-directory-restore'. Use + this option if you have used '--delay-directory-restore' in + 'TAR_OPTIONS' variable (*note TAR_OPTIONS::) and wish to temporarily disable it.  @@ -4836,22 +5379,22 @@ File: tar.info, Node: Writing to Standard Output, Next: Writing to an External Writing to Standard Output .......................... -To write the extracted files to the standard output, instead of -creating the files on the file system, use `--to-stdout' (`-O') in -conjunction with `--extract' (`--get', `-x'). This option is useful if -you are extracting files to send them through a pipe, and do not need to -preserve them in the file system. If you extract multiple members, -they appear on standard output concatenated, in the order they are -found in the archive. +To write the extracted files to the standard output, instead of creating +the files on the file system, use '--to-stdout' ('-O') in conjunction +with '--extract' ('--get', '-x'). This option is useful if you are +extracting files to send them through a pipe, and do not need to +preserve them in the file system. If you extract multiple members, they +appear on standard output concatenated, in the order they are found in +the archive. -`--to-stdout' -`-O' +'--to-stdout' +'-O' Writes files to the standard output. Use only in conjunction with - `--extract' (`--get', `-x'). When this option is used, instead of - creating the files specified, `tar' writes the contents of the + '--extract' ('--get', '-x'). When this option is used, instead of + creating the files specified, 'tar' writes the contents of the files extracted to its standard output. This may be useful if you - are only extracting the files in order to send them through a - pipe. This option is meaningless with `--list' (`-t'). + are only extracting the files in order to send them through a pipe. + This option is meaningless with '--list' ('-t'). This can be useful, for example, if you have a tar archive containing a big file and don't want to store the file on disk before processing @@ -4864,8 +5407,8 @@ files: tar -xOzf foo.tgz bigfile1 bigfile2 | process - However, `--to-command' may be more convenient for use with multiple -files. See the next section. + However, '--to-command' may be more convenient for use with multiple +files. See the next section.  File: tar.info, Node: Writing to an External Program, Next: remove files, Prev: Writing to Standard Output, Up: Writing @@ -4873,26 +5416,27 @@ File: tar.info, Node: Writing to an External Program, Next: remove files, Pre Writing to an External Program .............................. -You can instruct `tar' to send the contents of each extracted file to +You can instruct 'tar' to send the contents of each extracted file to the standard input of an external program: -`--to-command=COMMAND' +'--to-command=COMMAND' Extract files and pipe their contents to the standard input of COMMAND. When this option is used, instead of creating the files - specified, `tar' invokes COMMAND and pipes the contents of the - files to its standard output. The COMMAND may contain command - line arguments (see *note Running External Commands: external, for - more detail). + specified, 'tar' invokes COMMAND and pipes the contents of the + files to its standard output. The COMMAND may contain command line + arguments (see *note Running External Commands: external, for more + detail). Notice, that COMMAND is executed once for each regular file - extracted. Non-regular files (directories, etc.) are ignored when + extracted. Non-regular files (directories, etc.) are ignored when this option is used. The command can obtain the information about the file it processes from the following environment variables: -`TAR_FILETYPE' - Type of the file. It is a single letter with the following meaning: +'TAR_FILETYPE' + Type of the file. It is a single letter with the following + meaning: f Regular file d Directory @@ -4903,59 +5447,59 @@ from the following environment variables: Currently only regular files are supported. -`TAR_MODE' +'TAR_MODE' File mode, an octal number. -`TAR_FILENAME' +'TAR_FILENAME' The name of the file. -`TAR_REALNAME' +'TAR_REALNAME' Name of the file as stored in the archive. -`TAR_UNAME' +'TAR_UNAME' Name of the file owner. -`TAR_GNAME' +'TAR_GNAME' Name of the file owner group. -`TAR_ATIME' - Time of last access. It is a decimal number, representing seconds +'TAR_ATIME' + Time of last access. It is a decimal number, representing seconds since the Epoch. If the archive provides times with nanosecond precision, the nanoseconds are appended to the timestamp after a decimal point. -`TAR_MTIME' +'TAR_MTIME' Time of last modification. -`TAR_CTIME' +'TAR_CTIME' Time of last status change. -`TAR_SIZE' +'TAR_SIZE' Size of the file. -`TAR_UID' +'TAR_UID' UID of the file owner. -`TAR_GID' +'TAR_GID' GID of the file owner. Additionally, the following variables contain information about tar mode and the archive being processed: -`TAR_VERSION' - GNU `tar' version number. +'TAR_VERSION' + GNU 'tar' version number. -`TAR_ARCHIVE' - The name of the archive `tar' is processing. +'TAR_ARCHIVE' + The name of the archive 'tar' is processing. -`TAR_BLOCKING_FACTOR' +'TAR_BLOCKING_FACTOR' Current blocking factor (*note Blocking::). -`TAR_VOLUME' - Ordinal number of the volume `tar' is processing. +'TAR_VOLUME' + Ordinal number of the volume 'tar' is processing. -`TAR_FORMAT' - Format of the archive being processed. *Note Formats::, for a +'TAR_FORMAT' + Format of the archive being processed. *Note Formats::, for a complete list of archive format names. These variables are defined prior to executing the command, so you @@ -4966,26 +5510,26 @@ PROC takes the member name and size as its arguments, then you could do: --to-command='proc $TAR_FILENAME $TAR_SIZE' Notice single quotes to prevent variable names from being expanded by -the shell when invoking `tar'. +the shell when invoking 'tar'. - If COMMAND exits with a non-0 status, `tar' will print an error + If COMMAND exits with a non-0 status, 'tar' will print an error message similar to the following: tar: 2345: Child returned status 1 - Here, `2345' is the PID of the finished process. + Here, '2345' is the PID of the finished process. - If this behavior is not wanted, use `--ignore-command-error': + If this behavior is not wanted, use '--ignore-command-error': -`--ignore-command-error' +'--ignore-command-error' Ignore exit codes of subprocesses. Notice that if the program exits on signal or otherwise terminates abnormally, the error message will be printed even if this option is used. -`--no-ignore-command-error' - Cancel the effect of any previous `--ignore-command-error' option. - This option is useful if you have set `--ignore-command-error' in - `TAR_OPTIONS' (*note TAR_OPTIONS::) and wish to temporarily cancel +'--no-ignore-command-error' + Cancel the effect of any previous '--ignore-command-error' option. + This option is useful if you have set '--ignore-command-error' in + 'TAR_OPTIONS' (*note TAR_OPTIONS::) and wish to temporarily cancel it.  @@ -4994,7 +5538,7 @@ File: tar.info, Node: remove files, Prev: Writing to an External Program, Up: Removing Files .............. -`--remove-files' +'--remove-files' Remove files after adding them to the archive.  @@ -5016,18 +5560,18 @@ File: tar.info, Node: Starting File, Next: Same Order, Up: Scarce Starting File ............. -`--starting-file=NAME' -`-K NAME' +'--starting-file=NAME' +'-K NAME' Starts an operation in the middle of an archive. Use in - conjunction with `--extract' (`--get', `-x') or `--list' (`-t'). + conjunction with '--extract' ('--get', '-x') or '--list' ('-t'). If a previous attempt to extract files failed due to lack of disk -space, you can use `--starting-file=NAME' (`-K NAME') to start +space, you can use '--starting-file=NAME' ('-K NAME') to start extracting only after member NAME of the archive. This assumes, of course, that there is now free space, or that you are now extracting -into a different file system. (You could also choose to suspend `tar', +into a different file system. (You could also choose to suspend 'tar', remove unnecessary files from the file system, and then resume the same -`tar' operation. In this case, `--starting-file' is not necessary.) +'tar' operation. In this case, '--starting-file' is not necessary.) See also *note interactive::, and *note exclude::.  @@ -5036,20 +5580,20 @@ File: tar.info, Node: Same Order, Prev: Starting File, Up: Scarce Same Order .......... -`--same-order' -`--preserve-order' -`-s' - To process large lists of file names on machines with small - amounts of memory. Use in conjunction with `--compare' (`--diff', - `-d'), `--list' (`-t') or `--extract' (`--get', `-x'). - - The `--same-order' (`--preserve-order', `-s') option tells `tar' -that the list of file names to be listed or extracted is sorted in the -same order as the files in the archive. This allows a large list of -names to be used, even on a small machine that would not otherwise be -able to hold all the names in memory at the same time. Such a sorted -list can easily be created by running `tar -t' on the archive and -editing its output. +'--same-order' +'--preserve-order' +'-s' + To process large lists of file names on machines with small amounts + of memory. Use in conjunction with '--compare' ('--diff', '-d'), + '--list' ('-t') or '--extract' ('--get', '-x'). + + The '--same-order' ('--preserve-order', '-s') option tells 'tar' that +the list of file names to be listed or extracted is sorted in the same +order as the files in the archive. This allows a large list of names to +be used, even on a small machine that would not otherwise be able to +hold all the names in memory at the same time. Such a sorted list can +easily be created by running 'tar -t' on the archive and editing its +output. This option is probably never needed on modern computer systems. @@ -5059,11 +5603,11 @@ File: tar.info, Node: backup, Next: Applications, Prev: extract options, Up: 4.5 Backup options ================== -GNU `tar' offers options for making backups of files before writing new -versions. These options control the details of these backups. They -may apply to the archive itself before it is created or rewritten, as -well as individual extracted members. Other GNU programs (`cp', -`install', `ln', and `mv', for example) offer similar options. +GNU 'tar' offers options for making backups of files before writing new +versions. These options control the details of these backups. They may +apply to the archive itself before it is created or rewritten, as well +as individual extracted members. Other GNU programs ('cp', 'install', +'ln', and 'mv', for example) offer similar options. Backup options may prove unexpectedly useful when extracting archives containing many members having identical name, or when extracting @@ -5082,10 +5626,10 @@ change in the future, we are waiting comments from our users. So, please do not learn to depend blindly on the details of the backup features. For example, currently, directories themselves are never renamed through using these options, so, extracting a file over a -directory still has good chances to fail. Also, backup options apply -to created archives, not only to extracted members. For created -archives, backups will not be attempted when the archive is a block or -character device, or when it refers to a remote file. +directory still has good chances to fail. Also, backup options apply to +created archives, not only to extracted members. For created archives, +backups will not be attempted when the archive is a block or character +device, or when it refers to a remote file. For the sake of simplicity and efficiency, backups are made by renaming old files prior to creation or extraction, and not by copying. @@ -5093,56 +5637,54 @@ The original name is restored if the file creation fails. If a failure occurs after a partial extraction of a file, both the backup and the partially extracted file are kept. -`--backup[=METHOD]' - Back up files that are about to be overwritten or removed. - Without this option, the original versions are destroyed. +'--backup[=METHOD]' + Back up files that are about to be overwritten or removed. Without + this option, the original versions are destroyed. - Use METHOD to determine the type of backups made. If METHOD is - not specified, use the value of the `VERSION_CONTROL' environment - variable. And if `VERSION_CONTROL' is not set, use the `existing' + Use METHOD to determine the type of backups made. If METHOD is not + specified, use the value of the 'VERSION_CONTROL' environment + variable. And if 'VERSION_CONTROL' is not set, use the 'existing' method. - This option corresponds to the Emacs variable `version-control'; + This option corresponds to the Emacs variable 'version-control'; the same values for METHOD are accepted as in Emacs. This option also allows more descriptive names. The valid METHODs are: - `t' - `numbered' + 't' + 'numbered' Always make numbered backups. - `nil' - `existing' + 'nil' + 'existing' Make numbered backups of files that already have them, simple backups of the others. - `never' - `simple' + 'never' + 'simple' Always make simple backups. - -`--suffix=SUFFIX' - Append SUFFIX to each backup file made with `--backup'. If this - option is not specified, the value of the `SIMPLE_BACKUP_SUFFIX' - environment variable is used. And if `SIMPLE_BACKUP_SUFFIX' is not - set, the default is `~', just as in Emacs. - +'--suffix=SUFFIX' + Append SUFFIX to each backup file made with '--backup'. If this + option is not specified, the value of the 'SIMPLE_BACKUP_SUFFIX' + environment variable is used. And if 'SIMPLE_BACKUP_SUFFIX' is not + set, the default is '~', just as in Emacs.  File: tar.info, Node: Applications, Next: looking ahead, Prev: backup, Up: operations -4.6 Notable `tar' Usages +4.6 Notable 'tar' Usages ======================== _(This message will disappear, once this node revised.)_ -You can easily use archive files to transport a group of files from one -system to another: put all relevant files into an archive on one -computer system, transfer the archive to another system, and extract -the contents there. The basic transfer medium might be magnetic tape, + You can easily use archive files to transport a group of files from +one system to another: put all relevant files into an archive on one +computer system, transfer the archive to another system, and extract the +contents there. The basic transfer medium might be magnetic tape, Internet FTP, or even electronic mail (though you must encode the -archive with `uuencode' in order to transport it properly by mail). +archive with 'uuencode' in order to transport it properly by mail). Both machines do not have to use the same operating system, as long as -they both support the `tar' program. +they both support the 'tar' program. For example, here is how you might copy a directory's contents from one disk to another, while preserving the dates, modes, owners and @@ -5151,7 +5693,7 @@ medium is a "pipe": $ (cd sourcedir; tar -cf - .) | (cd targetdir; tar -xf -) -You can avoid subshells by using `-C' option: +You can avoid subshells by using '-C' option: $ tar -C sourcedir -cf - . | tar -C targetdir -xf - @@ -5165,7 +5707,7 @@ or $ tar --directory sourcedir --create --file=- . \ | tar --directory targetdir --extract --file=- -This is one of the easiest methods to transfer a `tar' archive. +This is one of the easiest methods to transfer a 'tar' archive.  File: tar.info, Node: looking ahead, Prev: Applications, Up: operations @@ -5174,17 +5716,17 @@ File: tar.info, Node: looking ahead, Prev: Applications, Up: operations ========================================== You have now seen how to use all eight of the operations available to -`tar', and a number of the possible options. The next chapter explains +'tar', and a number of the possible options. The next chapter explains how to choose and change file and archive names, how to use files to -store names of other files which you can then call as arguments to -`tar' (this can help you save time if you expect to archive the same -list of files a number of times), and so forth. +store names of other files which you can then call as arguments to 'tar' +(this can help you save time if you expect to archive the same list of +files a number of times), and so forth. If there are too many files to conveniently list on the command line, -you can list the names in a file, and `tar' will read that file. *Note +you can list the names in a file, and 'tar' will read that file. *Note files::. - There are various ways of causing `tar' to skip over some files, and + There are various ways of causing 'tar' to skip over some files, and not archive them. *Note Choosing::.  @@ -5193,18 +5735,18 @@ File: tar.info, Node: Backups, Next: Choosing, Prev: operations, Up: Top 5 Performing Backups and Restoring Files **************************************** -GNU `tar' is distributed along with the scripts for performing backups +GNU 'tar' is distributed along with the scripts for performing backups and restores. Even if there is a good chance those scripts may be satisfying to you, they are not the only scripts or methods available for doing backups and restore. You may well create your own, or use more sophisticated packages dedicated to that purpose. - Some users are enthusiastic about `Amanda' (The Advanced Maryland + Some users are enthusiastic about 'Amanda' (The Advanced Maryland Automatic Network Disk Archiver), a backup system developed by James da -Silva `jds@cs.umd.edu' and available on many Unix systems. This is -free software, and it is available from `http://www.amanda.org'. +Silva 'jds@cs.umd.edu' and available on many Unix systems. This is free +software, and it is available from . - This chapter documents both the provided shell scripts and `tar' + This chapter documents both the provided shell scripts and 'tar' options which are more specific to usage as a backup tool. To "back up" a file system means to create archives that contain all @@ -5215,8 +5757,8 @@ file is accidentally deleted). File system "backups" are also called * Menu: -* Full Dumps:: Using `tar' to Perform Full Dumps -* Incremental Dumps:: Using `tar' to Perform Incremental Dumps +* Full Dumps:: Using 'tar' to Perform Full Dumps +* Incremental Dumps:: Using 'tar' to Perform Incremental Dumps * Backup Levels:: Levels of Backups * Backup Parameters:: Setting Parameters for Backups and Restoration * Scripted Backups:: Using the Backup Scripts @@ -5225,38 +5767,37 @@ file is accidentally deleted). File system "backups" are also called  File: tar.info, Node: Full Dumps, Next: Incremental Dumps, Up: Backups -5.1 Using `tar' to Perform Full Dumps +5.1 Using 'tar' to Perform Full Dumps ===================================== _(This message will disappear, once this node revised.)_ -Full dumps should only be made when no other people or programs are -modifying files in the file system. If files are modified while `tar' -is making the backup, they may not be stored properly in the archive, -in which case you won't be able to restore them if you have to. (Files -not being modified are written with no trouble, and do not corrupt the + Full dumps should only be made when no other people or programs are +modifying files in the file system. If files are modified while 'tar' +is making the backup, they may not be stored properly in the archive, in +which case you won't be able to restore them if you have to. (Files not +being modified are written with no trouble, and do not corrupt the entire archive.) - You will want to use the `--label=ARCHIVE-LABEL' (`-V -ARCHIVE-LABEL') option to give the archive a volume label, so you can -tell what this archive is even if the label falls off the tape, or -anything like that. + You will want to use the '--label=ARCHIVE-LABEL' ('-V ARCHIVE-LABEL') +option to give the archive a volume label, so you can tell what this +archive is even if the label falls off the tape, or anything like that. Unless the file system you are dumping is guaranteed to fit on one -volume, you will need to use the `--multi-volume' (`-M') option. Make +volume, you will need to use the '--multi-volume' ('-M') option. Make sure you have enough tapes on hand to complete the backup. If you want to dump each file system separately you will need to use -the `--one-file-system' option to prevent `tar' from crossing file +the '--one-file-system' option to prevent 'tar' from crossing file system boundaries when storing (sub)directories. - The `--incremental' (`-G') (*note Incremental Dumps::) option is not + The '--incremental' ('-G') (*note Incremental Dumps::) option is not needed, since this is a complete copy of everything in the file system, and a full restore from this backup would only be done onto a completely empty disk. - Unless you are in a hurry, and trust the `tar' program (and your -tapes), it is a good idea to use the `--verify' (`-W') option, to make + Unless you are in a hurry, and trust the 'tar' program (and your +tapes), it is a good idea to use the '--verify' ('-W') option, to make sure your files really made it onto the dump properly. This will also detect cases where the file was modified while (or just after) it was being archived. Not all media (notably cartridge tapes) are capable of @@ -5265,56 +5806,55 @@ being verified, unfortunately.  File: tar.info, Node: Incremental Dumps, Next: Backup Levels, Prev: Full Dumps, Up: Backups -5.2 Using `tar' to Perform Incremental Dumps +5.2 Using 'tar' to Perform Incremental Dumps ============================================ -"Incremental backup" is a special form of GNU `tar' archive that stores +"Incremental backup" is a special form of GNU 'tar' archive that stores additional metadata so that exact state of the file system can be restored when extracting the archive. - GNU `tar' currently offers two options for handling incremental -backups: `--listed-incremental=SNAPSHOT-FILE' (`-g SNAPSHOT-FILE') and -`--incremental' (`-G'). + GNU 'tar' currently offers two options for handling incremental +backups: '--listed-incremental=SNAPSHOT-FILE' ('-g SNAPSHOT-FILE') and +'--incremental' ('-G'). - The option `--listed-incremental' instructs tar to operate on an + The option '--listed-incremental' instructs tar to operate on an incremental archive with additional metadata stored in a standalone file, called a "snapshot file". The purpose of this file is to help -determine which files have been changed, added or deleted since the -last backup, so that the next incremental backup will contain only -modified files. The name of the snapshot file is given as an argument -to the option: +determine which files have been changed, added or deleted since the last +backup, so that the next incremental backup will contain only modified +files. The name of the snapshot file is given as an argument to the +option: -`--listed-incremental=FILE' -`-g FILE' +'--listed-incremental=FILE' +'-g FILE' Handle incremental backups with snapshot data in FILE. - To create an incremental backup, you would use -`--listed-incremental' together with `--create' (*note create::). For -example: + To create an incremental backup, you would use '--listed-incremental' +together with '--create' (*note create::). For example: $ tar --create \ --file=archive.1.tar \ --listed-incremental=/var/log/usr.snar \ /usr - This will create in `archive.1.tar' an incremental backup of the -`/usr' file system, storing additional metadata in the file -`/var/log/usr.snar'. If this file does not exist, it will be created. -The created archive will then be a "level 0 backup"; please see the -next section for more on backup levels. + This will create in 'archive.1.tar' an incremental backup of the +'/usr' file system, storing additional metadata in the file +'/var/log/usr.snar'. If this file does not exist, it will be created. +The created archive will then be a "level 0 backup"; please see the next +section for more on backup levels. - Otherwise, if the file `/var/log/usr.snar' exists, it determines + Otherwise, if the file '/var/log/usr.snar' exists, it determines which files are modified. In this case only these files will be stored in the archive. Suppose, for example, that after running the above -command, you delete file `/usr/doc/old' and create directory -`/usr/local/db' with the following contents: +command, you delete file '/usr/doc/old' and create directory +'/usr/local/db' with the following contents: $ ls /usr/local/db /usr/local/db/data /usr/local/db/index - Some time later you create another incremental backup. You will -then see: + Some time later you create another incremental backup. You will then +see: $ tar --create \ --file=archive.2.tar \ @@ -5325,12 +5865,12 @@ then see: usr/local/db/data usr/local/db/index -The created archive `archive.2.tar' will contain only these three +The created archive 'archive.2.tar' will contain only these three members. This archive is called a "level 1 backup". Notice that -`/var/log/usr.snar' will be updated with the new data, so if you plan -to create more `level 1' backups, it is necessary to create a working -copy of the snapshot file before running `tar'. The above example will -then be modified as follows: +'/var/log/usr.snar' will be updated with the new data, so if you plan to +create more 'level 1' backups, it is necessary to create a working copy +of the snapshot file before running 'tar'. The above example will then +be modified as follows: $ cp /var/log/usr.snar /var/log/usr.snar-1 $ tar --create \ @@ -5338,8 +5878,8 @@ then be modified as follows: --listed-incremental=/var/log/usr.snar-1 \ /usr - You can force `level 0' backups either by removing the snapshot file -before running `tar', or by supplying the `--level=0' option, e.g.: + You can force 'level 0' backups either by removing the snapshot file +before running 'tar', or by supplying the '--level=0' option, e.g.: $ tar --create \ --file=archive.2.tar \ @@ -5348,14 +5888,14 @@ before running `tar', or by supplying the `--level=0' option, e.g.: /usr Incremental dumps depend crucially on time stamps, so the results are -unreliable if you modify a file's time stamps during dumping (e.g., -with the `--atime-preserve=replace' option), or if you set the clock +unreliable if you modify a file's time stamps during dumping (e.g., with +the '--atime-preserve=replace' option), or if you set the clock backwards. Metadata stored in snapshot files include device numbers, which, -obviously are supposed to be non-volatile values. However, it turns -out that NFS devices have undependable values when an automounter gets -in the picture. This can lead to a great deal of spurious redumping in +obviously are supposed to be non-volatile values. However, it turns out +that NFS devices have undependable values when an automounter gets in +the picture. This can lead to a great deal of spurious redumping in incremental dumps, so it is somewhat useless to compare two NFS devices numbers over time. The solution implemented currently is to consider all NFS devices as being equal when it comes to comparing directories; @@ -5364,45 +5904,45 @@ this is fairly gross, but there does not seem to be a better way to go. Apart from using NFS, there are a number of cases where relying on device numbers can cause spurious redumping of unmodified files. For example, this occurs when archiving LVM snapshot volumes. To avoid -this, use `--no-check-device' option: +this, use '--no-check-device' option: -`--no-check-device' +'--no-check-device' Do not rely on device numbers when preparing a list of changed files for an incremental dump. -`--check-device' +'--check-device' Use device numbers when preparing a list of changed files for an incremental dump. This is the default behavior. The purpose of - this option is to undo the effect of the `--no-check-device' if it - was given in `TAR_OPTIONS' environment variable (*note + this option is to undo the effect of the '--no-check-device' if it + was given in 'TAR_OPTIONS' environment variable (*note TAR_OPTIONS::). There is also another way to cope with changing device numbers. It is described in detail in *note Fixing Snapshot Files::. - Note that incremental archives use `tar' extensions and may not be -readable by non-GNU versions of the `tar' program. + Note that incremental archives use 'tar' extensions and may not be +readable by non-GNU versions of the 'tar' program. - To extract from the incremental dumps, use `--listed-incremental' -together with `--extract' option (*note extracting files::). In this -case, `tar' does not need to access snapshot file, since all the data + To extract from the incremental dumps, use '--listed-incremental' +together with '--extract' option (*note extracting files::). In this +case, 'tar' does not need to access snapshot file, since all the data necessary for extraction are stored in the archive itself. So, when -extracting, you can give whatever argument to `--listed-incremental', -the usual practice is to use `--listed-incremental=/dev/null'. -Alternatively, you can use `--incremental', which needs no arguments. -In general, `--incremental' (`-G') can be used as a shortcut for -`--listed-incremental' when listing or extracting incremental backups +extracting, you can give whatever argument to '--listed-incremental', +the usual practice is to use '--listed-incremental=/dev/null'. +Alternatively, you can use '--incremental', which needs no arguments. +In general, '--incremental' ('-G') can be used as a shortcut for +'--listed-incremental' when listing or extracting incremental backups (for more information regarding this option, *note incremental-op::). - When extracting from the incremental backup GNU `tar' attempts to + When extracting from the incremental backup GNU 'tar' attempts to restore the exact state the file system had when the archive was -created. In particular, it will _delete_ those files in the file -system that did not exist in their directories when the archive was -created. If you have created several levels of incremental files, then -in order to restore the exact contents the file system had when the -last level was created, you will need to restore from all backups in -turn. Continuing our example, to restore the state of `/usr' file -system, one would do(1): +created. In particular, it will _delete_ those files in the file system +that did not exist in their directories when the archive was created. +If you have created several levels of incremental files, then in order +to restore the exact contents the file system had when the last level +was created, you will need to restore from all backups in turn. +Continuing our example, to restore the state of '/usr' file system, one +would do(1): $ tar --extract \ --listed-incremental=/dev/null \ @@ -5411,12 +5951,12 @@ system, one would do(1): --listed-incremental=/dev/null \ --file archive.2.tar - To list the contents of an incremental archive, use `--list' (*note + To list the contents of an incremental archive, use '--list' (*note list::), as usual. To obtain more information about the archive, use -`--listed-incremental' or `--incremental' combined with two `--verbose' +'--listed-incremental' or '--incremental' combined with two '--verbose' options(2): - tar --list --incremental --verbose --verbose archive.tar + tar --list --incremental --verbose --verbose --file archive.tar This command will print, for each directory in the archive, the list of files in that directory at the time the archive was created. This @@ -5425,32 +5965,32 @@ unambiguous for a program: each file name is printed as X FILE -where X is a letter describing the status of the file: `Y' if the file -is present in the archive, `N' if the file is not included in the -archive, or a `D' if the file is a directory (and is included in the -archive). *Note Dumpdir::, for the detailed description of dumpdirs -and status codes. Each such line is terminated by a newline character. -The last line is followed by an additional newline to indicate the end -of the data. - - The option `--incremental' (`-G') gives the same behavior as -`--listed-incremental' when used with `--list' and `--extract' options. -When used with `--create' option, it creates an incremental archive +where X is a letter describing the status of the file: 'Y' if the file +is present in the archive, 'N' if the file is not included in the +archive, or a 'D' if the file is a directory (and is included in the +archive). *Note Dumpdir::, for the detailed description of dumpdirs and +status codes. Each such line is terminated by a newline character. The +last line is followed by an additional newline to indicate the end of +the data. + + The option '--incremental' ('-G') gives the same behavior as +'--listed-incremental' when used with '--list' and '--extract' options. +When used with '--create' option, it creates an incremental archive without creating snapshot file. Thus, it is impossible to create -several levels of incremental backups with `--incremental' option. +several levels of incremental backups with '--incremental' option. ---------- Footnotes ---------- - (1) Notice, that since both archives were created without `-P' -option (*note absolute::), these commands should be run from the root -file system. + (1) Notice, that since both archives were created without '-P' option +(*note absolute::), these commands should be run from the root file +system. - (2) Two `--verbose' options were selected to avoid breaking usual -verbose listing output (`--list --verbose') when using in scripts. + (2) Two '--verbose' options were selected to avoid breaking usual +verbose listing output ('--list --verbose') when using in scripts. - Versions of GNU `tar' up to 1.15.1 used to dump verbatim binary + Versions of GNU 'tar' up to 1.15.1 used to dump verbatim binary contents of the DUMPDIR header (with terminating nulls) when -`--incremental' or `--listed-incremental' option was given, no matter +'--incremental' or '--listed-incremental' option was given, no matter what the verbosity level. This behavior, and, especially, the binary output it produced were considered inconvenient and were changed in version 1.16. @@ -5461,9 +6001,9 @@ File: tar.info, Node: Backup Levels, Next: Backup Parameters, Prev: Increment 5.3 Levels of Backups ===================== -An archive containing all the files in the file system is called a -"full backup" or "full dump". You could insure your data by creating a -full dump every day. This strategy, however, would waste a substantial +An archive containing all the files in the file system is called a "full +backup" or "full dump". You could insure your data by creating a full +dump every day. This strategy, however, would waste a substantial amount of archive media and user time, as unchanged files are daily re-archived. @@ -5473,29 +6013,29 @@ one" dump archives all the files that have changed since the last full dump. A typical dump strategy would be to perform a full dump once a week, -and a level one dump once a day. This means some versions of files -will in fact be archived more than once, but this dump strategy makes -it possible to restore a file system to within one day of accuracy by -only extracting two archives--the last weekly (full) dump and the last -daily (level one) dump. The only information lost would be in files -changed or created since the last daily backup. (Doing dumps more than -once a day is usually not worth the trouble.) - - GNU `tar' comes with scripts you can use to do full and level-one +and a level one dump once a day. This means some versions of files will +in fact be archived more than once, but this dump strategy makes it +possible to restore a file system to within one day of accuracy by only +extracting two archives--the last weekly (full) dump and the last daily +(level one) dump. The only information lost would be in files changed +or created since the last daily backup. (Doing dumps more than once a +day is usually not worth the trouble.) + + GNU 'tar' comes with scripts you can use to do full and level-one (actually, even level-two and so on) dumps. Using scripts (shell programs) to perform backups and restoration is a convenient and -reliable alternative to typing out file name lists and `tar' commands -by hand. +reliable alternative to typing out file name lists and 'tar' commands by +hand. Before you use these scripts, you need to edit the file -`backup-specs', which specifies parameters used by the backup scripts +'backup-specs', which specifies parameters used by the backup scripts and by the restore script. This file is usually located in -`/etc/backup' directory. *Note Backup Parameters::, for its detailed +'/etc/backup' directory. *Note Backup Parameters::, for its detailed description. Once the backup parameters are set, you can perform backups or restoration by running the appropriate script. - The name of the backup script is `backup'. The name of the restore -script is `restore'. The following sections describe their use in + The name of the backup script is 'backup'. The name of the restore +script is 'restore'. The following sections describe their use in detail. _Please Note:_ The backup and restoration scripts are designed to be @@ -5511,21 +6051,21 @@ File: tar.info, Node: Backup Parameters, Next: Scripted Backups, Prev: Backup 5.4 Setting Parameters for Backups and Restoration ================================================== -The file `backup-specs' specifies backup parameters for the backup and -restoration scripts provided with `tar'. You must edit `backup-specs' +The file 'backup-specs' specifies backup parameters for the backup and +restoration scripts provided with 'tar'. You must edit 'backup-specs' to fit your system configuration and schedule before using these scripts. - Syntactically, `backup-specs' is a shell script, containing mainly + Syntactically, 'backup-specs' is a shell script, containing mainly variable assignments. However, any valid shell construct is allowed in this file. Particularly, you may wish to define functions within that -script (e.g., see `RESTORE_BEGIN' below). For more information about -shell script syntax, please refer to the definition of the Shell -Command Language +script (e.g., see 'RESTORE_BEGIN' below). For more information about +shell script syntax, please refer to the definition of the Shell Command +Language (http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#ta g_02). See also *note Bash Features: (bashref)Top. - The shell variables controlling behavior of `backup' and `restore' + The shell variables controlling behavior of 'backup' and 'restore' are described in the following subsections. * Menu: @@ -5533,7 +6073,7 @@ are described in the following subsections. * General-Purpose Variables:: * Magnetic Tape Control:: * User Hooks:: -* backup-specs example:: An Example Text of `Backup-specs' +* backup-specs example:: An Example Text of 'Backup-specs'  File: tar.info, Node: General-Purpose Variables, Next: Magnetic Tape Control, Up: Backup Parameters @@ -5542,116 +6082,129 @@ File: tar.info, Node: General-Purpose Variables, Next: Magnetic Tape Control, ------------------------------- -- Backup variable: ADMINISTRATOR - The user name of the backup administrator. `Backup' scripts sends + The user name of the backup administrator. 'Backup' scripts sends a backup report to this address. -- Backup variable: BACKUP_HOUR The hour at which the backups are done. This can be a number from 0 to 23, or the time specification in form HOURS:MINUTES, or the - string `now'. + string 'now'. - This variable is used by `backup'. Its value may be overridden - using `--time' option (*note Scripted Backups::). + This variable is used by 'backup'. Its value may be overridden + using '--time' option (*note Scripted Backups::). -- Backup variable: TAPE_FILE - The device `tar' writes the archive to. If TAPE_FILE is a remote + + The device 'tar' writes the archive to. If TAPE_FILE is a remote archive (*note remote-dev::), backup script will suppose that your - `mt' is able to access remote devices. If RSH (*note RSH::) is - set, `--rsh-command' option will be added to invocations of `mt'. + 'mt' is able to access remote devices. If RSH (*note RSH::) is + set, '--rsh-command' option will be added to invocations of 'mt'. -- Backup variable: BLOCKING - The blocking factor `tar' will use when writing the dump archive. + + The blocking factor 'tar' will use when writing the dump archive. *Note Blocking Factor::. -- Backup variable: BACKUP_DIRS - A list of file systems to be dumped (for `backup'), or restored - (for `restore'). You can include any directory name in the list - -- subdirectories on that file system will be included, regardless - of how they may look to other networked machines. Subdirectories - on other file systems will be ignored. - The host name specifies which host to run `tar' on, and should + A list of file systems to be dumped (for 'backup'), or restored + (for 'restore'). You can include any directory name in the list -- + subdirectories on that file system will be included, regardless of + how they may look to other networked machines. Subdirectories on + other file systems will be ignored. + + The host name specifies which host to run 'tar' on, and should normally be the host that actually contains the file system. - However, the host machine must have GNU `tar' installed, and must + However, the host machine must have GNU 'tar' installed, and must be able to access the directory containing the backup scripts and their support files using the same file name that is used on the - machine where the scripts are run (i.e., what `pwd' will print - when in that directory on that machine). If the host that contains - the file system does not have this capability, you can specify - another host as long as it can access the file system through NFS. + machine where the scripts are run (i.e., what 'pwd' will print when + in that directory on that machine). If the host that contains the + file system does not have this capability, you can specify another + host as long as it can access the file system through NFS. If the list of file systems is very long you may wish to put it in - a separate file. This file is usually named `/etc/backup/dirs', - but this name may be overridden in `backup-specs' using `DIRLIST' + a separate file. This file is usually named '/etc/backup/dirs', + but this name may be overridden in 'backup-specs' using 'DIRLIST' variable. -- Backup variable: DIRLIST + The name of the file that contains a list of file systems to backup - or restore. By default it is `/etc/backup/dirs'. + or restore. By default it is '/etc/backup/dirs'. -- Backup variable: BACKUP_FILES - A list of individual files to be dumped (for `backup'), or restored - (for `restore'). These should be accessible from the machine on + + A list of individual files to be dumped (for 'backup'), or restored + (for 'restore'). These should be accessible from the machine on which the backup script is run. If the list of individual files is very long you may wish to store it in a separate file. This file is usually named - `/etc/backup/files', but this name may be overridden in - `backup-specs' using `FILELIST' variable. + '/etc/backup/files', but this name may be overridden in + 'backup-specs' using 'FILELIST' variable. -- Backup variable: FILELIST + The name of the file that contains a list of individual files to - backup or restore. By default it is `/etc/backup/files'. + backup or restore. By default it is '/etc/backup/files'. -- Backup variable: MT - Full file name of `mt' binary. + + Full file name of 'mt' binary. -- Backup variable: RSH - Full file name of `rsh' binary or its equivalent. You may wish to - set it to `ssh', to improve security. In this case you will have + Full file name of 'rsh' binary or its equivalent. You may wish to + set it to 'ssh', to improve security. In this case you will have to use public key authentication. -- Backup variable: RSH_COMMAND - Full file name of `rsh' binary on remote machines. This will be - passed via `--rsh-command' option to the remote invocation of GNU - `tar'. + + Full file name of 'rsh' binary on remote machines. This will be + passed via '--rsh-command' option to the remote invocation of GNU + 'tar'. -- Backup variable: VOLNO_FILE + Name of temporary file to hold volume numbers. This needs to be accessible by all the machines which have file systems to be dumped. -- Backup variable: XLIST + Name of "exclude file list". An "exclude file list" is a file located on the remote machine and containing the list of files to be excluded from the backup. Exclude file lists are searched in /etc/tar-backup directory. A common use for exclude file lists is to exclude files containing security-sensitive information (e.g., - `/etc/shadow' from backups). + '/etc/shadow' from backups). - This variable affects only `backup'. + This variable affects only 'backup'. -- Backup variable: SLEEP_TIME + Time to sleep between dumps of any two successive file systems - This variable affects only `backup'. + This variable affects only 'backup'. -- Backup variable: DUMP_REMIND_SCRIPT + Script to be run when it's time to insert a new tape in for the next volume. Administrators may want to tailor this script for - their site. If this variable isn't set, GNU `tar' will display - its built-in prompt, and will expect confirmation from the - console. For the description of the default prompt, see *note - change volume prompt::. - + their site. If this variable isn't set, GNU 'tar' will display its + built-in prompt, and will expect confirmation from the console. + For the description of the default prompt, see *note change volume + prompt::. -- Backup variable: SLEEP_MESSAGE + Message to display on the terminal while waiting for dump time. Usually this will just be some literal text. -- Backup variable: TAR - Full file name of the GNU `tar' executable. If this is not set, - backup scripts will search `tar' in the current shell path. + + Full file name of the GNU 'tar' executable. If this is not set, + backup scripts will search 'tar' in the current shell path.  File: tar.info, Node: Magnetic Tape Control, Next: User Hooks, Prev: General-Purpose Variables, Up: Backup Parameters @@ -5659,9 +6212,9 @@ File: tar.info, Node: Magnetic Tape Control, Next: User Hooks, Prev: General- 5.4.2 Magnetic Tape Control --------------------------- -Backup scripts access tape device using special "hook functions". -These functions take a single argument -- the name of the tape device. -Their names are kept in the following variables: +Backup scripts access tape device using special "hook functions". These +functions take a single argument -- the name of the tape device. Their +names are kept in the following variables: -- Backup variable: MT_BEGIN The name of "begin" function. This function is called before @@ -5683,7 +6236,6 @@ Their names are kept in the following variables: mt -f "$1" rewind } - -- Backup variable: MT_OFFLINE The name of the function switching the tape off line. By default it is defined as follows: @@ -5710,26 +6262,26 @@ File: tar.info, Node: User Hooks, Next: backup-specs example, Prev: Magnetic 5.4.3 User Hooks ---------------- -"User hooks" are shell functions executed before and after each `tar' +"User hooks" are shell functions executed before and after each 'tar' invocation. Thus, there are "backup hooks", which are executed before -and after dumping each file system, and "restore hooks", executed -before and after restoring a file system. Each user hook is a shell -function taking four arguments: +and after dumping each file system, and "restore hooks", executed before +and after restoring a file system. Each user hook is a shell function +taking four arguments: -- User Hook Function: hook LEVEL HOST FS FSNAME Its arguments are: - LEVEL + LEVEL Current backup or restore level. - HOST + HOST Name or IP address of the host machine being dumped or restored. - FS + FS Full file name of the file system being dumped or restored. - FSNAME + FSNAME File system name with directory separators replaced with colons. This is useful, e.g., for creating unique files. @@ -5751,10 +6303,10 @@ function taking four arguments:  File: tar.info, Node: backup-specs example, Prev: User Hooks, Up: Backup Parameters -5.4.4 An Example Text of `Backup-specs' +5.4.4 An Example Text of 'Backup-specs' --------------------------------------- -The following is an example of `backup-specs': +The following is an example of 'backup-specs': # site-specific parameters for file system backup. @@ -5762,7 +6314,7 @@ The following is an example of `backup-specs': BACKUP_HOUR=1 TAPE_FILE=/dev/nrsmt0 - # Use `ssh' instead of the less secure `rsh' + # Use ssh instead of the less secure rsh RSH=/usr/bin/ssh RSH_COMMAND=/usr/bin/ssh @@ -5794,6 +6346,7 @@ The following is an example of `backup-specs': BACKUP_FILES="/com/mailer/aliases /com/mailer/league*[a-z]" +  File: tar.info, Node: Scripted Backups, Next: Scripted Restoration, Prev: Backup Parameters, Up: Backups @@ -5804,86 +6357,88 @@ The syntax for running a backup script is: backup --level=LEVEL --time=TIME - The `--level' option requests the dump level. Thus, to produce a -full dump, specify `--level=0' (this is the default, so `--level' may -be omitted if its value is `0')(1). + The '--level' option requests the dump level. Thus, to produce a +full dump, specify '--level=0' (this is the default, so '--level' may be +omitted if its value is '0')(1). - The `--time' option determines when should the backup be run. TIME + The '--time' option determines when should the backup be run. TIME may take three forms: HH:MM + The dump must be run at HH hours MM minutes. HH + The dump must be run at HH hours. now + The dump must be run immediately. You should start a script with a tape or disk mounted. Once you start a script, it prompts you for new tapes or disks as it needs them. Media volumes don't have to correspond to archive files -- a -multi-volume archive can be started in the middle of a tape that -already contains the end of another multi-volume archive. The -`restore' script prompts for media by its archive volume, so to avoid -an error message you should keep track of which tape (or disk) contains -which volume of the archive (*note Scripted Restoration::). +multi-volume archive can be started in the middle of a tape that already +contains the end of another multi-volume archive. The 'restore' script +prompts for media by its archive volume, so to avoid an error message +you should keep track of which tape (or disk) contains which volume of +the archive (*note Scripted Restoration::). The backup scripts write two files on the file system. The first is -a record file in `/etc/tar-backup/', which is used by the scripts to -store and retrieve information about which files were dumped. This -file is not meant to be read by humans, and should not be deleted by -them. *Note Snapshot Files::, for a more detailed explanation of this -file. +a record file in '/etc/tar-backup/', which is used by the scripts to +store and retrieve information about which files were dumped. This file +is not meant to be read by humans, and should not be deleted by them. +*Note Snapshot Files::, for a more detailed explanation of this file. The second file is a log file containing the names of the file systems and files dumped, what time the backup was made, and any error messages that were generated, as well as how much space was left in the media volume after the last volume of the archive was written. You should check this log file after every backup. The file name is -`log-MM-DD-YYYY-level-N', where MM-DD-YYYY represents current date, and +'log-MM-DD-YYYY-level-N', where MM-DD-YYYY represents current date, and N represents current dump level number. The script also prints the name of each system being dumped to the standard output. - Following is the full list of options accepted by `backup' script: + Following is the full list of options accepted by 'backup' script: -`-l LEVEL' -`--level=LEVEL' +'-l LEVEL' +'--level=LEVEL' Do backup level LEVEL (default 0). -`-f' -`--force' +'-f' +'--force' Force backup even if today's log file already exists. -`-v[LEVEL]' -`--verbose[=LEVEL]' +'-v[LEVEL]' +'--verbose[=LEVEL]' Set verbosity level. The higher the level is, the more debugging - information will be output during execution. Default LEVEL is - 100, which means the highest debugging level. + information will be output during execution. Default LEVEL is 100, + which means the highest debugging level. -`-t START-TIME' -`--time=START-TIME' +'-t START-TIME' +'--time=START-TIME' Wait till TIME, then do backup. -`-h' -`--help' +'-h' +'--help' Display short help message and exit. -`-V' -`--version' +'-V' +'--version' Display information about the program's name, version, origin and legal status, all on standard output, and then exit successfully. ---------- Footnotes ---------- - (1) For backward compatibility, the `backup' will also try to deduce + (1) For backward compatibility, the 'backup' will also try to deduce the requested dump level from the name of the script itself. If the -name consists of a string `level-' followed by a single decimal digit, +name consists of a string 'level-' followed by a single decimal digit, that digit is taken as the dump level number. Thus, you may create a -link from `backup' to `level-1' and then run `level-1' whenever you -need to create a level one dump. +link from 'backup' to 'level-1' and then run 'level-1' whenever you need +to create a level one dump.  File: tar.info, Node: Scripted Restoration, Prev: Scripted Backups, Up: Backups @@ -5892,57 +6447,57 @@ File: tar.info, Node: Scripted Restoration, Prev: Scripted Backups, Up: Backu ============================ To restore files that were archived using a scripted backup, use the -`restore' script. Its usage is quite straightforward. In the simplest -form, invoke `restore --all', it will then restore all the file systems -and files specified in `backup-specs' (*note BACKUP_DIRS: +'restore' script. Its usage is quite straightforward. In the simplest +form, invoke 'restore --all', it will then restore all the file systems +and files specified in 'backup-specs' (*note BACKUP_DIRS: General-Purpose Variables.). You may select the file systems (and/or files) to restore by giving -`restore' a list of "patterns" in its command line. For example, +'restore' a list of "patterns" in its command line. For example, running restore 'albert:*' -will restore all file systems on the machine `albert'. A more +will restore all file systems on the machine 'albert'. A more complicated example: restore 'albert:*' '*:/var' -This command will restore all file systems on the machine `albert' as -well as `/var' file system on all machines. +This command will restore all file systems on the machine 'albert' as +well as '/var' file system on all machines. - By default `restore' will start restoring files from the lowest + By default 'restore' will start restoring files from the lowest available dump level (usually zero) and will continue through all available dump levels. There may be situations where such a thorough restore is not necessary. For example, you may wish to restore only -files from the recent level one backup. To do so, use `--level' -option, as shown in the example below: +files from the recent level one backup. To do so, use '--level' option, +as shown in the example below: restore --level=1 - The full list of options accepted by `restore' follows: + The full list of options accepted by 'restore' follows: -`-a' -`--all' - Restore all file systems and files specified in `backup-specs'. +'-a' +'--all' + Restore all file systems and files specified in 'backup-specs'. -`-l LEVEL' -`--level=LEVEL' - Start restoring from the given backup level, instead of the - default 0. +'-l LEVEL' +'--level=LEVEL' + Start restoring from the given backup level, instead of the default + 0. -`-v[LEVEL]' -`--verbose[=LEVEL]' +'-v[LEVEL]' +'--verbose[=LEVEL]' Set verbosity level. The higher the level is, the more debugging - information will be output during execution. Default LEVEL is - 100, which means the highest debugging level. + information will be output during execution. Default LEVEL is 100, + which means the highest debugging level. -`-h' -`--help' +'-h' +'--help' Display short help message and exit. -`-V' -`--version' +'-V' +'--version' Display information about the program's name, version, origin and legal status, all on standard output, and then exit successfully. @@ -5953,9 +6508,8 @@ to rewind the tape to to its beginning--if the tape head is positioned past the beginning of the archive, the script will rewind the tape as needed. *Note Tape Positioning::, for a discussion of tape positioning. - *Warning:* The script will delete files from the active file - system if they were not in the file system when the archive was - made. + *Warning:* The script will delete files from the active file system + if they were not in the file system when the archive was made. *Note Incremental Dumps::, for an explanation of how the script makes that determination. @@ -5963,10 +6517,10 @@ that determination.  File: tar.info, Node: Choosing, Next: Date input formats, Prev: Backups, Up: Top -6 Choosing Files and Names for `tar' +6 Choosing Files and Names for 'tar' ************************************ -Certain options to `tar' enable you to specify a name for your archive. +Certain options to 'tar' enable you to specify a name for your archive. Other options let you decide which files to include or exclude from the archive, based on when or whether files were modified, whether the file names do or don't match specified patterns, or whether files are in @@ -5993,58 +6547,58 @@ File: tar.info, Node: file, Next: Selecting Archive Members, Up: Choosing 6.1 Choosing and Naming Archive Files ===================================== -By default, `tar' uses an archive file name that was compiled when it +By default, 'tar' uses an archive file name that was compiled when it was built on the system; usually this name refers to some physical tape -drive on the machine. However, the person who installed `tar' on the -system may not have set the default to a meaningful value as far as -most users are concerned. As a result, you will usually want to tell -`tar' where to find (or create) the archive. The `--file=ARCHIVE-NAME' -(`-f ARCHIVE-NAME') option allows you to either specify or name a file -to use as the archive instead of the default archive file location. - -`--file=ARCHIVE-NAME' -`-f ARCHIVE-NAME' +drive on the machine. However, the person who installed 'tar' on the +system may not have set the default to a meaningful value as far as most +users are concerned. As a result, you will usually want to tell 'tar' +where to find (or create) the archive. The '--file=ARCHIVE-NAME' ('-f +ARCHIVE-NAME') option allows you to either specify or name a file to use +as the archive instead of the default archive file location. + +'--file=ARCHIVE-NAME' +'-f ARCHIVE-NAME' Name the archive to create or operate on. Use in conjunction with any operation. - For example, in this `tar' command, + For example, in this 'tar' command, $ tar -cvf collection.tar blues folk jazz -`collection.tar' is the name of the archive. It must directly follow -the `-f' option, since whatever directly follows `-f' _will_ end up +'collection.tar' is the name of the archive. It must directly follow +the '-f' option, since whatever directly follows '-f' _will_ end up naming the archive. If you neglect to specify an archive name, you may end up overwriting a file in the working directory with the archive you -create since `tar' will use this file's name for the archive name. +create since 'tar' will use this file's name for the archive name. An archive can be saved as a file in the file system, sent through a pipe or over a network, or written to an I/O device such as a tape, floppy disk, or CD write drive. - If you do not name the archive, `tar' uses the value of the -environment variable `TAPE' as the file name for the archive. If that -is not available, `tar' uses a default, compiled-in archive name, -usually that for tape unit zero (i.e., `/dev/tu00'). + If you do not name the archive, 'tar' uses the value of the +environment variable 'TAPE' as the file name for the archive. If that +is not available, 'tar' uses a default, compiled-in archive name, +usually that for tape unit zero (i.e., '/dev/tu00'). - If you use `-' as an ARCHIVE-NAME, `tar' reads the archive from + If you use '-' as an ARCHIVE-NAME, 'tar' reads the archive from standard input (when listing or extracting files), or writes it to -standard output (when creating an archive). If you use `-' as an -ARCHIVE-NAME when modifying an archive, `tar' reads the original -archive from its standard input and writes the entire new archive to -its standard output. +standard output (when creating an archive). If you use '-' as an +ARCHIVE-NAME when modifying an archive, 'tar' reads the original archive +from its standard input and writes the entire new archive to its +standard output. The following example is a convenient way of copying directory -hierarchy from `sourcedir' to `targetdir'. +hierarchy from 'sourcedir' to 'targetdir'. $ (cd sourcedir; tar -cf - .) | (cd targetdir; tar -xpf -) - The `-C' option allows to avoid using subshells: + The '-C' option allows to avoid using subshells: $ tar -C sourcedir -cf - . | tar -C targetdir -xpf - - In both examples above, the leftmost `tar' invocation archives the -contents of `sourcedir' to the standard output, while the rightmost one -reads this archive from its standard input and extracts it. The `-p' + In both examples above, the leftmost 'tar' invocation archives the +contents of 'sourcedir' to the standard output, while the rightmost one +reads this archive from its standard input and extracts it. The '-p' option tells it to restore permissions of the extracted files. To specify an archive file on a device attached to a remote machine, @@ -6052,28 +6606,27 @@ use the following: --file=HOSTNAME:/DEV/FILE-NAME -`tar' will set up the remote connection, if possible, and prompt you -for a username and password. If you use -`--file=@HOSTNAME:/DEV/FILE-NAME', `tar' will attempt to set up the -remote connection using your username as the username on the remote -machine. +'tar' will set up the remote connection, if possible, and prompt you for +a username and password. If you use '--file=@HOSTNAME:/DEV/FILE-NAME', +'tar' will attempt to set up the remote connection using your username +as the username on the remote machine. - If the archive file name includes a colon (`:'), then it is assumed + If the archive file name includes a colon (':'), then it is assumed to be a file on another machine. If the archive file is -`USER@HOST:FILE', then FILE is used on the host HOST. The remote host -is accessed using the `rsh' program, with a username of USER. If the -username is omitted (along with the `@' sign), then your user name will -be used. (This is the normal `rsh' behavior.) It is necessary for the -remote machine, in addition to permitting your `rsh' access, to have -the `rmt' program installed (this command is included in the GNU `tar' -distribution and by default is installed under `PREFIX/libexec/rmt', -where PREFIX means your installation prefix). If you need to use a -file whose name includes a colon, then the remote tape drive behavior -can be inhibited by using the `--force-local' option. - - When the archive is being created to `/dev/null', GNU `tar' tries to +'USER@HOST:FILE', then FILE is used on the host HOST. The remote host +is accessed using the 'rsh' program, with a username of USER. If the +username is omitted (along with the '@' sign), then your user name will +be used. (This is the normal 'rsh' behavior.) It is necessary for the +remote machine, in addition to permitting your 'rsh' access, to have the +'rmt' program installed (this command is included in the GNU 'tar' +distribution and by default is installed under 'PREFIX/libexec/rmt', +where PREFIX means your installation prefix). If you need to use a file +whose name includes a colon, then the remote tape drive behavior can be +inhibited by using the '--force-local' option. + + When the archive is being created to '/dev/null', GNU 'tar' tries to minimize input and output operations. The Amanda backup system, when -used with GNU `tar', has an initial sizing pass which uses this feature. +used with GNU 'tar', has an initial sizing pass which uses this feature.  File: tar.info, Node: Selecting Archive Members, Next: files, Prev: file, Up: Choosing @@ -6081,23 +6634,23 @@ File: tar.info, Node: Selecting Archive Members, Next: files, Prev: file, Up 6.2 Selecting Archive Members ============================= -"File Name arguments" specify which files in the file system `tar' +"File Name arguments" specify which files in the file system 'tar' operates on, when creating or adding to an archive, or which archive -members `tar' operates on, when reading or deleting from an archive. +members 'tar' operates on, when reading or deleting from an archive. *Note Operations::. To specify file names, you can include them as the last arguments on the command line, as follows: tar OPERATION [OPTION1 OPTION2 ...] [FILE NAME-1 FILE NAME-2 ...] - If a file name begins with dash (`-'), precede it with `--add-file' + If a file name begins with dash ('-'), precede it with '--add-file' option to prevent it from being treated as an option. - By default GNU `tar' attempts to "unquote" each file or member name, + By default GNU 'tar' attempts to "unquote" each file or member name, replacing "escape sequences" according to the following table: Escape Replaced with ------------------------------------------------------------ +----------------------------------------------------------- \a Audible bell (ASCII 7) \b Backspace (ASCII 8) \f Form feed (ASCII 12) @@ -6106,44 +6659,44 @@ Escape Replaced with \t Horizontal tabulation (ASCII 9) \v Vertical tabulation (ASCII 11) \? ASCII 127 -\N ASCII N (N should be an octal number - of up to 3 digits) +\N ASCII N (N should be an octal number of + up to 3 digits) A backslash followed by any other symbol is retained. This default behavior is controlled by the following command line option: -`--unquote' +'--unquote' Enable unquoting input file or member names (default). -`--no-unquote' +'--no-unquote' Disable unquoting input file or member names. If you specify a directory name as a file name argument, all the -files in that directory are operated on by `tar'. +files in that directory are operated on by 'tar'. - If you do not specify files, `tar' behavior differs depending on the + If you do not specify files, 'tar' behavior differs depending on the operation mode as described below: - When `tar' is invoked with `--create' (`-c'), `tar' will stop + When 'tar' is invoked with '--create' ('-c'), 'tar' will stop immediately, reporting the following: $ tar cf a.tar tar: Cowardly refusing to create an empty archive Try 'tar --help' or 'tar --usage' for more information. - If you specify either `--list' (`-t') or `--extract' (`--get', -`-x'), `tar' operates on all the archive members in the archive. + If you specify either '--list' ('-t') or '--extract' ('--get', '-x'), +'tar' operates on all the archive members in the archive. - If run with `--diff' option, tar will compare the archive with the + If run with '--diff' option, tar will compare the archive with the contents of the current working directory. - If you specify any other operation, `tar' does nothing. + If you specify any other operation, 'tar' does nothing. - By default, `tar' takes file names from the command line. However, + By default, 'tar' takes file names from the command line. However, there are other ways to specify file or member names, or to modify the -manner in which `tar' selects the files or members upon which to +manner in which 'tar' selects the files or members upon which to operate. In general, these methods work both for specifying the names of files and archive members. @@ -6155,39 +6708,40 @@ File: tar.info, Node: files, Next: exclude, Prev: Selecting Archive Members, Instead of giving the names of files or archive members on the command line, you can put the names into a file, and then use the -`--files-from=FILE-OF-NAMES' (`-T FILE-OF-NAMES') option to `tar'. -Give the name of the file which contains the list of files to include -as the argument to `--files-from'. In the list, the file names should -be separated by newlines. You will frequently use this option when you -have generated the list of files to archive with the `find' utility. - -`--files-from=FILE-NAME' -`-T FILE-NAME' +'--files-from=FILE-OF-NAMES' ('-T FILE-OF-NAMES') option to 'tar'. Give +the name of the file which contains the list of files to include as the +argument to '--files-from'. In the list, the file names should be +separated by newlines. You will frequently use this option when you +have generated the list of files to archive with the 'find' utility. + +'--files-from=FILE-NAME' +'-T FILE-NAME' Get names to extract or create from file FILE-NAME. - If you give a single dash as a file name for `--files-from', (i.e., -you specify either `--files-from=-' or `-T -'), then the file names are + If you give a single dash as a file name for '--files-from', (i.e., +you specify either '--files-from=-' or '-T -'), then the file names are read from standard input. - Unless you are running `tar' with `--create', you can not use both -`--files-from=-' and `--file=-' (`-f -') in the same command. + Unless you are running 'tar' with '--create', you cannot use both +'--files-from=-' and '--file=-' ('-f -') in the same command. - Any number of `-T' options can be given in the command line. + Any number of '-T' options can be given in the command line. - The following example shows how to use `find' to generate a list of + The following example shows how to use 'find' to generate a list of files smaller than 400K in length and put that list into a file called -`small-files'. You can then use the `-T' option to `tar' to specify -the files from that file, `small-files', to create the archive -`little.tgz'. (The `-z' option to `tar' compresses the archive with -`gzip'; *note gzip:: for more information.) +'small-files'. You can then use the '-T' option to 'tar' to specify the +files from that file, 'small-files', to create the archive 'little.tgz'. +(The '-z' option to 'tar' compresses the archive with 'gzip'; *note +gzip:: for more information.) $ find . -size -400 -print > small-files $ tar -c -v -z -T small-files -f little.tgz -In the file list given by `-T' option, any file name beginning with `-' -character is considered a `tar' option and is processed accordingly(1). -For example, the common use of this feature is to change to another -directory by specifying `-C' option: +By default, each line read from the file list is first stripped off any +leading and trailing whitespace. If the resulting string begins with +'-' character, it is considered a 'tar' option and is processed +accordingly(1). For example, the common use of this feature is to +change to another directory by specifying '-C' option: $ cat list -C/etc @@ -6197,19 +6751,43 @@ directory by specifying `-C' option: libc.a $ tar -c -f foo.tar --files-from list -In this example, `tar' will first switch to `/etc' directory and add -files `passwd' and `hosts' to the archive. Then it will change to -`/lib' directory and will archive the file `libc.a'. Thus, the -resulting archive `foo.tar' will contain: +In this example, 'tar' will first switch to '/etc' directory and add +files 'passwd' and 'hosts' to the archive. Then it will change to +'/lib' directory and will archive the file 'libc.a'. Thus, the +resulting archive 'foo.tar' will contain: $ tar tf foo.tar passwd hosts libc.a - If you happen to have a file whose name starts with `-', precede it -with `--add-file' option to prevent it from being recognized as an -option. For example: `--add-file=--my-file'. + Note, that any options used in the file list remain in effect for the +rest of the command line. For example, using the same 'list' file as +above, the following command + + $ tar -c -f foo.tar --files-from list libcurses.a + +will look for file 'libcurses.a' in the directory '/lib', because it was +used with the last '-C' option (*note Position-Sensitive Options::). + + If such option handling is undesirable, use the +'--verbatim-files-from' option. When this option is in effect, each +line read from the file list is treated as a file name. Notice, that +this means, in particular, that no whitespace trimming is performed. + + The '--verbatim-files-from' affects all '-T' options that follow it +in the command line. The default behavior can be restored using +'--no-verbatim-files-from' option. + + To disable option handling for a single file name, use the +'--add-file' option, e.g.: '--add-file=--my-file'. + + You can use any GNU 'tar' command line options in the file list file, +including '--files-from' option itself. This allows for including +contents of a file list into another file list file. Note however, that +options that control file list processing, such as +'--verbatim-files-from' or '--null' won't affect the file they appear +in. They will affect next '--files-from' option, if there is any. * Menu: @@ -6217,49 +6795,49 @@ option. For example: `--add-file=--my-file'. ---------- Footnotes ---------- - (1) Versions of GNU `tar' up to 1.15.1 recognized only `-C' option -in file lists, and only if the option and its argument occupied two + (1) Versions of GNU 'tar' up to 1.15.1 recognized only '-C' option in +file lists, and only if the option and its argument occupied two consecutive lines.  File: tar.info, Node: nul, Up: files -6.3.1 `NUL'-Terminated File Names +6.3.1 'NUL'-Terminated File Names --------------------------------- -The `--null' option causes `--files-from=FILE-OF-NAMES' (`-T -FILE-OF-NAMES') to read file names terminated by a `NUL' instead of a +The '--null' option causes '--files-from=FILE-OF-NAMES' ('-T +FILE-OF-NAMES') to read file names terminated by a 'NUL' instead of a newline, so files whose names contain newlines can be archived using -`--files-from'. +'--files-from'. -`--null' - Only consider `NUL'-terminated file names, instead of files that +'--null' + Only consider 'NUL'-terminated file names, instead of files that terminate in a newline. -`--no-null' - Undo the effect of any previous `--null' option. +'--no-null' + Undo the effect of any previous '--null' option. - The `--null' option is just like the one in GNU `xargs' and `cpio', -and is useful with the `-print0' predicate of GNU `find'. In `tar', -`--null' also disables special handling for file names that begin with -dash. + The '--null' option is just like the one in GNU 'xargs' and 'cpio', +and is useful with the '-print0' predicate of GNU 'find'. In 'tar', +'--null' also disables special handling for file names that begin with +dash (similar to '--verbatim-files-from' option). - This example shows how to use `find' to generate a list of files + This example shows how to use 'find' to generate a list of files larger than 800K in length and put that list into a file called -`long-files'. The `-print0' option to `find' is just like `-print', -except that it separates files with a `NUL' rather than with a newline. -You can then run `tar' with both the `--null' and `-T' options to -specify that `tar' gets the files from that file, `long-files', to -create the archive `big.tgz'. The `--null' option to `tar' will cause -`tar' to recognize the `NUL' separator between files. +'long-files'. The '-print0' option to 'find' is just like '-print', +except that it separates files with a 'NUL' rather than with a newline. +You can then run 'tar' with both the '--null' and '-T' options to +specify that 'tar' gets the files from that file, 'long-files', to +create the archive 'big.tgz'. The '--null' option to 'tar' will cause +'tar' to recognize the 'NUL' separator between files. $ find . -size +800 -print0 > long-files $ tar -c -v --null --files-from=long-files --file=big.tar - The `--no-null' option can be used if you need to read both -`NUL'-terminated and newline-terminated files on the same command line. -For example, if `flist' is a newline-terminated file, then the -following command can be used to combine it with the above command: + The '--no-null' option can be used if you need to read both +'NUL'-terminated and newline-terminated files on the same command line. +For example, if 'flist' is a newline-terminated file, then the following +command can be used to combine it with the above command: $ find . -size +800 -print0 | tar -c -f big.tar --null -T - --no-null -T flist @@ -6267,18 +6845,18 @@ following command can be used to combine it with the above command: This example uses short options for typographic reasons, to avoid very long lines. - GNU `tar' is tries to automatically detect `NUL'-terminated file -lists, so in many cases it is safe to use them even without the -`--null' option. In this case `tar' will print a warning and continue -reading such a file as if `--null' were actually given: + GNU 'tar' is tries to automatically detect 'NUL'-terminated file +lists, so in many cases it is safe to use them even without the '--null' +option. In this case 'tar' will print a warning and continue reading +such a file as if '--null' were actually given: $ find . -size +800 -print0 | tar -c -f big.tar -T - tar: -: file name read contains nul character The null terminator, however, remains in effect only for this -particular file, any following `-T' options will assume newline +particular file, any following '-T' options will assume newline termination. Of course, the null autodetection applies to these -eventual surplus `-T' options as well. +eventual surplus '-T' options as well.  File: tar.info, Node: exclude, Next: wildcards, Prev: files, Up: Choosing @@ -6287,181 +6865,162 @@ File: tar.info, Node: exclude, Next: wildcards, Prev: files, Up: Choosing ======================== To avoid operating on files whose names match a particular pattern, use -the `--exclude' or `--exclude-from' options. +the '--exclude' or '--exclude-from' options. -`--exclude=PATTERN' - Causes `tar' to ignore files that match the PATTERN. +'--exclude=PATTERN' + Causes 'tar' to ignore files that match the PATTERN. - The `--exclude=PATTERN' option prevents any file or member whose -name matches the shell wildcard (PATTERN) from being operated on. For + The '--exclude=PATTERN' option prevents any file or member whose name +matches the shell wildcard (PATTERN) from being operated on. For example, to create an archive with all the contents of the directory -`src' except for files whose names end in `.o', use the command `tar --cf src.tar --exclude='*.o' src'. +'src' except for files whose names end in '.o', use the command 'tar -cf +src.tar --exclude='*.o' src'. - You may give multiple `--exclude' options. + You may give multiple '--exclude' options. -`--exclude-from=FILE' -`-X FILE' - Causes `tar' to ignore files that match the patterns listed in +'--exclude-from=FILE' +'-X FILE' + Causes 'tar' to ignore files that match the patterns listed in FILE. - Use the `--exclude-from' option to read a list of patterns, one per -line, from FILE; `tar' will ignore files matching those patterns. Thus -if `tar' is called as `tar -c -X foo .' and the file `foo' contains a -single line `*.o', no files whose names end in `.o' will be added to -the archive. + Use the '--exclude-from' option to read a list of patterns, one per +line, from FILE; 'tar' will ignore files matching those patterns. Thus +if 'tar' is called as 'tar -c -X foo .' and the file 'foo' contains a +single line '*.o', no files whose names end in '.o' will be added to the +archive. - Notice, that lines from FILE are read verbatim. One of the frequent + Notice, that lines from FILE are read verbatim. One of the frequent errors is leaving some extra whitespace after a file name, which is difficult to catch using text editors. However, empty lines are OK. - When archiving directories that are under some version control -system (VCS), it is often convenient to read exclusion patterns from -this VCS' ignore files (e.g. `.cvsignore', `.gitignore', etc.) The -following options provide such possibilty: + When archiving directories that are under some version control system +(VCS), it is often convenient to read exclusion patterns from this VCS' +ignore files (e.g. '.cvsignore', '.gitignore', etc.) The following +options provide such possibility: -`--exclude-vcs-ignores' +'--exclude-vcs-ignores' Before archiving a directory, see if it contains any of the - following files: `cvsignore', `.gitignore', `.bzrignore', or - `.hgignore'. If so, read ignore patterns from these files. + following files: 'cvsignore', '.gitignore', '.bzrignore', or + '.hgignore'. If so, read ignore patterns from these files. The patterns are treated much as the corresponding VCS would treat them, i.e.: - `.cvsignore' + '.cvsignore' Contains shell-style globbing patterns that apply only to the - directory where this file resides. No comments are allowed - in the file. Empty lines are ignored. + directory where this file resides. No comments are allowed in + the file. Empty lines are ignored. - `.gitignore' + '.gitignore' Contains shell-style globbing patterns. Applies to the - directory where `.gitfile' is located and all its + directory where '.gitfile' is located and all its subdirectories. - Any line beginning with a `#' is a comment. Backslash escapes + Any line beginning with a '#' is a comment. Backslash escapes the comment character. - `.bzrignore' + '.bzrignore' Contains shell globbing-patterns and regular expressions (if - prefixed with `RE:'(1). Patterns affect the directory and - all its subdirectories. + prefixed with 'RE:'(1). Patterns affect the directory and all + its subdirectories. - Any line beginning with a `#' is a comment. + Any line beginning with a '#' is a comment. - `.hgignore' - Contains posix regular expressions(2). The line `syntax: - glob' switches to shell globbing patterns. The line `syntax: - regexp' switches back. Comments begin with a `#'. Patterns + '.hgignore' + Contains posix regular expressions(2). The line 'syntax: + glob' switches to shell globbing patterns. The line 'syntax: + regexp' switches back. Comments begin with a '#'. Patterns affect the directory and all its subdirectories. -`--exclude-ignore=FILE' - Before dumping a directory, `tar' checks if it contains FILE. If +'--exclude-ignore=FILE' + Before dumping a directory, 'tar' checks if it contains FILE. If so, exclusion patterns are read from this file. The patterns affect only the directory itself. -`--exclude-ignore-recursive=FILE' - Same as `--exclude-ignore', except that the patterns read affect +'--exclude-ignore-recursive=FILE' + Same as '--exclude-ignore', except that the patterns read affect both the directory where FILE resides and all its subdirectories. -`--exclude-vcs' +'--exclude-vcs' Exclude files and directories used by following version control - systems: `CVS', `RCS', `SCCS', `SVN', `Arch', `Bazaar', - `Mercurial', and `Darcs'. - - As of version 1.28, the following files are excluded: - - * `CVS/', and everything under it - - * `RCS/', and everything under it - - * `SCCS/', and everything under it - - * `.git/', and everything under it - - * `.gitignore' - - * `.cvsignore' - - * `.svn/', and everything under it - - * `.arch-ids/', and everything under it - - * `{arch}/', and everything under it - - * `=RELEASE-ID' - - * `=meta-update' - - * `=update' - - * `.bzr' - - * `.bzrignore' - - * `.bzrtags' - - * `.hg' - - * `.hgignore' - - * `.hgrags' - - * `_darcs' - -`--exclude-backups' + systems: 'CVS', 'RCS', 'SCCS', 'SVN', 'Arch', 'Bazaar', + 'Mercurial', and 'Darcs'. + + As of version 1.29, the following files are excluded: + + * 'CVS/', and everything under it + * 'RCS/', and everything under it + * 'SCCS/', and everything under it + * '.git/', and everything under it + * '.gitignore' + * '.gitmodules' + * '.gitattributes' + * '.cvsignore' + * '.svn/', and everything under it + * '.arch-ids/', and everything under it + * '{arch}/', and everything under it + * '=RELEASE-ID' + * '=meta-update' + * '=update' + * '.bzr' + * '.bzrignore' + * '.bzrtags' + * '.hg' + * '.hgignore' + * '.hgrags' + * '_darcs' + +'--exclude-backups' Exclude backup and lock files. This option causes exclusion of files that match the following shell globbing patterns: - .#* - - *~ - - #*# - + .#* + *~ + #*# - When creating an archive, the `--exclude-caches' option family -causes `tar' to exclude all directories that contain a "cache directory -tag". A cache directory tag is a short file with the well-known name -`CACHEDIR.TAG' and having a standard header specified in -`http://www.brynosaurus.com/cachedir/spec.html'. Various applications + When creating an archive, the '--exclude-caches' option family causes +'tar' to exclude all directories that contain a "cache directory tag". +A cache directory tag is a short file with the well-known name +'CACHEDIR.TAG' and having a standard header specified in +. Various applications write cache directory tags into directories they use to hold regenerable, non-precious data, so that such data can be more easily excluded from backups. - There are three `exclude-caches' options, each providing a different + There are three 'exclude-caches' options, each providing a different exclusion semantics: -`--exclude-caches' +'--exclude-caches' Do not archive the contents of the directory, but archive the - directory itself and the `CACHEDIR.TAG' file. + directory itself and the 'CACHEDIR.TAG' file. -`--exclude-caches-under' +'--exclude-caches-under' Do not archive the contents of the directory, nor the - `CACHEDIR.TAG' file, archive only the directory itself. + 'CACHEDIR.TAG' file, archive only the directory itself. -`--exclude-caches-all' - Omit directories containing `CACHEDIR.TAG' file entirely. +'--exclude-caches-all' + Omit directories containing 'CACHEDIR.TAG' file entirely. - Another option family, `--exclude-tag', provides a generalization of -this concept. It takes a single argument, a file name to look for. -Any directory that contains this file will be excluded from the dump. -Similarly to `exclude-caches', there are three options in this option + Another option family, '--exclude-tag', provides a generalization of +this concept. It takes a single argument, a file name to look for. Any +directory that contains this file will be excluded from the dump. +Similarly to 'exclude-caches', there are three options in this option family: -`--exclude-tag=FILE' +'--exclude-tag=FILE' Do not dump the contents of the directory, but dump the directory itself and the FILE. -`--exclude-tag-under=FILE' +'--exclude-tag-under=FILE' Do not dump the contents of the directory, nor the FILE, archive only the directory itself. -`--exclude-tag-all=FILE' +'--exclude-tag-all=FILE' Omit directories containing FILE file entirely. - Multiple `--exclude-tag*' options can be given. + Multiple '--exclude-tag*' options can be given. For example, given this directory: @@ -6474,7 +7033,7 @@ family: dir/folk/sanjuan dir/folk/trote - The `--exclude-tag' will produce the following: + The '--exclude-tag' will produce the following: $ tar -cf archive.tar --exclude-tag=tagfile -v dir dir/ @@ -6485,10 +7044,10 @@ family: contents not dumped dir/folk/tagfile - Both the `dir/folk' directory and its tagfile are preserved in the + Both the 'dir/folk' directory and its tagfile are preserved in the archive, however the rest of files in this directory are not. - Now, using the `--exclude-tag-under' option will exclude `tagfile' + Now, using the '--exclude-tag-under' option will exclude 'tagfile' from the dump, while still preserving the directory itself, as shown in this example: @@ -6500,7 +7059,7 @@ this example: ./tar: dir/folk/: contains a cache directory tag tagfile; contents not dumped - Finally, using `--exclude-tag-all' omits the `dir/folk' directory + Finally, using '--exclude-tag-all' omits the 'dir/folk' directory entirely: $ tar -cf archive.tar --exclude-tag-all=tagfile -v dir @@ -6517,41 +7076,41 @@ entirely: ---------- Footnotes ---------- (1) According to the Bazaar docs, globbing-patterns are Korn-shell -style and regular expressions are perl-style. As of GNU `tar' version -1.28, these are treated as shell-style globs and posix extended -regexps. This will be fixed in future releases. +style and regular expressions are perl-style. As of GNU 'tar' version +1.29, these are treated as shell-style globs and posix extended regexps. +This will be fixed in future releases. (2) Support for perl-style regexps will appear in future releases.  File: tar.info, Node: problems with exclude, Up: exclude -Problems with Using the `exclude' Options +Problems with Using the 'exclude' Options ----------------------------------------- -Some users find `exclude' options confusing. Here are some common +Some users find 'exclude' options confusing. Here are some common pitfalls: - * The main operating mode of `tar' does not act on a file name + * The main operating mode of 'tar' does not act on a file name explicitly listed on the command line, if one of its file name components is excluded. In the example above, if you create an - archive and exclude files that end with `*.o', but explicitly name - the file `dir.o/foo' after all the options have been listed, - `dir.o/foo' will be excluded from the archive. + archive and exclude files that end with '*.o', but explicitly name + the file 'dir.o/foo' after all the options have been listed, + 'dir.o/foo' will be excluded from the archive. - * You can sometimes confuse the meanings of `--exclude' and - `--exclude-from'. Be careful: use `--exclude' when files to be + * You can sometimes confuse the meanings of '--exclude' and + '--exclude-from'. Be careful: use '--exclude' when files to be excluded are given as a pattern on the command line. Use - `--exclude-from' to introduce the name of a file which contains a + '--exclude-from' to introduce the name of a file which contains a list of patterns, one per line; each of these patterns can exclude zero, one, or many files. - * When you use `--exclude=PATTERN', be sure to quote the PATTERN - parameter, so GNU `tar' sees wildcard characters like `*'. If you - do not do this, the shell might expand the `*' itself using files - at hand, so `tar' might receive a list of files instead of one - pattern, or none at all, making the command somewhat illegal. - This might not correspond to what you want. + * When you use '--exclude=PATTERN', be sure to quote the PATTERN + parameter, so GNU 'tar' sees wildcard characters like '*'. If you + do not do this, the shell might expand the '*' itself using files + at hand, so 'tar' might receive a list of files instead of one + pattern, or none at all, making the command somewhat illegal. This + might not correspond to what you want. For example, write: @@ -6562,16 +7121,16 @@ pitfalls: # _Wrong!_ $ tar -c -f ARCHIVE.TAR --exclude *.o DIRECTORY - * You must use use shell syntax, or globbing, rather than `regexp' - syntax, when using exclude options in `tar'. If you try to use - `regexp' syntax to describe files to be excluded, your command + * You must use use shell syntax, or globbing, rather than 'regexp' + syntax, when using exclude options in 'tar'. If you try to use + 'regexp' syntax to describe files to be excluded, your command might fail. - * In earlier versions of `tar', what is now the `--exclude-from' - option was called `--exclude' instead. Now, `--exclude' applies - to patterns listed on the command line and `--exclude-from' - applies to patterns listed in a file. - + * + In earlier versions of 'tar', what is now the '--exclude-from' + option was called '--exclude' instead. Now, '--exclude' applies to + patterns listed on the command line and '--exclude-from' applies to + patterns listed in a file.  File: tar.info, Node: wildcards, Next: quoting styles, Prev: exclude, Up: Choosing @@ -6579,48 +7138,47 @@ File: tar.info, Node: wildcards, Next: quoting styles, Prev: exclude, Up: Ch 6.5 Wildcards Patterns and Matching =================================== -"Globbing" is the operation by which "wildcard" characters, `*' or `?' +"Globbing" is the operation by which "wildcard" characters, '*' or '?' for example, are replaced and expanded into all existing files matching -the given pattern. GNU `tar' can use wildcard patterns for matching -(or globbing) archive members when extracting from or listing an -archive. Wildcard patterns are also used for verifying volume labels -of `tar' archives. This section has the purpose of explaining wildcard -syntax for `tar'. +the given pattern. GNU 'tar' can use wildcard patterns for matching (or +globbing) archive members when extracting from or listing an archive. +Wildcard patterns are also used for verifying volume labels of 'tar' +archives. This section has the purpose of explaining wildcard syntax +for 'tar'. A PATTERN should be written according to shell syntax, using wildcard -characters to effect globbing. Most characters in the pattern stand -for themselves in the matched string, and case is significant: `a' will -match only `a', and not `A'. The character `?' in the pattern matches -any single character in the matched string. The character `*' in the +characters to effect globbing. Most characters in the pattern stand for +themselves in the matched string, and case is significant: 'a' will +match only 'a', and not 'A'. The character '?' in the pattern matches +any single character in the matched string. The character '*' in the pattern matches zero, one, or more single characters in the matched -string. The character `\' says to take the following character of the -pattern _literally_; it is useful when one needs to match the `?', `*', -`[' or `\' characters, themselves. +string. The character '\' says to take the following character of the +pattern _literally_; it is useful when one needs to match the '?', '*', +'[' or '\' characters, themselves. - The character `[', up to the matching `]', introduces a character + The character '[', up to the matching ']', introduces a character class. A "character class" is a list of acceptable characters for the -next single character of the matched string. For example, `[abcde]' +next single character of the matched string. For example, '[abcde]' would match any of the first five letters of the alphabet. Note that within a character class, all of the "special characters" listed above -other than `\' lose their special meaning; for example, `[-\\[*?]]' -would match any of the characters, `-', `\', `[', `*', `?', or `]'. -(Due to parsing constraints, the characters `-' and `]' must either -come _first_ or _last_ in a character class.) +other than '\' lose their special meaning; for example, '[-\\[*?]]' +would match any of the characters, '-', '\', '[', '*', '?', or ']'. +(Due to parsing constraints, the characters '-' and ']' must either come +_first_ or _last_ in a character class.) - If the first character of the class after the opening `[' is `!' or -`^', then the meaning of the class is reversed. Rather than listing + If the first character of the class after the opening '[' is '!' or +'^', then the meaning of the class is reversed. Rather than listing character to match, it lists those characters which are _forbidden_ as the next single character of the matched string. Other characters of the class stand for themselves. The special -construction `[A-E]', using an hyphen between two letters, is meant to +construction '[A-E]', using an hyphen between two letters, is meant to represent all characters between A and E, inclusive. - Periods (`.') or forward slashes (`/') are not considered special -for wildcard matches. However, if a pattern completely matches a -directory prefix of a matched string, then it matches the full matched -string: thus, excluding a directory also excludes all the files beneath -it. + Periods ('.') or forward slashes ('/') are not considered special for +wildcard matches. However, if a pattern completely matches a directory +prefix of a matched string, then it matches the full matched string: +thus, excluding a directory also excludes all the files beneath it. * Menu: @@ -6632,18 +7190,18 @@ File: tar.info, Node: controlling pattern-matching, Up: wildcards Controlling Pattern-Matching ---------------------------- -For the purposes of this section, we call "exclusion members" all -member names obtained while processing `--exclude' and `--exclude-from' +For the purposes of this section, we call "exclusion members" all member +names obtained while processing '--exclude' and '--exclude-from' options, and "inclusion members" those member names that were given in -the command line or read from the file specified with `--files-from' +the command line or read from the file specified with '--files-from' option. These two pairs of member lists are used in the following operations: -`--diff', `--extract', `--list', `--update'. +'--diff', '--extract', '--list', '--update'. - There are no inclusion members in create mode (`--create' and -`--append'), since in this mode the names obtained from the command -line refer to _files_, not archive members. + There are no inclusion members in create mode ('--create' and +'--append'), since in this mode the names obtained from the command line +refer to _files_, not archive members. By default, inclusion members are compared with archive members literally (1) and exclusion members are treated as globbing patterns. @@ -6664,13 +7222,13 @@ For example: This behavior can be altered by using the following options: -`--wildcards' +'--wildcards' Treat all member names as wildcards. -`--no-wildcards' +'--no-wildcards' Treat all member names as literal strings. - Thus, to extract files whose names end in `.c', you can use: + Thus, to extract files whose names end in '.c', you can use: $ tar -xf foo.tar -v --wildcards '*.c' a.c @@ -6678,72 +7236,70 @@ For example: Notice quoting of the pattern to prevent the shell from interpreting it. - The effect of `--wildcards' option is canceled by `--no-wildcards'. -This can be used to pass part of the command line arguments verbatim -and other part as globbing patterns. For example, the following -invocation: + The effect of '--wildcards' option is canceled by '--no-wildcards'. +This can be used to pass part of the command line arguments verbatim and +other part as globbing patterns. For example, the following invocation: $ tar -xf foo.tar --wildcards '*.txt' --no-wildcards '[remarks]' -instructs `tar' to extract from `foo.tar' all files whose names end in -`.txt' and the file named `[remarks]'. +instructs 'tar' to extract from 'foo.tar' all files whose names end in +'.txt' and the file named '[remarks]'. Normally, a pattern matches a name if an initial subsequence of the -name's components matches the pattern, where `*', `?', and `[...]' are -the usual shell wildcards, `\' escapes wildcards, and wildcards can -match `/'. +name's components matches the pattern, where '*', '?', and '[...]' are +the usual shell wildcards, '\' escapes wildcards, and wildcards can +match '/'. - Other than optionally stripping leading `/' from names (*note + Other than optionally stripping leading '/' from names (*note absolute::), patterns and names are used as-is. For example, trailing -`/' is not trimmed from a user-specified name before deciding whether -to exclude it. +'/' is not trimmed from a user-specified name before deciding whether to +exclude it. However, this matching procedure can be altered by the options listed below. These options accumulate. For example: --ignore-case --exclude='makefile' --no-ignore-case ---exclude='readme' -ignores case when excluding `makefile', but not when excluding `readme'. +ignores case when excluding 'makefile', but not when excluding 'readme'. -`--anchored' -`--no-anchored' +'--anchored' +'--no-anchored' If anchored, a pattern must match an initial subsequence of the name's components. Otherwise, the pattern can match any - subsequence. Default is `--no-anchored' for exclusion members and - `--anchored' inclusion members. + subsequence. Default is '--no-anchored' for exclusion members and + '--anchored' inclusion members. -`--ignore-case' -`--no-ignore-case' +'--ignore-case' +'--no-ignore-case' When ignoring case, upper-case patterns match lower-case names and vice versa. When not ignoring case (the default), matching is case-sensitive. -`--wildcards-match-slash' -`--no-wildcards-match-slash' +'--wildcards-match-slash' +'--no-wildcards-match-slash' When wildcards match slash (the default for exclusion members), a - wildcard like `*' in the pattern can match a `/' in the name. - Otherwise, `/' is matched only by `/'. - + wildcard like '*' in the pattern can match a '/' in the name. + Otherwise, '/' is matched only by '/'. - The `--recursion' and `--no-recursion' options (*note recurse::) -also affect how member patterns are interpreted. If recursion is in -effect, a pattern matches a name if it matches any of the name's parent + The '--recursion' and '--no-recursion' options (*note recurse::) also +affect how member patterns are interpreted. If recursion is in effect, +a pattern matches a name if it matches any of the name's parent directories. The following table summarizes pattern-matching default values: Members Default settings --------------------------------------------------------------------------- -Inclusion `--no-wildcards --anchored +-------------------------------------------------------------------------- +Inclusion '--no-wildcards --anchored --no-wildcards-match-slash' -Exclusion `--wildcards --no-anchored +Exclusion '--wildcards --no-anchored --wildcards-match-slash' ---------- Footnotes ---------- - (1) Notice that earlier GNU `tar' versions used globbing for + (1) Notice that earlier GNU 'tar' versions used globbing for inclusion members, which contradicted to UNIX98 specification and was -not documented. *Note Changes::, for more information on this and other +not documented. *Note Changes::, for more information on this and other changes.  @@ -6752,43 +7308,44 @@ File: tar.info, Node: quoting styles, Next: transform, Prev: wildcards, Up: 6.6 Quoting Member Names ======================== -When displaying member names, `tar' takes care to avoid ambiguities +When displaying member names, 'tar' takes care to avoid ambiguities caused by certain characters. This is called "name quoting". The characters in question are: * Non-printable control characters: - Character ASCII Character name - --------------------------------------------------------------- - \a 7 Audible bell - \b 8 Backspace - \f 12 Form feed - \n 10 New line - \r 13 Carriage return - \t 9 Horizontal tabulation - \v 11 Vertical tabulation + Character ASCII Character name + ------------------------------------------------------------------- + \a 7 Audible bell + \b 8 Backspace + \f 12 Form feed + \n 10 New line + \r 13 Carriage return + \t 9 Horizontal tabulation + \v 11 Vertical tabulation * Space (ASCII 32) - * Single and double quotes (`'' and `"') + * Single and double quotes (''' and '"') - * Backslash (`\') + * Backslash ('\') - The exact way `tar' uses to quote these characters depends on the + The exact way 'tar' uses to quote these characters depends on the "quoting style". The default quoting style, called "escape" (see below), uses backslash notation to represent control characters, space and backslash. Using this quoting style, control characters are -represented as listed in column `Character' in the above table, a space -is printed as `\ ' and a backslash as `\\'. +represented as listed in column 'Character' in the above table, a space +is printed as '\ ' and a backslash as '\\'. - GNU `tar' offers seven distinct quoting styles, which can be selected -using `--quoting-style' option: + GNU 'tar' offers seven distinct quoting styles, which can be selected +using '--quoting-style' option: + +'--quoting-style=STYLE' -`--quoting-style=STYLE' Sets quoting style. Valid values for STYLE argument are: literal, shell, shell-always, c, escape, locale, clocale. These styles are described in detail below. To illustrate their -effect, we will use an imaginary tar archive `arch.tar' containing the +effect, we will use an imaginary tar archive 'arch.tar' containing the following members: # 1. Contains horizontal tabulation character. @@ -6805,7 +7362,7 @@ following members: # 6. Contains a backslash character: a\backslash - Here is how usual `ls' command would have listed them, if they had + Here is how usual 'ls' command would have listed them, if they had existed in the current working directory: $ ls @@ -6818,7 +7375,7 @@ existed in the current working directory: Quoting styles: -`literal' +'literal' No quoting, display each character as is: $ tar tf arch.tar --quoting-style=literal @@ -6831,11 +7388,11 @@ existed in the current working directory: ./a newline -`shell' +'shell' Display characters the same way Bourne shell does: control - characters, except `\t' and `\n', are printed using backslash - escapes, `\t' and `\n' are printed as is, and a single quote is - printed as `\''. If a name contains any quoted characters, it is + characters, except '\t' and '\n', are printed using backslash + escapes, '\t' and '\n' are printed as is, and a single quote is + printed as '\''. If a name contains any quoted characters, it is enclosed in single quotes. In particular, if a name contains single quotes, it is printed as several single-quoted strings: @@ -6849,8 +7406,8 @@ existed in the current working directory: './a newline' -`shell-always' - Same as `shell', but the names are always enclosed in single +'shell-always' + Same as 'shell', but the names are always enclosed in single quotes: $ tar tf arch.tar --quoting-style=shell-always @@ -6863,11 +7420,11 @@ existed in the current working directory: './a newline' -`c' +'c' Use the notation of the C programming language. All names are enclosed in double quotes. Control characters are quoted using - backslash notations, double quotes are represented as `\"', - backslash characters are represented as `\\'. Single quotes and + backslash notations, double quotes are represented as '\"', + backslash characters are represented as '\\'. Single quotes and spaces are not quoted: $ tar tf arch.tar --quoting-style=c @@ -6879,9 +7436,9 @@ existed in the current working directory: "./a\ttab" "./a\nnewline" -`escape' +'escape' Control characters are printed using backslash notation, a space is - printed as `\ ' and a backslash as `\\'. This is the default + printed as '\ ' and a backslash as '\\'. This is the default quoting style, unless it was changed when configured the package. $ tar tf arch.tar --quoting-style=escape @@ -6893,13 +7450,13 @@ existed in the current working directory: ./a\ttab ./a\nnewline -`locale' +'locale' Control characters, single quote and backslash are printed using backslash notation. All names are quoted using left and right quotation marks, appropriate to the current locale. If it does not - define quotation marks, use `'' as left and as right quotation + define quotation marks, use ''' as left and as right quotation marks. Any occurrences of the right quotation mark in a name are - escaped with `\', for example: + escaped with '\', for example: For example: @@ -6912,9 +7469,9 @@ existed in the current working directory: './a\ttab' './a\nnewline' -`clocale' - Same as `locale', but `"' is used for both left and right - quotation marks, if not provided by the currently selected locale: +'clocale' + Same as 'locale', but '"' is used for both left and right quotation + marks, if not provided by the currently selected locale: $ tar tf arch.tar --quoting-style=clocale "./" @@ -6928,11 +7485,11 @@ existed in the current working directory: You can specify which characters should be quoted in addition to those implied by the current quoting style: -`--quote-chars=STRING' +'--quote-chars=STRING' Always quote characters from STRING, even if the selected quoting style would not quote them. - For example, using `escape' quoting (compare with the usual escape + For example, using 'escape' quoting (compare with the usual escape listing above): $ tar tf arch.tar --quoting-style=escape --quote-chars=' "' @@ -6947,15 +7504,15 @@ listing above): To disable quoting of such additional characters, use the following option: -`--no-quote-chars=STRING' +'--no-quote-chars=STRING' Remove characters listed in STRING from the list of quoted - characters set by the previous `--quote-chars' option. + characters set by the previous '--quote-chars' option. - This option is particularly useful if you have added `--quote-chars' -to your `TAR_OPTIONS' (*note TAR_OPTIONS::) and wish to disable it for + This option is particularly useful if you have added '--quote-chars' +to your 'TAR_OPTIONS' (*note TAR_OPTIONS::) and wish to disable it for the current invocation. - Note, that `--no-quote-chars' does _not_ disable those characters + Note, that '--no-quote-chars' does _not_ disable those characters that are quoted by default in the selected quoting style.  @@ -6964,7 +7521,7 @@ File: tar.info, Node: transform, Next: after, Prev: quoting styles, Up: Choo 6.7 Modifying File and Member Names =================================== -`Tar' archives contain detailed information about files stored in them +'Tar' archives contain detailed information about files stored in them and full file names are part of that information. When storing a file to an archive, its file name is recorded in it, along with the actual file contents. When restoring from an archive, a file is created on @@ -6973,7 +7530,7 @@ majority of cases this is the desired behavior of a file archiver. However, there are some cases when it is not. First of all, it is often unsafe to extract archive members with -absolute file names or those that begin with a `../'. GNU `tar' takes +absolute file names or those that begin with a '../'. GNU 'tar' takes special precautions when extracting such names and provides a special option for handling them, which is described in *note absolute::. @@ -6981,29 +7538,29 @@ option for handling them, which is described in *note absolute::. directory components, or with otherwise modified names. In other cases it is desirable to store files under differing names in the archive. - GNU `tar' provides several options for these needs. + GNU 'tar' provides several options for these needs. -`--strip-components=NUMBER' +'--strip-components=NUMBER' Strip given NUMBER of leading components from file names before extraction. - For example, suppose you have archived whole `/usr' hierarchy to a -tar archive named `usr.tar'. Among other files, this archive contains -`usr/include/stdlib.h', which you wish to extract to the current -working directory. To do so, you type: + For example, suppose you have archived whole '/usr' hierarchy to a +tar archive named 'usr.tar'. Among other files, this archive contains +'usr/include/stdlib.h', which you wish to extract to the current working +directory. To do so, you type: $ tar -xf usr.tar --strip=2 usr/include/stdlib.h - The option `--strip=2' instructs `tar' to strip the two leading -components (`usr/' and `include/') off the file name. + The option '--strip=2' instructs 'tar' to strip the two leading +components ('usr/' and 'include/') off the file name. - If you add the `--verbose' (`-v') option to the invocation above, -you will note that the verbose listing still contains the full file -name, with the two removed components still in place. This can be -inconvenient, so `tar' provides a special option for altering this + If you add the '--verbose' ('-v') option to the invocation above, you +will note that the verbose listing still contains the full file name, +with the two removed components still in place. This can be +inconvenient, so 'tar' provides a special option for altering this behavior: -`--show-transformed-names' +'--show-transformed-names' Display file or member names with all requested transformations applied. @@ -7014,8 +7571,8 @@ For example: $ tar -xf usr.tar -v --strip=2 --show-transformed usr/include/stdlib.h stdlib.h - Notice that in both cases the file `stdlib.h' is extracted to the -current working directory, `--show-transformed-names' affects only the + Notice that in both cases the file 'stdlib.h' is extracted to the +current working directory, '--show-transformed-names' affects only the way its name is displayed. This option is especially useful for verifying whether the invocation @@ -7030,13 +7587,13 @@ it is often advisable to run to make sure the command will produce the intended results. In case you need to apply more complex modifications to the file -name, GNU `tar' provides a general-purpose transformation option: +name, GNU 'tar' provides a general-purpose transformation option: -`--transform=EXPRESSION' -`--xform=EXPRESSION' +'--transform=EXPRESSION' +'--xform=EXPRESSION' Modify file names using supplied EXPRESSION. -The EXPRESSION is a `sed'-like replace expression of the form: +The EXPRESSION is a 'sed'-like replace expression of the form: s/REGEXP/REPLACE/[FLAGS] @@ -7044,81 +7601,80 @@ where REGEXP is a "regular expression", REPLACE is a replacement for each file name part that matches REGEXP. Both REGEXP and REPLACE are described in detail in *note The "s" Command: (sed)The "s" Command. - Any delimiter can be used in lieu of `/', the only requirement being -that it be used consistently throughout the expression. For example, + Any delimiter can be used in lieu of '/', the only requirement being +that it be used consistently throughout the expression. For example, the following two expressions are equivalent: s/one/two/ s,one,two, Changing delimiters is often useful when the REGEX contains slashes. -For example, it is more convenient to write `s,/,-,' than `s/\//-/'. +For example, it is more convenient to write 's,/,-,' than 's/\//-/'. - As in `sed', you can give several replace expressions, separated by -a semicolon. + As in 'sed', you can give several replace expressions, separated by a +semicolon. Supported FLAGS are: -`g' +'g' Apply the replacement to _all_ matches to the REGEXP, not just the first. -`i' +'i' Use case-insensitive matching. -`x' +'x' REGEXP is an "extended regular expression" (*note Extended regular expressions: (sed)Extended regexps.). -`NUMBER' +'NUMBER' Only replace the NUMBERth match of the REGEXP. Note: the POSIX standard does not specify what should happen when - you mix the `g' and NUMBER modifiers. GNU `tar' follows the GNU - `sed' implementation in this regard, so the interaction is defined + you mix the 'g' and NUMBER modifiers. GNU 'tar' follows the GNU + 'sed' implementation in this regard, so the interaction is defined to be: ignore matches before the NUMBERth, and then match and replace all matches from the NUMBERth on. + In addition, several "transformation scope" flags are supported, that +control to what files transformations apply. These are: - In addition, several "transformation scope" flags are supported, -that control to what files transformations apply. These are: - -`r' +'r' Apply transformation to regular archive members. -`R' +'R' Do not apply transformation to regular archive members. -`s' +'s' Apply transformation to symbolic link targets. -`S' +'S' Do not apply transformation to symbolic link targets. -`h' +'h' Apply transformation to hard link targets. -`H' +'H' Do not apply transformation to hard link targets. - Default is `rsh', which means to apply tranformations to both archive -members and targets of symbolic and hard links. + Default is 'rsh', which means to apply transformations to both +archive members and targets of symbolic and hard links. - Default scope flags can also be changed using `flags=' statement in + Default scope flags can also be changed using 'flags=' statement in the transform expression. The flags set this way remain in force until -next `flags=' statement or end of expression, whichever occurs first. +next 'flags=' statement or end of expression, whichever occurs first. For example: --transform 'flags=S;s|^|/usr/local/|' - Here are several examples of `--transform' usage: + Here are several examples of '--transform' usage: - 1. Extract `usr/' hierarchy into `usr/local/': + 1. Extract 'usr/' hierarchy into 'usr/local/': $ tar --transform='s,usr/,usr/local/,' -x -f arch.tar 2. Strip two leading directory components (equivalent to - `--strip-components=2'): + '--strip-components=2'): $ tar --transform='s,/*[^/]*/[^/]*/,,' -x -f arch.tar @@ -7126,18 +7682,18 @@ For example: $ tar --transform 's/.*/\L&/' -x -f arch.tar - 4. Prepend `/prefix/' to each file name: + 4. Prepend '/prefix/' to each file name: $ tar --transform 's,^,/prefix/,' -x -f arch.tar - 5. Archive the `/lib' directory, prepending `/usr/local' to each + 5. Archive the '/lib' directory, prepending '/usr/local' to each archive member: $ tar --transform 's,^,/usr/local/,S' -c -f arch.tar /lib - Notice the use of flags in the last example. The `/lib' directory -often contains many symbolic links to files within it. It may look, -for example, like this: + Notice the use of flags in the last example. The '/lib' directory +often contains many symbolic links to files within it. It may look, for +example, like this: $ ls -l drwxr-xr-x root/root 0 2008-07-08 16:20 /lib/ @@ -7145,15 +7701,15 @@ for example, like this: lrwxrwxrwx root/root 0 2008-06-24 17:12 /lib/libc.so.6 -> libc-2.3.2.so ... - Using the expression `s,^,/usr/local/,' would mean adding -`/usr/local' to both regular archive members and to link targets. In -this case, `/lib/libc.so.6' would become: + Using the expression 's,^,/usr/local/,' would mean adding +'/usr/local' to both regular archive members and to link targets. In +this case, '/lib/libc.so.6' would become: /usr/local/lib/libc.so.6 -> /usr/local/libc-2.3.2.so - This is definitely not desired. To avoid this, the `S' flag is -used, which excludes symbolic link targets from filename -transformations. The result is: + This is definitely not desired. To avoid this, the 'S' flag is used, +which excludes symbolic link targets from filename transformations. The +result is: $ tar --transform 's,^,/usr/local/,S', -c -v -f arch.tar \ --show-transformed /lib @@ -7162,25 +7718,25 @@ transformations. The result is: lrwxrwxrwx root/root 0 2008-06-24 17:12 /usr/local/lib/libc.so.6 \ -> libc-2.3.2.so - Unlike `--strip-components', `--transform' can be used in any GNU -`tar' operation mode. For example, the following command adds files to -the archive while replacing the leading `usr/' component with `var/': + Unlike '--strip-components', '--transform' can be used in any GNU +'tar' operation mode. For example, the following command adds files to +the archive while replacing the leading 'usr/' component with 'var/': $ tar -cf arch.tar --transform='s,^usr/,var/,' / - To test `--transform' effect we suggest using -`--show-transformed-names' option: + To test '--transform' effect we suggest using +'--show-transformed-names' option: $ tar -cf arch.tar --transform='s,^usr/,var/,' \ --verbose --show-transformed-names / - If both `--strip-components' and `--transform' are used together, -then `--transform' is applied first, and the required number of + If both '--strip-components' and '--transform' are used together, +then '--transform' is applied first, and the required number of components is then stripped from its result. - You can use as many `--transform' options in a single command line -as you want. The specified expressions will then be applied in order -of their appearance. For example, the following two invocations are + You can use as many '--transform' options in a single command line as +you want. The specified expressions will then be applied in order of +their appearance. For example, the following two invocations are equivalent: $ tar -cf arch.tar --transform='s,/usr/var,/var/' \ @@ -7194,56 +7750,56 @@ File: tar.info, Node: after, Next: recurse, Prev: transform, Up: Choosing 6.8 Operating Only on New Files =============================== -The `--after-date=DATE' (`--newer=DATE', `-N DATE') option causes `tar' -to only work on files whose data modification or status change times -are newer than the DATE given. If DATE starts with `/' or `.', it is -taken to be a file name; the data modification time of that file is -used as the date. If you use this option when creating or appending to -an archive, the archive will only include new files. If you use -`--after-date' when extracting an archive, `tar' will only extract -files newer than the DATE you specify. +The '--after-date=DATE' ('--newer=DATE', '-N DATE') option causes 'tar' +to only work on files whose data modification or status change times are +newer than the DATE given. If DATE starts with '/' or '.', it is taken +to be a file name; the data modification time of that file is used as +the date. If you use this option when creating or appending to an +archive, the archive will only include new files. If you use +'--after-date' when extracting an archive, 'tar' will only extract files +newer than the DATE you specify. - If you only want `tar' to make the date comparison based on + If you only want 'tar' to make the date comparison based on modification of the file's data (rather than status changes), then use -the `--newer-mtime=DATE' option. +the '--newer-mtime=DATE' option. You may use these options with any operation. Note that these -options differ from the `--update' (`-u') operation in that they allow -you to specify a particular date against which `tar' can compare when +options differ from the '--update' ('-u') operation in that they allow +you to specify a particular date against which 'tar' can compare when deciding whether or not to archive the files. -`--after-date=DATE' -`--newer=DATE' -`-N DATE' +'--after-date=DATE' +'--newer=DATE' +'-N DATE' Only store files newer than DATE. Acts on files only if their data modification or status change times are later than DATE. Use in conjunction with any operation. - If DATE starts with `/' or `.', it is taken to be a file name; the + If DATE starts with '/' or '.', it is taken to be a file name; the data modification time of that file is used as the date. -`--newer-mtime=DATE' - Acts like `--after-date', but only looks at data modification +'--newer-mtime=DATE' + Acts like '--after-date', but only looks at data modification times. - These options limit `tar' to operate only on files which have been + These options limit 'tar' to operate only on files which have been modified after the date specified. A file's status is considered to have changed if its contents have been modified, or if its owner, permissions, and so forth, have been changed. (For more information on how to specify a date, see *note Date input formats::; remember that the entire date argument must be quoted if it contains any spaces.) - Gurus would say that `--after-date' tests both the data modification -time (`mtime', the time the contents of the file were last modified) -and the status change time (`ctime', the time the file's status was -last changed: owner, permissions, etc.) fields, while `--newer-mtime' -tests only the `mtime' field. + Gurus would say that '--after-date' tests both the data modification +time ('mtime', the time the contents of the file were last modified) and +the status change time ('ctime', the time the file's status was last +changed: owner, permissions, etc.) fields, while '--newer-mtime' tests +only the 'mtime' field. - To be precise, `--after-date' checks _both_ `mtime' and `ctime' and + To be precise, '--after-date' checks _both_ 'mtime' and 'ctime' and processes the file if either one is more recent than DATE, while -`--newer-mtime' only checks `mtime' and disregards `ctime'. Neither -does it use `atime' (the last time the contents of the file were looked +'--newer-mtime' only checks 'mtime' and disregards 'ctime'. Neither +does it use 'atime' (the last time the contents of the file were looked at). Date specifiers can have embedded spaces. Because of this, you may @@ -7253,10 +7809,10 @@ archive all the files modified less than two days ago: $ tar -cf foo.tar --newer-mtime '2 days ago' - When any of these options is used with the option `--verbose' (*note -verbose tutorial::) GNU `tar' will try to convert the specified date + When any of these options is used with the option '--verbose' (*note +verbose tutorial::) GNU 'tar' will try to convert the specified date back to its textual representation and compare that with the one given -with the option. If the two dates differ, `tar' will print a warning +with the option. If the two dates differ, 'tar' will print a warning saying what date it will use. This is to help user ensure he is using the right date. For example: @@ -7264,7 +7820,7 @@ the right date. For example: tar: Option --after-date: Treating date '10 days ago' as 2006-06-11 13:19:37.232434 - *Please Note:* `--after-date' and `--newer-mtime' should not be + *Please Note:* '--after-date' and '--newer-mtime' should not be used for incremental backups. *Note Incremental Dumps::, for proper way of creating incremental backups. @@ -7274,447 +7830,61 @@ File: tar.info, Node: recurse, Next: one, Prev: after, Up: Choosing 6.9 Descending into Directories =============================== -Usually, `tar' will recursively explore all directories (either those -given on the command line or through the `--files-from' option) for the -various files they contain. However, you may not always want `tar' to +Usually, 'tar' will recursively explore all directories (either those +given on the command line or through the '--files-from' option) for the +various files they contain. However, you may not always want 'tar' to act this way. - The `--no-recursion' option inhibits `tar''s recursive descent into -specified directories. If you specify `--no-recursion', you can use -the `find' (*note find: (find)Top.) utility for hunting through levels -of directories to construct a list of file names which you could then -pass to `tar'. `find' allows you to be more selective when choosing -which files to archive; see *note files::, for more information on -using `find' with `tar'. + The '--no-recursion' option inhibits 'tar''s recursive descent into +specified directories. If you specify '--no-recursion', you can use the +'find' (*note find: (find)Top.) utility for hunting through levels of +directories to construct a list of file names which you could then pass +to 'tar'. 'find' allows you to be more selective when choosing which +files to archive; see *note files::, for more information on using +'find' with 'tar'. -`--no-recursion' - Prevents `tar' from recursively descending directories. +'--no-recursion' + Prevents 'tar' from recursively descending directories. -`--recursion' - Requires `tar' to recursively descend directories. This is the +'--recursion' + Requires 'tar' to recursively descend directories. This is the default. - When you use `--no-recursion', GNU `tar' grabs directory entries + When you use '--no-recursion', GNU 'tar' grabs directory entries themselves, but does not descend on them recursively. Many people use -`find' for locating files they want to back up, and since `tar' +'find' for locating files they want to back up, and since 'tar' _usually_ recursively descends on directories, they have to use the -`-not -type d' test in their `find' invocation (*note Type: +'-not -type d' test in their 'find' invocation (*note Type: (find)Type.), as they usually do not want all the files in a directory. -They then use the `--files-from' option to archive the files located -via `find'. +They then use the '--files-from' option to archive the files located via +'find'. The problem when restoring files archived in this manner is that the directories themselves are not in the archive; so the -`--same-permissions' (`--preserve-permissions', `-p') option does not +'--same-permissions' ('--preserve-permissions', '-p') option does not affect them--while users might really like it to. Specifying -`--no-recursion' is a way to tell `tar' to grab only the directory +'--no-recursion' is a way to tell 'tar' to grab only the directory entries given to it, adding no new files on its own. To summarize, if -you use `find' to create a list of files to be stored in an archive, -use it as follows: +you use 'find' to create a list of files to be stored in an archive, use +it as follows: $ find DIR TESTS | \ tar -cf ARCHIVE -T - --no-recursion - The `--no-recursion' option also applies when extracting: it causes -`tar' to extract only the matched directory entries, not the files -under those directories. + The '--no-recursion' option also applies when extracting: it causes +'tar' to extract only the matched directory entries, not the files under +those directories. - The `--no-recursion' option also affects how globbing patterns are + The '--no-recursion' option also affects how globbing patterns are interpreted (*note controlling pattern-matching::). - The `--no-recursion' and `--recursion' options apply to later -options and operands, and can be overridden by later occurrences of -`--no-recursion' and `--recursion'. For example: + The '--no-recursion' and '--recursion' options apply to later options +and operands, and can be overridden by later occurrences of +'--no-recursion' and '--recursion'. For example: $ tar -cf jams.tar --no-recursion grape --recursion grape/concord -creates an archive with one entry for `grape', and the recursive -contents of `grape/concord', but no entries under `grape' other than -`grape/concord'. - - -File: tar.info, Node: one, Prev: recurse, Up: Choosing - -6.10 Crossing File System Boundaries -==================================== - -`tar' will normally automatically cross file system boundaries in order -to archive files which are part of a directory tree. You can change -this behavior by running `tar' and specifying `--one-file-system'. -This option only affects files that are archived because they are in a -directory that is being archived; `tar' will still archive files -explicitly named on the command line or through `--files-from', -regardless of where they reside. - -`--one-file-system' - Prevents `tar' from crossing file system boundaries when - archiving. Use in conjunction with any write operation. - - The `--one-file-system' option causes `tar' to modify its normal -behavior in archiving the contents of directories. If a file in a -directory is not on the same file system as the directory itself, then -`tar' will not archive that file. If the file is a directory itself, -`tar' will not archive anything beneath it; in other words, `tar' will -not cross mount points. - - This option is useful for making full or incremental archival -backups of a file system. If this option is used in conjunction with -`--verbose' (`-v'), files that are excluded are mentioned by name on -the standard error. - -* Menu: - -* directory:: Changing Directory -* absolute:: Absolute File Names - - -File: tar.info, Node: directory, Next: absolute, Up: one - -6.10.1 Changing the Working Directory -------------------------------------- - -To change the working directory in the middle of a list of file names, -either on the command line or in a file specified using `--files-from' -(`-T'), use `--directory' (`-C'). This will change the working -directory to the specified directory after that point in the list. - -`--directory=DIRECTORY' -`-C DIRECTORY' - Changes the working directory in the middle of a command line. - - For example, - - $ tar -c -f jams.tar grape prune -C food cherry - -will place the files `grape' and `prune' from the current directory -into the archive `jams.tar', followed by the file `cherry' from the -directory `food'. This option is especially useful when you have -several widely separated files that you want to store in the same -archive. - - Note that the file `cherry' is recorded in the archive under the -precise name `cherry', _not_ `food/cherry'. Thus, the archive will -contain three files that all appear to have come from the same -directory; if the archive is extracted with plain `tar --extract', all -three files will be written in the current directory. - - Contrast this with the command, - - $ tar -c -f jams.tar grape prune -C food red/cherry - -which records the third file in the archive under the name `red/cherry' -so that, if the archive is extracted using `tar --extract', the third -file will be written in a subdirectory named `red'. - - You can use the `--directory' option to make the archive independent -of the original name of the directory holding the files. The following -command places the files `/etc/passwd', `/etc/hosts', and `/lib/libc.a' -into the archive `foo.tar': - - $ tar -c -f foo.tar -C /etc passwd hosts -C /lib libc.a - -However, the names of the archive members will be exactly what they were -on the command line: `passwd', `hosts', and `libc.a'. They will not -appear to be related by file name to the original directories where -those files were located. - - Note that `--directory' options are interpreted consecutively. If -`--directory' specifies a relative file name, it is interpreted -relative to the then current directory, which might not be the same as -the original current working directory of `tar', due to a previous -`--directory' option. - - When using `--files-from' (*note files::), you can put various `tar' -options (including `-C') in the file list. Notice, however, that in -this case the option and its argument may not be separated by -whitespace. If you use short option, its argument must either follow -the option letter immediately, without any intervening whitespace, or -occupy the next line. Otherwise, if you use long option, separate its -argument by an equal sign. - - For instance, the file list for the above example will be: - - -C/etc - passwd - hosts - --directory=/lib - libc.a - -To use it, you would invoke `tar' as follows: - - $ tar -c -f foo.tar --files-from list - - The interpretation of `--directory' is disabled by `--null' option. - - -File: tar.info, Node: absolute, Prev: directory, Up: one - -6.10.2 Absolute File Names --------------------------- - -By default, GNU `tar' drops a leading `/' on input or output, and -complains about file names containing a `..' component. There is an -option that turns off this behavior: - -`--absolute-names' -`-P' - Do not strip leading slashes from file names, and permit file names - containing a `..' file name component. - - When `tar' extracts archive members from an archive, it strips any -leading slashes (`/') from the member name. This causes absolute -member names in the archive to be treated as relative file names. This -allows you to have such members extracted wherever you want, instead of -being restricted to extracting the member in the exact directory named -in the archive. For example, if the archive member has the name -`/etc/passwd', `tar' will extract it as if the name were really -`etc/passwd'. - - File names containing `..' can cause problems when extracting, so -`tar' normally warns you about such files when creating an archive, and -rejects attempts to extracts such files. - - Other `tar' programs do not do this. As a result, if you create an -archive whose member names start with a slash, they will be difficult -for other people with a non-GNU `tar' program to use. Therefore, GNU -`tar' also strips leading slashes from member names when putting -members into the archive. For example, if you ask `tar' to add the file -`/bin/ls' to an archive, it will do so, but the member name will be -`bin/ls'(1). - - Symbolic links containing `..' or leading `/' can also cause -problems when extracting, so `tar' normally extracts them last; it may -create empty files as placeholders during extraction. - - If you use the `--absolute-names' (`-P') option, `tar' will do none -of these transformations. - - To archive or extract files relative to the root directory, specify -the `--absolute-names' (`-P') option. - - Normally, `tar' acts on files relative to the working -directory--ignoring superior directory names when archiving, and -ignoring leading slashes when extracting. - - When you specify `--absolute-names' (`-P'), `tar' stores file names -including all superior directory names, and preserves leading slashes. -If you only invoked `tar' from the root directory you would never need -the `--absolute-names' option, but using this option may be more -convenient than switching to root. - -`--absolute-names' - Preserves full file names (including superior directory names) when - archiving and extracting files. - - - `tar' prints out a message about removing the `/' from file names. -This message appears once per GNU `tar' invocation. It represents -something which ought to be told; ignoring what it means can cause very -serious surprises, later. - - Some people, nevertheless, do not want to see this message. Wanting -to play really dangerously, one may of course redirect `tar' standard -error to the sink. For example, under `sh': - - $ tar -c -f archive.tar /home 2> /dev/null - -Another solution, both nicer and simpler, would be to change to the `/' -directory first, and then avoid absolute notation. For example: - - $ tar -c -f archive.tar -C / home - - *Note Integrity::, for some of the security-related implications of -using this option. - - ---------- Footnotes ---------- - - (1) A side effect of this is that when `--create' is used with -`--verbose' the resulting output is not, generally speaking, the same -as the one you'd get running `tar --list' command. This may be -important if you use some scripts for comparing both outputs. *Note -listing member and file names::, for the information on how to handle -this case. - - -File: tar.info, Node: Date input formats, Next: Formats, Prev: Choosing, Up: Top - -7 Date input formats -******************** - -First, a quote: - - Our units of temporal measurement, from seconds on up to months, - are so complicated, asymmetrical and disjunctive so as to make - coherent mental reckoning in time all but impossible. Indeed, had - some tyrannical god contrived to enslave our minds to time, to - make it all but impossible for us to escape subjection to sodden - routines and unpleasant surprises, he could hardly have done - better than handing down our present system. It is like a set of - trapezoidal building blocks, with no vertical or horizontal - surfaces, like a language in which the simplest thought demands - ornate constructions, useless particles and lengthy - circumlocutions. Unlike the more successful patterns of language - and science, which enable us to face experience boldly or at least - level-headedly, our system of temporal calculation silently and - persistently encourages our terror of time. - - ... It is as though architects had to measure length in feet, - width in meters and height in ells; as though basic instruction - manuals demanded a knowledge of five different languages. It is - no wonder then that we often look into our own immediate past or - future, last Tuesday or a week from Sunday, with feelings of - helpless confusion. ... - - --Robert Grudin, `Time and the Art of Living'. - - This section describes the textual date representations that GNU -programs accept. These are the strings you, as a user, can supply as -arguments to the various programs. The C interface (via the -`parse_datetime' function) is not described here. - -* Menu: - -* General date syntax:: Common rules. -* Calendar date items:: 19 Dec 1994. -* Time of day items:: 9:20pm. -* Time zone items:: EST, PDT, UTC, ... -* Combined date and time of day items:: 1972-09-24T20:02:00,000000-0500. -* Day of week items:: Monday and others. -* Relative items in date strings:: next tuesday, 2 years ago. -* Pure numbers in date strings:: 19931219, 1440. -* Seconds since the Epoch:: @1078100502. -* Specifying time zone rules:: TZ="America/New_York", TZ="UTC0". -* Authors of parse_datetime:: Bellovin, Eggert, Salz, Berets, et al. - - -File: tar.info, Node: General date syntax, Next: Calendar date items, Up: Date input formats - -7.1 General date syntax -======================= - -A "date" is a string, possibly empty, containing many items separated -by whitespace. The whitespace may be omitted when no ambiguity arises. -The empty string means the beginning of today (i.e., midnight). Order -of the items is immaterial. A date string may contain many flavors of -items: - - * calendar date items - - * time of day items - - * time zone items - - * combined date and time of day items - - * day of the week items - - * relative items - - * pure numbers. - -We describe each of these item types in turn, below. - - A few ordinal numbers may be written out in words in some contexts. -This is most useful for specifying day of the week items or relative -items (see below). Among the most commonly used ordinal numbers, the -word `last' stands for -1, `this' stands for 0, and `first' and `next' -both stand for 1. Because the word `second' stands for the unit of -time there is no way to write the ordinal number 2, but for convenience -`third' stands for 3, `fourth' for 4, `fifth' for 5, `sixth' for 6, -`seventh' for 7, `eighth' for 8, `ninth' for 9, `tenth' for 10, -`eleventh' for 11 and `twelfth' for 12. - - When a month is written this way, it is still considered to be -written numerically, instead of being "spelled in full"; this changes -the allowed strings. - - In the current implementation, only English is supported for words -and abbreviations like `AM', `DST', `EST', `first', `January', -`Sunday', `tomorrow', and `year'. - - The output of the `date' command is not always acceptable as a date -string, not only because of the language problem, but also because -there is no standard meaning for time zone items like `IST'. When using -`date' to generate a date string intended to be parsed later, specify a -date format that is independent of language and that does not use time -zone items other than `UTC' and `Z'. Here are some ways to do this: - - $ LC_ALL=C TZ=UTC0 date - Mon Mar 1 00:21:42 UTC 2004 - $ TZ=UTC0 date +'%Y-%m-%d %H:%M:%SZ' - 2004-03-01 00:21:42Z - $ date --rfc-3339=ns # --rfc-3339 is a GNU extension. - 2004-02-29 16:21:42.692722128-08:00 - $ date --rfc-2822 # a GNU extension - Sun, 29 Feb 2004 16:21:42 -0800 - $ date +'%Y-%m-%d %H:%M:%S %z' # %z is a GNU extension. - 2004-02-29 16:21:42 -0800 - $ date +'@%s.%N' # %s and %N are GNU extensions. - @1078100502.692722128 - - Alphabetic case is completely ignored in dates. Comments may be -introduced between round parentheses, as long as included parentheses -are properly nested. Hyphens not followed by a digit are currently -ignored. Leading zeros on numbers are ignored. - - Invalid dates like `2005-02-29' or times like `24:00' are rejected. -In the typical case of a host that does not support leap seconds, a -time like `23:59:60' is rejected even if it corresponds to a valid leap -second. - - -File: tar.info, Node: Calendar date items, Next: Time of day items, Prev: General date syntax, Up: Date input formats - -7.2 Calendar date items -======================= - -A "calendar date item" specifies a day of the year. It is specified -differently, depending on whether the month is specified numerically or -literally. All these strings specify the same calendar date: - - 1972-09-24 # ISO 8601. - 72-9-24 # Assume 19xx for 69 through 99, - # 20xx for 00 through 68. - 72-09-24 # Leading zeros are ignored. - 9/24/72 # Common U.S. writing. - 24 September 1972 - 24 Sept 72 # September has a special abbreviation. - 24 Sep 72 # Three-letter abbreviations always allowed. - Sep 24, 1972 - 24-sep-72 - 24sep72 - - The year can also be omitted. In this case, the last specified year -is used, or the current year if none. For example: - - 9/24 - sep 24 - - Here are the rules. - - For numeric months, the ISO 8601 format `YEAR-MONTH-DAY' is allowed, -where YEAR is any positive number, MONTH is a number between 01 and 12, -and DAY is a number between 01 and 31. A leading zero must be present -if a number is less than ten. If YEAR is 68 or smaller, then 2000 is -added to it; otherwise, if YEAR is less than 100, then 1900 is added to -it. The construct `MONTH/DAY/YEAR', popular in the United States, is -accepted. Also `MONTH/DAY', omitting the year. - - Literal months may be spelled out in full: `January', `February', -`March', `April', `May', `June', `July', `August', `September', -`October', `November' or `December'. Literal months may be abbreviated -to their first three letters, possibly followed by an abbreviating dot. -It is also permitted to write `Sept' instead of `September'. - - When months are written literally, the calendar date may be given as -any of the following: - - DAY MONTH YEAR - DAY MONTH - MONTH DAY YEAR - DAY-MONTH-YEAR - - Or, omitting the year: - - MONTH DAY +creates an archive with one entry for 'grape', and the recursive +contents of 'grape/concord', but no entries under 'grape' other than +'grape/concord'. diff --git a/doc/tar.info-2 b/doc/tar.info-2 index 22c9814c..9dc6a870 100644 --- a/doc/tar.info-2 +++ b/doc/tar.info-2 @@ -1,23 +1,21 @@ -This is tar.info, produced by makeinfo version 4.13 from tar.texi. +This is tar.info, produced by makeinfo version 5.9.93 from tar.texi. -This manual is for GNU `tar' (version 1.28, 22 July 2014), which +This manual is for GNU 'tar' (version 1.29, 14 April 2016), which creates and extracts files from archives. - Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2013 Free Software + Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2016 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being "GNU General Public - License", with the Front-Cover Texts being "A GNU Manual", and - with the Back-Cover Texts as in (a) below. A copy of the license - is included in the section entitled "GNU Free Documentation - License". - - (a) The FSF's Back-Cover Text is: "You have the freedom to copy - and modify this GNU manual." + License", with the Front-Cover Texts being "A GNU Manual", and with + the Back-Cover Texts as in (a) below. A copy of the license is + included in the section entitled "GNU Free Documentation License". + (a) The FSF's Back-Cover Text is: "You have the freedom to copy and + modify this GNU manual." INFO-DIR-SECTION Archiving START-INFO-DIR-ENTRY * Tar: (tar). Making tape (or disk) archives. @@ -25,9 +23,386 @@ END-INFO-DIR-ENTRY INFO-DIR-SECTION Individual utilities START-INFO-DIR-ENTRY -* tar: (tar)tar invocation. Invoking GNU `tar'. +* tar: (tar)tar invocation. Invoking GNU 'tar'. END-INFO-DIR-ENTRY + +File: tar.info, Node: one, Prev: recurse, Up: Choosing + +6.10 Crossing File System Boundaries +==================================== + +'tar' will normally automatically cross file system boundaries in order +to archive files which are part of a directory tree. You can change +this behavior by running 'tar' and specifying '--one-file-system'. This +option only affects files that are archived because they are in a +directory that is being archived; 'tar' will still archive files +explicitly named on the command line or through '--files-from', +regardless of where they reside. + +'--one-file-system' + Prevents 'tar' from crossing file system boundaries when archiving. + Use in conjunction with any write operation. + + The '--one-file-system' option causes 'tar' to modify its normal +behavior in archiving the contents of directories. If a file in a +directory is not on the same file system as the directory itself, then +'tar' will not archive that file. If the file is a directory itself, +'tar' will not archive anything beneath it; in other words, 'tar' will +not cross mount points. + + This option is useful for making full or incremental archival backups +of a file system. If this option is used in conjunction with +'--verbose' ('-v'), files that are excluded are mentioned by name on the +standard error. + +* Menu: + +* directory:: Changing Directory +* absolute:: Absolute File Names + + +File: tar.info, Node: directory, Next: absolute, Up: one + +6.10.1 Changing the Working Directory +------------------------------------- + +To change the working directory in the middle of a list of file names, +either on the command line or in a file specified using '--files-from' +('-T'), use '--directory' ('-C'). This will change the working +directory to the specified directory after that point in the list. + +'--directory=DIRECTORY' +'-C DIRECTORY' + Changes the working directory in the middle of a command line. + + For example, + + $ tar -c -f jams.tar grape prune -C food cherry + +will place the files 'grape' and 'prune' from the current directory into +the archive 'jams.tar', followed by the file 'cherry' from the directory +'food'. This option is especially useful when you have several widely +separated files that you want to store in the same archive. + + Note that the file 'cherry' is recorded in the archive under the +precise name 'cherry', _not_ 'food/cherry'. Thus, the archive will +contain three files that all appear to have come from the same +directory; if the archive is extracted with plain 'tar --extract', all +three files will be written in the current directory. + + Contrast this with the command, + + $ tar -c -f jams.tar grape prune -C food red/cherry + +which records the third file in the archive under the name 'red/cherry' +so that, if the archive is extracted using 'tar --extract', the third +file will be written in a subdirectory named 'red'. + + You can use the '--directory' option to make the archive independent +of the original name of the directory holding the files. The following +command places the files '/etc/passwd', '/etc/hosts', and '/lib/libc.a' +into the archive 'foo.tar': + + $ tar -c -f foo.tar -C /etc passwd hosts -C /lib libc.a + +However, the names of the archive members will be exactly what they were +on the command line: 'passwd', 'hosts', and 'libc.a'. They will not +appear to be related by file name to the original directories where +those files were located. + + Note that '--directory' options are interpreted consecutively. If +'--directory' specifies a relative file name, it is interpreted relative +to the then current directory, which might not be the same as the +original current working directory of 'tar', due to a previous +'--directory' option. + + When using '--files-from' (*note files::), you can put various 'tar' +options (including '-C') in the file list. Notice, however, that in +this case the option and its argument may not be separated by +whitespace. If you use short option, its argument must either follow +the option letter immediately, without any intervening whitespace, or +occupy the next line. Otherwise, if you use long option, separate its +argument by an equal sign. + + For instance, the file list for the above example will be: + + -C/etc + passwd + hosts + --directory=/lib + libc.a + +To use it, you would invoke 'tar' as follows: + + $ tar -c -f foo.tar --files-from list + + The interpretation of options in file lists is disabled by +'--verbatim-files-from' and '--null' options. + + +File: tar.info, Node: absolute, Prev: directory, Up: one + +6.10.2 Absolute File Names +-------------------------- + +By default, GNU 'tar' drops a leading '/' on input or output, and +complains about file names containing a '..' component. There is an +option that turns off this behavior: + +'--absolute-names' +'-P' + Do not strip leading slashes from file names, and permit file names + containing a '..' file name component. + + When 'tar' extracts archive members from an archive, it strips any +leading slashes ('/') from the member name. This causes absolute member +names in the archive to be treated as relative file names. This allows +you to have such members extracted wherever you want, instead of being +restricted to extracting the member in the exact directory named in the +archive. For example, if the archive member has the name '/etc/passwd', +'tar' will extract it as if the name were really 'etc/passwd'. + + File names containing '..' can cause problems when extracting, so +'tar' normally warns you about such files when creating an archive, and +rejects attempts to extracts such files. + + Other 'tar' programs do not do this. As a result, if you create an +archive whose member names start with a slash, they will be difficult +for other people with a non-GNU 'tar' program to use. Therefore, GNU +'tar' also strips leading slashes from member names when putting members +into the archive. For example, if you ask 'tar' to add the file +'/bin/ls' to an archive, it will do so, but the member name will be +'bin/ls'(1). + + Symbolic links containing '..' or leading '/' can also cause problems +when extracting, so 'tar' normally extracts them last; it may create +empty files as placeholders during extraction. + + If you use the '--absolute-names' ('-P') option, 'tar' will do none +of these transformations. + + To archive or extract files relative to the root directory, specify +the '--absolute-names' ('-P') option. + + Normally, 'tar' acts on files relative to the working +directory--ignoring superior directory names when archiving, and +ignoring leading slashes when extracting. + + When you specify '--absolute-names' ('-P'), 'tar' stores file names +including all superior directory names, and preserves leading slashes. +If you only invoked 'tar' from the root directory you would never need +the '--absolute-names' option, but using this option may be more +convenient than switching to root. + +'--absolute-names' + Preserves full file names (including superior directory names) when + archiving and extracting files. + + 'tar' prints out a message about removing the '/' from file names. +This message appears once per GNU 'tar' invocation. It represents +something which ought to be told; ignoring what it means can cause very +serious surprises, later. + + Some people, nevertheless, do not want to see this message. Wanting +to play really dangerously, one may of course redirect 'tar' standard +error to the sink. For example, under 'sh': + + $ tar -c -f archive.tar /home 2> /dev/null + +Another solution, both nicer and simpler, would be to change to the '/' +directory first, and then avoid absolute notation. For example: + + $ tar -c -f archive.tar -C / home + + *Note Integrity::, for some of the security-related implications of +using this option. + + ---------- Footnotes ---------- + + (1) A side effect of this is that when '--create' is used with +'--verbose' the resulting output is not, generally speaking, the same as +the one you'd get running 'tar --list' command. This may be important +if you use some scripts for comparing both outputs. *Note listing +member and file names::, for the information on how to handle this case. + + +File: tar.info, Node: Date input formats, Next: Formats, Prev: Choosing, Up: Top + +7 Date input formats +******************** + +First, a quote: + + Our units of temporal measurement, from seconds on up to months, + are so complicated, asymmetrical and disjunctive so as to make + coherent mental reckoning in time all but impossible. Indeed, had + some tyrannical god contrived to enslave our minds to time, to make + it all but impossible for us to escape subjection to sodden + routines and unpleasant surprises, he could hardly have done better + than handing down our present system. It is like a set of + trapezoidal building blocks, with no vertical or horizontal + surfaces, like a language in which the simplest thought demands + ornate constructions, useless particles and lengthy + circumlocutions. Unlike the more successful patterns of language + and science, which enable us to face experience boldly or at least + level-headedly, our system of temporal calculation silently and + persistently encourages our terror of time. + + ... It is as though architects had to measure length in feet, width + in meters and height in ells; as though basic instruction manuals + demanded a knowledge of five different languages. It is no wonder + then that we often look into our own immediate past or future, last + Tuesday or a week from Sunday, with feelings of helpless confusion. + ... + + --Robert Grudin, 'Time and the Art of Living'. + + This section describes the textual date representations that GNU +programs accept. These are the strings you, as a user, can supply as +arguments to the various programs. The C interface (via the +'parse_datetime' function) is not described here. + +* Menu: + +* General date syntax:: Common rules. +* Calendar date items:: 19 Dec 1994. +* Time of day items:: 9:20pm. +* Time zone items:: EST, PDT, UTC, ... +* Combined date and time of day items:: 1972-09-24T20:02:00,000000-0500. +* Day of week items:: Monday and others. +* Relative items in date strings:: next tuesday, 2 years ago. +* Pure numbers in date strings:: 19931219, 1440. +* Seconds since the Epoch:: @1078100502. +* Specifying time zone rules:: TZ="America/New_York", TZ="UTC0". +* Authors of parse_datetime:: Bellovin, Eggert, Salz, Berets, et al. + + +File: tar.info, Node: General date syntax, Next: Calendar date items, Up: Date input formats + +7.1 General date syntax +======================= + +A "date" is a string, possibly empty, containing many items separated by +whitespace. The whitespace may be omitted when no ambiguity arises. +The empty string means the beginning of today (i.e., midnight). Order +of the items is immaterial. A date string may contain many flavors of +items: + + * calendar date items + * time of day items + * time zone items + * combined date and time of day items + * day of the week items + * relative items + * pure numbers. + +We describe each of these item types in turn, below. + + A few ordinal numbers may be written out in words in some contexts. +This is most useful for specifying day of the week items or relative +items (see below). Among the most commonly used ordinal numbers, the +word 'last' stands for -1, 'this' stands for 0, and 'first' and 'next' +both stand for 1. Because the word 'second' stands for the unit of time +there is no way to write the ordinal number 2, but for convenience +'third' stands for 3, 'fourth' for 4, 'fifth' for 5, 'sixth' for 6, +'seventh' for 7, 'eighth' for 8, 'ninth' for 9, 'tenth' for 10, +'eleventh' for 11 and 'twelfth' for 12. + + When a month is written this way, it is still considered to be +written numerically, instead of being "spelled in full"; this changes +the allowed strings. + + In the current implementation, only English is supported for words +and abbreviations like 'AM', 'DST', 'EST', 'first', 'January', 'Sunday', +'tomorrow', and 'year'. + + The output of the 'date' command is not always acceptable as a date +string, not only because of the language problem, but also because there +is no standard meaning for time zone items like 'IST'. When using +'date' to generate a date string intended to be parsed later, specify a +date format that is independent of language and that does not use time +zone items other than 'UTC' and 'Z'. Here are some ways to do this: + + $ LC_ALL=C TZ=UTC0 date + Mon Mar 1 00:21:42 UTC 2004 + $ TZ=UTC0 date +'%Y-%m-%d %H:%M:%SZ' + 2004-03-01 00:21:42Z + $ date --rfc-3339=ns # --rfc-3339 is a GNU extension. + 2004-02-29 16:21:42.692722128-08:00 + $ date --rfc-2822 # a GNU extension + Sun, 29 Feb 2004 16:21:42 -0800 + $ date +'%Y-%m-%d %H:%M:%S %z' # %z is a GNU extension. + 2004-02-29 16:21:42 -0800 + $ date +'@%s.%N' # %s and %N are GNU extensions. + @1078100502.692722128 + + Alphabetic case is completely ignored in dates. Comments may be +introduced between round parentheses, as long as included parentheses +are properly nested. Hyphens not followed by a digit are currently +ignored. Leading zeros on numbers are ignored. + + Invalid dates like '2005-02-29' or times like '24:00' are rejected. +In the typical case of a host that does not support leap seconds, a time +like '23:59:60' is rejected even if it corresponds to a valid leap +second. + + +File: tar.info, Node: Calendar date items, Next: Time of day items, Prev: General date syntax, Up: Date input formats + +7.2 Calendar date items +======================= + +A "calendar date item" specifies a day of the year. It is specified +differently, depending on whether the month is specified numerically or +literally. All these strings specify the same calendar date: + + 1972-09-24 # ISO 8601. + 72-9-24 # Assume 19xx for 69 through 99, + # 20xx for 00 through 68. + 72-09-24 # Leading zeros are ignored. + 9/24/72 # Common U.S. writing. + 24 September 1972 + 24 Sept 72 # September has a special abbreviation. + 24 Sep 72 # Three-letter abbreviations always allowed. + Sep 24, 1972 + 24-sep-72 + 24sep72 + + The year can also be omitted. In this case, the last specified year +is used, or the current year if none. For example: + + 9/24 + sep 24 + + Here are the rules. + + For numeric months, the ISO 8601 format 'YEAR-MONTH-DAY' is allowed, +where YEAR is any positive number, MONTH is a number between 01 and 12, +and DAY is a number between 01 and 31. A leading zero must be present +if a number is less than ten. If YEAR is 68 or smaller, then 2000 is +added to it; otherwise, if YEAR is less than 100, then 1900 is added to +it. The construct 'MONTH/DAY/YEAR', popular in the United States, is +accepted. Also 'MONTH/DAY', omitting the year. + + Literal months may be spelled out in full: 'January', 'February', +'March', 'April', 'May', 'June', 'July', 'August', 'September', +'October', 'November' or 'December'. Literal months may be abbreviated +to their first three letters, possibly followed by an abbreviating dot. +It is also permitted to write 'Sept' instead of 'September'. + + When months are written literally, the calendar date may be given as +any of the following: + + DAY MONTH YEAR + DAY MONTH + MONTH DAY YEAR + DAY-MONTH-YEAR + + Or, omitting the year: + + MONTH DAY +  File: tar.info, Node: Time of day items, Next: Time zone items, Prev: Calendar date items, Up: Date input formats @@ -42,36 +417,35 @@ Here are some examples, all of which represent the same time: 8:02pm 20:02-0500 # In EST (U.S. Eastern Standard Time). - More generally, the time of day may be given as -`HOUR:MINUTE:SECOND', where HOUR is a number between 0 and 23, MINUTE -is a number between 0 and 59, and SECOND is a number between 0 and 59 -possibly followed by `.' or `,' and a fraction containing one or more -digits. Alternatively, `:SECOND' can be omitted, in which case it is -taken to be zero. On the rare hosts that support leap seconds, SECOND -may be 60. - - If the time is followed by `am' or `pm' (or `a.m.' or `p.m.'), HOUR -is restricted to run from 1 to 12, and `:MINUTE' may be omitted (taken -to be zero). `am' indicates the first half of the day, `pm' indicates + More generally, the time of day may be given as 'HOUR:MINUTE:SECOND', +where HOUR is a number between 0 and 23, MINUTE is a number between 0 +and 59, and SECOND is a number between 0 and 59 possibly followed by '.' +or ',' and a fraction containing one or more digits. Alternatively, +':SECOND' can be omitted, in which case it is taken to be zero. On the +rare hosts that support leap seconds, SECOND may be 60. + + If the time is followed by 'am' or 'pm' (or 'a.m.' or 'p.m.'), HOUR +is restricted to run from 1 to 12, and ':MINUTE' may be omitted (taken +to be zero). 'am' indicates the first half of the day, 'pm' indicates the second half of the day. In this notation, 12 is the predecessor of -1: midnight is `12am' while noon is `12pm'. (This is the zero-oriented -interpretation of `12am' and `12pm', as opposed to the old tradition -derived from Latin which uses `12m' for noon and `12pm' for midnight.) +1: midnight is '12am' while noon is '12pm'. (This is the zero-oriented +interpretation of '12am' and '12pm', as opposed to the old tradition +derived from Latin which uses '12m' for noon and '12pm' for midnight.) The time may alternatively be followed by a time zone correction, -expressed as `SHHMM', where S is `+' or `-', HH is a number of zone +expressed as 'SHHMM', where S is '+' or '-', HH is a number of zone hours and MM is a number of zone minutes. The zone minutes term, MM, may be omitted, in which case the one- or two-digit correction is -interpreted as a number of hours. You can also separate HH from MM -with a colon. When a time zone correction is given this way, it forces -interpretation of the time relative to Coordinated Universal Time -(UTC), overriding any previous specification for the time zone or the -local time zone. For example, `+0530' and `+05:30' both stand for the -time zone 5.5 hours ahead of UTC (e.g., India). This is the best way to +interpreted as a number of hours. You can also separate HH from MM with +a colon. When a time zone correction is given this way, it forces +interpretation of the time relative to Coordinated Universal Time (UTC), +overriding any previous specification for the time zone or the local +time zone. For example, '+0530' and '+05:30' both stand for the time +zone 5.5 hours ahead of UTC (e.g., India). This is the best way to specify a time zone correction by fractional parts of an hour. The maximum zone correction is 24 hours. - Either `am'/`pm' or a time zone correction may be specified, but not + Either 'am'/'pm' or a time zone correction may be specified, but not both.  @@ -81,20 +455,20 @@ File: tar.info, Node: Time zone items, Next: Combined date and time of day ite =================== A "time zone item" specifies an international time zone, indicated by a -small set of letters, e.g., `UTC' or `Z' for Coordinated Universal -Time. Any included periods are ignored. By following a -non-daylight-saving time zone by the string `DST' in a separate word -(that is, separated by some white space), the corresponding daylight -saving time zone may be specified. Alternatively, a -non-daylight-saving time zone can be followed by a time zone -correction, to add the two values. This is normally done only for -`UTC'; for example, `UTC+05:30' is equivalent to `+05:30'. - - Time zone items other than `UTC' and `Z' are obsolescent and are not -recommended, because they are ambiguous; for example, `EST' has a -different meaning in Australia than in the United States. Instead, -it's better to use unambiguous numeric time zone corrections like -`-0500', as described in the previous section. +small set of letters, e.g., 'UTC' or 'Z' for Coordinated Universal Time. +Any included periods are ignored. By following a non-daylight-saving +time zone by the string 'DST' in a separate word (that is, separated by +some white space), the corresponding daylight saving time zone may be +specified. Alternatively, a non-daylight-saving time zone can be +followed by a time zone correction, to add the two values. This is +normally done only for 'UTC'; for example, 'UTC+05:30' is equivalent to +'+05:30'. + + Time zone items other than 'UTC' and 'Z' are obsolescent and are not +recommended, because they are ambiguous; for example, 'EST' has a +different meaning in Australia than in the United States. Instead, it's +better to use unambiguous numeric time zone corrections like '-0500', as +described in the previous section. If neither a time zone item nor a time zone correction is supplied, time stamps are interpreted using the rules of the default time zone @@ -107,8 +481,8 @@ File: tar.info, Node: Combined date and time of day items, Next: Day of week i ======================================= The ISO 8601 date and time of day extended format consists of an ISO -8601 date, a `T' character separator, and an ISO 8601 time of day. -This format is also recognized if the `T' is replaced by a space. +8601 date, a 'T' character separator, and an ISO 8601 time of day. This +format is also recognized if the 'T' is replaced by a space. In this format, the time of day should use 24-hour notation. Fractional seconds are allowed, with either comma or period preceding @@ -128,20 +502,19 @@ File: tar.info, Node: Day of week items, Next: Relative items in date strings, 7.6 Day of week items ===================== -The explicit mention of a day of the week will forward the date (only -if necessary) to reach that day of the week in the future. +The explicit mention of a day of the week will forward the date (only if +necessary) to reach that day of the week in the future. - Days of the week may be spelled out in full: `Sunday', `Monday', -`Tuesday', `Wednesday', `Thursday', `Friday' or `Saturday'. Days may -be abbreviated to their first three letters, optionally followed by a -period. The special abbreviations `Tues' for `Tuesday', `Wednes' for -`Wednesday' and `Thur' or `Thurs' for `Thursday' are also allowed. + Days of the week may be spelled out in full: 'Sunday', 'Monday', +'Tuesday', 'Wednesday', 'Thursday', 'Friday' or 'Saturday'. Days may be +abbreviated to their first three letters, optionally followed by a +period. The special abbreviations 'Tues' for 'Tuesday', 'Wednes' for +'Wednesday' and 'Thur' or 'Thurs' for 'Thursday' are also allowed. A number may precede a day of the week item to move forward -supplementary weeks. It is best used in expression like `third -monday'. In this context, `last DAY' or `next DAY' is also acceptable; -they move one week before or after the day that DAY by itself would -represent. +supplementary weeks. It is best used in expression like 'third monday'. +In this context, 'last DAY' or 'next DAY' is also acceptable; they move +one week before or after the day that DAY by itself would represent. A comma following a day of the week item is ignored. @@ -160,38 +533,38 @@ examples: 3 years 2 days - The unit of time displacement may be selected by the string `year' -or `month' for moving by whole years or months. These are fuzzy units, -as years and months are not all of equal duration. More precise units -are `fortnight' which is worth 14 days, `week' worth 7 days, `day' -worth 24 hours, `hour' worth 60 minutes, `minute' or `min' worth 60 -seconds, and `second' or `sec' worth one second. An `s' suffix on -these units is accepted and ignored. + The unit of time displacement may be selected by the string 'year' or +'month' for moving by whole years or months. These are fuzzy units, as +years and months are not all of equal duration. More precise units are +'fortnight' which is worth 14 days, 'week' worth 7 days, 'day' worth 24 +hours, 'hour' worth 60 minutes, 'minute' or 'min' worth 60 seconds, and +'second' or 'sec' worth one second. An 's' suffix on these units is +accepted and ignored. The unit of time may be preceded by a multiplier, given as an optionally signed number. Unsigned numbers are taken as positively signed. No number at all implies 1 for a multiplier. Following a -relative item by the string `ago' is equivalent to preceding the unit -by a multiplier with value -1. +relative item by the string 'ago' is equivalent to preceding the unit by +a multiplier with value -1. - The string `tomorrow' is worth one day in the future (equivalent to -`day'), the string `yesterday' is worth one day in the past (equivalent -to `day ago'). + The string 'tomorrow' is worth one day in the future (equivalent to +'day'), the string 'yesterday' is worth one day in the past (equivalent +to 'day ago'). - The strings `now' or `today' are relative items corresponding to + The strings 'now' or 'today' are relative items corresponding to zero-valued time displacement, these strings come from the fact a zero-valued time displacement represents the current time when not otherwise changed by previous items. They may be used to stress other -items, like in `12:00 today'. The string `this' also has the meaning -of a zero-valued time displacement, but is preferred in date strings -like `this thursday'. +items, like in '12:00 today'. The string 'this' also has the meaning of +a zero-valued time displacement, but is preferred in date strings like +'this thursday'. When a relative item causes the resulting date to cross a boundary where the clocks were adjusted, typically for daylight saving time, the resulting date and time are adjusted accordingly. The fuzz in units can cause problems with relative items. For -example, `2003-07-31 -1 month' might evaluate to 2003-07-01, because +example, '2003-07-31 -1 month' might evaluate to 2003-07-01, because 2003-06-31 is an invalid date. To determine the previous month more reliably, you can ask for the month before the 15th of the current month. For example: @@ -204,10 +577,10 @@ month. For example: Last month was June! Also, take care when manipulating dates around clock changes such as -daylight saving leaps. In a few cases these have added or subtracted -as much as 24 hours from the clock, so it is often wise to adopt -universal time by setting the `TZ' environment variable to `UTC0' -before embarking on calendrical calculations. +daylight saving leaps. In a few cases these have added or subtracted as +much as 24 hours from the clock, so it is often wise to adopt universal +time by setting the 'TZ' environment variable to 'UTC0' before embarking +on calendrical calculations.  File: tar.info, Node: Pure numbers in date strings, Next: Seconds since the Epoch, Prev: Relative items in date strings, Up: Date input formats @@ -238,20 +611,19 @@ File: tar.info, Node: Seconds since the Epoch, Next: Specifying time zone rule 7.9 Seconds since the Epoch =========================== -If you precede a number with `@', it represents an internal time stamp -as a count of seconds. The number can contain an internal decimal -point (either `.' or `,'); any excess precision not supported by the -internal representation is truncated toward minus infinity. Such a -number cannot be combined with any other date item, as it specifies a -complete time stamp. +If you precede a number with '@', it represents an internal time stamp +as a count of seconds. The number can contain an internal decimal point +(either '.' or ','); any excess precision not supported by the internal +representation is truncated toward minus infinity. Such a number cannot +be combined with any other date item, as it specifies a complete time +stamp. Internally, computer times are represented as a count of seconds -since an epoch--a well-defined point of time. On GNU and POSIX -systems, the epoch is 1970-01-01 00:00:00 UTC, so `@0' represents this -time, `@1' represents 1970-01-01 00:00:01 UTC, and so forth. GNU and -most other POSIX-compliant systems support such times as an extension -to POSIX, using negative counts, so that `@-1' represents 1969-12-31 -23:59:59 UTC. +since an epoch--a well-defined point of time. On GNU and POSIX systems, +the epoch is 1970-01-01 00:00:00 UTC, so '@0' represents this time, '@1' +represents 1970-01-01 00:00:01 UTC, and so forth. GNU and most other +POSIX-compliant systems support such times as an extension to POSIX, +using negative counts, so that '@-1' represents 1969-12-31 23:59:59 UTC. Traditional Unix systems count seconds with 32-bit two's-complement integers and can represent times from 1901-12-13 20:45:52 through @@ -259,10 +631,10 @@ integers and can represent times from 1901-12-13 20:45:52 through seconds with nanosecond subcounts, and can represent all the times in the known lifetime of the universe to a resolution of 1 nanosecond. - On most hosts, these counts ignore the presence of leap seconds. -For example, on most hosts `@915148799' represents 1998-12-31 23:59:59 -UTC, `@915148800' represents 1999-01-01 00:00:00 UTC, and there is no -way to represent the intervening leap second 1998-12-31 23:59:60 UTC. + On most hosts, these counts ignore the presence of leap seconds. For +example, on most hosts '@915148799' represents 1998-12-31 23:59:59 UTC, +'@915148800' represents 1999-01-01 00:00:00 UTC, and there is no way to +represent the intervening leap second 1998-12-31 23:59:60 UTC.  File: tar.info, Node: Specifying time zone rules, Next: Authors of parse_datetime, Prev: Seconds since the Epoch, Up: Date input formats @@ -271,69 +643,68 @@ File: tar.info, Node: Specifying time zone rules, Next: Authors of parse_datet =============================== Normally, dates are interpreted using the rules of the current time -zone, which in turn are specified by the `TZ' environment variable, or -by a system default if `TZ' is not set. To specify a different set of -default time zone rules that apply just to one date, start the date -with a string of the form `TZ="RULE"'. The two quote characters (`"') -must be present in the date, and any quotes or backslashes within RULE -must be escaped by a backslash. - - For example, with the GNU `date' command you can answer the question +zone, which in turn are specified by the 'TZ' environment variable, or +by a system default if 'TZ' is not set. To specify a different set of +default time zone rules that apply just to one date, start the date with +a string of the form 'TZ="RULE"'. The two quote characters ('"') must +be present in the date, and any quotes or backslashes within RULE must +be escaped by a backslash. + + For example, with the GNU 'date' command you can answer the question "What time is it in New York when a Paris clock shows 6:30am on October -31, 2004?" by using a date beginning with `TZ="Europe/Paris"' as shown +31, 2004?" by using a date beginning with 'TZ="Europe/Paris"' as shown in the following shell transcript: $ export TZ="America/New_York" $ date --date='TZ="Europe/Paris" 2004-10-31 06:30' Sun Oct 31 01:30:00 EDT 2004 - In this example, the `--date' operand begins with its own `TZ' + In this example, the '--date' operand begins with its own 'TZ' setting, so the rest of that operand is processed according to -`Europe/Paris' rules, treating the string `2004-10-31 06:30' as if it -were in Paris. However, since the output of the `date' command is +'Europe/Paris' rules, treating the string '2004-10-31 06:30' as if it +were in Paris. However, since the output of the 'date' command is processed according to the overall time zone rules, it uses New York -time. (Paris was normally six hours ahead of New York in 2004, but -this example refers to a brief Halloween period when the gap was five -hours.) +time. (Paris was normally six hours ahead of New York in 2004, but this +example refers to a brief Halloween period when the gap was five hours.) - A `TZ' value is a rule that typically names a location in the `tz' + A 'TZ' value is a rule that typically names a location in the 'tz' database (http://www.twinsun.com/tz/tz-link.htm). A recent catalog of location names appears in the TWiki Date and Time Gateway (http://twiki.org/cgi-bin/xtra/tzdate). A few non-GNU hosts require a -colon before a location name in a `TZ' setting, e.g., -`TZ=":America/New_York"'. +colon before a location name in a 'TZ' setting, e.g., +'TZ=":America/New_York"'. - The `tz' database includes a wide variety of locations ranging from -`Arctic/Longyearbyen' to `Antarctica/South_Pole', but if you are at sea + The 'tz' database includes a wide variety of locations ranging from +'Arctic/Longyearbyen' to 'Antarctica/South_Pole', but if you are at sea and have your own private time zone, or if you are using a non-GNU host -that does not support the `tz' database, you may need to use a POSIX -rule instead. Simple POSIX rules like `UTC0' specify a time zone +that does not support the 'tz' database, you may need to use a POSIX +rule instead. Simple POSIX rules like 'UTC0' specify a time zone without daylight saving time; other rules can specify simple daylight -saving regimes. *Note Specifying the Time Zone with `TZ': (libc)TZ +saving regimes. *Note Specifying the Time Zone with 'TZ': (libc)TZ Variable.  File: tar.info, Node: Authors of parse_datetime, Prev: Specifying time zone rules, Up: Date input formats -7.11 Authors of `parse_datetime' +7.11 Authors of 'parse_datetime' ================================ -`parse_datetime' started life as `getdate', as originally implemented -by Steven M. Bellovin () while at the University -of North Carolina at Chapel Hill. The code was later tweaked by a -couple of people on Usenet, then completely overhauled by Rich $alz +'parse_datetime' started life as 'getdate', as originally implemented by +Steven M. Bellovin () while at the University of +North Carolina at Chapel Hill. The code was later tweaked by a couple +of people on Usenet, then completely overhauled by Rich $alz () and Jim Berets () in August, 1990. Various revisions for the GNU system were made by David MacKenzie, Jim -Meyering, Paul Eggert and others, including renaming it to `get_date' to -avoid a conflict with the alternative Posix function `getdate', and a -later rename to `parse_datetime'. The Posix function `getdate' can -parse more locale-specific dates using `strptime', but relies on an +Meyering, Paul Eggert and others, including renaming it to 'get_date' to +avoid a conflict with the alternative Posix function 'getdate', and a +later rename to 'parse_datetime'. The Posix function 'getdate' can +parse more locale-specific dates using 'strptime', but relies on an environment variable and external file, and lacks the thread-safety of -`parse_datetime'. +'parse_datetime'. This chapter was originally produced by Franc,ois Pinard -() from the `parse_datetime.y' source code, -and then edited by K. Berry (). +() from the 'parse_datetime.y' source code, and +then edited by K. Berry ().  File: tar.info, Node: Formats, Next: Media, Prev: Date input formats, Up: Top @@ -349,17 +720,17 @@ differences that often make them incompatible with each other. formats. The most frequently used formats are (in alphabetical order): gnu - Format used by GNU `tar' versions up to 1.13.25. This format - derived from an early POSIX standard, adding some improvements - such as sparse file handling and incremental archives. - Unfortunately these features were implemented in a way - incompatible with other archive formats. + Format used by GNU 'tar' versions up to 1.13.25. This format + derived from an early POSIX standard, adding some improvements such + as sparse file handling and incremental archives. Unfortunately + these features were implemented in a way incompatible with other + archive formats. - Archives in `gnu' format are able to hold file names of unlimited + Archives in 'gnu' format are able to hold file names of unlimited length. oldgnu - Format used by GNU `tar' of versions prior to 1.12. + Format used by GNU 'tar' of versions prior to 1.12. v7 Archive format, compatible with the V7 implementation of tar. This @@ -367,24 +738,20 @@ v7 are: 1. The maximum length of a file name is limited to 99 characters. - 2. The maximum length of a symbolic link is limited to 99 characters. - 3. It is impossible to store special files (block and character devices, fifos etc.) - 4. Maximum value of user or group ID is limited to 2097151 (7777777 octal) - 5. V7 archives do not contain symbolic ownership information (user and group name of the file owner). This format has traditionally been used by Automake when producing Makefiles. This practice will change in the future, in the meantime, however this means that projects containing file names - more than 99 characters long will not be able to use GNU `tar' - 1.28 and Automake prior to 1.9. + more than 99 characters long will not be able to use GNU 'tar' 1.29 + and Automake prior to 1.9. ustar Archive format defined by POSIX.1-1988 specification. It stores @@ -396,22 +763,17 @@ ustar directory separator in two parts, first of them being at most 155 bytes long. So, in most cases the maximum file name length will be shorter than 256 characters. - 2. The maximum length of a symbolic link name is limited to 100 characters. - 3. Maximum size of a file the archive is able to accommodate is 8GB - 4. Maximum value of UID/GID is 2097151. - 5. Maximum number of bits in device major and minor numbers is 21. star - Format used by Jo"rg Schilling `star' implementation. GNU `tar' - is able to read `star' archives but currently does not produce - them. + Format used by Jo"rg Schilling 'star' implementation. GNU 'tar' is + able to read 'star' archives but currently does not produce them. posix Archive format defined by POSIX.1-2001 specification. This is the @@ -419,38 +781,37 @@ posix restrictions on file sizes or file name lengths. This format is quite recent, so not all tar implementations are able to handle it properly. However, this format is designed in such a way that any - tar implementation able to read `ustar' archives will be able to - read most `posix' archives as well, with the only exception that + tar implementation able to read 'ustar' archives will be able to + read most 'posix' archives as well, with the only exception that any additional information (such as long file names etc.) will in such case be extracted as plain text files along with the files it refers to. This archive format will be the default format for future versions - of GNU `tar'. - + of GNU 'tar'. The following table summarizes the limitations of each of these formats: Format UID File Size File Name Devn --------------------------------------------------------------------- +-------------------------------------------------------------------- gnu 1.8e19 Unlimited Unlimited 63 oldgnu 1.8e19 Unlimited Unlimited 63 v7 2097151 8GB 99 n/a ustar 2097151 8GB 256 21 posix Unlimited Unlimited Unlimited Unlimited - The default format for GNU `tar' is defined at compilation time. -You may check it by running `tar --help', and examining the last lines -of its output. Usually, GNU `tar' is configured to create archives in -`gnu' format, however, future version will switch to `posix'. + The default format for GNU 'tar' is defined at compilation time. You +may check it by running 'tar --help', and examining the last lines of +its output. Usually, GNU 'tar' is configured to create archives in +'gnu' format, however, future version will switch to 'posix'. * Menu: * Compression:: Using Less Space through Compression * Attributes:: Handling File Attributes -* Portability:: Making `tar' Archives More Portable -* cpio:: Comparison of `tar' and `cpio' +* Portability:: Making 'tar' Archives More Portable +* cpio:: Comparison of 'tar' and 'cpio'  File: tar.info, Node: Compression, Next: Attributes, Up: Formats @@ -469,42 +830,42 @@ File: tar.info, Node: gzip, Next: sparse, Up: Compression 8.1.1 Creating and Reading Compressed Archives ---------------------------------------------- -GNU `tar' is able to create and read compressed archives. It supports -a wide variety of compression programs, namely: `gzip', `bzip2', -`lzip', `lzma', `lzop', `xz' and traditional `compress'. The latter is +GNU 'tar' is able to create and read compressed archives. It supports a +wide variety of compression programs, namely: 'gzip', 'bzip2', 'lzip', +'lzma', 'lzop', 'xz' and traditional 'compress'. The latter is supported mostly for backward compatibility, and we recommend against -using it, because it is by far less effective than the other -compression programs(1). +using it, because it is by far less effective than the other compression +programs(1). Creating a compressed archive is simple: you just specify a "compression option" along with the usual archive creation commands. -The compression option is `-z' (`--gzip') to create a `gzip' compressed -archive, `-j' (`--bzip2') to create a `bzip2' compressed archive, -`--lzip' to create an lzip compressed archive, `-J' (`--xz') to create -an XZ archive, `--lzma' to create an LZMA compressed archive, `--lzop' -to create an LSOP archive, and `-Z' (`--compress') to use `compress' +The compression option is '-z' ('--gzip') to create a 'gzip' compressed +archive, '-j' ('--bzip2') to create a 'bzip2' compressed archive, +'--lzip' to create an lzip compressed archive, '-J' ('--xz') to create +an XZ archive, '--lzma' to create an LZMA compressed archive, '--lzop' +to create an LSOP archive, and '-Z' ('--compress') to use 'compress' program. For example: $ tar czf archive.tar.gz . - You can also let GNU `tar' select the compression program based on -the suffix of the archive file name. This is done using -`--auto-compress' (`-a') command line option. For example, the -following invocation will use `bzip2' for compression: + You can also let GNU 'tar' select the compression program based on +the suffix of the archive file name. This is done using +'--auto-compress' ('-a') command line option. For example, the +following invocation will use 'bzip2' for compression: $ tar caf archive.tar.bz2 . -whereas the following one will use `lzma': +whereas the following one will use 'lzma': $ tar caf archive.tar.lzma . - For a complete list of file name suffixes recognized by GNU `tar', + For a complete list of file name suffixes recognized by GNU 'tar', see *note auto-compress::. Reading compressed archive is even simpler: you don't need to specify -any additional options as GNU `tar' recognizes its format -automatically. Thus, the following commands will list and extract the -archive created in previous example: +any additional options as GNU 'tar' recognizes its format automatically. +Thus, the following commands will list and extract the archive created +in previous example: # List the compressed archive $ tar tf archive.tar.gz @@ -513,25 +874,25 @@ archive created in previous example: The format recognition algorithm is based on "signatures", a special byte sequences in the beginning of file, that are specific for certain -compression formats. If this approach fails, `tar' falls back to using +compression formats. If this approach fails, 'tar' falls back to using archive name suffix to determine its format (*note auto-compress::, for a list of recognized suffixes). Some compression programs are able to handle different compression -formats. GNU `tar' uses this, if the principal decompressor for the -given format is not available. For example, if `compress' is not -installed, `tar' will try to use `gzip'. As of version 1.28 the +formats. GNU 'tar' uses this, if the principal decompressor for the +given format is not available. For example, if 'compress' is not +installed, 'tar' will try to use 'gzip'. As of version 1.29 the following alternatives are tried(2): Format Main decompressor Alternatives ---------------------------------------------------------------------- +--------------------------------------------------------------------- compress compress gzip lzma lzma xz bzip2 bzip2 lbzip2 The only case when you have to specify a decompression option while reading the archive is when reading from a pipe or from a tape drive -that does not support random access. However, in this case GNU `tar' +that does not support random access. However, in this case GNU 'tar' will indicate which option you should use. For example: $ cat archive.tar.gz | tar tf - @@ -539,72 +900,67 @@ will indicate which option you should use. For example: tar: Error is not recoverable: exiting now If you see such diagnostics, just add the suggested option to the -invocation of GNU `tar': +invocation of GNU 'tar': $ cat archive.tar.gz | tar tzf - Notice also, that there are several restrictions on operations on compressed archives. First of all, compressed archives cannot be -modified, i.e., you cannot update (`--update', alias `-u') them or -delete (`--delete') members from them or add (`--append', alias `-r') -members to them. Likewise, you cannot append another `tar' archive to -a compressed archive using `--concatenate' (`-A'). Secondly, -multi-volume archives cannot be compressed. +modified, i.e., you cannot update ('--update', alias '-u') them or +delete ('--delete') members from them or add ('--append', alias '-r') +members to them. Likewise, you cannot append another 'tar' archive to a +compressed archive using '--concatenate' ('-A'). Secondly, multi-volume +archives cannot be compressed. The following options allow to select a particular compressor program: -`-z' -`--gzip' -`--ungzip' - Filter the archive through `gzip'. +'-z' +'--gzip' +'--ungzip' + Filter the archive through 'gzip'. -`-J' -`--xz' - Filter the archive through `xz'. +'-J' +'--xz' + Filter the archive through 'xz'. -`-j' -`--bzip2' - Filter the archive through `bzip2'. +'-j' +'--bzip2' + Filter the archive through 'bzip2'. -`--lzip' - Filter the archive through `lzip'. +'--lzip' + Filter the archive through 'lzip'. -`--lzma' - Filter the archive through `lzma'. +'--lzma' + Filter the archive through 'lzma'. -`--lzop' - Filter the archive through `lzop'. +'--lzop' + Filter the archive through 'lzop'. -`-Z' -`--compress' -`--uncompress' - Filter the archive through `compress'. +'-Z' +'--compress' +'--uncompress' + Filter the archive through 'compress'. - When any of these options is given, GNU `tar' searches the compressor + When any of these options is given, GNU 'tar' searches the compressor binary in the current path and invokes it. The name of the compressor program is specified at compilation time using a corresponding -`--with-COMPNAME' option to `configure', e.g. `--with-bzip2' to select -a specific `bzip2' binary. *Note lbzip2::, for a detailed discussion. +'--with-COMPNAME' option to 'configure', e.g. '--with-bzip2' to select +a specific 'bzip2' binary. *Note lbzip2::, for a detailed discussion. - The output produced by `tar --help' shows the actual compressor -names along with each of these options. + The output produced by 'tar --help' shows the actual compressor names +along with each of these options. You can use any of these options on physical devices (tape drives, etc.) and remote files as well as on normal files; data to or from such -devices or remote files is reblocked by another copy of the `tar' +devices or remote files is reblocked by another copy of the 'tar' program to enforce the specified (or default) record size. The default -compression parameters are used. Most compression programs let you -override these by setting a program-specific environment variable. For -example, with `gzip' you can set `GZIP': - - $ GZIP='-9 -n' tar czf archive.tar.gz subdir - Another way would be to use the `-I' option instead (see below), -e.g.: +compression parameters are used. You can override them by using the +'-I' option (see below), e.g.: $ tar -cf archive.tar.gz -I 'gzip -9 -n' subdir -Finally, the third, traditional, way to do this is to use a pipe: +A more traditional way to do this is to use a pipe: $ tar cf - subdir | gzip -9 -n > archive.tar.gz @@ -618,56 +974,56 @@ that you could recover later in the archive. Other compression options provide better control over creating compressed archives. These are: -`--auto-compress' -`-a' +'--auto-compress' +'-a' Select a compression program to use by the archive file name suffix. The following suffixes are recognized: - Suffix Compression program - -------------------------------------------------------------- - `.gz' `gzip' - `.tgz' `gzip' - `.taz' `gzip' - `.Z' `compress' - `.taZ' `compress' - `.bz2' `bzip2' - `.tz2' `bzip2' - `.tbz2' `bzip2' - `.tbz' `bzip2' - `.lz' `lzip' - `.lzma' `lzma' - `.tlz' `lzma' - `.lzo' `lzop' - `.xz' `xz' - -`--use-compress-program=COMMAND' -`-I=COMMAND' + Suffix Compression program + ------------------------------------------------------------------- + '.gz' 'gzip' + '.tgz' 'gzip' + '.taz' 'gzip' + '.Z' 'compress' + '.taZ' 'compress' + '.bz2' 'bzip2' + '.tz2' 'bzip2' + '.tbz2' 'bzip2' + '.tbz' 'bzip2' + '.lz' 'lzip' + '.lzma' 'lzma' + '.tlz' 'lzma' + '.lzo' 'lzop' + '.xz' 'xz' + +'--use-compress-program=COMMAND' +'-I=COMMAND' Use external compression program COMMAND. Use this option if you - are not happy with the compression program associated with the - suffix at compile time or if you have a compression program that - GNU `tar' does not support. The COMMAND argument is a valid - command invocation, as you would type it at the command line - prompt, with any additional options as needed. Enclose it in - quotes if it contains white space (see *note Running External - Commands: external, for more detail). + want to specify options for the compression program, or if you are + not happy with the compression program associated with the suffix + at compile time, or if you have a compression program that GNU + 'tar' does not support. The COMMAND argument is a valid command + invocation, as you would type it at the command line prompt, with + any additional options as needed. Enclose it in quotes if it + contains white space (*note Running External Commands: external.). The COMMAND should follow two conventions: First, when invoked without additional options, it should read data from standard input, compress it and output it on standard output. - Secondly, if invoked with the additional `-d' option, it should do + Secondly, if invoked with the additional '-d' option, it should do exactly the opposite, i.e., read the compressed data from the standard input and produce uncompressed data on the standard output. - The latter requirement means that you must not use the `-d' option + The latter requirement means that you must not use the '-d' option as a part of the COMMAND itself. - The `--use-compress-program' option, in particular, lets you + The '--use-compress-program' option, in particular, lets you implement your own filters, not necessarily dealing with compression/decompression. For example, suppose you wish to implement -PGP encryption on top of compression, using `gpg' (*note gpg: +PGP encryption on top of compression, using 'gpg' (*note gpg: (gpg)Top.). The following script does that: #! /bin/sh @@ -677,7 +1033,7 @@ PGP encryption on top of compression, using `gpg' (*note gpg: *) echo "Unknown option $1">&2; exit 1;; esac - Suppose you name it `gpgz' and save it somewhere in your `PATH'. + Suppose you name it 'gpgz' and save it somewhere in your 'PATH'. Then the following command will create a compressed archive signed with your private key: @@ -689,44 +1045,44 @@ Likewise, the command below will list its contents: * Menu: -* lbzip2:: Using lbzip2 with GNU `tar'. +* lbzip2:: Using lbzip2 with GNU 'tar'. ---------- Footnotes ---------- (1) It also had patent problems in the past. (2) To verbosely trace the decompressor selection, use the -`--warning=decompress-program' option (*note decompress-program: +'--warning=decompress-program' option (*note decompress-program: warnings.).  File: tar.info, Node: lbzip2, Up: gzip -8.1.1.1 Using lbzip2 with GNU `tar'. +8.1.1.1 Using lbzip2 with GNU 'tar'. .................................... -`Lbzip2' is a multithreaded utility for handling `bzip2' compression, +'Lbzip2' is a multithreaded utility for handling 'bzip2' compression, written by Laszlo Ersek. It makes use of multiple processors to speed -up its operation and in general works considerably faster than `bzip2'. -For a detailed description of `lbzip2' see -`http://freshmeat.net/projects/lbzip2' and lbzip2: parallel bzip2 +up its operation and in general works considerably faster than 'bzip2'. +For a detailed description of 'lbzip2' see + and lbzip2: parallel bzip2 utility (http://www.linuxinsight.com/lbzip2-parallel-bzip2-utility.html). - Recent versions of `lbzip2' are mostly command line compatible with -`bzip2', which makes it possible to automatically invoke it via the -`--bzip2' GNU `tar' command line option. To do so, GNU `tar' must be -configured with the `--with-bzip2' command line option, like this: + Recent versions of 'lbzip2' are mostly command line compatible with +'bzip2', which makes it possible to automatically invoke it via the +'--bzip2' GNU 'tar' command line option. To do so, GNU 'tar' must be +configured with the '--with-bzip2' command line option, like this: $ ./configure --with-bzip2=lbzip2 [OTHER-OPTIONS] - Once configured and compiled this way, `tar --help' will show the + Once configured and compiled this way, 'tar --help' will show the following: $ tar --help | grep -- --bzip2 -j, --bzip2 filter the archive through lbzip2 -which means that running `tar --bzip2' will invoke `lbzip2'. +which means that running 'tar --bzip2' will invoke 'lbzip2'.  File: tar.info, Node: sparse, Prev: gzip, Up: Compression @@ -738,59 +1094,88 @@ Files in the file system occasionally have "holes". A "hole" in a file is a section of the file's contents which was never written. The contents of a hole reads as all zeros. On many operating systems, actual disk storage is not allocated for holes, but they are counted in -the length of the file. If you archive such a file, `tar' could create -an archive longer than the original. To have `tar' attempt to -recognize the holes in a file, use `--sparse' (`-S'). When you use -this option, then, for any file using less disk space than would be -expected from its length, `tar' searches the file for consecutive -stretches of zeros. It then records in the archive for the file where -the consecutive stretches of zeros are, and only archives the "real -contents" of the file. On extraction (using `--sparse' is not needed -on extraction) any such files have holes created wherever the -continuous stretches of zeros were found. Thus, if you use `--sparse', -`tar' archives won't take more space than the original. - -`-S' -`--sparse' - This option instructs `tar' to test each file for sparseness - before attempting to archive it. If the file is found to be - sparse it is treated specially, thus allowing to decrease the - amount of space used by its image in the archive. +the length of the file. If you archive such a file, 'tar' could create +an archive longer than the original. To have 'tar' attempt to recognize +the holes in a file, use '--sparse' ('-S'). When you use this option, +then, for any file using less disk space than would be expected from its +length, 'tar' searches the file for holes. It then records in the +archive for the file where the holes (consecutive stretches of zeros) +are, and only archives the "real contents" of the file. On extraction +(using '--sparse' is not needed on extraction) any such files have also +holes created wherever the holes were found. Thus, if you use +'--sparse', 'tar' archives won't take more space than the original. + + GNU 'tar' uses two methods for detecting holes in sparse files. +These methods are described later in this subsection. + +'-S' +'--sparse' + This option instructs 'tar' to test each file for sparseness before + attempting to archive it. If the file is found to be sparse it is + treated specially, thus allowing to decrease the amount of space + used by its image in the archive. This option is meaningful only when creating or updating archives. It has no effect on extraction. - Consider using `--sparse' when performing file system backups, to + Consider using '--sparse' when performing file system backups, to avoid archiving the expanded forms of files stored sparsely in the system. Even if your system has no sparse files currently, some may be -created in the future. If you use `--sparse' while making file system -backups as a matter of course, you can be assured the archive will -never take more space on the media than the files take on disk -(otherwise, archiving a disk filled with sparse files might take -hundreds of tapes). *Note Incremental Dumps::. - - However, be aware that `--sparse' option presents a serious -drawback. Namely, in order to determine if the file is sparse `tar' -has to read it before trying to archive it, so in total the file is -read *twice*. So, always bear in mind that the time needed to process -all files with this option is roughly twice the time needed to archive -them without it. - - When using `POSIX' archive format, GNU `tar' is able to store sparse +created in the future. If you use '--sparse' while making file system +backups as a matter of course, you can be assured the archive will never +take more space on the media than the files take on disk (otherwise, +archiving a disk filled with sparse files might take hundreds of tapes). +*Note Incremental Dumps::. + + However, be aware that '--sparse' option may present a serious +drawback. Namely, in order to determine the positions of holes in a +file 'tar' may have to read it before trying to archive it, so in total +the file may be read *twice*. This may happen when your OS or your FS +does not support "SEEK_HOLE/SEEK_DATA" feature in "lseek" (See +'--hole-detection', below). + + When using 'POSIX' archive format, GNU 'tar' is able to store sparse files using in three distinct ways, called "sparse formats". A sparse format is identified by its "number", consisting, as usual of two -decimal numbers, delimited by a dot. By default, format `1.0' is used. +decimal numbers, delimited by a dot. By default, format '1.0' is used. If, for some reason, you wish to use an earlier format, you can select -it using `--sparse-version' option. +it using '--sparse-version' option. -`--sparse-version=VERSION' +'--sparse-version=VERSION' Select the format to store sparse files in. Valid VERSION values - are: `0.0', `0.1' and `1.0'. *Note Sparse Formats::, for a + are: '0.0', '0.1' and '1.0'. *Note Sparse Formats::, for a detailed description of each format. - Using `--sparse-format' option implies `--sparse'. + Using '--sparse-format' option implies '--sparse'. + +'--hole-detection=METHOD' + Enforce concrete hole detection method. Before the real contents + of sparse file are stored, 'tar' needs to gather knowledge about + file sparseness. This is because it needs to have the file's map + of holes stored into tar header before it starts archiving the file + contents. Currently, two methods of hole detection are + implemented: + + * '--hole-detection=seek' Seeking the file for data and holes. + It uses enhancement of the 'lseek' system call ('SEEK_HOLE' + and 'SEEK_DATA') which is able to reuse file system knowledge + about sparse file contents - so the detection is usually very + fast. To use this feature, your file system and operating + system must support it. At the time of this writing (2015) + this feature, in spite of not being accepted by POSIX, is + fairly widely supported by different operating systems. + + * '--hole-detection=raw' Reading byte-by-byte the whole sparse + file before the archiving. This method detects holes like + consecutive stretches of zeroes. Comparing to the previous + method, it is usually much slower, although more portable. + + When no '--hole-detection' option is given, 'tar' uses the 'seek', if +supported by the operating system. + + Using '--hole-detection' option implies '--sparse'.  File: tar.info, Node: Attributes, Next: Portability, Prev: Compression, Up: Formats @@ -798,71 +1183,71 @@ File: tar.info, Node: Attributes, Next: Portability, Prev: Compression, Up: 8.2 Handling File Attributes ============================ -When `tar' reads files, it updates their access times. To avoid this, -use the `--atime-preserve[=METHOD]' option, which can either reset the +When 'tar' reads files, it updates their access times. To avoid this, +use the '--atime-preserve[=METHOD]' option, which can either reset the access time retroactively or avoid changing it in the first place. -`--atime-preserve' -`--atime-preserve=replace' -`--atime-preserve=system' +'--atime-preserve' +'--atime-preserve=replace' +'--atime-preserve=system' Preserve the access times of files that are read. This works only for files that you own, unless you have superuser privileges. - `--atime-preserve=replace' works on most systems, but it also + '--atime-preserve=replace' works on most systems, but it also restores the data modification time and updates the status change time. Hence it doesn't interact with incremental dumps nicely (*note Incremental Dumps::), and it can set access or data modification times incorrectly if other programs access the file - while `tar' is running. + while 'tar' is running. - `--atime-preserve=system' avoids changing the access time in the - first place, if the operating system supports this. - Unfortunately, this may or may not work on any given operating - system or file system. If `tar' knows for sure it won't work, it - complains right away. + '--atime-preserve=system' avoids changing the access time in the + first place, if the operating system supports this. Unfortunately, + this may or may not work on any given operating system or file + system. If 'tar' knows for sure it won't work, it complains right + away. - Currently `--atime-preserve' with no operand defaults to - `--atime-preserve=replace', but this is intended to change to - `--atime-preserve=system' when the latter is better-supported. + Currently '--atime-preserve' with no operand defaults to + '--atime-preserve=replace', but this is intended to change to + '--atime-preserve=system' when the latter is better-supported. -`-m' -`--touch' +'-m' +'--touch' Do not extract data modification time. - When this option is used, `tar' leaves the data modification times + When this option is used, 'tar' leaves the data modification times of the files it extracts as the times when the files were extracted, instead of setting it to the times recorded in the archive. - This option is meaningless with `--list' (`-t'). + This option is meaningless with '--list' ('-t'). -`--same-owner' +'--same-owner' Create extracted files with the same ownership they have in the archive. This is the default behavior for the superuser, so this option is - meaningful only for non-root users, when `tar' is executed on - those systems able to give files away. This is considered as a - security flaw by many people, at least because it makes quite - difficult to correctly account users for the disk space they - occupy. Also, the `suid' or `sgid' attributes of files are easily - and silently lost when files are given away. - - When writing an archive, `tar' writes the user ID and user name + meaningful only for non-root users, when 'tar' is executed on those + systems able to give files away. This is considered as a security + flaw by many people, at least because it makes quite difficult to + correctly account users for the disk space they occupy. Also, the + 'suid' or 'sgid' attributes of files are easily and silently lost + when files are given away. + + When writing an archive, 'tar' writes the user ID and user name separately. If it can't find a user name (because the user ID is - not in `/etc/passwd'), then it does not write one. When restoring, - it tries to look the name (if one was written) up in - `/etc/passwd'. If it fails, then it uses the user ID stored in - the archive instead. + not in '/etc/passwd'), then it does not write one. When restoring, + it tries to look the name (if one was written) up in '/etc/passwd'. + If it fails, then it uses the user ID stored in the archive + instead. -`--no-same-owner' -`-o' +'--no-same-owner' +'-o' Do not attempt to restore ownership when extracting. This is the default behavior for ordinary users, so this option has an effect only for the superuser. -`--numeric-owner' - The `--numeric-owner' option allows (ANSI) archives to be written +'--numeric-owner' + The '--numeric-owner' option allows (ANSI) archives to be written without user/group name information or such information to be ignored when extracting. It effectively disables the generation and/or use of user/group name information. This option forces @@ -879,14 +1264,14 @@ access time retroactively or avoid changing it in the first place. with no password file or put your disk into another machine to do the restore. - The numeric ids are _always_ saved into `tar' archives. The + The numeric ids are _always_ saved into 'tar' archives. The identifying names are added at create time when provided by the - system, unless `--format=oldgnu' is used. Numeric ids could be + system, unless '--format=oldgnu' is used. Numeric ids could be used when moving archives between a collection of machines using a centralized management for attribution of numeric ids to users and groups. This is often made through using the NIS capabilities. - When making a `tar' file for distribution to other sites, it is + When making a 'tar' file for distribution to other sites, it is sometimes cleaner to use a single owner for all files in the distribution, and nicer to specify the write permission bits of the files as stored in the archive independently of their actual value @@ -894,48 +1279,41 @@ access time retroactively or avoid changing it in the first place. usually to have some Makefile rule creating a directory, copying all needed files in that directory, then setting ownership and permissions as wanted (there are a lot of possible schemes), and - only then making a `tar' archive out of this directory, before + only then making a 'tar' archive out of this directory, before cleaning everything out. Of course, we could add a lot of options - to GNU `tar' for fine tuning permissions and ownership. This is - not the good way, I think. GNU `tar' is already crowded with - options and moreover, the approach just explained gives you a - great deal of control already. - -`-p' -`--same-permissions' -`--preserve-permissions' + to GNU 'tar' for fine tuning permissions and ownership. This is + not the good way, I think. GNU 'tar' is already crowded with + options and moreover, the approach just explained gives you a great + deal of control already. + +'-p' +'--same-permissions' +'--preserve-permissions' Extract all protection information. - This option causes `tar' to set the modes (access permissions) of + This option causes 'tar' to set the modes (access permissions) of extracted files exactly as recorded in the archive. If this option - is not used, the current `umask' setting limits the permissions on - extracted files. This option is by default enabled when `tar' is + is not used, the current 'umask' setting limits the permissions on + extracted files. This option is by default enabled when 'tar' is executed by a superuser. - This option is meaningless with `--list' (`-t'). - -`--preserve' - Same as both `--same-permissions' and `--same-order'. - - This option is deprecated, and will be removed in GNU `tar' - version 1.23. - + This option is meaningless with '--list' ('-t').  File: tar.info, Node: Portability, Next: cpio, Prev: Attributes, Up: Formats -8.3 Making `tar' Archives More Portable +8.3 Making 'tar' Archives More Portable ======================================= -Creating a `tar' archive on a particular system that is meant to be -useful later on many other machines and with other versions of `tar' is -more challenging than you might think. `tar' archive formats have been +Creating a 'tar' archive on a particular system that is meant to be +useful later on many other machines and with other versions of 'tar' is +more challenging than you might think. 'tar' archive formats have been evolving since the first versions of Unix. Many such formats are around, and are not always compatible with each other. This section -discusses a few problems, and gives some advice about making `tar' +discusses a few problems, and gives some advice about making 'tar' archives more portable. - One golden rule is simplicity. For example, limit your `tar' + One golden rule is simplicity. For example, limit your 'tar' archives to contain only regular files and directories, avoiding other kind of special files. Do not attempt to save sparse files or contiguous files as such. Let's discuss a few more problems, in turn. @@ -952,7 +1330,7 @@ contiguous files as such. Let's discuss a few more problems, in turn. * Checksumming:: Checksumming Problems * Large or Negative Values:: Large files, negative time stamps, etc. * Other Tars:: How to Extract GNU-Specific Data Using - Other `tar' Implementations + Other 'tar' Implementations  File: tar.info, Node: Portable Names, Next: dereference, Up: Portability @@ -961,14 +1339,14 @@ File: tar.info, Node: Portable Names, Next: dereference, Up: Portability -------------------- Use portable file and member names. A name is portable if it contains -only ASCII letters and digits, `/', `.', `_', and `-'; it cannot be -empty, start with `-' or `//', or contain `/-'. Avoid deep directory +only ASCII letters and digits, '/', '.', '_', and '-'; it cannot be +empty, start with '-' or '//', or contain '/-'. Avoid deep directory nesting. For portability to old Unix hosts, limit your file name components to 14 characters or less. - If you intend to have your `tar' archives to be read under MSDOS, -you should not rely on case distinction for file names, and you might -use the GNU `doschk' program for helping you further diagnosing illegal + If you intend to have your 'tar' archives to be read under MSDOS, you +should not rely on case distinction for file names, and you might use +the GNU 'doschk' program for helping you further diagnosing illegal MSDOS names, which are even more limited than System V's.  @@ -977,24 +1355,24 @@ File: tar.info, Node: dereference, Next: hard links, Prev: Portable Names, U 8.3.2 Symbolic Links -------------------- -Normally, when `tar' archives a symbolic link, it writes a block to the -archive naming the target of the link. In that way, the `tar' archive -is a faithful record of the file system contents. When `--dereference' -(`-h') is used with `--create' (`-c'), `tar' archives the files -symbolic links point to, instead of the links themselves. +Normally, when 'tar' archives a symbolic link, it writes a block to the +archive naming the target of the link. In that way, the 'tar' archive +is a faithful record of the file system contents. When '--dereference' +('-h') is used with '--create' ('-c'), 'tar' archives the files symbolic +links point to, instead of the links themselves. - When creating portable archives, use `--dereference' (`-h'): some + When creating portable archives, use '--dereference' ('-h'): some systems do not support symbolic links, and moreover, your distribution might be unusable if it contains unresolved symbolic links. - When reading from an archive, the `--dereference' (`-h') option -causes `tar' to follow an already-existing symbolic link when `tar' -writes or reads a file named in the archive. Ordinarily, `tar' does -not follow such a link, though it may remove the link before writing a -new file. *Note Dealing with Old Files::. + When reading from an archive, the '--dereference' ('-h') option +causes 'tar' to follow an already-existing symbolic link when 'tar' +writes or reads a file named in the archive. Ordinarily, 'tar' does not +follow such a link, though it may remove the link before writing a new +file. *Note Dealing with Old Files::. - The `--dereference' option is unsafe if an untrusted user can modify -directories while `tar' is running. *Note Security::. + The '--dereference' option is unsafe if an untrusted user can modify +directories while 'tar' is running. *Note Security::.  File: tar.info, Node: hard links, Next: old, Prev: dereference, Up: Portability @@ -1002,8 +1380,8 @@ File: tar.info, Node: hard links, Next: old, Prev: dereference, Up: Portabil 8.3.3 Hard Links ---------------- -Normally, when `tar' archives a hard link, it writes a block to the -archive naming the target of the link (a `1' type block). In that way, +Normally, when 'tar' archives a hard link, it writes a block to the +archive naming the target of the link (a '1' type block). In that way, the actual file contents is stored in file only once. For example, consider the following two files: @@ -1011,8 +1389,8 @@ consider the following two files: -rw-r--r-- 2 gray staff 4 2007-10-30 15:11 one -rw-r--r-- 2 gray staff 4 2007-10-30 15:11 jeden - Here, `jeden' is a link to `one'. When archiving this directory -with a verbose level 2, you will get an output similar to the following: + Here, 'jeden' is a link to 'one'. When archiving this directory with +a verbose level 2, you will get an output similar to the following: $ tar cvvf ../archive.tar . drwxr-xr-x gray/staff 0 2007-10-30 15:13 ./ @@ -1020,20 +1398,20 @@ with a verbose level 2, you will get an output similar to the following: hrw-r--r-- gray/staff 0 2007-10-30 15:11 ./one link to ./jeden The last line shows that, instead of storing two copies of the file, -`tar' stored it only once, under the name `jeden', and stored file -`one' as a hard link to this file. +'tar' stored it only once, under the name 'jeden', and stored file 'one' +as a hard link to this file. It may be important to know that all hard links to the given file are stored in the archive. For example, this may be necessary for exact reproduction of the file system. The following option does that: -`--check-links' -`-l' +'--check-links' +'-l' Check the number of links dumped for each processed file. If this number does not match the total number of hard links for the file, print a warning message. - For example, trying to archive only file `jeden' with this option + For example, trying to archive only file 'jeden' with this option produces the following diagnostics: $ tar -c -f ../archive.tar -l jeden @@ -1042,25 +1420,25 @@ produces the following diagnostics: Although creating special records for hard links helps keep a faithful record of the file system contents and makes archives more compact, it may present some difficulties when extracting individual -members from the archive. For example, trying to extract file `one' -from the archive created in previous examples produces, in the absense -of file `jeden': +members from the archive. For example, trying to extract file 'one' +from the archive created in previous examples produces, in the absence +of file 'jeden': $ tar xf archive.tar ./one tar: ./one: Cannot hard link to './jeden': No such file or directory tar: Error exit delayed from previous errors - The reason for this behavior is that `tar' cannot seek back in the -archive to the previous member (in this case, `one'), to extract it(1). + The reason for this behavior is that 'tar' cannot seek back in the +archive to the previous member (in this case, 'one'), to extract it(1). If you wish to avoid such problems at the cost of a bigger archive, use the following option: -`--hard-dereference' +'--hard-dereference' Dereference hard links and store the files they refer to. For example, trying this option on our two sample files, we get two -copies in the archive, each of which can then be extracted -independently of the other: +copies in the archive, each of which can then be extracted independently +of the other: $ tar -c -vv -f ../archive.tar --hard-dereference . drwxr-xr-x gray/staff 0 2007-10-30 15:13 ./ @@ -1077,25 +1455,24 @@ File: tar.info, Node: old, Next: ustar, Prev: hard links, Up: Portability 8.3.4 Old V7 Archives --------------------- -Certain old versions of `tar' cannot handle additional information -recorded by newer `tar' programs. To create an archive in V7 format +Certain old versions of 'tar' cannot handle additional information +recorded by newer 'tar' programs. To create an archive in V7 format (not ANSI), which can be read by these old versions, specify the -`--format=v7' option in conjunction with the `--create' (`-c') (`tar' -also accepts `--portability' or `--old-archive' for this option). When -you specify it, `tar' leaves out information about directories, pipes, +'--format=v7' option in conjunction with the '--create' ('-c') ('tar' +also accepts '--portability' or '--old-archive' for this option). When +you specify it, 'tar' leaves out information about directories, pipes, fifos, contiguous files, and device files, and specifies file ownership by group and user IDs instead of group and user names. - When updating an archive, do not use `--format=v7' unless the -archive was created using this option. + When updating an archive, do not use '--format=v7' unless the archive +was created using this option. - In most cases, a _new_ format archive can be read by an _old_ `tar' -program without serious trouble, so this option should seldom be -needed. On the other hand, most modern `tar's are able to read old -format archives, so it might be safer for you to always use -`--format=v7' for your distributions. Notice, however, that `ustar' -format is a better alternative, as it is free from many of `v7''s -drawbacks. + In most cases, a _new_ format archive can be read by an _old_ 'tar' +program without serious trouble, so this option should seldom be needed. +On the other hand, most modern 'tar's are able to read old format +archives, so it might be safer for you to always use '--format=v7' for +your distributions. Notice, however, that 'ustar' format is a better +alternative, as it is free from many of 'v7''s drawbacks.  File: tar.info, Node: ustar, Next: gnu, Prev: old, Up: Portability @@ -1104,47 +1481,46 @@ File: tar.info, Node: ustar, Next: gnu, Prev: old, Up: Portability -------------------------- The archive format defined by the POSIX.1-1988 specification is called -`ustar'. Although it is more flexible than the V7 format, it still has -many restrictions (*note ustar: Formats, for the detailed description -of `ustar' format). Along with V7 format, `ustar' format is a good -choice for archives intended to be read with other implementations of -`tar'. +'ustar'. Although it is more flexible than the V7 format, it still has +many restrictions (*note ustar: Formats, for the detailed description of +'ustar' format). Along with V7 format, 'ustar' format is a good choice +for archives intended to be read with other implementations of 'tar'. - To create an archive in `ustar' format, use the `--format=ustar' -option in conjunction with `--create' (`-c'). + To create an archive in 'ustar' format, use the '--format=ustar' +option in conjunction with '--create' ('-c').  File: tar.info, Node: gnu, Next: posix, Prev: ustar, Up: Portability -8.3.6 GNU and old GNU `tar' format +8.3.6 GNU and old GNU 'tar' format ---------------------------------- -GNU `tar' was based on an early draft of the POSIX 1003.1 `ustar' -standard. GNU extensions to `tar', such as the support for file names -longer than 100 characters, use portions of the `tar' header record +GNU 'tar' was based on an early draft of the POSIX 1003.1 'ustar' +standard. GNU extensions to 'tar', such as the support for file names +longer than 100 characters, use portions of the 'tar' header record which were specified in that POSIX draft as unused. Subsequent changes in POSIX have allocated the same parts of the header record for other -purposes. As a result, GNU `tar' format is incompatible with the -current POSIX specification, and with `tar' programs that follow it. +purposes. As a result, GNU 'tar' format is incompatible with the +current POSIX specification, and with 'tar' programs that follow it. - In the majority of cases, `tar' will be configured to create this + In the majority of cases, 'tar' will be configured to create this format by default. This will change in future releases, since we plan -to make `POSIX' format the default. +to make 'POSIX' format the default. - To force creation a GNU `tar' archive, use option `--format=gnu'. + To force creation a GNU 'tar' archive, use option '--format=gnu'.  File: tar.info, Node: posix, Next: Checksumming, Prev: gnu, Up: Portability -8.3.7 GNU `tar' and POSIX `tar' +8.3.7 GNU 'tar' and POSIX 'tar' ------------------------------- -Starting from version 1.14 GNU `tar' features full support for +Starting from version 1.14 GNU 'tar' features full support for POSIX.1-2001 archives. - A POSIX conformant archive will be created if `tar' was given -`--format=posix' (`--format=pax') option. No special option is -required to read and extract from a POSIX archive. + A POSIX conformant archive will be created if 'tar' was given +'--format=posix' ('--format=pax') option. No special option is required +to read and extract from a POSIX archive. * Menu: @@ -1156,16 +1532,16 @@ File: tar.info, Node: PAX keywords, Up: posix 8.3.7.1 Controlling Extended Header Keywords ............................................ -`--pax-option=KEYWORD-LIST' - Handle keywords in PAX extended headers. This option is - equivalent to `-o' option of the `pax' utility. +'--pax-option=KEYWORD-LIST' + Handle keywords in PAX extended headers. This option is equivalent + to '-o' option of the 'pax' utility. KEYWORD-LIST is a comma-separated list of keyword options, each keyword option taking one of the following forms: -`delete=PATTERN' +'delete=PATTERN' When used with one of archive-creation commands, this option - instructs `tar' to omit from extended header records that it + instructs 'tar' to omit from extended header records that it produces any keywords matching the string PATTERN. When used in extract or list mode, this option instructs tar to @@ -1178,87 +1554,91 @@ keyword option taking one of the following forms: would suppress security-related information. -`exthdr.name=STRING' - This keyword allows user control over the name that is written - into the ustar header blocks for the extended headers. The name - is obtained from STRING after making the following substitutions: - - Meta-character Replaced By - -------------------------------------------------------- - %d The directory name of the file, - equivalent to the result of the - `dirname' utility on the translated - file name. - %f The name of the file with the - directory information stripped, - equivalent to the result of the - `basename' utility on the translated - file name. - %p The process ID of the `tar' process. - %% A `%' character. - - Any other `%' characters in STRING produce undefined results. - - If no option `exthdr.name=string' is specified, `tar' will use the +'exthdr.name=STRING' + + This keyword allows user control over the name that is written into + the ustar header blocks for the extended headers. The name is + obtained from STRING after making the following substitutions: + + Meta-character Replaced By + ------------------------------------------------------------ + %d The directory name of the file, + equivalent to the result of the + 'dirname' utility on the translated + file name. + %f The name of the file with the + directory information stripped, + equivalent to the result of the + 'basename' utility on the translated + file name. + %p The process ID of the 'tar' process. + %% A '%' character. + + Any other '%' characters in STRING produce undefined results. + + If no option 'exthdr.name=string' is specified, 'tar' will use the following default value: %d/PaxHeaders.%p/%f -`exthdr.mtime=VALUE' - This keyword defines the value of the `mtime' field that is - written into the ustar header blocks for the extended headers. By - default, the `mtime' field is set to the modification time of the - archive member described by that extended headers. +'exthdr.mtime=VALUE' -`globexthdr.name=STRING' + This keyword defines the value of the 'mtime' field that is written + into the ustar header blocks for the extended headers. By default, + the 'mtime' field is set to the modification time of the archive + member described by that extended header (or to the value of the + '--mtime' option, if supplied). + +'globexthdr.name=STRING' This keyword allows user control over the name that is written into the ustar header blocks for global extended header records. The name is obtained from the contents of STRING, after making the following substitutions: - Meta-character Replaced By - -------------------------------------------------------- - %n An integer that represents the - sequence number of the global - extended header record in the - archive, starting at 1. - %p The process ID of the `tar' process. - %% A `%' character. + Meta-character Replaced By + ------------------------------------------------------------ + %n An integer that represents the + sequence number of the global extended + header record in the archive, starting + at 1. + %p The process ID of the 'tar' process. + %% A '%' character. - Any other `%' characters in STRING produce undefined results. + Any other '%' characters in STRING produce undefined results. - If no option `globexthdr.name=string' is specified, `tar' will use + If no option 'globexthdr.name=string' is specified, 'tar' will use the following default value: $TMPDIR/GlobalHead.%p.%n - where `$TMPDIR' represents the value of the TMPDIR environment - variable. If TMPDIR is not set, `tar' uses `/tmp'. + where '$TMPDIR' represents the value of the TMPDIR environment + variable. If TMPDIR is not set, 'tar' uses '/tmp'. + +'globexthdr.mtime=VALUE' -`globexthdr.mtime=VALUE' - This keyword defines the value of the `mtime' field that is - written into the ustar header blocks for the global extended - headers. By default, the `mtime' field is set to the time when - `tar' was invoked. + This keyword defines the value of the 'mtime' field that is written + into the ustar header blocks for the global extended headers. By + default, the 'mtime' field is set to the time when 'tar' was + invoked. -`KEYWORD=VALUE' +'KEYWORD=VALUE' When used with one of archive-creation commands, these keyword/value pairs will be included at the beginning of the archive in a global extended header record. When used with one of - archive-reading commands, `tar' will behave as if it has + archive-reading commands, 'tar' will behave as if it has encountered these keyword/value pairs at the beginning of the archive in a global extended header record. -`KEYWORD:=VALUE' +'KEYWORD:=VALUE' When used with one of archive-creation commands, these - keyword/value pairs will be included as records at the beginning - of an extended header for each file. This is effectively - equivalent to KEYWORD=VALUE form except that it creates no global - extended header records. - - When used with one of archive-reading commands, `tar' will behave - as if these keyword/value pairs were included as records at the - end of each extended header; thus, they will override any global or + keyword/value pairs will be included as records at the beginning of + an extended header for each file. This is effectively equivalent + to KEYWORD=VALUE form except that it creates no global extended + header records. + + When used with one of archive-reading commands, 'tar' will behave + as if these keyword/value pairs were included as records at the end + of each extended header; thus, they will override any global or file-specific extended header record keywords of the same names. For example, in the command: @@ -1272,8 +1652,8 @@ keyword option taking one of the following forms: enclosed in curly braces. In that case, the string between the braces is understood either as a textual time representation, as described in *note Date input formats::, or a name of the existing file, starting -with `/' or `.'. In the latter case, the modification time of that -file is used. +with '/' or '.'. In the latter case, the modification time of that file +is used. For example, to set all modification times to the current date, you use the following option: @@ -1288,42 +1668,50 @@ same contents: --pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0 +If you extract files from such an archive and recreate the archive from +them, you will also need to eliminate changes due to ctime, as shown in +examples below: + + --pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0,ctime:=0 + +or + + --pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0,delete=ctime +  File: tar.info, Node: Checksumming, Next: Large or Negative Values, Prev: posix, Up: Portability 8.3.8 Checksumming Problems --------------------------- -SunOS and HP-UX `tar' fail to accept archives created using GNU `tar' +SunOS and HP-UX 'tar' fail to accept archives created using GNU 'tar' and containing non-ASCII file names, that is, file names having characters with the eighth bit set, because they use signed checksums, -while GNU `tar' uses unsigned checksums while creating archives, as per -POSIX standards. On reading, GNU `tar' computes both checksums and +while GNU 'tar' uses unsigned checksums while creating archives, as per +POSIX standards. On reading, GNU 'tar' computes both checksums and accepts either of them. It is somewhat worrying that a lot of people may go around doing backup of their files using faulty (or at least -non-standard) software, not learning about it until it's time to -restore their missing files with an incompatible file extractor, or -vice versa. - - GNU `tar' computes checksums both ways, and accepts either of them -on read, so GNU tar can read Sun tapes even with their wrong checksums. -GNU `tar' produces the standard checksum, however, raising -incompatibilities with Sun. That is to say, GNU `tar' has not been -modified to _produce_ incorrect archives to be read by buggy `tar''s. -I've been told that more recent Sun `tar' now read standard archives, -so maybe Sun did a similar patch, after all? - - The story seems to be that when Sun first imported `tar' sources on +non-standard) software, not learning about it until it's time to restore +their missing files with an incompatible file extractor, or vice versa. + + GNU 'tar' computes checksums both ways, and accepts either of them on +read, so GNU tar can read Sun tapes even with their wrong checksums. +GNU 'tar' produces the standard checksum, however, raising +incompatibilities with Sun. That is to say, GNU 'tar' has not been +modified to _produce_ incorrect archives to be read by buggy 'tar''s. +I've been told that more recent Sun 'tar' now read standard archives, so +maybe Sun did a similar patch, after all? + + The story seems to be that when Sun first imported 'tar' sources on their system, they recompiled it without realizing that the checksums -were computed differently, because of a change in the default signing -of `char''s in their compiler. So they started computing checksums -wrongly. When they later realized their mistake, they merely decided -to stay compatible with it, and with themselves afterwards. -Presumably, but I do not really know, HP-UX has chosen their `tar' -archives to be compatible with Sun's. The current standards do not -favor Sun `tar' format. In any case, it now falls on the shoulders of -SunOS and HP-UX users to get a `tar' able to read the good archives -they receive. +were computed differently, because of a change in the default signing of +'char''s in their compiler. So they started computing checksums +wrongly. When they later realized their mistake, they merely decided to +stay compatible with it, and with themselves afterwards. Presumably, +but I do not really know, HP-UX has chosen their 'tar' archives to be +compatible with Sun's. The current standards do not favor Sun 'tar' +format. In any case, it now falls on the shoulders of SunOS and HP-UX +users to get a 'tar' able to read the good archives they receive.  File: tar.info, Node: Large or Negative Values, Next: Other Tars, Prev: Checksumming, Up: Portability @@ -1333,49 +1721,48 @@ File: tar.info, Node: Large or Negative Values, Next: Other Tars, Prev: Check _(This message will disappear, once this node revised.)_ -The above sections suggest to use `oldest possible' archive format if + The above sections suggest to use 'oldest possible' archive format if in doubt. However, sometimes it is not possible. If you attempt to archive a file whose metadata cannot be represented using required -format, GNU `tar' will print error message and ignore such a file. You -will than have to switch to a format that is able to handle such -values. The format summary table (*note Formats::) will help you to do -so. +format, GNU 'tar' will print error message and ignore such a file. You +will than have to switch to a format that is able to handle such values. +The format summary table (*note Formats::) will help you to do so. In particular, when trying to archive files larger than 8GB or with timestamps not in the range 1970-01-01 00:00:00 through 2242-03-16 12:56:31 UTC, you will have to chose between GNU and POSIX archive -formats. When considering which format to choose, bear in mind that -the GNU format uses two's-complement base-256 notation to store values -that do not fit into standard ustar range. Such archives can generally -be read only by a GNU `tar' implementation. Moreover, they sometimes -cannot be correctly restored on another hosts even by GNU `tar'. For +formats. When considering which format to choose, bear in mind that the +GNU format uses two's-complement base-256 notation to store values that +do not fit into standard ustar range. Such archives can generally be +read only by a GNU 'tar' implementation. Moreover, they sometimes +cannot be correctly restored on another hosts even by GNU 'tar'. For example, using two's complement representation for negative time stamps -that assumes a signed 32-bit `time_t' generates archives that are not -portable to hosts with differing `time_t' representations. +that assumes a signed 32-bit 'time_t' generates archives that are not +portable to hosts with differing 'time_t' representations. On the other hand, POSIX archives, generally speaking, can be -extracted by any tar implementation that understands older ustar -format. The only exception are files larger than 8GB. +extracted by any tar implementation that understands older ustar format. +The only exception are files larger than 8GB.  File: tar.info, Node: Other Tars, Prev: Large or Negative Values, Up: Portability -8.3.10 How to Extract GNU-Specific Data Using Other `tar' Implementations +8.3.10 How to Extract GNU-Specific Data Using Other 'tar' Implementations ------------------------------------------------------------------------- -In previous sections you became acquainted with various quirks -necessary to make your archives portable. Sometimes you may need to -extract archives containing GNU-specific members using some third-party -`tar' implementation or an older version of GNU `tar'. Of course your -best bet is to have GNU `tar' installed, but if it is for some reason +In previous sections you became acquainted with various quirks necessary +to make your archives portable. Sometimes you may need to extract +archives containing GNU-specific members using some third-party 'tar' +implementation or an older version of GNU 'tar'. Of course your best +bet is to have GNU 'tar' installed, but if it is for some reason impossible, this section will explain how to cope without it. When we speak about "GNU-specific" members we mean two classes of them: members split between the volumes of a multi-volume archive and sparse members. You will be able to always recover such members if the archive is in PAX format. In addition split members can be recovered -from archives in old GNU format. The following subsections describe -the required procedures in detail. +from archives in old GNU format. The following subsections describe the +required procedures in detail. * Menu: @@ -1389,60 +1776,61 @@ File: tar.info, Node: Split Recovery, Next: Sparse Recovery, Up: Other Tars ................................................. If a member is split between several volumes of an old GNU format -archive most third party `tar' implementation will fail to extract it. -To extract it, use `tarcat' program (*note Tarcat::). This program is -available from GNU `tar' home page +archive most third party 'tar' implementation will fail to extract it. +To extract it, use 'tarcat' program (*note Tarcat::). This program is +available from GNU 'tar' home page (http://www.gnu.org/software/tar/utils/tarcat.html). It concatenates several archive volumes into a single valid archive. For example, if -you have three volumes named from `vol-1.tar' to `vol-3.tar', you can -do the following to extract them using a third-party `tar': +you have three volumes named from 'vol-1.tar' to 'vol-3.tar', you can do +the following to extract them using a third-party 'tar': $ tarcat vol-1.tar vol-2.tar vol-3.tar | tar xf - You could use this approach for most (although not all) PAX format archives as well. However, extracting split members from a PAX archive -is a much easier task, because PAX volumes are constructed in such a -way that each part of a split member is extracted to a different file -by `tar' implementations that are not aware of GNU extensions. More +is a much easier task, because PAX volumes are constructed in such a way +that each part of a split member is extracted to a different file by +'tar' implementations that are not aware of GNU extensions. More specifically, the very first part retains its original name, and all subsequent parts are named using the pattern: %d/GNUFileParts.%p/%f.%n -where symbols preceeded by `%' are "macro characters" that have the +where symbols preceded by '%' are "macro characters" that have the following meaning: Meta-character Replaced By ------------------------------------------------------------- +------------------------------------------------------------ %d The directory name of the file, equivalent to the result of the - `dirname' utility on its full name. + 'dirname' utility on its full name. %f The file name of the file, equivalent - to the result of the `basename' utility - on its full name. -%p The process ID of the `tar' process that - created the archive. -%n Ordinal number of this particular part. + to the result of the 'basename' + utility on its full name. +%p The process ID of the 'tar' process + that created the archive. +%n Ordinal number of this particular + part. - For example, if the file `var/longfile' was split during archive -creation between three volumes, and the creator `tar' process had -process ID `27962', then the member names will be: + For example, if the file 'var/longfile' was split during archive +creation between three volumes, and the creator 'tar' process had +process ID '27962', then the member names will be: var/longfile var/GNUFileParts.27962/longfile.1 var/GNUFileParts.27962/longfile.2 - When you extract your archive using a third-party `tar', these files + When you extract your archive using a third-party 'tar', these files will be created on your disk, and the only thing you will need to do to -restore your file in its original form is concatenate them in the -proper order, for example: +restore your file in its original form is concatenate them in the proper +order, for example: $ cd var $ cat GNUFileParts.27962/longfile.1 \ GNUFileParts.27962/longfile.2 >> longfile $ rm -f GNUFileParts.27962 - Notice, that if the `tar' implementation you use supports PAX format + Notice, that if the 'tar' implementation you use supports PAX format archives, it will probably emit warnings about unknown keywords during extraction. They will look like this: @@ -1453,7 +1841,7 @@ extraction. They will look like this: You can safely ignore these warnings. - If your `tar' implementation is not PAX-aware, you will get more + If your 'tar' implementation is not PAX-aware, you will get more warnings and more files generated on your disk, e.g.: $ tar xf vol-1.tar @@ -1465,7 +1853,7 @@ warnings and more files generated on your disk, e.g.: GNUFileParts.27962/PaxHeaders.27962/sparsefile.1: Unknown file type 'x', extracted as normal file - Ignore these warnings. The `PaxHeaders.*' directories created will + Ignore these warnings. The 'PaxHeaders.*' directories created will contain files with "extended header keywords" describing the extracted files. You can delete them, unless they describe sparse members. Read further to learn more about them. @@ -1476,7 +1864,7 @@ File: tar.info, Node: Sparse Recovery, Prev: Split Recovery, Up: Other Tars 8.3.10.2 Extracting Sparse Members .................................. -Any `tar' implementation will be able to extract sparse members from a +Any 'tar' implementation will be able to extract sparse members from a PAX archive. However, the extracted files will be "condensed", i.e., any zero blocks will be removed from them. When we restore such a condensed file to its original form, by adding zero blocks (or "holes") @@ -1484,44 +1872,44 @@ back to their original locations, we call this process "expanding" a compressed sparse file. To expand a file, you will need a simple auxiliary program called -`xsparse'. It is available in source form from GNU `tar' home page +'xsparse'. It is available in source form from GNU 'tar' home page (http://www.gnu.org/software/tar/utils/xsparse.html). Let's begin with archive members in "sparse format version 1.0"(1), which are the easiest to expand. The condensed file will contain both file map and file data, so no additional data will be needed to restore -it. If the original file name was `DIR/NAME', then the condensed file -will be named `DIR/GNUSparseFile.N/NAME', where N is a decimal +it. If the original file name was 'DIR/NAME', then the condensed file +will be named 'DIR/GNUSparseFile.N/NAME', where N is a decimal number(2). - To expand a version 1.0 file, run `xsparse' as follows: + To expand a version 1.0 file, run 'xsparse' as follows: - $ xsparse `cond-file' + $ xsparse cond-file -where `cond-file' is the name of the condensed file. The utility will +where 'cond-file' is the name of the condensed file. The utility will deduce the name for the resulting expanded file using the following algorithm: - 1. If `cond-file' does not contain any directories, `../cond-file' + 1. If 'cond-file' does not contain any directories, '../cond-file' will be used; - 2. If `cond-file' has the form `DIR/T/NAME', where both T and NAME - are simple names, with no `/' characters in them, the output file - name will be `DIR/NAME'. + 2. If 'cond-file' has the form 'DIR/T/NAME', where both T and NAME are + simple names, with no '/' characters in them, the output file name + will be 'DIR/NAME'. - 3. Otherwise, if `cond-file' has the form `DIR/NAME', the output file - name will be `NAME'. + 3. Otherwise, if 'cond-file' has the form 'DIR/NAME', the output file + name will be 'NAME'. In the unlikely case when this algorithm does not suit your needs, you can explicitly specify output file name as a second argument to the command: - $ xsparse `cond-file' `out-file' + $ xsparse cond-file out-file - It is often a good idea to run `xsparse' in "dry run" mode first. -In this mode, the command does not actually expand the file, but -verbosely lists all actions it would be taking to do so. The dry run -mode is enabled by `-n' command line argument: + It is often a good idea to run 'xsparse' in "dry run" mode first. In +this mode, the command does not actually expand the file, but verbosely +lists all actions it would be taking to do so. The dry run mode is +enabled by '-n' command line argument: $ xsparse -n /home/gray/GNUSparseFile.6058/sparsefile Reading v.1.0 sparse map @@ -1534,9 +1922,9 @@ mode is enabled by `-n' command line argument: $ xsparse /home/gray/GNUSparseFile.6058/sparsefile The program behaves the same way all UNIX utilities do: it will keep -quiet unless it has simething important to tell you (e.g. an error +quiet unless it has something important to tell you (e.g. an error condition or something). If you wish it to produce verbose output, -similar to that from the dry run mode, use `-v' option: +similar to that from the dry run mode, use '-v' option: $ xsparse -v /home/gray/GNUSparseFile.6058/sparsefile Reading v.1.0 sparse map @@ -1544,9 +1932,9 @@ similar to that from the dry run mode, use `-v' option: '/home/gray/sparsefile' Done - Additionally, if your `tar' implementation has extracted the -"extended headers" for this file, you can instruct `xstar' to use them -in order to verify the integrity of the expanded file. The option `-x' + Additionally, if your 'tar' implementation has extracted the +"extended headers" for this file, you can instruct 'xstar' to use them +in order to verify the integrity of the expanded file. The option '-x' sets the name of the extended header file to use. Continuing our example: @@ -1562,33 +1950,33 @@ example: '/home/gray/sparsefile' Done - An "extended header" is a special `tar' archive header that precedes + An "extended header" is a special 'tar' archive header that precedes an archive member and contains a set of "variables", describing the -member properties that cannot be stored in the standard `ustar' header. +member properties that cannot be stored in the standard 'ustar' header. While optional for expanding sparse version 1.0 members, the use of extended headers is mandatory when expanding sparse members in older sparse formats: v.0.0 and v.0.1 (The sparse formats are described in detail in *note Sparse Formats::.) So, for these formats, the question is: how to obtain extended headers from the archive? - If you use a `tar' implementation that does not support PAX format, + If you use a 'tar' implementation that does not support PAX format, extended headers for each member will be extracted as a separate file. -If we represent the member name as `DIR/NAME', then the extended header -file will be named `DIR/PaxHeaders.N/NAME', where N is an integer +If we represent the member name as 'DIR/NAME', then the extended header +file will be named 'DIR/PaxHeaders.N/NAME', where N is an integer number. - Things become more difficult if your `tar' implementation does + Things become more difficult if your 'tar' implementation does support PAX headers, because in this case you will have to manually extract the headers. We recommend the following algorithm: - 1. Consult the documentation of your `tar' implementation for an + 1. Consult the documentation of your 'tar' implementation for an option that prints "block numbers" along with the archive listing - (analogous to GNU `tar''s `-R' option). For example, `star' has - `-block-number'. + (analogous to GNU 'tar''s '-R' option). For example, 'star' has + '-block-number'. - 2. Obtain verbose listing using the `block number' option, and find + 2. Obtain verbose listing using the 'block number' option, and find block numbers of the sparse member in question and the member - immediately following it. For example, running `star' on our + immediately following it. For example, running 'star' on our archive we obtain: $ star -t -v -block-number -f arc.tar @@ -1609,10 +1997,10 @@ extract the headers. We recommend the following algorithm: N = BS - BN - SIZE/512 - 2 This number gives the size of the extended header part in tar - "blocks". In our example, this formula gives: `897 - 56 - 425984 - / 512 - 2 = 7'. + "blocks". In our example, this formula gives: '897 - 56 - 425984 / + 512 - 2 = 7'. - 4. Use `dd' to extract the headers: + 4. Use 'dd' to extract the headers: dd if=ARCHIVE of=HNAME bs=512 skip=BS count=N @@ -1640,111 +2028,111 @@ header: (1) *Note PAX 1::. - (2) Technically speaking, N is a "process ID" of the `tar' process + (2) Technically speaking, N is a "process ID" of the 'tar' process which created the archive (*note PAX keywords::).  File: tar.info, Node: cpio, Prev: Portability, Up: Formats -8.4 Comparison of `tar' and `cpio' +8.4 Comparison of 'tar' and 'cpio' ================================== _(This message will disappear, once this node revised.)_ -The `cpio' archive formats, like `tar', do have maximum file name -lengths. The binary and old ASCII formats have a maximum file length -of 256, and the new ASCII and CRC ASCII formats have a max file length -of 1024. GNU `cpio' can read and write archives with arbitrary file -name lengths, but other `cpio' implementations may crash unexplainedly -trying to read them. + The 'cpio' archive formats, like 'tar', do have maximum file name +lengths. The binary and old ASCII formats have a maximum file length of +256, and the new ASCII and CRC ASCII formats have a max file length of +1024. GNU 'cpio' can read and write archives with arbitrary file name +lengths, but other 'cpio' implementations may crash unexplainedly trying +to read them. - `tar' handles symbolic links in the form in which it comes in BSD; -`cpio' doesn't handle symbolic links in the form in which it comes in + 'tar' handles symbolic links in the form in which it comes in BSD; +'cpio' doesn't handle symbolic links in the form in which it comes in System V prior to SVR4, and some vendors may have added symlinks to -their system without enhancing `cpio' to know about them. Others may +their system without enhancing 'cpio' to know about them. Others may have enhanced it in a way other than the way I did it at Sun, and which -was adopted by AT&T (and which is, I think, also present in the `cpio' +was adopted by AT&T (and which is, I think, also present in the 'cpio' that Berkeley picked up from AT&T and put into a later BSD release--I think I gave them my changes). - (SVR4 does some funny stuff with `tar'; basically, its `cpio' can -handle `tar' format input, and write it on output, and it probably + (SVR4 does some funny stuff with 'tar'; basically, its 'cpio' can +handle 'tar' format input, and write it on output, and it probably handles symbolic links. They may not have bothered doing anything to -enhance `tar' as a result.) +enhance 'tar' as a result.) - `cpio' handles special files; traditional `tar' doesn't. + 'cpio' handles special files; traditional 'tar' doesn't. - `tar' comes with V7, System III, System V, and BSD source; `cpio' + 'tar' comes with V7, System III, System V, and BSD source; 'cpio' comes only with System III, System V, and later BSD (4.3-tahoe and later). - `tar''s way of handling multiple hard links to a file can handle -file systems that support 32-bit i-numbers (e.g., the BSD file system); -`cpio's way requires you to play some games (in its "binary" format, + 'tar''s way of handling multiple hard links to a file can handle file +systems that support 32-bit i-numbers (e.g., the BSD file system); +'cpio's way requires you to play some games (in its "binary" format, i-numbers are only 16 bits, and in its "portable ASCII" format, they're 18 bits--it would have to play games with the "file system ID" field of the header to make sure that the file system ID/i-number pairs of -different files were always different), and I don't know which `cpio's, -if any, play those games. Those that don't might get confused and -think two files are the same file when they're not, and make hard links +different files were always different), and I don't know which 'cpio's, +if any, play those games. Those that don't might get confused and think +two files are the same file when they're not, and make hard links between them. - `tar's way of handling multiple hard links to a file places only one + 'tar's way of handling multiple hard links to a file places only one copy of the link on the tape, but the name attached to that copy is the -_only_ one you can use to retrieve the file; `cpio's way puts one copy +_only_ one you can use to retrieve the file; 'cpio's way puts one copy for every link, but you can retrieve it using any of the names. What type of check sum (if any) is used, and how is this calculated. - See the attached manual pages for `tar' and `cpio' format. `tar' -uses a checksum which is the sum of all the bytes in the `tar' header -for a file; `cpio' uses no checksum. + See the attached manual pages for 'tar' and 'cpio' format. 'tar' +uses a checksum which is the sum of all the bytes in the 'tar' header +for a file; 'cpio' uses no checksum. - If anyone knows why `cpio' was made when `tar' was present at the + If anyone knows why 'cpio' was made when 'tar' was present at the unix scene, - It wasn't. `cpio' first showed up in PWB/UNIX 1.0; no -generally-available version of UNIX had `tar' at the time. I don't -know whether any version that was generally available _within AT&T_ had -`tar', or, if so, whether the people within AT&T who did `cpio' knew + It wasn't. 'cpio' first showed up in PWB/UNIX 1.0; no +generally-available version of UNIX had 'tar' at the time. I don't know +whether any version that was generally available _within AT&T_ had +'tar', or, if so, whether the people within AT&T who did 'cpio' knew about it. - On restore, if there is a corruption on a tape `tar' will stop at -that point, while `cpio' will skip over it and try to restore the rest + On restore, if there is a corruption on a tape 'tar' will stop at +that point, while 'cpio' will skip over it and try to restore the rest of the files. The main difference is just in the command syntax and header format. - `tar' is a little more tape-oriented in that everything is blocked -to start on a record boundary. + 'tar' is a little more tape-oriented in that everything is blocked to +start on a record boundary. Is there any differences between the ability to recover crashed archives between the two of them. (Is there any chance of recovering crashed archives at all.) - Theoretically it should be easier under `tar' since the blocking -lets you find a header with some variation of `dd skip=NN'. However, -modern `cpio''s and variations have an option to just search for the -next file header after an error with a reasonable chance of resyncing. -However, lots of tape driver software won't allow you to continue past -a media error which should be the only reason for getting out of sync -unless a file changed sizes while you were writing the archive. + Theoretically it should be easier under 'tar' since the blocking lets +you find a header with some variation of 'dd skip=NN'. However, modern +'cpio''s and variations have an option to just search for the next file +header after an error with a reasonable chance of resyncing. However, +lots of tape driver software won't allow you to continue past a media +error which should be the only reason for getting out of sync unless a +file changed sizes while you were writing the archive. - If anyone knows why `cpio' was made when `tar' was present at the + If anyone knows why 'cpio' was made when 'tar' was present at the unix scene, please tell me about this too. Probably because it is more media efficient (by not blocking -everything and using only the space needed for the headers where `tar' +everything and using only the space needed for the headers where 'tar' always uses 512 bytes per file header) and it knows how to archive special files. You might want to look at the freely available alternatives. The -major ones are `afio', GNU `tar', and `pax', each of which have their +major ones are 'afio', GNU 'tar', and 'pax', each of which have their own extensions with some backwards compatibility. - Sparse files were `tar'red as sparse files (which you can easily -test, because the resulting archive gets smaller, and GNU `cpio' can no + Sparse files were 'tar'red as sparse files (which you can easily +test, because the resulting archive gets smaller, and GNU 'cpio' can no longer read it).  @@ -1755,12 +2143,12 @@ File: tar.info, Node: Media, Next: Reliability and security, Prev: Formats, _(This message will disappear, once this node revised.)_ -A few special cases about tape handling warrant more detailed + A few special cases about tape handling warrant more detailed description. These special cases are discussed below. - Many complexities surround the use of `tar' on tape drives. Since + Many complexities surround the use of 'tar' on tape drives. Since the creation and manipulation of archives located on magnetic tape was -the original purpose of `tar', it contains many features making such +the original purpose of 'tar', it contains many features making such manipulation easier. Archives are usually written on dismountable media--tape cartridges, @@ -1772,10 +2160,10 @@ holds 40 megabytes of data when formatted at 1600 bits per inch. The physically smaller EXABYTE tape cartridge holds 2.3 gigabytes. Magnetic media are re-usable--once the archive on a tape is no longer -needed, the archive can be erased and the tape or disk used over. -Media quality does deteriorate with use, however. Most tapes or disks -should be discarded when they begin to produce data errors. EXABYTE -tape cartridges should be discarded when they generate an "error count" +needed, the archive can be erased and the tape or disk used over. Media +quality does deteriorate with use, however. Most tapes or disks should +be discarded when they begin to produce data errors. EXABYTE tape +cartridges should be discarded when they generate an "error count" (number of non-usable bits) of more than 10k. Magnetic media are written and erased using magnetic fields, and @@ -1803,126 +2191,125 @@ File: tar.info, Node: Device, Next: Remote Tape Server, Up: Media _(This message will disappear, once this node revised.)_ -`-f [HOSTNAME:]FILE' -`--file=[HOSTNAME:]FILE' +'-f [HOSTNAME:]FILE' +'--file=[HOSTNAME:]FILE' Use archive file or device FILE on HOSTNAME. - This option is used to specify the file name of the archive `tar' + This option is used to specify the file name of the archive 'tar' works on. - If the file name is `-', `tar' reads the archive from standard input + If the file name is '-', 'tar' reads the archive from standard input (when listing or extracting), or writes it to standard output (when -creating). If the `-' file name is given when updating an archive, -`tar' will read the original archive from its standard input, and will +creating). If the '-' file name is given when updating an archive, +'tar' will read the original archive from its standard input, and will write the entire new archive to its standard output. - If the file name contains a `:', it is interpreted as `hostname:file -name'. If the HOSTNAME contains an "at" sign (`@'), it is treated as -`user@hostname:file name'. In either case, `tar' will invoke the -command `rsh' (or `remsh') to start up an `/usr/libexec/rmt' on the + If the file name contains a ':', it is interpreted as 'hostname:file +name'. If the HOSTNAME contains an "at" sign ('@'), it is treated as +'user@hostname:file name'. In either case, 'tar' will invoke the +command 'rsh' (or 'remsh') to start up an '/usr/libexec/rmt' on the remote machine. If you give an alternate login name, it will be given -to the `rsh'. Naturally, the remote machine must have an executable -`/usr/libexec/rmt'. This program is free software from the University +to the 'rsh'. Naturally, the remote machine must have an executable +'/usr/libexec/rmt'. This program is free software from the University of California, and a copy of the source code can be found with the -sources for `tar'; it's compiled and installed by default. The exact +sources for 'tar'; it's compiled and installed by default. The exact path to this utility is determined when configuring the package. It is -`PREFIX/libexec/rmt', where PREFIX stands for your installation prefix. +'PREFIX/libexec/rmt', where PREFIX stands for your installation prefix. This location may also be overridden at runtime by using the -`--rmt-command=COMMAND' option (*Note --rmt-command: Option Summary, -for detailed description of this option. *Note Remote Tape Server::, -for the description of `rmt' command). +'--rmt-command=COMMAND' option (*Note --rmt-command: Option Summary, for +detailed description of this option. *Note Remote Tape Server::, for +the description of 'rmt' command). - If this option is not given, but the environment variable `TAPE' is -set, its value is used; otherwise, old versions of `tar' used a default -archive name (which was picked when `tar' was compiled). The default -is normally set up to be the "first" tape drive or other transportable -I/O medium on the system. + If this option is not given, but the environment variable 'TAPE' is +set, its value is used; otherwise, old versions of 'tar' used a default +archive name (which was picked when 'tar' was compiled). The default is +normally set up to be the "first" tape drive or other transportable I/O +medium on the system. - Starting with version 1.11.5, GNU `tar' uses standard input and + Starting with version 1.11.5, GNU 'tar' uses standard input and standard output as the default device, and I will not try anymore supporting automatic device detection at installation time. This was failing really in too many cases, it was hopeless. This is now -completely left to the installer to override standard input and -standard output for default device, if this seems preferable. Further, -I think _most_ actual usages of `tar' are done with pipes or disks, not -really tapes, cartridges or diskettes. +completely left to the installer to override standard input and standard +output for default device, if this seems preferable. Further, I think +_most_ actual usages of 'tar' are done with pipes or disks, not really +tapes, cartridges or diskettes. Some users think that using standard input and output is running after trouble. This could lead to a nasty surprise on your screen if you forget to specify an output file name--especially if you are going through a network or terminal server capable of buffering large amounts of output. We had so many bug reports in that area of configuring -default tapes automatically, and so many contradicting requests, that -we finally consider the problem to be portably intractable. We could -of course use something like `/dev/tape' as a default, but this is -_also_ running after various kind of trouble, going from hung processes -to accidental destruction of real tapes. After having seen all this -mess, using standard input and output as a default really sounds like -the only clean choice left, and a very useful one too. - - GNU `tar' reads and writes archive in records, I suspect this is the +default tapes automatically, and so many contradicting requests, that we +finally consider the problem to be portably intractable. We could of +course use something like '/dev/tape' as a default, but this is _also_ +running after various kind of trouble, going from hung processes to +accidental destruction of real tapes. After having seen all this mess, +using standard input and output as a default really sounds like the only +clean choice left, and a very useful one too. + + GNU 'tar' reads and writes archive in records, I suspect this is the main reason why block devices are preferred over character devices. Most probably, block devices are more efficient too. The installer -could also check for `DEFTAPE' in `'. +could also check for 'DEFTAPE' in ''. -`--force-local' +'--force-local' Archive file is local even if it contains a colon. -`--rsh-command=COMMAND' - Use remote COMMAND instead of `rsh'. This option exists so that - people who use something other than the standard `rsh' (e.g., a - Kerberized `rsh') can access a remote device. +'--rsh-command=COMMAND' + Use remote COMMAND instead of 'rsh'. This option exists so that + people who use something other than the standard 'rsh' (e.g., a + Kerberized 'rsh') can access a remote device. When this command is not used, the shell command found when the - `tar' program was installed is used instead. This is the first - found of `/usr/ucb/rsh', `/usr/bin/remsh', `/usr/bin/rsh', - `/usr/bsd/rsh' or `/usr/bin/nsh'. The installer may have - overridden this by defining the environment variable `RSH' _at + 'tar' program was installed is used instead. This is the first + found of '/usr/ucb/rsh', '/usr/bin/remsh', '/usr/bin/rsh', + '/usr/bsd/rsh' or '/usr/bin/nsh'. The installer may have + overridden this by defining the environment variable 'RSH' _at installation time_. -`-[0-7][lmh]' +'-[0-7][lmh]' Specify drive and density. -`-M' -`--multi-volume' +'-M' +'--multi-volume' Create/list/extract multi-volume archive. - This option causes `tar' to write a "multi-volume" archive--one + This option causes 'tar' to write a "multi-volume" archive--one that may be larger than will fit on the medium used to hold it. *Note Multi-Volume Archives::. -`-L NUM' -`--tape-length=SIZE[SUF]' - Change tape after writing SIZE units of data. Unless SUF is - given, SIZE is treated as kilobytes, i.e. `SIZE x 1024' bytes. - The following suffixes alter this behavior: - - Suffix Units Byte Equivalent - -------------------------------------------------------- - b Blocks SIZE x 512 - B Kilobytes SIZE x 1024 - c Bytes SIZE - G Gigabytes SIZE x 1024^3 - K Kilobytes SIZE x 1024 - k Kilobytes SIZE x 1024 - M Megabytes SIZE x 1024^2 - P Petabytes SIZE x 1024^5 - T Terabytes SIZE x 1024^4 - w Words SIZE x 2 +'-L NUM' +'--tape-length=SIZE[SUF]' + Change tape after writing SIZE units of data. Unless SUF is given, + SIZE is treated as kilobytes, i.e. 'SIZE x 1024' bytes. The + following suffixes alter this behavior: + + Suffix Units Byte Equivalent + ------------------------------------------------------------- + b Blocks SIZE x 512 + B Kilobytes SIZE x 1024 + c Bytes SIZE + G Gigabytes SIZE x 1024^3 + K Kilobytes SIZE x 1024 + k Kilobytes SIZE x 1024 + M Megabytes SIZE x 1024^2 + P Petabytes SIZE x 1024^5 + T Terabytes SIZE x 1024^4 + w Words SIZE x 2 Table 9.1: Size Suffixes - This option might be useful when your tape drivers do not - properly detect end of physical tapes. By being slightly - conservative on the maximum tape length, you might avoid the - problem entirely. + This option might be useful when your tape drivers do not properly + detect end of physical tapes. By being slightly conservative on + the maximum tape length, you might avoid the problem entirely. - `-F COMMAND' - `--info-script=COMMAND' - `--new-volume-script=COMMAND' - Execute COMMAND at end of each tape. This implies - `--multi-volume' (`-M'). *Note info-script::, for a detailed - description of this option. +'-F COMMAND' +'--info-script=COMMAND' +'--new-volume-script=COMMAND' + Execute COMMAND at end of each tape. This implies '--multi-volume' + ('-M'). *Note info-script::, for a detailed description of this + option.  File: tar.info, Node: Remote Tape Server, Next: Common Problems and Solutions, Prev: Device, Up: Media @@ -1930,69 +2317,69 @@ File: tar.info, Node: Remote Tape Server, Next: Common Problems and Solutions, 9.2 Remote Tape Server ====================== -In order to access the tape drive on a remote machine, `tar' uses the +In order to access the tape drive on a remote machine, 'tar' uses the remote tape server written at the University of California at Berkeley. -The remote tape server must be installed as `PREFIX/libexec/rmt' on any -machine whose tape drive you want to use. `tar' calls `rmt' by running -an `rsh' or `remsh' to the remote machine, optionally using a different +The remote tape server must be installed as 'PREFIX/libexec/rmt' on any +machine whose tape drive you want to use. 'tar' calls 'rmt' by running +an 'rsh' or 'remsh' to the remote machine, optionally using a different login name if one is supplied. A copy of the source for the remote tape server is provided. Its source code can be freely distributed. It is compiled and installed by default. - Unless you use the `--absolute-names' (`-P') option, GNU `tar' will + Unless you use the '--absolute-names' ('-P') option, GNU 'tar' will not allow you to create an archive that contains absolute file names (a -file name beginning with `/'.) If you try, `tar' will automatically -remove the leading `/' from the file names it stores in the archive. -It will also type a warning message telling you what it is doing. +file name beginning with '/'). If you try, 'tar' will automatically +remove the leading '/' from the file names it stores in the archive. It +will also type a warning message telling you what it is doing. - When reading an archive that was created with a different `tar' -program, GNU `tar' automatically extracts entries in the archive which + When reading an archive that was created with a different 'tar' +program, GNU 'tar' automatically extracts entries in the archive which have absolute file names as if the file names were not absolute. This -is an important feature. A visitor here once gave a `tar' tape to an -operator to restore; the operator used Sun `tar' instead of GNU `tar', -and the result was that it replaced large portions of our `/bin' and +is an important feature. A visitor here once gave a 'tar' tape to an +operator to restore; the operator used Sun 'tar' instead of GNU 'tar', +and the result was that it replaced large portions of our '/bin' and friends with versions from the tape; needless to say, we were unhappy about having to recover the file system from backup tapes. - For example, if the archive contained a file `/usr/bin/computoy', -GNU `tar' would extract the file to `usr/bin/computoy', relative to the + For example, if the archive contained a file '/usr/bin/computoy', GNU +'tar' would extract the file to 'usr/bin/computoy', relative to the current directory. If you want to extract the files in an archive to the same absolute names that they had when the archive was created, you -should do a `cd /' before extracting the files from the archive, or you -should either use the `--absolute-names' option, or use the command -`tar -C / ...'. +should do a 'cd /' before extracting the files from the archive, or you +should either use the '--absolute-names' option, or use the command 'tar +-C / ...'. - Some versions of Unix (Ultrix 3.1 is known to have this problem), -can claim that a short write near the end of a tape succeeded, when it + Some versions of Unix (Ultrix 3.1 is known to have this problem), can +claim that a short write near the end of a tape succeeded, when it actually failed. This will result in the -M option not working correctly. The best workaround at the moment is to use a significantly larger blocking factor than the default 20. - In order to update an archive, `tar' must be able to backspace the + In order to update an archive, 'tar' must be able to backspace the archive in order to reread or rewrite a record that was just read (or written). This is currently possible only on two kinds of files: normal -disk files (or any other file that can be backspaced with `lseek'), and +disk files (or any other file that can be backspaced with 'lseek'), and industry-standard 9-track magnetic tape (or any other kind of tape that -can be backspaced with the `MTIOCTOP' `ioctl'). +can be backspaced with the 'MTIOCTOP' 'ioctl'). - This means that the `--append', `--concatenate', and `--delete' + This means that the '--append', '--concatenate', and '--delete' commands will not work on any other kind of file. Some media simply cannot be backspaced, which means these commands and options will never be able to work on them. These non-backspacing media include pipes and cartridge tape drives. - Some other media can be backspaced, and `tar' will work on them once -`tar' is modified to do so. + Some other media can be backspaced, and 'tar' will work on them once +'tar' is modified to do so. - Archives created with the `--multi-volume', `--label', and -`--incremental' (`-G') options may not be readable by other version of -`tar'. In particular, restoring a file that was split over a volume -boundary will require some careful work with `dd', if it can be done at -all. Other versions of `tar' may also create an empty file whose name -is that of the volume header. Some versions of `tar' may create normal -files instead of directories archived with the `--incremental' (`-G') + Archives created with the '--multi-volume', '--label', and +'--incremental' ('-G') options may not be readable by other version of +'tar'. In particular, restoring a file that was split over a volume +boundary will require some careful work with 'dd', if it can be done at +all. Other versions of 'tar' may also create an empty file whose name +is that of the volume header. Some versions of 'tar' may create normal +files instead of directories archived with the '--incremental' ('-G') option.  @@ -2006,7 +2393,7 @@ permission denied no such file or directory not owner -errors from `tar': +errors from 'tar': directory checksum error header format error @@ -2026,59 +2413,58 @@ to the field have a fresh mind, and they may safely skip the next two paragraphs, as the remainder of this manual uses those two terms in a quite consistent way. - John Gilmore, the writer of the public domain `tar' from which GNU -`tar' was originally derived, wrote (June 1995): + John Gilmore, the writer of the public domain 'tar' from which GNU +'tar' was originally derived, wrote (June 1995): The nomenclature of tape drives comes from IBM, where I believe they were invented for the IBM 650 or so. On IBM mainframes, what is recorded on tape are tape blocks. The logical organization of data is into records. There are various ways of putting records - into blocks, including `F' (fixed sized records), `V' (variable - sized records), `FB' (fixed blocked: fixed size records, N to a - block), `VB' (variable size records, N to a block), `VSB' - (variable spanned blocked: variable sized records that can occupy - more than one block), etc. The `JCL' `DD RECFORM=' parameter - specified this to the operating system. - - The Unix man page on `tar' was totally confused about this. When - I wrote `PD TAR', I used the historically correct terminology - (`tar' writes data records, which are grouped into blocks). It - appears that the bogus terminology made it into POSIX (no surprise - here), and now Franc,ois has migrated that terminology back into - the source code too. - - The term "physical block" means the basic transfer chunk from or to -a device, after which reading or writing may stop without anything -being lost. In this manual, the term "block" usually refers to a disk + into blocks, including 'F' (fixed sized records), 'V' (variable + sized records), 'FB' (fixed blocked: fixed size records, N to a + block), 'VB' (variable size records, N to a block), 'VSB' (variable + spanned blocked: variable sized records that can occupy more than + one block), etc. The 'JCL' 'DD RECFORM=' parameter specified this + to the operating system. + + The Unix man page on 'tar' was totally confused about this. When I + wrote 'PD TAR', I used the historically correct terminology ('tar' + writes data records, which are grouped into blocks). It appears + that the bogus terminology made it into POSIX (no surprise here), + and now Franc,ois has migrated that terminology back into the + source code too. + + The term "physical block" means the basic transfer chunk from or to a +device, after which reading or writing may stop without anything being +lost. In this manual, the term "block" usually refers to a disk physical block, _assuming_ that each disk block is 512 bytes in length. It is true that some disk devices have different physical blocks, but -`tar' ignore these differences in its own format, which is meant to be -portable, so a `tar' block is always 512 bytes in length, and "block" -always mean a `tar' block. The term "logical block" often represents +'tar' ignore these differences in its own format, which is meant to be +portable, so a 'tar' block is always 512 bytes in length, and "block" +always mean a 'tar' block. The term "logical block" often represents the basic chunk of allocation of many disk blocks as a single entity, which the operating system treats somewhat atomically; this concept is -only barely used in GNU `tar'. +only barely used in GNU 'tar'. The term "physical record" is another way to speak of a physical block, those two terms are somewhat interchangeable. In this manual, the term "record" usually refers to a tape physical block, _assuming_ -that the `tar' archive is kept on magnetic tape. It is true that -archives may be put on disk or used with pipes, but nevertheless, `tar' -tries to read and write the archive one "record" at a time, whatever -the medium in use. One record is made up of an integral number of -blocks, and this operation of putting many disk blocks into a single -tape block is called "reblocking", or more simply, "blocking". The -term "logical record" refers to the logical organization of many -characters into something meaningful to the application. The term -"unit record" describes a small set of characters which are transmitted -whole to or by the application, and often refers to a line of text. -Those two last terms are unrelated to what we call a "record" in GNU -`tar'. - - When writing to tapes, `tar' writes the contents of the archive in +that the 'tar' archive is kept on magnetic tape. It is true that +archives may be put on disk or used with pipes, but nevertheless, 'tar' +tries to read and write the archive one "record" at a time, whatever the +medium in use. One record is made up of an integral number of blocks, +and this operation of putting many disk blocks into a single tape block +is called "reblocking", or more simply, "blocking". The term "logical +record" refers to the logical organization of many characters into +something meaningful to the application. The term "unit record" +describes a small set of characters which are transmitted whole to or by +the application, and often refers to a line of text. Those two last +terms are unrelated to what we call a "record" in GNU 'tar'. + + When writing to tapes, 'tar' writes the contents of the archive in chunks known as "records". To change the default blocking factor, use -the `--blocking-factor=512-SIZE' (`-b 512-SIZE') option. Each record -will then be composed of 512-SIZE blocks. (Each `tar' block is 512 +the '--blocking-factor=512-SIZE' ('-b 512-SIZE') option. Each record +will then be composed of 512-SIZE blocks. (Each 'tar' block is 512 bytes. *Note Standard::.) Each file written to the archive uses at least one full record. As a result, using a larger record size can result in more wasted space for small files. On the other hand, a @@ -2090,40 +2476,39 @@ performance (because the software layers above the tape drive still honor the blocking), but not as dramatically as on tape drives that honor blocking. - When reading an archive, `tar' can usually figure out the record -size on itself. When this is the case, and a non-standard record size -was used when the archive was created, `tar' will print a message about -a non-standard blocking factor, and then operate normally(1). On some -tape devices, however, `tar' cannot figure out the record size itself. + When reading an archive, 'tar' can usually figure out the record size +on itself. When this is the case, and a non-standard record size was +used when the archive was created, 'tar' will print a message about a +non-standard blocking factor, and then operate normally(1). On some +tape devices, however, 'tar' cannot figure out the record size itself. On most of those, you can specify a blocking factor (with -`--blocking-factor') larger than the actual blocking factor, and then -use the `--read-full-records' (`-B') option. (If you specify a -blocking factor with `--blocking-factor' and don't use the -`--read-full-records' option, then `tar' will not attempt to figure out -the recording size itself.) On some devices, you must always specify -the record size exactly with `--blocking-factor' when reading, because -`tar' cannot figure it out. In any case, use `--list' (`-t') before -doing any extractions to see whether `tar' is reading the archive -correctly. - - `tar' blocks are all fixed size (512 bytes), and its scheme for -putting them into records is to put a whole number of them (one or -more) into each record. `tar' records are all the same size; at the -end of the file there's a block containing all zeros, which is how you -tell that the remainder of the last record(s) are garbage. - - In a standard `tar' file (no options), the block size is 512 and the +'--blocking-factor') larger than the actual blocking factor, and then +use the '--read-full-records' ('-B') option. (If you specify a blocking +factor with '--blocking-factor' and don't use the '--read-full-records' +option, then 'tar' will not attempt to figure out the recording size +itself.) On some devices, you must always specify the record size +exactly with '--blocking-factor' when reading, because 'tar' cannot +figure it out. In any case, use '--list' ('-t') before doing any +extractions to see whether 'tar' is reading the archive correctly. + + 'tar' blocks are all fixed size (512 bytes), and its scheme for +putting them into records is to put a whole number of them (one or more) +into each record. 'tar' records are all the same size; at the end of +the file there's a block containing all zeros, which is how you tell +that the remainder of the last record(s) are garbage. + + In a standard 'tar' file (no options), the block size is 512 and the record size is 10240, for a blocking factor of 20. What the -`--blocking-factor' option does is sets the blocking factor, changing +'--blocking-factor' option does is sets the blocking factor, changing the record size while leaving the block size at 512 bytes. 20 was fine for ancient 800 or 1600 bpi reel-to-reel tape drives; most tape drives these days prefer much bigger records in order to stream and not waste tape. When writing tapes for myself, some tend to use a factor of the order of 2048, say, giving a record size of around one megabyte. - If you use a blocking factor larger than 20, older `tar' programs + If you use a blocking factor larger than 20, older 'tar' programs might not be able to read the archive, so we recommend this as a limit -to use in practice. GNU `tar', however, will support arbitrarily large +to use in practice. GNU 'tar', however, will support arbitrarily large record sizes, limited only by the amount of virtual memory or the physical characteristics of the tape device. @@ -2135,7 +2520,7 @@ physical characteristics of the tape device. ---------- Footnotes ---------- (1) If this message is not needed, you can turn it off using the -`--warning=no-record-size' option. +'--warning=no-record-size' option.  File: tar.info, Node: Format Variations, Next: Blocking Factor, Up: Blocking @@ -2145,17 +2530,17 @@ File: tar.info, Node: Format Variations, Next: Blocking Factor, Up: Blocking _(This message will disappear, once this node revised.)_ -Format parameters specify how an archive is written on the archive + Format parameters specify how an archive is written on the archive media. The best choice of format parameters will vary depending on the type and number of files being archived, and on the media used to store the archive. To specify format parameters when accessing or creating an archive, you can use the options described in the following sections. If you do -not specify any format parameters, `tar' uses default parameters. You +not specify any format parameters, 'tar' uses default parameters. You cannot modify a compressed archive. If you create an archive with the -`--blocking-factor' option specified (*note Blocking Factor::), you -must specify that blocking-factor when operating on the archive. *Note +'--blocking-factor' option specified (*note Blocking Factor::), you must +specify that blocking-factor when operating on the archive. *Note Formats::, for other examples of format parameter considerations.  @@ -2166,35 +2551,34 @@ File: tar.info, Node: Blocking Factor, Prev: Format Variations, Up: Blocking _(This message will disappear, once this node revised.)_ -The data in an archive is grouped into blocks, which are 512 bytes. + The data in an archive is grouped into blocks, which are 512 bytes. Blocks are read and written in whole number multiples called "records". -The number of blocks in a record (i.e., the size of a record in units -of 512 bytes) is called the "blocking factor". The -`--blocking-factor=512-SIZE' (`-b 512-SIZE') option specifies the -blocking factor of an archive. The default blocking factor is -typically 20 (i.e., 10240 bytes), but can be specified at installation. -To find out the blocking factor of an existing archive, use `tar --list +The number of blocks in a record (i.e., the size of a record in units of +512 bytes) is called the "blocking factor". The +'--blocking-factor=512-SIZE' ('-b 512-SIZE') option specifies the +blocking factor of an archive. The default blocking factor is typically +20 (i.e., 10240 bytes), but can be specified at installation. To find +out the blocking factor of an existing archive, use 'tar --list --file=ARCHIVE-NAME'. This may not work on some devices. Records are separated by gaps, which waste space on the archive media. If you are archiving on magnetic tape, using a larger blocking factor (and therefore larger records) provides faster throughput and allows you to fit more data on a tape (because there are fewer gaps). -If you are archiving on cartridge, a very large blocking factor (say -126 or more) greatly increases performance. A smaller blocking factor, -on the other hand, may be useful when archiving small files, to avoid -archiving lots of nulls as `tar' fills out the archive to the end of -the record. In general, the ideal record size depends on the size of -the inter-record gaps on the tape you are using, and the average size -of the files you are archiving. *Note create::, for information on -writing archives. +If you are archiving on cartridge, a very large blocking factor (say 126 +or more) greatly increases performance. A smaller blocking factor, on +the other hand, may be useful when archiving small files, to avoid +archiving lots of nulls as 'tar' fills out the archive to the end of the +record. In general, the ideal record size depends on the size of the +inter-record gaps on the tape you are using, and the average size of the +files you are archiving. *Note create::, for information on writing +archives. Archives with blocking factors larger than 20 cannot be read by very -old versions of `tar', or by some newer versions of `tar' running on -old machines with small address spaces. With GNU `tar', the blocking -factor of an archive is limited only by the maximum record size of the -device containing the archive, or by the amount of available virtual -memory. +old versions of 'tar', or by some newer versions of 'tar' running on old +machines with small address spaces. With GNU 'tar', the blocking factor +of an archive is limited only by the maximum record size of the device +containing the archive, or by the amount of available virtual memory. Also, on some systems, not using adequate blocking factors, as sometimes imposed by the device drivers, may yield unexpected @@ -2202,49 +2586,49 @@ diagnostics. For example, this has been reported: Cannot write to /dev/dlt: Invalid argument -In such cases, it sometimes happen that the `tar' bundled by the system -is aware of block size idiosyncrasies, while GNU `tar' requires an +In such cases, it sometimes happen that the 'tar' bundled by the system +is aware of block size idiosyncrasies, while GNU 'tar' requires an explicit specification for the block size, which it cannot guess. This -yields some people to consider GNU `tar' is misbehaving, because by -comparison, `the bundle `tar' works OK'. Adding `-b 256', for example, +yields some people to consider GNU 'tar' is misbehaving, because by +comparison, 'the bundle 'tar' works OK'. Adding '-b 256', for example, might resolve the problem. If you use a non-default blocking factor when you create an archive, you must specify the same blocking factor when you modify that archive. Some archive devices will also require you to specify the blocking factor when reading that archive, however this is not typically the -case. Usually, you can use `--list' (`-t') without specifying a -blocking factor--`tar' reports a non-default record size and then lists +case. Usually, you can use '--list' ('-t') without specifying a +blocking factor--'tar' reports a non-default record size and then lists the archive members as it would normally. To extract files from an archive with a non-standard blocking factor (particularly if you're not sure what the blocking factor is), you can usually use the -`--read-full-records' (`-B') option while specifying a blocking factor -larger then the blocking factor of the archive (i.e., `tar --extract +'--read-full-records' ('-B') option while specifying a blocking factor +larger then the blocking factor of the archive (i.e., 'tar --extract --read-full-records --blocking-factor=300'). *Note list::, for more -information on the `--list' (`-t') operation. *Note Reading::, for a +information on the '--list' ('-t') operation. *Note Reading::, for a more detailed explanation of that option. -`--blocking-factor=NUMBER' -`-b NUMBER' +'--blocking-factor=NUMBER' +'-b NUMBER' Specifies the blocking factor of an archive. Can be used with any - operation, but is usually not necessary with `--list' (`-t'). + operation, but is usually not necessary with '--list' ('-t'). Device blocking -`-b BLOCKS' -`--blocking-factor=BLOCKS' +'-b BLOCKS' +'--blocking-factor=BLOCKS' Set record size to BLOCKS*512 bytes. This option is used to specify a "blocking factor" for the archive. - When reading or writing the archive, `tar', will do reads and + When reading or writing the archive, 'tar', will do reads and writes of the archive in records of BLOCK*512 bytes. This is true even when the archive is compressed. Some devices requires that - all write operations be a multiple of a certain size, and so, `tar' + all write operations be a multiple of a certain size, and so, 'tar' pads the archive out to the next record boundary. - The default blocking factor is set when `tar' is compiled, and is + The default blocking factor is set when 'tar' is compiled, and is typically 20. Blocking factors larger than 20 cannot be read by - very old versions of `tar', or by some newer versions of `tar' + very old versions of 'tar', or by some newer versions of 'tar' running on old machines with small address spaces. With a magnetic tape, larger records give faster throughput and fit @@ -2260,10 +2644,10 @@ more detailed explanation of that option. Apparently, Exabyte drives have a physical block size of 8K bytes. If we choose our blocksize as a multiple of 8k bytes, then the - problem seems to disappear. Id est, we are using block size of - 112 right now, and we haven't had the problem since we switched... + problem seems to disappear. Id est, we are using block size of 112 + right now, and we haven't had the problem since we switched... - With GNU `tar' the blocking factor is limited only by the maximum + With GNU 'tar' the blocking factor is limited only by the maximum record size of the device containing the archive, or by the amount of available virtual memory. @@ -2271,14 +2655,11 @@ more detailed explanation of that option. case which often occurs in practice, but which requires all the following conditions to be simultaneously true: * the archive is subject to a compression option, - * the archive is not handled through standard input or output, nor redirected nor piped, - * the archive is directly handled to a local disk, instead of any special device, - - * `--blocking-factor' is not explicitly specified on the `tar' + * '--blocking-factor' is not explicitly specified on the 'tar' invocation. If the output goes directly to a local disk, and not through @@ -2286,70 +2667,69 @@ more detailed explanation of that option. Otherwise, reblocking occurs. Here are a few other remarks on this topic: - * `gzip' will complain about trailing garbage if asked to - uncompress a compressed archive on tape, there is an option - to turn the message off, but it breaks the regularity of - simply having to use `PROG -d' for decompression. It would - be nice if gzip was silently ignoring any number of trailing - zeros. I'll ask Jean-loup Gailly, by sending a copy of this - message to him. + * 'gzip' will complain about trailing garbage if asked to + uncompress a compressed archive on tape, there is an option to + turn the message off, but it breaks the regularity of simply + having to use 'PROG -d' for decompression. It would be nice + if gzip was silently ignoring any number of trailing zeros. + I'll ask Jean-loup Gailly, by sending a copy of this message + to him. - * `compress' does not show this problem, but as Jean-loup - pointed out to Michael, `compress -d' silently adds garbage + * 'compress' does not show this problem, but as Jean-loup + pointed out to Michael, 'compress -d' silently adds garbage after the result of decompression, which tar ignores because it already recognized its end-of-file indicator. So this bug may be safely ignored. - * `gzip -d -q' will be silent about the trailing zeros indeed, - but will still return an exit status of 2 which tar reports - in turn. `tar' might ignore the exit status returned, but I - hate doing that, as it weakens the protection `tar' offers - users against other possible problems at decompression time. - If `gzip' was silently skipping trailing zeros _and_ also + * 'gzip -d -q' will be silent about the trailing zeros indeed, + but will still return an exit status of 2 which tar reports in + turn. 'tar' might ignore the exit status returned, but I hate + doing that, as it weakens the protection 'tar' offers users + against other possible problems at decompression time. If + 'gzip' was silently skipping trailing zeros _and_ also avoiding setting the exit status in this innocuous case, that would solve this situation. - * `tar' should become more solid at not stopping to read a pipe + * 'tar' should become more solid at not stopping to read a pipe at the first null block encountered. This inelegantly breaks - the pipe. `tar' should rather drain the pipe out before + the pipe. 'tar' should rather drain the pipe out before exiting itself. -`-i' -`--ignore-zeros' +'-i' +'--ignore-zeros' Ignore blocks of zeros in archive (means EOF). - The `--ignore-zeros' (`-i') option causes `tar' to ignore blocks - of zeros in the archive. Normally a block of zeros indicates the - end of the archive, but when reading a damaged archive, or one - which was created by concatenating several archives together, this - option allows `tar' to read the entire archive. This option is - not on by default because many versions of `tar' write garbage - after the zeroed blocks. + The '--ignore-zeros' ('-i') option causes 'tar' to ignore blocks of + zeros in the archive. Normally a block of zeros indicates the end + of the archive, but when reading a damaged archive, or one which + was created by concatenating several archives together, this option + allows 'tar' to read the entire archive. This option is not on by + default because many versions of 'tar' write garbage after the + zeroed blocks. - Note that this option causes `tar' to read to the end of the + Note that this option causes 'tar' to read to the end of the archive file, which may sometimes avoid problems when multiple files are stored on a single physical tape. -`-B' -`--read-full-records' +'-B' +'--read-full-records' Reblock as we read (for reading 4.2BSD pipes). - If `--read-full-records' is used, `tar' will not panic if an + If '--read-full-records' is used, 'tar' will not panic if an attempt to read a record from the archive does not return a full - record. Instead, `tar' will keep reading until it has obtained a + record. Instead, 'tar' will keep reading until it has obtained a full record. - This option is turned on by default when `tar' is reading an + This option is turned on by default when 'tar' is reading an archive from standard input, or from a remote machine. This is because on BSD Unix systems, a read of a pipe will return however - much happens to be in the pipe, even if it is less than `tar' - requested. If this option was not used, `tar' would fail as soon + much happens to be in the pipe, even if it is less than 'tar' + requested. If this option was not used, 'tar' would fail as soon as it read an incomplete record from the pipe. This option is also useful with the commands for updating an archive. - Tape blocking When handling various tapes or cartridges, you have to take care of @@ -2359,26 +2739,26 @@ gaps. A "tape gap" is a small landing area on the tape with no information on it, used for decelerating the tape to a full stop, and for later regaining the reading or writing speed. When the tape driver starts reading a record, the record has to be read whole without -stopping, as a tape gap is needed to stop the tape motion without -losing information. +stopping, as a tape gap is needed to stop the tape motion without losing +information. Using higher blocking (putting more disk blocks per tape block) will use the tape more efficiently as there will be less tape gaps. But reading such tapes may be more difficult for the system, as more memory -will be required to receive at once the whole record. Further, if -there is a reading error on a huge record, this is less likely that the -system will succeed in recovering the information. So, blocking should -not be too low, nor it should be too high. `tar' uses by default a -blocking of 20 for historical reasons, and it does not really matter -when reading or writing to disk. Current tape technology would easily -accommodate higher blockings. Sun recommends a blocking of 126 for -Exabytes and 96 for DATs. We were told that for some DLT drives, the -blocking should be a multiple of 4Kb, preferably 64Kb (`-b 128') or 256 -for decent performance. Other manufacturers may use different -recommendations for the same tapes. This might also depends of the -buffering techniques used inside modern tape controllers. Some imposes -a minimum blocking, or a maximum blocking. Others request blocking to -be some exponent of two. +will be required to receive at once the whole record. Further, if there +is a reading error on a huge record, this is less likely that the system +will succeed in recovering the information. So, blocking should not be +too low, nor it should be too high. 'tar' uses by default a blocking of +20 for historical reasons, and it does not really matter when reading or +writing to disk. Current tape technology would easily accommodate +higher blockings. Sun recommends a blocking of 126 for Exabytes and 96 +for DATs. We were told that for some DLT drives, the blocking should be +a multiple of 4Kb, preferably 64Kb ('-b 128') or 256 for decent +performance. Other manufacturers may use different recommendations for +the same tapes. This might also depends of the buffering techniques +used inside modern tape controllers. Some imposes a minimum blocking, +or a maximum blocking. Others request blocking to be some exponent of +two. So, there is no fixed rule for blocking. But blocking at read time should ideally be the same as blocking used at write time. At one place @@ -2389,8 +2769,8 @@ blocking of 32 to guarantee that their tapes are fully interchangeable. drive unit that will be used to create the archives) sometimes lowers the error rates observed at rewriting time. - I might also use `--number-blocks' instead of `--block-number', so -`--block' will then expand to `--blocking-factor' unambiguously. + I might also use '--number-blocks' instead of '--block-number', so +'--block' will then expand to '--blocking-factor' unambiguously.  File: tar.info, Node: Many, Next: Using Multiple Tapes, Prev: Blocking, Up: Media @@ -2398,37 +2778,36 @@ File: tar.info, Node: Many, Next: Using Multiple Tapes, Prev: Blocking, Up: 9.5 Many Archives on One Tape ============================= -Most tape devices have two entries in the `/dev' directory, or entries +Most tape devices have two entries in the '/dev' directory, or entries that come in pairs, which differ only in the minor number for this -device. Let's take for example `/dev/tape', which often points to the +device. Let's take for example '/dev/tape', which often points to the only or usual tape device of a given system. There might be a -corresponding `/dev/nrtape' or `/dev/ntape'. The simpler name is the -_rewinding_ version of the device, while the name having `nr' in it is +corresponding '/dev/nrtape' or '/dev/ntape'. The simpler name is the +_rewinding_ version of the device, while the name having 'nr' in it is the _no rewinding_ version of the same device. A rewinding tape device will bring back the tape to its beginning -point automatically when this device is opened or closed. Since `tar' +point automatically when this device is opened or closed. Since 'tar' opens the archive file before using it and closes it afterwards, this means that a simple: $ tar cf /dev/tape DIRECTORY will reposition the tape to its beginning both prior and after saving -DIRECTORY contents to it, thus erasing prior tape contents and making -it so that any subsequent write operation will destroy what has just -been saved. +DIRECTORY contents to it, thus erasing prior tape contents and making it +so that any subsequent write operation will destroy what has just been +saved. So, a rewinding device is normally meant to hold one and only one -file. If you want to put more than one `tar' archive on a given tape, +file. If you want to put more than one 'tar' archive on a given tape, you will need to avoid using the rewinding version of the tape device. -You will also have to pay special attention to tape positioning. -Errors in positioning may overwrite the valuable data already on your -tape. Many people, burnt by past experiences, will only use rewinding -devices and limit themselves to one file per tape, precisely to avoid -the risk of such errors. Be fully aware that writing at the wrong -position on a tape loses all information past this point and most -probably until the end of the tape, and this destroyed information -_cannot_ be recovered. +You will also have to pay special attention to tape positioning. Errors +in positioning may overwrite the valuable data already on your tape. +Many people, burnt by past experiences, will only use rewinding devices +and limit themselves to one file per tape, precisely to avoid the risk +of such errors. Be fully aware that writing at the wrong position on a +tape loses all information past this point and most probably until the +end of the tape, and this destroyed information _cannot_ be recovered. To save DIRECTORY-1 as a first archive at the beginning of a tape, and leave that tape ready for a second archive, you should use: @@ -2436,17 +2815,17 @@ and leave that tape ready for a second archive, you should use: $ mt -f /dev/nrtape rewind $ tar cf /dev/nrtape DIRECTORY-1 - "Tape marks" are special magnetic patterns written on the tape -media, which are later recognizable by the reading hardware. These -marks are used after each file, when there are many on a single tape. -An empty file (that is to say, two tape marks in a row) signal the -logical end of the tape, after which no file exist. Usually, -non-rewinding tape device drivers will react to the close request issued -by `tar' by first writing two tape marks after your archive, and by -backspacing over one of these. So, if you remove the tape at that time -from the tape drive, it is properly terminated. But if you write -another file at the current position, the second tape mark will be -erased by the new information, leaving only one tape mark between files. + "Tape marks" are special magnetic patterns written on the tape media, +which are later recognizable by the reading hardware. These marks are +used after each file, when there are many on a single tape. An empty +file (that is to say, two tape marks in a row) signal the logical end of +the tape, after which no file exist. Usually, non-rewinding tape device +drivers will react to the close request issued by 'tar' by first writing +two tape marks after your archive, and by backspacing over one of these. +So, if you remove the tape at that time from the tape drive, it is +properly terminated. But if you write another file at the current +position, the second tape mark will be erased by the new information, +leaving only one tape mark between files. So, you may now save DIRECTORY-2 as a second archive after the first on the same tape by issuing the command: @@ -2473,7 +2852,7 @@ but you should do the proper things for that as well. *Note Blocking::. * Menu: * Tape Positioning:: Tape Positions and Tape Marks -* mt:: The `mt' Utility +* mt:: The 'mt' Utility  File: tar.info, Node: Tape Positioning, Next: mt, Up: Many @@ -2483,12 +2862,12 @@ File: tar.info, Node: Tape Positioning, Next: mt, Up: Many _(This message will disappear, once this node revised.)_ -Just as archives can store more than one file from the file system, + Just as archives can store more than one file from the file system, tapes can store more than one archive file. To keep track of where archive files (or any other type of file stored on tape) begin and end, tape archive devices write magnetic "tape marks" on the archive media. -Tape drives write one tape mark between files, two at the end of all -the file entries. +Tape drives write one tape mark between files, two at the end of all the +file entries. If you think of data as a series of records "rrrr"'s, and tape marks as "*"'s, a tape might look like the following: @@ -2497,21 +2876,20 @@ as "*"'s, a tape might look like the following: Tape devices read and write tapes using a read/write "tape head"--a physical part of the device which can only access one point on the tape -at a time. When you use `tar' to read or write archive data from a -tape device, the device will begin reading or writing from wherever on -the tape the tape head happens to be, regardless of which archive or -what part of the archive the tape head is on. Before writing an -archive, you should make sure that no data on the tape will be -overwritten (unless it is no longer needed). Before reading an -archive, you should make sure the tape head is at the beginning of the -archive you want to read. You can do it manually via `mt' utility -(*note mt::). The `restore' script does that automatically (*note -Scripted Restoration::). +at a time. When you use 'tar' to read or write archive data from a tape +device, the device will begin reading or writing from wherever on the +tape the tape head happens to be, regardless of which archive or what +part of the archive the tape head is on. Before writing an archive, you +should make sure that no data on the tape will be overwritten (unless it +is no longer needed). Before reading an archive, you should make sure +the tape head is at the beginning of the archive you want to read. You +can do it manually via 'mt' utility (*note mt::). The 'restore' script +does that automatically (*note Scripted Restoration::). If you want to add new archive file entries to a tape, you should -advance the tape to the end of the existing file entries, backspace -over the last tape mark, and write the new archive file. If you were -to add two archives to the example above, the tape might look like the +advance the tape to the end of the existing file entries, backspace over +the last tape mark, and write the new archive file. If you were to add +two archives to the example above, the tape might look like the following: rrrr*rrrrrr*rrrrr*rr*rrrrr*rrr*rrrr**---------------- @@ -2519,19 +2897,19 @@ following:  File: tar.info, Node: mt, Prev: Tape Positioning, Up: Many -9.5.2 The `mt' Utility +9.5.2 The 'mt' Utility ---------------------- _(This message will disappear, once this node revised.)_ -*Note Blocking Factor::. + *Note Blocking Factor::. - You can use the `mt' utility to advance or rewind a tape past a + You can use the 'mt' utility to advance or rewind a tape past a specified number of archive files on the tape. This will allow you to move to the beginning of an archive before extracting or reading it, or to the end of all the archives before writing a new one. - The syntax of the `mt' command is: + The syntax of the 'mt' command is: mt [-f TAPENAME] OPERATION [NUMBER] @@ -2539,36 +2917,35 @@ to the end of all the archives before writing a new one. of times an operation is performed (with a default of one), and OPERATION is one of the following: -`eof' -`weof' +'eof' +'weof' Writes NUMBER tape marks at the current position on the tape. -`fsf' +'fsf' Moves tape position forward NUMBER files. -`bsf' +'bsf' Moves tape position back NUMBER files. -`rewind' +'rewind' Rewinds the tape. (Ignores NUMBER.) -`offline' -`rewoff1' +'offline' +'rewoff1' Rewinds the tape and takes the tape device off-line. (Ignores NUMBER.) -`status' +'status' Prints status information about the tape unit. + If you don't specify a TAPENAME, 'mt' uses the environment variable +'TAPE'; if 'TAPE' is not set, 'mt' will use the default device specified +in your 'sys/mtio.h' file ('DEFTAPE' variable). If this is not defined, +the program will display a descriptive error message and exit with code +1. - If you don't specify a TAPENAME, `mt' uses the environment variable -`TAPE'; if `TAPE' is not set, `mt' will use the default device -specified in your `sys/mtio.h' file (`DEFTAPE' variable). If this is -not defined, the program will display a descriptive error message and -exit with code 1. - - `mt' returns a 0 exit status when the operation(s) were successful, -1 if the command was unrecognized, and 2 if an operation failed. + 'mt' returns a 0 exit status when the operation(s) were successful, 1 +if the command was unrecognized, and 2 if an operation failed.  File: tar.info, Node: Using Multiple Tapes, Next: label, Prev: Many, Up: Media @@ -2578,27 +2955,27 @@ File: tar.info, Node: Using Multiple Tapes, Next: label, Prev: Many, Up: Med Often you might want to write a large archive, one larger than will fit on the actual tape you are using. In such a case, you can run multiple -`tar' commands, but this can be inconvenient, particularly if you are -using options like `--exclude=PATTERN' or dumping entire file systems. -Therefore, `tar' provides a special mode for creating multi-volume +'tar' commands, but this can be inconvenient, particularly if you are +using options like '--exclude=PATTERN' or dumping entire file systems. +Therefore, 'tar' provides a special mode for creating multi-volume archives. - "Multi-volume" archive is a single `tar' archive, stored on several + "Multi-volume" archive is a single 'tar' archive, stored on several media volumes of fixed size. Although in this section we will often -call `volume' a "tape", there is absolutely no requirement for +call 'volume' a "tape", there is absolutely no requirement for multi-volume archives to be stored on tapes. Instead, they can use whatever media type the user finds convenient, they can even be located on files. - When creating a multi-volume archive, GNU `tar' continues to fill + When creating a multi-volume archive, GNU 'tar' continues to fill current volume until it runs out of space, then it switches to next volume (usually the operator is queried to replace the tape on this point), and continues working on the new volume. This operation -continues until all requested files are dumped. If GNU `tar' detects +continues until all requested files are dumped. If GNU 'tar' detects end of media while dumping a file, such a file is archived in split form. Some very big files can even be split across several volumes. - Each volume is itself a valid GNU `tar' archive, so it can be read + Each volume is itself a valid GNU 'tar' archive, so it can be read without any special options. Consequently any file member residing entirely on one volume can be extracted or otherwise operated upon without needing the other volume. Sure enough, to extract a split @@ -2607,8 +2984,8 @@ member you would need all volumes its parts reside on. Multi-volume archives suffer from several limitations. In particular, they cannot be compressed. - GNU `tar' is able to create multi-volume archives of two formats -(*note Formats::): `GNU' and `POSIX'. + GNU 'tar' is able to create multi-volume archives of two formats +(*note Formats::): 'GNU' and 'POSIX'. * Menu: @@ -2623,41 +3000,40 @@ File: tar.info, Node: Multi-Volume Archives, Next: Tape Files, Up: Using Mult ------------------------------------------- To create an archive that is larger than will fit on a single unit of -the media, use the `--multi-volume' (`-M') option in conjunction with -the `--create' option (*note create::). A "multi-volume" archive can -be manipulated like any other archive (provided the `--multi-volume' -option is specified), but is stored on more than one tape or file. - - When you specify `--multi-volume', `tar' does not report an error -when it comes to the end of an archive volume (when reading), or the -end of the media (when writing). Instead, it prompts you to load a new -storage volume. If the archive is on a magnetic tape, you should -change tapes when you see the prompt; if the archive is on a floppy -disk, you should change disks; etc. - -`--multi-volume' -`-M' +the media, use the '--multi-volume' ('-M') option in conjunction with +the '--create' option (*note create::). A "multi-volume" archive can be +manipulated like any other archive (provided the '--multi-volume' option +is specified), but is stored on more than one tape or file. + + When you specify '--multi-volume', 'tar' does not report an error +when it comes to the end of an archive volume (when reading), or the end +of the media (when writing). Instead, it prompts you to load a new +storage volume. If the archive is on a magnetic tape, you should change +tapes when you see the prompt; if the archive is on a floppy disk, you +should change disks; etc. + +'--multi-volume' +'-M' Creates a multi-volume archive, when used in conjunction with - `--create' (`-c'). To perform any other operation on a - multi-volume archive, specify `--multi-volume' in conjunction with + '--create' ('-c'). To perform any other operation on a + multi-volume archive, specify '--multi-volume' in conjunction with that operation. For example: $ tar --create --multi-volume --file=/dev/tape FILES - The method `tar' uses to detect end of tape is not perfect, and -fails on some operating systems or on some devices. If `tar' cannot -detect the end of the tape itself, you can use `--tape-length' option -to inform it about the capacity of the tape: + The method 'tar' uses to detect end of tape is not perfect, and fails +on some operating systems or on some devices. If 'tar' cannot detect +the end of the tape itself, you can use '--tape-length' option to inform +it about the capacity of the tape: -`--tape-length=SIZE[SUF]' -`-L SIZE[SUF]' - Set maximum length of a volume. The SUF, if given, specifies - units in which SIZE is expressed, e.g. `2M' mean 2 megabytes - (*note Table 9.1: size-suffixes, for a list of allowed size - suffixes). Without SUF, units of 1024 bytes (kilobyte) are - assumed. +'--tape-length=SIZE[SUF]' +'-L SIZE[SUF]' + Set maximum length of a volume. The SUF, if given, specifies units + in which SIZE is expressed, e.g. '2M' mean 2 megabytes (*note + Table 9.1: size-suffixes, for a list of allowed size suffixes). + Without SUF, units of 1024 bytes (kilobyte) are assumed. - This option selects `--multi-volume' automatically. For example: + This option selects '--multi-volume' automatically. For example: $ tar --create --tape-length=41943040 --file=/dev/tape FILES @@ -2665,120 +3041,116 @@ to inform it about the capacity of the tape: $ tar --create --tape-length=4G --file=/dev/tape FILES - When GNU `tar' comes to the end of a storage media, it asks you to + When GNU 'tar' comes to the end of a storage media, it asks you to change the volume. The built-in prompt for POSIX locale is(1): Prepare volume #N for 'ARCHIVE' and hit return: -where N is the ordinal number of the volume to be created and ARCHIVE -is archive file or device name. +where N is the ordinal number of the volume to be created and ARCHIVE is +archive file or device name. - When prompting for a new tape, `tar' accepts any of the following + When prompting for a new tape, 'tar' accepts any of the following responses: -`?' - Request `tar' to explain possible responses. - -`q' - Request `tar' to exit immediately. - -`n FILE-NAME' - Request `tar' to write the next volume on the file FILE-NAME. - -`!' - Request `tar' to run a subshell. This option can be disabled by - giving `--restrict' command line option to `tar'(2). - -`y' - Request `tar' to begin writing the next volume. - - (You should only type `y' after you have changed the tape; otherwise -`tar' will write over the volume it just finished.) - - The volume number used by `tar' in its tape-changing prompt can be -changed; if you give the `--volno-file=FILE-OF-NUMBER' option, then +'?' + Request 'tar' to explain possible responses. +'q' + Request 'tar' to exit immediately. +'n FILE-NAME' + Request 'tar' to write the next volume on the file FILE-NAME. +'!' + Request 'tar' to run a subshell. This option can be disabled by + giving '--restrict' command line option to 'tar'(2). +'y' + Request 'tar' to begin writing the next volume. + + (You should only type 'y' after you have changed the tape; otherwise +'tar' will write over the volume it just finished.) + + The volume number used by 'tar' in its tape-changing prompt can be +changed; if you give the '--volno-file=FILE-OF-NUMBER' option, then FILE-OF-NUMBER should be an non-existing file to be created, or else, a file already containing a decimal number. That number will be used as -the volume number of the first volume written. When `tar' is finished, -it will rewrite the file with the now-current volume number. (This does +the volume number of the first volume written. When 'tar' is finished, +it will rewrite the file with the now-current volume number. (This does not change the volume number written on a tape label, as per *note label::, it _only_ affects the number used in the prompt.) If you want more elaborate behavior than this, you can write a special "new volume script", that will be responsible for changing the -volume, and instruct `tar' to use it instead of its normal prompting +volume, and instruct 'tar' to use it instead of its normal prompting procedure: -`--info-script=COMMAND' -`--new-volume-script=COMMAND' -`-F COMMAND' +'--info-script=COMMAND' +'--new-volume-script=COMMAND' +'-F COMMAND' Specify the command to invoke when switching volumes. The COMMAND can be used to eject cassettes, or to broadcast messages such as - `Someone please come change my tape' when performing unattended + 'Someone please come change my tape' when performing unattended backups. The COMMAND can contain additional options, if such are needed. *Note Running External Commands: external, for a detailed discussion of -the way GNU `tar' runs external commands. It inherits `tar''s shell +the way GNU 'tar' runs external commands. It inherits 'tar''s shell environment. Additional data is passed to it via the following environment variables: -`TAR_VERSION' - GNU `tar' version number. +'TAR_VERSION' + GNU 'tar' version number. -`TAR_ARCHIVE' - The name of the archive `tar' is processing. +'TAR_ARCHIVE' + The name of the archive 'tar' is processing. -`TAR_BLOCKING_FACTOR' +'TAR_BLOCKING_FACTOR' Current blocking factor (*note Blocking::). -`TAR_VOLUME' - Ordinal number of the volume `tar' is about to start. +'TAR_VOLUME' + Ordinal number of the volume 'tar' is about to start. -`TAR_SUBCOMMAND' - A short option describing the operation `tar' is executing. *Note +'TAR_SUBCOMMAND' + A short option describing the operation 'tar' is executing. *Note Operations::, for a complete list of subcommand options. -`TAR_FORMAT' - Format of the archive being processed. *Note Formats::, for a +'TAR_FORMAT' + Format of the archive being processed. *Note Formats::, for a complete list of archive format names. -`TAR_FD' +'TAR_FD' File descriptor which can be used to communicate the new volume - name to `tar'. + name to 'tar'. - These variables can be used in the COMMAND itself, provided that -they are properly quoted to prevent them from being expanded by the -shell that invokes `tar'. + These variables can be used in the COMMAND itself, provided that they +are properly quoted to prevent them from being expanded by the shell +that invokes 'tar'. - The volume script can instruct `tar' to use new archive name, by -writing in to file descriptor `$TAR_FD' (see below for an example). + The volume script can instruct 'tar' to use new archive name, by +writing in to file descriptor '$TAR_FD' (see below for an example). - If the info script fails, `tar' exits; otherwise, it begins writing + If the info script fails, 'tar' exits; otherwise, it begins writing the next volume. - If you want `tar' to cycle through a series of files or tape drives, + If you want 'tar' to cycle through a series of files or tape drives, there are three approaches to choose from. First of all, you can give -`tar' multiple `--file' options. In this case the specified files will +'tar' multiple '--file' options. In this case the specified files will be used, in sequence, as the successive volumes of the archive. Only -when the first one in the sequence needs to be used again will `tar' -prompt for a tape change (or run the info script). For example, -suppose someone has two tape drives on a system named `/dev/tape0' and -`/dev/tape1'. For having GNU `tar' to switch to the second drive when +when the first one in the sequence needs to be used again will 'tar' +prompt for a tape change (or run the info script). For example, suppose +someone has two tape drives on a system named '/dev/tape0' and +'/dev/tape1'. For having GNU 'tar' to switch to the second drive when it needs to write the second tape, and then back to the first tape, etc., just do either of: $ tar --create --multi-volume --file=/dev/tape0 --file=/dev/tape1 FILES $ tar -cM -f /dev/tape0 -f /dev/tape1 FILES - The second method is to use the `n' response to the tape-change + The second method is to use the 'n' response to the tape-change prompt. Finally, the most flexible approach is to use a volume script, that -writes new archive name to the file descriptor `$TAR_FD'. For example, +writes new archive name to the file descriptor '$TAR_FD'. For example, the following volume script will create a series of archive files, named -`ARCHIVE-VOL', where ARCHIVE is the name of the archive being created -(as given by `--file' option) and VOL is the ordinal number of the +'ARCHIVE-VOL', where ARCHIVE is the name of the archive being created +(as given by '--file' option) and VOL is the ordinal number of the archive being created: #! /bin/bash @@ -2805,20 +3177,20 @@ from the created archive. For example: # Extract from the created archive: $ tar -x -f archive.tar -F new-volume . -Notice, that the first command had to use `-L' option, since otherwise -GNU `tar' will end up writing everything to file `archive.tar'. +Notice, that the first command had to use '-L' option, since otherwise +GNU 'tar' will end up writing everything to file 'archive.tar'. You can read each individual volume of a multi-volume archive as if it were an archive by itself. For example, to list the contents of one -volume, use `--list', without `--multi-volume' specified. To extract -an archive member from one volume (assuming it is described that -volume), use `--extract', again without `--multi-volume'. +volume, use '--list', without '--multi-volume' specified. To extract an +archive member from one volume (assuming it is described that volume), +use '--extract', again without '--multi-volume'. If an archive member is split across volumes (i.e., its entry begins on one volume of the media and ends on another), you need to specify -`--multi-volume' to extract it successfully. In this case, you should -load the volume where the archive member starts, and use `tar --extract ---multi-volume'--`tar' will prompt for later volumes as it needs them. +'--multi-volume' to extract it successfully. In this case, you should +load the volume where the archive member starts, and use 'tar --extract +--multi-volume'--'tar' will prompt for later volumes as it needs them. *Note extracting archives::, for more information about extracting archives. @@ -2827,21 +3199,21 @@ files to a multi-volume archive, you need to only mount the last volume of the archive media (and new volumes, if needed). For all other operations, you need to use the entire archive. - If a multi-volume archive was labeled using `--label=ARCHIVE-LABEL' -(*note label::) when it was created, `tar' will not automatically label + If a multi-volume archive was labeled using '--label=ARCHIVE-LABEL' +(*note label::) when it was created, 'tar' will not automatically label volumes which are added later. To label subsequent volumes, specify -`--label=ARCHIVE-LABEL' again in conjunction with the `--append', -`--update' or `--concatenate' operation. +'--label=ARCHIVE-LABEL' again in conjunction with the '--append', +'--update' or '--concatenate' operation. Notice that multi-volume support is a GNU extension and the archives -created in this mode should be read only using GNU `tar'. If you -absolutely have to process such archives using a third-party `tar' +created in this mode should be read only using GNU 'tar'. If you +absolutely have to process such archives using a third-party 'tar' implementation, read *note Split Recovery::. ---------- Footnotes ---------- - (1) If you run GNU `tar' under a different locale, the translation -to the locale's language will be used. + (1) If you run GNU 'tar' under a different locale, the translation to +the locale's language will be used. (2) *Note --restrict::, for more information about this option. @@ -2853,23 +3225,22 @@ File: tar.info, Node: Tape Files, Next: Tarcat, Prev: Multi-Volume Archives, _(This message will disappear, once this node revised.)_ -To give the archive a name which will be recorded in it, use the -`--label=VOLUME-LABEL' (`-V VOLUME-LABEL') option. This will write a -special block identifying VOLUME-LABEL as the name of the archive to -the front of the archive which will be displayed when the archive is -listed with `--list'. If you are creating a multi-volume archive with -`--multi-volume' (*note Using Multiple Tapes::), then the volume label -will have `Volume NNN' appended to the name you give, where NNN is the + To give the archive a name which will be recorded in it, use the +'--label=VOLUME-LABEL' ('-V VOLUME-LABEL') option. This will write a +special block identifying VOLUME-LABEL as the name of the archive to the +front of the archive which will be displayed when the archive is listed +with '--list'. If you are creating a multi-volume archive with +'--multi-volume' (*note Using Multiple Tapes::), then the volume label +will have 'Volume NNN' appended to the name you give, where NNN is the number of the volume of the archive. If you use the -`--label=VOLUME-LABEL' option when reading an archive, it checks to -make sure the label on the tape matches the one you gave. *Note -label::. +'--label=VOLUME-LABEL' option when reading an archive, it checks to make +sure the label on the tape matches the one you gave. *Note label::. - When `tar' writes an archive to tape, it creates a single tape file. + When 'tar' writes an archive to tape, it creates a single tape file. If multiple archives are written to the same tape, one after the other, they each get written as separate tape files. When extracting, it is -necessary to position the tape at the right place before running `tar'. -To do this, use the `mt' command. For more information on the `mt' +necessary to position the tape at the right place before running 'tar'. +To do this, use the 'mt' command. For more information on the 'mt' command and on the organization of tapes into a sequence of tape files, see *note mt::. @@ -2885,11 +3256,11 @@ File: tar.info, Node: Tarcat, Prev: Tape Files, Up: Using Multiple Tapes 9.6.3 Concatenate Volumes into a Single Archive ----------------------------------------------- -Sometimes it is necessary to convert existing GNU `tar' multi-volume -archive to a single `tar' archive. Simply concatenating all volumes +Sometimes it is necessary to convert existing GNU 'tar' multi-volume +archive to a single 'tar' archive. Simply concatenating all volumes into one will not work, since each volume carries an additional -information at the beginning. GNU `tar' is shipped with the shell -script `tarcat' designed for this purpose. +information at the beginning. GNU 'tar' is shipped with the shell +script 'tarcat' designed for this purpose. The script takes a list of files comprising a multi-volume archive and creates the resulting archive at the standard output. For example: @@ -2899,7 +3270,7 @@ and creates the resulting archive at the standard output. For example: The script implements a simple heuristics to determine the format of the first volume file and to decide how to process the rest of the files. However, it makes no attempt to verify whether the files are -given in order or even if they are valid `tar' archives. It uses `dd' +given in order or even if they are valid 'tar' archives. It uses 'dd' and does not filter its standard error, so you will usually see lots of spurious messages. @@ -2909,28 +3280,28 @@ File: tar.info, Node: label, Next: verify, Prev: Using Multiple Tapes, Up: M 9.7 Including a Label in the Archive ==================================== -To avoid problems caused by misplaced paper labels on the archive -media, you can include a "label" entry -- an archive member which -contains the name of the archive -- in the archive itself. Use the -`--label=ARCHIVE-LABEL' (`-V ARCHIVE-LABEL') option(1) in conjunction -with the `--create' operation to include a label entry in the archive -as it is being created. +To avoid problems caused by misplaced paper labels on the archive media, +you can include a "label" entry -- an archive member which contains the +name of the archive -- in the archive itself. Use the +'--label=ARCHIVE-LABEL' ('-V ARCHIVE-LABEL') option(1) in conjunction +with the '--create' operation to include a label entry in the archive as +it is being created. -`--label=ARCHIVE-LABEL' -`-V ARCHIVE-LABEL' +'--label=ARCHIVE-LABEL' +'-V ARCHIVE-LABEL' Includes an "archive-label" at the beginning of the archive when the archive is being created, when used in conjunction with the - `--create' operation. Checks to make sure the archive label + '--create' operation. Checks to make sure the archive label matches the one specified (when used in conjunction with any other operation). - If you create an archive using both `--label=ARCHIVE-LABEL' (`-V -ARCHIVE-LABEL') and `--multi-volume' (`-M'), each volume of the archive -will have an archive label of the form `ARCHIVE-LABEL Volume N', where -N is 1 for the first volume, 2 for the next, and so on. *Note Using + If you create an archive using both '--label=ARCHIVE-LABEL' ('-V +ARCHIVE-LABEL') and '--multi-volume' ('-M'), each volume of the archive +will have an archive label of the form 'ARCHIVE-LABEL Volume N', where N +is 1 for the first volume, 2 for the next, and so on. *Note Using Multiple Tapes::, for information on creating multiple volume archives. - The volume label will be displayed by `--list' along with the file + The volume label will be displayed by '--list' along with the file contents. If verbose display is requested, it will also be explicitly marked as in the example below: @@ -2938,28 +3309,28 @@ marked as in the example below: V--------- 0/0 0 1992-03-07 12:01 iamalabel--Volume Header-- -rw-r--r-- ringo/user 40 1990-05-21 13:30 iamafilename - However, `--list' option will cause listing entire contents of the -archive, which may be undesirable (for example, if the archive is -stored on a tape). You can request checking only the volume label by -specifying `--test-label' option. This option reads only the first + However, '--list' option will cause listing entire contents of the +archive, which may be undesirable (for example, if the archive is stored +on a tape). You can request checking only the volume label by +specifying '--test-label' option. This option reads only the first block of an archive, so it can be used with slow storage devices. For example: $ tar --test-label --file=iamanarchive iamalabel - If `--test-label' is used with one or more command line arguments, -`tar' compares the volume label with each argument. It exits with code + If '--test-label' is used with one or more command line arguments, +'tar' compares the volume label with each argument. It exits with code 0 if a match is found, and with code 1 otherwise(2). No output is -displayed, unless you also used the `--verbose' option. For example: +displayed, unless you also used the '--verbose' option. For example: $ tar --test-label --file=iamanarchive 'iamalabel' => 0 $ tar --test-label --file=iamanarchive 'alabel' => 1 - When used with the `--verbose' option, `tar' prints the actual -volume label (if any), and a verbose diagnostics in case of a mismatch: + When used with the '--verbose' option, 'tar' prints the actual volume +label (if any), and a verbose diagnostics in case of a mismatch: $ tar --test-label --verbose --file=iamanarchive 'iamalabel' iamalabel @@ -2969,31 +3340,31 @@ volume label (if any), and a verbose diagnostics in case of a mismatch: tar: Archive label mismatch => 1 - If you request any operation, other than `--create', along with -using `--label' option, `tar' will first check if the archive label -matches the one specified and will refuse to proceed if it does not. -Use this as a safety precaution to avoid accidentally overwriting -existing archives. For example, if you wish to add files to `archive', -presumably labeled with string `My volume', you will get: + If you request any operation, other than '--create', along with using +'--label' option, 'tar' will first check if the archive label matches +the one specified and will refuse to proceed if it does not. Use this +as a safety precaution to avoid accidentally overwriting existing +archives. For example, if you wish to add files to 'archive', +presumably labeled with string 'My volume', you will get: $ tar -rf archive --label 'My volume' . tar: Archive not labeled to match 'My volume' -in case its label does not match. This will work even if `archive' is +in case its label does not match. This will work even if 'archive' is not labeled at all. - Similarly, `tar' will refuse to list or extract the archive if its + Similarly, 'tar' will refuse to list or extract the archive if its label doesn't match the ARCHIVE-LABEL specified. In those cases, ARCHIVE-LABEL argument is interpreted as a globbing-style pattern which must match the actual magnetic volume label. *Note exclude::, for a precise description of how match is attempted(3). If the switch -`--multi-volume' (`-M') is being used, the volume label matcher will -also suffix ARCHIVE-LABEL by ` Volume [1-9]*' if the initial match +'--multi-volume' ('-M') is being used, the volume label matcher will +also suffix ARCHIVE-LABEL by ' Volume [1-9]*' if the initial match fails, before giving up. Since the volume numbering is automatically -added in labels at creation time, it sounded logical to equally help -the user taking care of it when the archive is being read. +added in labels at creation time, it sounded logical to equally help the +user taking care of it when the archive is being read. - You can also use `--label' to get a common information on all tapes + You can also use '--label' to get a common information on all tapes of a series. For having this information different in each series created through a single script used on a regular basis, just manage to get some date string as part of the label. For example: @@ -3004,10 +3375,10 @@ get some date string as part of the label. For example: Some more notes about volume labels: - * Each label has its own date and time, which corresponds to the - time when GNU `tar' initially attempted to write it, often soon - after the operator launches `tar' or types the carriage return - telling that the next tape is ready. + * Each label has its own date and time, which corresponds to the time + when GNU 'tar' initially attempted to write it, often soon after + the operator launches 'tar' or types the carriage return telling + that the next tape is ready. * Comparing date labels to get an idea of tape throughput is unreliable. It gives correct results only if the delays for @@ -3016,16 +3387,16 @@ get some date string as part of the label. For example: ---------- Footnotes ---------- - (1) Until version 1.10, that option was called `--volume', but is -not available under that name anymore. + (1) Until version 1.10, that option was called '--volume', but is not +available under that name anymore. - (2) Note that GNU `tar' versions up to 1.23 indicated mismatch with + (2) Note that GNU 'tar' versions up to 1.23 indicated mismatch with an exit code 2 and printed a spurious diagnostics on stderr. - (3) Previous versions of `tar' used full regular expression -matching, or before that, only exact string matching, instead of -wildcard matchers. We decided for the sake of simplicity to use a -uniform matching device through `tar'. + (3) Previous versions of 'tar' used full regular expression matching, +or before that, only exact string matching, instead of wildcard +matchers. We decided for the sake of simplicity to use a uniform +matching device through 'tar'.  File: tar.info, Node: verify, Next: Write Protection, Prev: label, Up: Media @@ -3033,11 +3404,11 @@ File: tar.info, Node: verify, Next: Write Protection, Prev: label, Up: Media 9.8 Verifying Data as It is Stored ================================== -`-W' -`--verify' +'-W' +'--verify' Attempt to verify the archive after writing. - This option causes `tar' to verify the archive after writing it. + This option causes 'tar' to verify the archive after writing it. Each volume is checked after it is written, and any discrepancies are recorded on the standard error output. @@ -3046,14 +3417,14 @@ medium. This means pipes, some cartridge tape drives, and some other devices cannot be verified. You can insure the accuracy of an archive by comparing files in the -system with archive members. `tar' can compare an archive to the file +system with archive members. 'tar' can compare an archive to the file system as the archive is being written, to verify a write operation, or can compare a previously written archive, to insure that it is up to date. To check for discrepancies in an archive immediately after it is -written, use the `--verify' (`-W') option in conjunction with the -`--create' operation. When this option is specified, `tar' checks +written, use the '--verify' ('-W') option in conjunction with the +'--create' operation. When this option is specified, 'tar' checks archive members against their counterparts in the file system, and reports discrepancies on the standard error. @@ -3063,37 +3434,37 @@ errors on some tapes. Archives written to pipes, some cartridge tape drives, and some other devices cannot be verified. One can explicitly compare an already made archive with the file -system by using the `--compare' (`--diff', `-d') option, instead of -using the more automatic `--verify' option. *Note compare::. +system by using the '--compare' ('--diff', '-d') option, instead of +using the more automatic '--verify' option. *Note compare::. Note that these two options have a slightly different intent. The -`--compare' option checks how identical are the logical contents of some -archive with what is on your disks, while the `--verify' option is +'--compare' option checks how identical are the logical contents of some +archive with what is on your disks, while the '--verify' option is really for checking if the physical contents agree and if the recording -media itself is of dependable quality. So, for the `--verify' -operation, `tar' tries to defeat all in-memory cache pertaining to the +media itself is of dependable quality. So, for the '--verify' +operation, 'tar' tries to defeat all in-memory cache pertaining to the archive, while it lets the speed optimization undisturbed for the -`--compare' option. If you nevertheless use `--compare' for media -verification, you may have to defeat the in-memory cache yourself, -maybe by opening and reclosing the door latch of your recording unit, -forcing some doubt in your operating system about the fact this is -really the same volume as the one just written or read. +'--compare' option. If you nevertheless use '--compare' for media +verification, you may have to defeat the in-memory cache yourself, maybe +by opening and reclosing the door latch of your recording unit, forcing +some doubt in your operating system about the fact this is really the +same volume as the one just written or read. - The `--verify' option would not be necessary if drivers were indeed + The '--verify' option would not be necessary if drivers were indeed able to detect dependably all write failures. This sometimes require many magnetic heads, some able to read after the writes occurred. One would not say that drivers unable to detect all cases are necessarily flawed, as long as programming is concerned. - The `--verify' (`-W') option will not work in conjunction with the -`--multi-volume' (`-M') option or the `--append' (`-r'), `--update' -(`-u') and `--delete' operations. *Note Operations::, for more + The '--verify' ('-W') option will not work in conjunction with the +'--multi-volume' ('-M') option or the '--append' ('-r'), '--update' +('-u') and '--delete' operations. *Note Operations::, for more information on these operations. - Also, since `tar' normally strips leading `/' from file names (*note -absolute::), a command like `tar --verify -cf /tmp/foo.tar /etc' will -work as desired only if the working directory is `/', as `tar' uses the -archive's relative member names (e.g., `etc/motd') when verifying the + Also, since 'tar' normally strips leading '/' from file names (*note +absolute::), a command like 'tar --verify -cf /tmp/foo.tar /etc' will +work as desired only if the working directory is '/', as 'tar' uses the +archive's relative member names (e.g., 'etc/motd') when verifying the archive.  @@ -3104,16 +3475,16 @@ File: tar.info, Node: Write Protection, Prev: verify, Up: Media Almost all tapes and diskettes, and in a few rare cases, even disks can be "write protected", to protect data on them from being changed. Once -an archive is written, you should write protect the media to prevent -the archive from being accidentally overwritten or deleted. (This will +an archive is written, you should write protect the media to prevent the +archive from being accidentally overwritten or deleted. (This will protect the archive from being changed with a tape or floppy drive--it will not protect it from magnet fields or other physical hazards.) The write protection device itself is usually an integral part of the -physical media, and can be a two position (write enabled/write -disabled) switch, a notch which can be popped out or covered, a ring -which can be removed from the center of a tape reel, or some other -changeable feature. +physical media, and can be a two position (write enabled/write disabled) +switch, a notch which can be popped out or covered, a ring which can be +removed from the center of a tape reel, or some other changeable +feature.  File: tar.info, Node: Reliability and security, Next: Changes, Prev: Media, Up: Top @@ -3121,7 +3492,7 @@ File: tar.info, Node: Reliability and security, Next: Changes, Prev: Media, 10 Reliability and Security *************************** -The `tar' command reads and writes files as any other application does, +The 'tar' command reads and writes files as any other application does, and is subject to the usual caveats about reliability and security. This section contains some commonsense advice on the topic. @@ -3136,11 +3507,11 @@ File: tar.info, Node: Reliability, Next: Security, Up: Reliability and securi 10.1 Reliability ================ -Ideally, when `tar' is creating an archive, it reads from a file system +Ideally, when 'tar' is creating an archive, it reads from a file system that is not being modified, and encounters no errors or inconsistencies while reading and writing. If this is the case, the archive should faithfully reflect what was read. Similarly, when extracting from an -archive, ideally `tar' ideally encounters no errors and the extracted +archive, ideally 'tar' ideally encounters no errors and the extracted files faithfully reflect what was in the archive. However, when reading or writing real-world file systems, several @@ -3159,10 +3530,10 @@ File: tar.info, Node: Permissions problems, Next: Data corruption and repair, 10.1.1 Permissions Problems --------------------------- -If `tar' encounters errors while reading or writing files, it normally +If 'tar' encounters errors while reading or writing files, it normally reports an error and exits with nonzero status. The work it does may therefore be incomplete. For example, when creating an archive, if -`tar' cannot read a file then it cannot copy the file into the archive. +'tar' cannot read a file then it cannot copy the file into the archive.  File: tar.info, Node: Data corruption and repair, Next: Race conditions, Prev: Permissions problems, Up: Reliability @@ -3172,17 +3543,17 @@ File: tar.info, Node: Data corruption and repair, Next: Race conditions, Prev If an archive becomes corrupted by an I/O error, this may corrupt the data in an extracted file. Worse, it may corrupt the file's metadata, -which may cause later parts of the archive to become misinterpreted. -An tar-format archive contains a checksum that most likely will detect +which may cause later parts of the archive to become misinterpreted. An +tar-format archive contains a checksum that most likely will detect errors in the metadata, but it will not detect errors in the data. If data corruption is a concern, you can compute and check your own -checksums of an archive by using other programs, such as `cksum'. +checksums of an archive by using other programs, such as 'cksum'. When attempting to recover from a read error or data corruption in an archive, you may need to skip past the questionable data and read the -rest of the archive. This requires some expertise in the archive -format and in other software tools. +rest of the archive. This requires some expertise in the archive format +and in other software tools.  File: tar.info, Node: Race conditions, Prev: Data corruption and repair, Up: Reliability @@ -3190,29 +3561,28 @@ File: tar.info, Node: Race conditions, Prev: Data corruption and repair, Up: 10.1.3 Race conditions ---------------------- -If some other process is modifying the file system while `tar' is +If some other process is modifying the file system while 'tar' is reading or writing files, the result may well be inconsistent due to race conditions. For example, if another process creates some files in -a directory while `tar' is creating an archive containing the -directory's files, `tar' may see some of the files but not others, or -it may see a file that is in the process of being created. The -resulting archive may not be a snapshot of the file system at any point -in time. If an application such as a database system depends on an -accurate snapshot, restoring from the `tar' archive of a live file -system may therefore break that consistency and may break the -application. The simplest way to avoid the consistency issues is to -avoid making other changes to the file system while tar is reading it -or writing it. +a directory while 'tar' is creating an archive containing the +directory's files, 'tar' may see some of the files but not others, or it +may see a file that is in the process of being created. The resulting +archive may not be a snapshot of the file system at any point in time. +If an application such as a database system depends on an accurate +snapshot, restoring from the 'tar' archive of a live file system may +therefore break that consistency and may break the application. The +simplest way to avoid the consistency issues is to avoid making other +changes to the file system while tar is reading it or writing it. When creating an archive, several options are available to avoid race conditions. Some hosts have a way of snapshotting a file system, or of -temporarily suspending all changes to a file system, by (say) -suspending the only virtual machine that can modify a file system; if -you use these facilities and have `tar -c' read from a snapshot when -creating an archive, you can avoid inconsistency problems. More -drastically, before starting `tar' you could suspend or shut down all -processes other than `tar' that have access to the file system, or you -could unmount the file system and then mount it read-only. +temporarily suspending all changes to a file system, by (say) suspending +the only virtual machine that can modify a file system; if you use these +facilities and have 'tar -c' read from a snapshot when creating an +archive, you can avoid inconsistency problems. More drastically, before +starting 'tar' you could suspend or shut down all processes other than +'tar' that have access to the file system, or you could unmount the file +system and then mount it read-only. When extracting from an archive, one approach to avoid race conditions is to create a directory that no other process can write to, @@ -3224,11 +3594,11 @@ File: tar.info, Node: Security, Prev: Reliability, Up: Reliability and securi 10.2 Security ============= -In some cases `tar' may be used in an adversarial situation, where an +In some cases 'tar' may be used in an adversarial situation, where an untrusted user is attempting to gain information about or modify otherwise-inaccessible files. Dealing with untrusted data (that is, data generated by an untrusted user) typically requires extra care, -because even the smallest mistake in the use of `tar' is more likely to +because even the smallest mistake in the use of 'tar' is more likely to be exploited by an adversary than by a race condition. * Menu: @@ -3244,19 +3614,19 @@ File: tar.info, Node: Privacy, Next: Integrity, Up: Security 10.2.1 Privacy -------------- -Standard privacy concerns apply when using `tar'. For example, suppose -you are archiving your home directory into a file -`/archive/myhome.tar'. Any secret information in your home directory, -such as your SSH secret keys, are copied faithfully into the archive. -Therefore, if your home directory contains any file that should not be -read by some other user, the archive itself should be not be readable -by that user. And even if the archive's data are inaccessible to -untrusted users, its metadata (such as size or last-modified date) may -reveal some information about your home directory; if the metadata are -intended to be private, the archive's parent directory should also be -inaccessible to untrusted users. - - One precaution is to create `/archive' so that it is not accessible +Standard privacy concerns apply when using 'tar'. For example, suppose +you are archiving your home directory into a file '/archive/myhome.tar'. +Any secret information in your home directory, such as your SSH secret +keys, are copied faithfully into the archive. Therefore, if your home +directory contains any file that should not be read by some other user, +the archive itself should be not be readable by that user. And even if +the archive's data are inaccessible to untrusted users, its metadata +(such as size or last-modified date) may reveal some information about +your home directory; if the metadata are intended to be private, the +archive's parent directory should also be inaccessible to untrusted +users. + + One precaution is to create '/archive' so that it is not accessible to any user, unless that user also has permission to access all the files in your home directory. @@ -3275,37 +3645,36 @@ When creating archives, take care that they are not writable by a untrusted user; otherwise, that user could modify the archive, and when you later extract from the archive you will get incorrect data. - When `tar' extracts from an archive, by default it writes into files + When 'tar' extracts from an archive, by default it writes into files relative to the working directory. If the archive was generated by an untrusted user, that user therefore can write into any file under the -working directory. If the working directory contains a symbolic link -to another directory, the untrusted user can also write into any file -under the referenced directory. When extracting from an untrusted -archive, it is therefore good practice to create an empty directory and -run `tar' in that directory. +working directory. If the working directory contains a symbolic link to +another directory, the untrusted user can also write into any file under +the referenced directory. When extracting from an untrusted archive, it +is therefore good practice to create an empty directory and run 'tar' in +that directory. When extracting from two or more untrusted archives, each one should be extracted independently, into different empty directories. Otherwise, the first archive could create a symbolic link into an area outside the working directory, and the second one could follow the link and overwrite data that is not under the working directory. For -example, when restoring from a series of incremental dumps, the -archives should have been created by a trusted process, as otherwise -the incremental restores might alter data outside the working directory. - - If you use the `--absolute-names' (`-P') option when extracting, -`tar' respects any file names in the archive, even file names that -begin with `/' or contain `..'. As this lets the archive overwrite any -file in your system that you can write, the `--absolute-names' (`-P') -option should be used only for trusted archives. - - Conversely, with the `--keep-old-files' (`-k') and -`--skip-old-files' options, `tar' refuses to replace existing files -when extracting. The difference between the two options is that the -former treats existing files as errors whereas the latter just silently -ignores them. - - Finally, with the `--no-overwrite-dir' option, `tar' refuses to +example, when restoring from a series of incremental dumps, the archives +should have been created by a trusted process, as otherwise the +incremental restores might alter data outside the working directory. + + If you use the '--absolute-names' ('-P') option when extracting, +'tar' respects any file names in the archive, even file names that begin +with '/' or contain '..'. As this lets the archive overwrite any file +in your system that you can write, the '--absolute-names' ('-P') option +should be used only for trusted archives. + + Conversely, with the '--keep-old-files' ('-k') and '--skip-old-files' +options, 'tar' refuses to replace existing files when extracting. The +difference between the two options is that the former treats existing +files as errors whereas the latter just silently ignores them. + + Finally, with the '--no-overwrite-dir' option, 'tar' refuses to replace the permissions or ownership of already-existing directories. These options may help when extracting from untrusted archives. @@ -3317,40 +3686,39 @@ File: tar.info, Node: Live untrusted data, Next: Security rules of thumb, Pre Extra care is required when creating from or extracting into a file system that is accessible to untrusted users. For example, superusers -who invoke `tar' must be wary about its actions being hijacked by an +who invoke 'tar' must be wary about its actions being hijacked by an adversary who is reading or writing the file system at the same time -that `tar' is operating. - - When creating an archive from a live file system, `tar' is -vulnerable to denial-of-service attacks. For example, an adversarial -user could create the illusion of an indefinitely-deep directory -hierarchy `d/e/f/g/...' by creating directories one step ahead of -`tar', or the illusion of an indefinitely-long file by creating a -sparse file but arranging for blocks to be allocated just before `tar' -reads them. There is no easy way for `tar' to distinguish these -scenarios from legitimate uses, so you may need to monitor `tar', just -as you'd need to monitor any other system service, to detect such -attacks. +that 'tar' is operating. + + When creating an archive from a live file system, 'tar' is vulnerable +to denial-of-service attacks. For example, an adversarial user could +create the illusion of an indefinitely-deep directory hierarchy +'d/e/f/g/...' by creating directories one step ahead of 'tar', or the +illusion of an indefinitely-long file by creating a sparse file but +arranging for blocks to be allocated just before 'tar' reads them. +There is no easy way for 'tar' to distinguish these scenarios from +legitimate uses, so you may need to monitor 'tar', just as you'd need to +monitor any other system service, to detect such attacks. While a superuser is extracting from an archive into a live file system, an untrusted user might replace a directory with a symbolic -link, in hopes that `tar' will follow the symbolic link and extract -data into files that the untrusted user does not have access to. Even -if the archive was generated by the superuser, it may contain a file -such as `d/etc/passwd' that the untrusted user earlier created in order -to break in; if the untrusted user replaces the directory `d/etc' with -a symbolic link to `/etc' while `tar' is running, `tar' will overwrite -`/etc/passwd'. This attack can be prevented by extracting into a +link, in hopes that 'tar' will follow the symbolic link and extract data +into files that the untrusted user does not have access to. Even if the +archive was generated by the superuser, it may contain a file such as +'d/etc/passwd' that the untrusted user earlier created in order to break +in; if the untrusted user replaces the directory 'd/etc' with a symbolic +link to '/etc' while 'tar' is running, 'tar' will overwrite +'/etc/passwd'. This attack can be prevented by extracting into a directory that is inaccessible to untrusted users. Similar attacks via symbolic links are also possible when creating an archive, if the untrusted user can modify an ancestor of a top-level -argument of `tar'. For example, an untrusted user that can modify -`/home/eve' can hijack a running instance of `tar -cf - -/home/eve/Documents/yesterday' by replacing `/home/eve/Documents' with -a symbolic link to some other location. Attacks like these can be +argument of 'tar'. For example, an untrusted user that can modify +'/home/eve' can hijack a running instance of 'tar -cf - +/home/eve/Documents/yesterday' by replacing '/home/eve/Documents' with a +symbolic link to some other location. Attacks like these can be prevented by making sure that untrusted users cannot modify any files -that are top-level arguments to `tar', or any ancestor directories of +that are top-level arguments to 'tar', or any ancestor directories of these files.  @@ -3366,8 +3734,8 @@ pitfalls. being archived. * Extract from an untrusted archive only into an otherwise-empty - directory. This directory and its parent should be accessible - only to trusted users. For example: + directory. This directory and its parent should be accessible only + to trusted users. For example: $ chmod go-rwx . $ mkdir -m go-rwx dir @@ -3382,19 +3750,18 @@ pitfalls. programs. * Do not let untrusted users modify directories that are ancestors of - top-level arguments of `tar'. For example, while you are - executing `tar -cf /archive/u-home.tar /u/home', do not let an - untrusted user modify `/', `/archive', or `/u'. + top-level arguments of 'tar'. For example, while you are executing + 'tar -cf /archive/u-home.tar /u/home', do not let an untrusted user + modify '/', '/archive', or '/u'. - * Pay attention to the diagnostics and exit status of `tar'. + * Pay attention to the diagnostics and exit status of 'tar'. * When archiving live file systems, monitor running instances of - `tar' to detect denial-of-service attacks. - - * Avoid unusual options such as `--absolute-names' (`-P'), - `--dereference' (`-h'), `--overwrite', `--recursive-unlink', and - `--remove-files' unless you understand their security implications. + 'tar' to detect denial-of-service attacks. + * Avoid unusual options such as '--absolute-names' ('-P'), + '--dereference' ('-h'), '--overwrite', '--recursive-unlink', and + '--remove-files' unless you understand their security implications.  File: tar.info, Node: Changes, Next: Configuring Help Summary, Prev: Reliability and security, Up: Top @@ -3403,25 +3770,26 @@ Appendix A Changes ****************** This appendix lists some important user-visible changes between version -GNU `tar' 1.28 and previous versions. An up-to-date version of this -document is available at the GNU `tar' documentation page +GNU 'tar' 1.29 and previous versions. An up-to-date version of this +document is available at the GNU 'tar' documentation page (http://www.gnu.org/software/tar/manual/changes.html). Use of globbing patterns when listing and extracting. + Previous versions of GNU tar assumed shell-style globbing when extracting from or listing an archive. For example: $ tar xf foo.tar '*.c' - would extract all files whose names end in `.c'. This behavior - was not documented and was incompatible with traditional tar + would extract all files whose names end in '.c'. This behavior was + not documented and was incompatible with traditional tar implementations. Therefore, starting from version 1.15.91, GNU tar no longer uses globbing by default. For example, the above invocation is now interpreted as a request to extract from the - archive the file named `*.c'. + archive the file named '*.c'. To facilitate transition to the new behavior for those users who - got used to the previous incorrect one, `tar' will print a warning + got used to the previous incorrect one, 'tar' will print a warning if it finds out that a requested member was not found in the archive and its name looks like a globbing pattern. For example: @@ -3432,24 +3800,25 @@ Use of globbing patterns when listing and extracting. tar: *.c: Not found in archive tar: Error exit delayed from previous errors - To treat member names as globbing patterns, use the `--wildcards' - option. If you want to tar to mimic the behavior of versions - prior to 1.15.91, add this option to your `TAR_OPTIONS' variable. + To treat member names as globbing patterns, use the '--wildcards' + option. If you want to tar to mimic the behavior of versions prior + to 1.15.91, add this option to your 'TAR_OPTIONS' variable. *Note wildcards::, for the detailed discussion of the use of - globbing patterns by GNU `tar'. + globbing patterns by GNU 'tar'. -Use of short option `-o'. - Earlier versions of GNU `tar' understood `-o' command line option - as a synonym for `--old-archive'. +Use of short option '-o'. - GNU `tar' starting from version 1.13.90 understands this option as - a synonym for `--no-same-owner'. This is compatible with UNIX98 - `tar' implementations. + Earlier versions of GNU 'tar' understood '-o' command line option + as a synonym for '--old-archive'. - However, to facilitate transition, `-o' option retains its old + GNU 'tar' starting from version 1.13.90 understands this option as + a synonym for '--no-same-owner'. This is compatible with UNIX98 + 'tar' implementations. + + However, to facilitate transition, '-o' option retains its old semantics when it is used with one of archive-creation commands. - Users are encouraged to use `--format=oldgnu' instead. + Users are encouraged to use '--format=oldgnu' instead. It is especially important, since versions of GNU Automake up to and including 1.8.4 invoke tar with this option to produce @@ -3457,25 +3826,28 @@ Use of short option `-o'. discussion of this issue and its implications. *Note tar-formats: (automake)Options, for a description on how to - use various archive formats with `automake'. + use various archive formats with 'automake'. + + Future versions of GNU 'tar' will understand '-o' only as a synonym + for '--no-same-owner'. - Future versions of GNU `tar' will understand `-o' only as a - synonym for `--no-same-owner'. +Use of short option '-l' -Use of short option `-l' - Earlier versions of GNU `tar' understood `-l' option as a synonym - for `--one-file-system'. Since such usage contradicted to UNIX98 + Earlier versions of GNU 'tar' understood '-l' option as a synonym + for '--one-file-system'. Since such usage contradicted to UNIX98 specification and harmed compatibility with other implementations, - it was declared deprecated in version 1.14. However, to - facilitate transition to its new semantics, it was supported by - versions 1.15 and 1.15.90. The present use of `-l' as a short - variant of `--check-links' was introduced in version 1.15.91. + it was declared deprecated in version 1.14. However, to facilitate + transition to its new semantics, it was supported by versions 1.15 + and 1.15.90. The present use of '-l' as a short variant of + '--check-links' was introduced in version 1.15.91. + +Use of options '--portability' and '--old-archive' + + These options are deprecated. Please use '--format=v7' instead. -Use of options `--portability' and `--old-archive' - These options are deprecated. Please use `--format=v7' instead. +Use of option '--posix' -Use of option `--posix' - This option is deprecated. Please use `--format=posix' instead. + This option is deprecated. Please use '--format=posix' instead.  File: tar.info, Node: Configuring Help Summary, Next: Fixing Snapshot Files, Prev: Changes, Up: Top @@ -3483,12 +3855,12 @@ File: tar.info, Node: Configuring Help Summary, Next: Fixing Snapshot Files, Appendix B Configuring Help Summary *********************************** -Running `tar --help' displays the short `tar' option summary (*note -help::). This summary is organized by "groups" of semantically close -options. The options within each group are printed in the following +Running 'tar --help' displays the short 'tar' option summary (*note +help::). This summary is organized by "groups" of semantically close +options. The options within each group are printed in the following order: a short option, eventually followed by a list of corresponding -long option names, followed by a short description of the option. For -example, here is an excerpt from the actual `tar --help' output: +long option names, followed by a short description of the option. For +example, here is an excerpt from the actual 'tar --help' output: Main operation mode: @@ -3499,15 +3871,16 @@ example, here is an excerpt from the actual `tar --help' output: --delete delete from the archive The exact visual representation of the help output is configurable -via `ARGP_HELP_FMT' environment variable. The value of this variable is -a comma-separated list of "format variable" assignments. There are two -kinds of format variables. An "offset variable" keeps the offset of -some part of help output text from the leftmost column on the screen. A -"boolean" variable is a flag that toggles some output feature on or -off. Depending on the type of the corresponding variable, there are two -kinds of assignments: +via 'ARGP_HELP_FMT' environment variable. The value of this variable is +a comma-separated list of "format variable" assignments. There are two +kinds of format variables. An "offset variable" keeps the offset of +some part of help output text from the leftmost column on the screen. A +"boolean" variable is a flag that toggles some output feature on or off. +Depending on the type of the corresponding variable, there are two kinds +of assignments: Offset assignment + The assignment to an offset variable has the following syntax: VARIABLE=VALUE @@ -3516,13 +3889,14 @@ Offset assignment to be assigned to the variable. Boolean assignment - To assign `true' value to a variable, simply put this variable - name. To assign `false' value, prefix the variable name with - `no-'. For example: - # Assign `true' value: + To assign 'true' value to a variable, simply put this variable + name. To assign 'false' value, prefix the variable name with + 'no-'. For example: + + # Assign true value: dup-args - # Assign `false' value: + # Assign false value: no-dup-args Following variables are declared: @@ -3539,8 +3913,8 @@ Boolean assignment -f, --file=ARCHIVE use archive file or device ARCHIVE and a message indicating that the argument is applicable to both - forms is printed below the options. This message can be disabled - using `dup-args-note' (see below). + forms is printed below the options. This message can be disabled + using 'dup-args-note' (see below). The default is false. @@ -3551,11 +3925,11 @@ Boolean assignment Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options. - Setting `no-dup-args-note' inhibits this message. Normally, only - one of variables `dup-args' or `dup-args-note' should be set. + Setting 'no-dup-args-note' inhibits this message. Normally, only + one of variables 'dup-args' or 'dup-args-note' should be set. -- Help Output: offset short-opt-col - Column in which short options start. Default is 2. + Column in which short options start. Default is 2. $ tar --help|grep ARCHIVE -f, --file=ARCHIVE use archive file or device ARCHIVE @@ -3563,7 +3937,7 @@ Boolean assignment -f, --file=ARCHIVE use archive file or device ARCHIVE -- Help Output: offset long-opt-col - Column in which long options start. Default is 6. For example: + Column in which long options start. Default is 6. For example: $ tar --help|grep ARCHIVE -f, --file=ARCHIVE use archive file or device ARCHIVE @@ -3574,7 +3948,7 @@ Boolean assignment Column in which "doc options" start. A doc option isn't actually an option, but rather an arbitrary piece of documentation that is displayed in much the same manner as the options. For example, in - the description of `--format' option: + the description of '--format' option: -H, --format=FORMAT create archive of the given format. @@ -3587,8 +3961,8 @@ Boolean assignment ustar POSIX 1003.1-1988 (ustar) format v7 old V7 tar format - the format names are doc options. Thus, if you set - `ARGP_HELP_FMT=doc-opt-col=6' the above part of the help output + the format names are doc options. Thus, if you set + 'ARGP_HELP_FMT=doc-opt-col=6' the above part of the help output will look as follows: -H, --format=FORMAT create archive of the given format. @@ -3603,7 +3977,7 @@ Boolean assignment v7 old V7 tar format -- Help Output: offset opt-doc-col - Column in which option description starts. Default is 29. + Column in which option description starts. Default is 29. $ tar --help|grep ARCHIVE -f, --file=ARCHIVE use archive file or device ARCHIVE @@ -3614,7 +3988,7 @@ Boolean assignment use archive file or device ARCHIVE Notice, that the description starts on a separate line if - `opt-doc-col' value is too small. + 'opt-doc-col' value is too small. -- Help Output: offset header-col Column in which "group headers" are printed. A group header is a @@ -3626,16 +4000,16 @@ Boolean assignment -A, --catenate, --concatenate append tar files to an archive -c, --create create a new archive - `Main operation mode:' is the group header. + 'Main operation mode:' is the group header. The default value is 1. -- Help Output: offset usage-indent - Indentation of wrapped usage lines. Affects `--usage' output. + Indentation of wrapped usage lines. Affects '--usage' output. Default is 12. -- Help Output: offset rmargin - Right margin of the text output. Used for wrapping. + Right margin of the text output. Used for wrapping.  File: tar.info, Node: Fixing Snapshot Files, Next: Tar Internals, Prev: Configuring Help Summary, Up: Top @@ -3646,48 +4020,48 @@ Appendix C Fixing Snapshot Files Various situations can cause device numbers to change: upgrading your kernel version, reconfiguring your hardware, loading kernel modules in a different order, using virtual volumes that are assembled dynamically -(such as with LVM or RAID), hot-plugging drives (e.g. external USB or +(such as with LVM or RAID), hot-plugging drives (e.g. external USB or Firewire drives), etc. In the majority of cases this change is -unnoticed by the users. However, it influences `tar' incremental +unnoticed by the users. However, it influences 'tar' incremental backups: the device number is stored in tar snapshot files (*note Snapshot Files::) and is used to determine whether the file has changed -since the last backup. If the device numbers change for some reason, -by default the next backup you run will be a full backup. +since the last backup. If the device numbers change for some reason, by +default the next backup you run will be a full backup. - To minimize the impact in these cases, GNU `tar' comes with the -`tar-snapshot-edit' utility for inspecting and updating device numbers -in snapshot files. (The utility, written by Dustin J. Mitchell, is -also available from the GNU `tar' home page + To minimize the impact in these cases, GNU 'tar' comes with the +'tar-snapshot-edit' utility for inspecting and updating device numbers +in snapshot files. (The utility, written by Dustin J. Mitchell, is also +available from the GNU 'tar' home page (http://www.gnu.org/software/tar/utils/tar-snapshot-edit.html).) - To obtain a summary of the device numbers found in the snapshot -file, run + To obtain a summary of the device numbers found in the snapshot file, +run $ tar-snapshot-edit SNAPFILE where SNAPFILE is the name of the snapshot file (you can supply as many files as you wish in a single command line). You can then compare the numbers across snapshot files, or against those currently in use on the -live filesystem (using `ls -l' or `stat'). +live filesystem (using 'ls -l' or 'stat'). Assuming the device numbers have indeed changed, it's often possible -to simply tell GNU `tar' to ignore the device number when processing the +to simply tell GNU 'tar' to ignore the device number when processing the incremental snapshot files for these backups, using the -`--no-check-device' option (*note device numbers::). +'--no-check-device' option (*note device numbers::). - Alternatively, you can use the `tar-edit-snapshot' script's `-r' + Alternatively, you can use the 'tar-edit-snapshot' script's '-r' option to update all occurrences of the given device number in the snapshot file(s). It takes a single argument of the form -`OLDDEV-NEWDEV', where OLDDEV is the device number used in the -snapshot file, and NEWDEV is the corresponding new device number. Both -numbers may be specified in hex (e.g., `0xfe01'), decimal (e.g., -`65025'), or as a major:minor number pair (e.g., `254:1'). To change -several device numbers at once, specify them in a single -comma-separated list, as in `-r 0x3060-0x4500,0x307-0x4600'. +'OLDDEV-NEWDEV', where OLDDEV is the device number used in the snapshot +file, and NEWDEV is the corresponding new device number. Both numbers +may be specified in hex (e.g., '0xfe01'), decimal (e.g., '65025'), or as +a major:minor number pair (e.g., '254:1'). To change several device +numbers at once, specify them in a single comma-separated list, as in +'-r 0x3060-0x4500,0x307-0x4600'. Before updating the snapshot file, it is a good idea to create a -backup copy of it. This is accomplished by `-b' option. The name of -the backup file is obtained by appending `~' to the original file name. +backup copy of it. This is accomplished by '-b' option. The name of +the backup file is obtained by appending '~' to the original file name. An example session: $ tar-snapshot-edit root_snap.0 boot_snap.0 @@ -3739,55 +4113,55 @@ Basic Tar Format _(This message will disappear, once this node revised.)_ -While an archive may contain many files, the archive itself is a single -ordinary file. Like any other file, an archive file can be written to -a storage device such as a tape or disk, sent through a pipe or over a -network, saved on the active file system, or even stored in another -archive. An archive file is not easy to read or manipulate without -using the `tar' utility or Tar mode in GNU Emacs. + While an archive may contain many files, the archive itself is a +single ordinary file. Like any other file, an archive file can be +written to a storage device such as a tape or disk, sent through a pipe +or over a network, saved on the active file system, or even stored in +another archive. An archive file is not easy to read or manipulate +without using the 'tar' utility or Tar mode in GNU Emacs. Physically, an archive consists of a series of file entries terminated by an end-of-archive entry, which consists of two 512 blocks of zero bytes. A file entry usually describes one of the files in the archive (an "archive member"), and consists of a file header and the contents of the file. File headers contain file names and statistics, -checksum information which `tar' uses to detect file corruption, and +checksum information which 'tar' uses to detect file corruption, and information about file types. Archives are permitted to have more than one member with the same member name. One way this situation can occur is if more than one -version of a file has been stored in the archive. For information -about adding new versions of a file to an archive, see *note update::. +version of a file has been stored in the archive. For information about +adding new versions of a file to an archive, see *note update::. In addition to entries describing archive members, an archive may -contain entries which `tar' itself uses to store information. *Note +contain entries which 'tar' itself uses to store information. *Note label::, for an example of such an archive entry. - A `tar' archive file contains a series of blocks. Each block -contains `BLOCKSIZE' bytes. Although this format may be thought of as + A 'tar' archive file contains a series of blocks. Each block +contains 'BLOCKSIZE' bytes. Although this format may be thought of as being on magnetic tape, other media are often used. Each file archived is represented by a header block which describes -the file, followed by zero or more blocks which give the contents of -the file. At the end of the archive file there are two 512-byte blocks +the file, followed by zero or more blocks which give the contents of the +file. At the end of the archive file there are two 512-byte blocks filled with binary zeros as an end-of-file marker. A reasonable system should write such end-of-file marker at the end of an archive, but must not assume that such a block exists when reading an archive. In -particular GNU `tar' always issues a warning if it does not encounter +particular GNU 'tar' always issues a warning if it does not encounter it. - The blocks may be "blocked" for physical I/O operations. Each -record of N blocks (where N is set by the `--blocking-factor=512-SIZE' -(`-b 512-SIZE') option to `tar') is written with a single `write ()' + The blocks may be "blocked" for physical I/O operations. Each record +of N blocks (where N is set by the '--blocking-factor=512-SIZE' ('-b +512-SIZE') option to 'tar') is written with a single 'write ()' operation. On magnetic tapes, the result of such a write is a single record. When writing an archive, the last record of blocks should be written at the full size, with blocks after the zero block containing -all zeros. When reading an archive, a reasonable system should -properly handle an archive whose last record is shorter than the rest, -or which contains garbage records after a zero block. +all zeros. When reading an archive, a reasonable system should properly +handle an archive whose last record is shorter than the rest, or which +contains garbage records after a zero block. - The header block is defined in C as follows. In the GNU `tar' -distribution, this is part of file `src/tar.h': + The header block is defined in C as follows. In the GNU 'tar' +distribution, this is part of file 'src/tar.h': /* tar Header Block, from POSIX 1003.1-1990. */ @@ -4013,89 +4387,90 @@ distribution, this is part of file `src/tar.h': char isextended; }; + All characters in header blocks are represented by using 8-bit -characters in the local variant of ASCII. Each field within the +characters in the local variant of ASCII. Each field within the structure is contiguous; that is, there is no padding used within the structure. Each character on the archive medium is stored contiguously. Bytes representing the contents of files (after the header block of each file) are not translated in any way and are not constrained to -represent characters in any character set. The `tar' format does not +represent characters in any character set. The 'tar' format does not distinguish text files from binary files, and no translation of file contents is performed. - The `name', `linkname', `magic', `uname', and `gname' are + The 'name', 'linkname', 'magic', 'uname', and 'gname' are null-terminated character strings. All other fields are zero-filled -octal numbers in ASCII. Each numeric field of width W contains W minus -1 digits, and a null. +octal numbers in ASCII. Each numeric field of width W contains W minus 1 +digits, and a null. - The `name' field is the file name of the file, with directory names + The 'name' field is the file name of the file, with directory names (if any) preceding the file name, separated by slashes. - The `mode' field provides nine bits specifying file permissions and + The 'mode' field provides nine bits specifying file permissions and three bits to specify the Set UID, Set GID, and Save Text ("sticky") modes. Values for these bits are defined above. When special permissions are required to create a file with a given mode, and the user restoring files from the archive does not hold such permissions, -the mode bit(s) specifying those special permissions are ignored. -Modes which are not supported by the operating system restoring files -from the archive will be ignored. Unsupported modes should be faked up -when creating or updating an archive; e.g., the group permission could -be copied from the _other_ permission. +the mode bit(s) specifying those special permissions are ignored. Modes +which are not supported by the operating system restoring files from the +archive will be ignored. Unsupported modes should be faked up when +creating or updating an archive; e.g., the group permission could be +copied from the _other_ permission. - The `uid' and `gid' fields are the numeric user and group ID of the + The 'uid' and 'gid' fields are the numeric user and group ID of the file owners, respectively. If the operating system does not support numeric user or group IDs, these fields should be ignored. - The `size' field is the size of the file in bytes; linked files are + The 'size' field is the size of the file in bytes; linked files are archived with this field specified as zero. - The `mtime' field is the data modification time of the file at the -time it was archived. It is the ASCII representation of the octal -value of the last time the file's contents were modified, represented -as an integer number of seconds since January 1, 1970, 00:00 -Coordinated Universal Time. + The 'mtime' field is the data modification time of the file at the +time it was archived. It is the ASCII representation of the octal value +of the last time the file's contents were modified, represented as an +integer number of seconds since January 1, 1970, 00:00 Coordinated +Universal Time. - The `chksum' field is the ASCII representation of the octal value of -the simple sum of all bytes in the header block. Each 8-bit byte in -the header is added to an unsigned integer, initialized to zero, the + The 'chksum' field is the ASCII representation of the octal value of +the simple sum of all bytes in the header block. Each 8-bit byte in the +header is added to an unsigned integer, initialized to zero, the precision of which shall be no less than seventeen bits. When -calculating the checksum, the `chksum' field is treated as if it were +calculating the checksum, the 'chksum' field is treated as if it were all blanks. - The `typeflag' field specifies the type of file archived. If a + The 'typeflag' field specifies the type of file archived. If a particular implementation does not recognize or permit the specified type, the file will be extracted as if it were a regular file. As this -action occurs, `tar' issues a warning to the standard error. +action occurs, 'tar' issues a warning to the standard error. - The `atime' and `ctime' fields are used in making incremental + The 'atime' and 'ctime' fields are used in making incremental backups; they store, respectively, the particular file's access and status change times. - The `offset' is used by the `--multi-volume' (`-M') option, when + The 'offset' is used by the '--multi-volume' ('-M') option, when making a multi-volume archive. The offset is number of bytes into the file that we need to restart at to continue the file on the next tape, i.e., where we store the location that a continued file is continued at. - The following fields were added to deal with sparse files. A file -is "sparse" if it takes in unallocated blocks which end up being + The following fields were added to deal with sparse files. A file is +"sparse" if it takes in unallocated blocks which end up being represented as zeros, i.e., no useful data. A test to see if a file is sparse is to look at the number blocks allocated for it versus the number of characters in the file; if there are fewer blocks allocated for the file than would normally be allocated for a file of that size, -then the file is sparse. This is the method `tar' uses to detect a -sparse file, and once such a file is detected, it is treated -differently from non-sparse files. +then the file is sparse. This is the method 'tar' uses to detect a +sparse file, and once such a file is detected, it is treated differently +from non-sparse files. - Sparse files are often `dbm' files, or other database-type files + Sparse files are often 'dbm' files, or other database-type files which have data at some points and emptiness in the greater part of the -file. Such files can appear to be very large when an `ls -l' is done -on them, when in truth, there may be a very small amount of important -data contained in the file. It is thus undesirable to have `tar' think -that it must back up this entire file, as great quantities of room are -wasted on empty blocks, which can lead to running out of room on a tape -far earlier than is necessary. Thus, sparse files are dealt with so -that these empty blocks are not written to the tape. Instead, what is +file. Such files can appear to be very large when an 'ls -l' is done on +them, when in truth, there may be a very small amount of important data +contained in the file. It is thus undesirable to have 'tar' think that +it must back up this entire file, as great quantities of room are wasted +on empty blocks, which can lead to running out of room on a tape far +earlier than is necessary. Thus, sparse files are dealt with so that +these empty blocks are not written to the tape. Instead, what is written to the tape is a description, of sorts, of the sparse file: where the holes are, how big the holes are, and how much data is found at the end of the hole. This way, the file takes up potentially far @@ -4103,97 +4478,95 @@ less room on the tape, and when the file is extracted later on, it will look exactly the way it looked beforehand. The following is a description of the fields used to handle a sparse file: - The `sp' is an array of `struct sparse'. Each `struct sparse' + The 'sp' is an array of 'struct sparse'. Each 'struct sparse' contains two 12-character strings which represent an offset into the file and a number of bytes to be written at that offset. The offset is absolute, and not relative to the offset in preceding array element. - The header can hold four of these `struct sparse' at the moment; if + The header can hold four of these 'struct sparse' at the moment; if more are needed, they are not stored in the header. - The `isextended' flag is set when an `extended_header' is needed to + The 'isextended' flag is set when an 'extended_header' is needed to deal with a file. Note that this means that this flag can only be set when dealing with a sparse file, and it is only set in the event that -the description of the file will not fit in the allotted room for -sparse structures in the header. In other words, an extended_header is -needed. - - The `extended_header' structure is used for sparse files which need -more sparse structures than can fit in the header. The header can fit -4 such structures; if more are needed, the flag `isextended' gets set -and the next block is an `extended_header'. - - Each `extended_header' structure contains an array of 21 sparse -structures, along with a similar `isextended' flag that the header had. -There can be an indeterminate number of such `extended_header's to +the description of the file will not fit in the allotted room for sparse +structures in the header. In other words, an extended_header is needed. + + The 'extended_header' structure is used for sparse files which need +more sparse structures than can fit in the header. The header can fit 4 +such structures; if more are needed, the flag 'isextended' gets set and +the next block is an 'extended_header'. + + Each 'extended_header' structure contains an array of 21 sparse +structures, along with a similar 'isextended' flag that the header had. +There can be an indeterminate number of such 'extended_header's to describe a sparse file. -`REGTYPE' -`AREGTYPE' +'REGTYPE' +'AREGTYPE' These flags represent a regular file. In order to be compatible - with older versions of `tar', a `typeflag' value of `AREGTYPE' + with older versions of 'tar', a 'typeflag' value of 'AREGTYPE' should be silently recognized as a regular file. New archives - should be created using `REGTYPE'. Also, for backward - compatibility, `tar' treats a regular file whose name ends with a + should be created using 'REGTYPE'. Also, for backward + compatibility, 'tar' treats a regular file whose name ends with a slash as a directory. -`LNKTYPE' +'LNKTYPE' This flag represents a file linked to another file, of any type, previously archived. Such files are identified in Unix by each file having the same device and inode number. The linked-to name - is specified in the `linkname' field with a trailing null. + is specified in the 'linkname' field with a trailing null. -`SYMTYPE' +'SYMTYPE' This represents a symbolic link to another file. The linked-to - name is specified in the `linkname' field with a trailing null. + name is specified in the 'linkname' field with a trailing null. -`CHRTYPE' -`BLKTYPE' +'CHRTYPE' +'BLKTYPE' These represent character special files and block special files - respectively. In this case the `devmajor' and `devminor' fields + respectively. In this case the 'devmajor' and 'devminor' fields will contain the major and minor device numbers respectively. Operating systems may map the device specifications to their own local specification, or may ignore the entry. -`DIRTYPE' +'DIRTYPE' This flag specifies a directory or sub-directory. The directory - name in the `name' field should end with a slash. On systems where - disk allocation is performed on a directory basis, the `size' field + name in the 'name' field should end with a slash. On systems where + disk allocation is performed on a directory basis, the 'size' field will contain the maximum number of bytes (which may be rounded to the nearest disk block allocation unit) which the directory may - hold. A `size' field of zero indicates no such limiting. Systems + hold. A 'size' field of zero indicates no such limiting. Systems which do not support limiting in this manner should ignore the - `size' field. + 'size' field. -`FIFOTYPE' +'FIFOTYPE' This specifies a FIFO special file. Note that the archiving of a FIFO file archives the existence of this file and not its contents. -`CONTTYPE' +'CONTTYPE' This specifies a contiguous file, which is the same as a normal file except that, in operating systems which support it, all its space is allocated contiguously on the disk. Operating systems which do not allow contiguous allocation should silently treat this type as a normal file. -`A' ... `Z' +'A' ... 'Z' These are reserved for custom implementations. Some of these are used in the GNU modified format, as described below. - Other values are reserved for specification in future revisions of -the P1003 standard, and should not be used by any `tar' program. +the P1003 standard, and should not be used by any 'tar' program. - The `magic' field indicates that this archive was output in the -P1003 archive format. If this field contains `TMAGIC', the `uname' and -`gname' fields will contain the ASCII representation of the owner and + The 'magic' field indicates that this archive was output in the P1003 +archive format. If this field contains 'TMAGIC', the 'uname' and +'gname' fields will contain the ASCII representation of the owner and group of the file respectively. If found, the user and group IDs are -used rather than the values in the `uid' and `gid' fields. +used rather than the values in the 'uid' and 'gid' fields. For references, see ISO/IEC 9945-1:1990 or IEEE Std 1003.1-1990, -pages 169-173 (section 10.1) for `Archive/Interchange File Format'; and +pages 169-173 (section 10.1) for 'Archive/Interchange File Format'; and IEEE Std 1003.2-1992, pages 380-388 (section 4.48) and pages 936-940 -(section E.4.48) for `pax - Portable archive interchange'. +(section E.4.48) for 'pax - Portable archive interchange'.  File: tar.info, Node: Extensions, Next: Sparse Formats, Prev: Standard, Up: Tar Internals @@ -4203,53 +4576,52 @@ GNU Extensions to the Archive Format _(This message will disappear, once this node revised.)_ -The GNU format uses additional file types to describe new types of + The GNU format uses additional file types to describe new types of files in an archive. These are listed below. -`GNUTYPE_DUMPDIR' -`'D'' +'GNUTYPE_DUMPDIR' +''D'' This represents a directory and a list of files created by the - `--incremental' (`-G') option. The `size' field gives the total + '--incremental' ('-G') option. The 'size' field gives the total size of the associated list of files. Each file name is preceded - by either a `Y' (the file should be in this archive) or an `N'. + by either a 'Y' (the file should be in this archive) or an 'N'. (The file is a directory, or is not stored in the archive.) Each file name is terminated by a null. There is an additional null after the last file name. -`GNUTYPE_MULTIVOL' -`'M'' +'GNUTYPE_MULTIVOL' +''M'' This represents a file continued from another volume of a - multi-volume archive created with the `--multi-volume' (`-M') + multi-volume archive created with the '--multi-volume' ('-M') option. The original type of the file is not given here. The - `size' field gives the maximum size of this piece of the file + 'size' field gives the maximum size of this piece of the file (assuming the volume does not end before the file is written out). - The `offset' field gives the offset from the beginning of the file - where this part of the file begins. Thus `size' plus `offset' + The 'offset' field gives the offset from the beginning of the file + where this part of the file begins. Thus 'size' plus 'offset' should equal the original size of the file. -`GNUTYPE_SPARSE' -`'S'' +'GNUTYPE_SPARSE' +''S'' This flag indicates that we are dealing with a sparse file. Note that archiving a sparse file requires special operations to find holes in the file, which mark the positions of these holes, along with the number of bytes of data to be found after the hole. -`GNUTYPE_VOLHDR' -`'V'' +'GNUTYPE_VOLHDR' +''V'' This file type is used to mark the volume header that was given - with the `--label=ARCHIVE-LABEL' (`-V ARCHIVE-LABEL') option when - the archive was created. The `name' field contains the `name' - given after the `--label=ARCHIVE-LABEL' (`-V ARCHIVE-LABEL') - option. The `size' field is zero. Only the first file in each + with the '--label=ARCHIVE-LABEL' ('-V ARCHIVE-LABEL') option when + the archive was created. The 'name' field contains the 'name' + given after the '--label=ARCHIVE-LABEL' ('-V ARCHIVE-LABEL') + option. The 'size' field is zero. Only the first file in each volume of an archive should have this type. - - You may have trouble reading a GNU format archive on a non-GNU -system if the options `--incremental' (`-G'), `--multi-volume' (`-M'), -`--sparse' (`-S'), or `--label=ARCHIVE-LABEL' (`-V ARCHIVE-LABEL') were -used when writing the archive. In general, if `tar' does not use the -GNU-added fields of the header, other versions of `tar' should be able -to read the archive. Otherwise, the `tar' program will give an error, + You may have trouble reading a GNU format archive on a non-GNU system +if the options '--incremental' ('-G'), '--multi-volume' ('-M'), +'--sparse' ('-S'), or '--label=ARCHIVE-LABEL' ('-V ARCHIVE-LABEL') were +used when writing the archive. In general, if 'tar' does not use the +GNU-added fields of the header, other versions of 'tar' should be able +to read the archive. Otherwise, the 'tar' program will give an error, the most likely one being a checksum error.  @@ -4258,23 +4630,23 @@ File: tar.info, Node: Sparse Formats, Next: Snapshot Files, Prev: Extensions, Storing Sparse Files ==================== -The notion of sparse file, and the ways of handling it from the point -of view of GNU `tar' user have been described in detail in *note -sparse::. This chapter describes the internal format GNU `tar' uses to -store such files. +The notion of sparse file, and the ways of handling it from the point of +view of GNU 'tar' user have been described in detail in *note sparse::. +This chapter describes the internal format GNU 'tar' uses to store such +files. - The support for sparse files in GNU `tar' has a long history. The + The support for sparse files in GNU 'tar' has a long history. The earliest version featuring this support that I was able to find was 1.09, released in November, 1990. The format introduced back then is called "old GNU" sparse format and in spite of the fact that its design -contained many flaws, it was the only format GNU `tar' supported until +contained many flaws, it was the only format GNU 'tar' supported until version 1.14 (May, 2004), which introduced initial support for sparse -archives in PAX archives (*note posix::). This format was not free -from design flaws, either and it was subsequently improved in versions -1.15.2 (November, 2005) and 1.15.92 (June, 2006). +archives in PAX archives (*note posix::). This format was not free from +design flaws, either and it was subsequently improved in versions 1.15.2 +(November, 2005) and 1.15.92 (June, 2006). - In addition to GNU sparse format, GNU `tar' is able to read and -extract sparse files archived by `star'. + In addition to GNU sparse format, GNU 'tar' is able to read and +extract sparse files archived by 'star'. The following subsections describe each format in detail. @@ -4287,75 +4659,74 @@ extract sparse files archived by `star'.  File: tar.info, Node: Old GNU Format, Next: PAX 0, Up: Sparse Formats -D.0.1 Old GNU Format --------------------- +Old GNU Format +-------------- -The format introduced in November 1990 (v. 1.09) was designed on top of -standard `ustar' headers in such an unfortunate way that some of its +The format introduced in November 1990 (v. 1.09) was designed on top of +standard 'ustar' headers in such an unfortunate way that some of its fields overwrote fields required by POSIX. - An old GNU sparse header is designated by type `S' -(`GNUTYPE_SPARSE') and has the following layout: + An old GNU sparse header is designated by type 'S' ('GNUTYPE_SPARSE') +and has the following layout: Offset Size Name Data type Contents ----------------------------------------------------------------------------- +---------------------------------------------------------------------------- 0 345 N/A Not used. -345 12 atime Number `atime' of the file. -357 12 ctime Number `ctime' of the file . +345 12 atime Number 'atime' of the file. +357 12 ctime Number 'ctime' of the file . 369 12 offset Number For multivolume archives: the offset of the start of this volume. 381 4 N/A Not used. 385 1 N/A Not used. -386 96 sp `sparse_header'(4 entries) File map. -482 1 isextended Bool `1' if an extension sparse - header follows, `0' +386 96 sp 'sparse_header'(4 entries) File map. +482 1 isextended Bool '1' if an extension sparse + header follows, '0' otherwise. 483 12 realsize Number Real size of the file. - Each of `sparse_header' object at offset 386 describes a single data -chunk. It has the following structure: + Each of 'sparse_header' object at offset 386 describes a single data +chunk. It has the following structure: Offset Size Data type Contents ---------------------------------------------------------------------------- +--------------------------------------------------------------------------- 0 12 Number Offset of the beginning of the chunk. 12 12 Number Size of the chunk. - If the member contains more than four chunks, the `isextended' field -of the header has the value `1' and the main header is followed by one + If the member contains more than four chunks, the 'isextended' field +of the header has the value '1' and the main header is followed by one or more "extension headers". Each such header has the following structure: Offset Size Name Data type Contents ----------------------------------------------------------------------------- -0 21 sp `sparse_header' (21 entries) File map. -504 1 isextended Bool `1' if an extension sparse - header follows, or `0' +---------------------------------------------------------------------------- +0 21 sp 'sparse_header'(21 entries) File map. +504 1 isextended Bool '1' if an extension sparse + header follows, or '0' otherwise. - A header with `isextended=0' ends the map. + A header with 'isextended=0' ends the map.  File: tar.info, Node: PAX 0, Next: PAX 1, Prev: Old GNU Format, Up: Sparse Formats -D.0.2 PAX Format, Versions 0.0 and 0.1 --------------------------------------- +PAX Format, Versions 0.0 and 0.1 +-------------------------------- -There are two formats available in this branch. The version `0.0' is -the initial version of sparse format used by `tar' versions -1.14-1.15.1. The sparse file map is kept in extended (`x') PAX header -variables: +There are two formats available in this branch. The version '0.0' is +the initial version of sparse format used by 'tar' versions 1.14-1.15.1. +The sparse file map is kept in extended ('x') PAX header variables: -`GNU.sparse.size' +'GNU.sparse.size' Real size of the stored file; -`GNU.sparse.numblocks' +'GNU.sparse.numblocks' Number of blocks in the sparse map; -`GNU.sparse.offset' +'GNU.sparse.offset' Offset of the data block; -`GNU.sparse.numbytes' +'GNU.sparse.numbytes' Size of the data block. The latter two variables repeat for each data block, so the overall @@ -4373,92 +4744,92 @@ structure is like this: 1. Whereas the POSIX specification allows a variable to appear multiple times in a header, it requires that only the last occurrence be meaningful. Thus, multiple occurrences of - `GNU.sparse.offset' and `GNU.sparse.numbytes' are conflicting with + 'GNU.sparse.offset' and 'GNU.sparse.numbytes' are conflicting with the POSIX specs. - 2. Attempting to extract such archives using a third-party's `tar' + 2. Attempting to extract such archives using a third-party's 'tar' results in extraction of sparse files in _condensed form_. If the - `tar' implementation in question does not support POSIX format, it + 'tar' implementation in question does not support POSIX format, it will also extract a file containing extension header attributes. This file can be used to expand the file to its original state. - However, posix-aware `tar's will usually ignore the unknown + However, posix-aware 'tar's will usually ignore the unknown variables, which makes restoring the file more difficult. *Note Extraction of sparse members in v.0.0 format: extracting sparse v.0.x, for the detailed description of how to restore such members - using non-GNU `tar's. + using non-GNU 'tar's. - GNU `tar' 1.15.2 introduced sparse format version `0.1', which + GNU 'tar' 1.15.2 introduced sparse format version '0.1', which attempted to solve these problems. As its predecessor, this format stores sparse map in the extended POSIX header. It retains -`GNU.sparse.size' and `GNU.sparse.numblocks' variables, but instead of -`GNU.sparse.offset'/`GNU.sparse.numbytes' pairs it uses a single +'GNU.sparse.size' and 'GNU.sparse.numblocks' variables, but instead of +'GNU.sparse.offset'/'GNU.sparse.numbytes' pairs it uses a single variable: -`GNU.sparse.map' +'GNU.sparse.map' Map of non-null data chunks. It is a string consisting of comma-separated values "OFFSET,SIZE[,OFFSET-1,SIZE-1...]" - To address the 2nd problem, the `name' field in `ustar' is replaced + To address the 2nd problem, the 'name' field in 'ustar' is replaced with a special name, constructed using the following pattern: %d/GNUSparseFile.%p/%f The real name of the sparse file is stored in the variable -`GNU.sparse.name'. Thus, those `tar' implementations that are not -aware of GNU extensions will at least extract the files into separate +'GNU.sparse.name'. Thus, those 'tar' implementations that are not aware +of GNU extensions will at least extract the files into separate directories, giving the user a possibility to expand it afterwards. *Note Extraction of sparse members in v.0.1 format: extracting sparse -v.0.x, for the detailed description of how to restore such members -using non-GNU `tar's. +v.0.x, for the detailed description of how to restore such members using +non-GNU 'tar's. - The resulting `GNU.sparse.map' string can be _very_ long. Although -POSIX does not impose any limit on the length of a `x' header variable, -this possibly can confuse some `tar's. + The resulting 'GNU.sparse.map' string can be _very_ long. Although +POSIX does not impose any limit on the length of a 'x' header variable, +this possibly can confuse some 'tar's.  File: tar.info, Node: PAX 1, Prev: PAX 0, Up: Sparse Formats -D.0.3 PAX Format, Version 1.0 ------------------------------ +PAX Format, Version 1.0 +----------------------- -The version `1.0' of sparse format was introduced with GNU `tar' +The version '1.0' of sparse format was introduced with GNU 'tar' 1.15.92. Its main objective was to make the resulting file extractable -with little effort even by non-posix aware `tar' implementations. +with little effort even by non-posix aware 'tar' implementations. Starting from this version, the extended header preceding a sparse member always contains the following variables that identify the format being used: -`GNU.sparse.major' +'GNU.sparse.major' Major version -`GNU.sparse.minor' +'GNU.sparse.minor' Minor version - The `name' field in `ustar' header contains a special name, + The 'name' field in 'ustar' header contains a special name, constructed using the following pattern: %d/GNUSparseFile.%p/%f The real name of the sparse file is stored in the variable -`GNU.sparse.name'. The real size of the file is stored in the variable -`GNU.sparse.realsize'. +'GNU.sparse.name'. The real size of the file is stored in the variable +'GNU.sparse.realsize'. - The sparse map itself is stored in the file data block, preceding -the actual file data. It consists of a series of octal numbers of -arbitrary length, delimited by newlines. The map is padded with nulls -to the nearest block boundary. + The sparse map itself is stored in the file data block, preceding the +actual file data. It consists of a series of octal numbers of arbitrary +length, delimited by newlines. The map is padded with nulls to the +nearest block boundary. - The first number gives the number of entries in the map. Following + The first number gives the number of entries in the map. Following are map entries, each one consisting of two numbers giving the offset and size of the data block it describes. - The format is designed in such a way that non-posix aware `tar's and -`tar's not supporting `GNU.sparse.*' keywords will extract each sparse + The format is designed in such a way that non-posix aware 'tar's and +'tar's not supporting 'GNU.sparse.*' keywords will extract each sparse file in its condensed form with the file map prepended and will place it into a separate directory. Then, using a simple program it would be -possible to expand the file to its original form even without GNU `tar'. +possible to expand the file to its original form even without GNU 'tar'. *Note Sparse Recovery::, for the detailed information on how to extract -sparse members without GNU `tar'. +sparse members without GNU 'tar'.  File: tar.info, Node: Snapshot Files, Next: Dumpdir, Prev: Sparse Formats, Up: Tar Internals @@ -4467,116 +4838,114 @@ Format of the Incremental Snapshot Files ======================================== A "snapshot file" (or "directory file") is created during incremental -backups (*note Incremental Dumps::). It contains the status of the -file system at the time of the dump and is used to determine which -files were modified since the last backup. +backups (*note Incremental Dumps::). It contains the status of the file +system at the time of the dump and is used to determine which files were +modified since the last backup. - GNU `tar' version 1.28 supports three snapshot file formats. The -first format, called "format 0", is the one used by GNU `tar' versions -up to and including 1.15.1. The second format, called "format 1" is an + GNU 'tar' version 1.29 supports three snapshot file formats. The +first format, called "format 0", is the one used by GNU 'tar' versions +up to and including 1.15.1. The second format, called "format 1" is an extended version of this format, that contains more metadata and allows -for further extensions. It was used by alpha release version 1.15.90. +for further extensions. It was used by alpha release version 1.15.90. For alpha version 1.15.91 and stable releases version 1.16 up through -1.28, the "format 2" is used. +1.29, the "format 2" is used. - GNU `tar' is able to read all three formats, but will create + GNU 'tar' is able to read all three formats, but will create snapshots only in format 2. This appendix describes all three formats in detail. - 0. `Format 0' snapshot file begins with a line containing a decimal + 0. 'Format 0' snapshot file begins with a line containing a decimal number that represents a UNIX timestamp of the beginning of the - last archivation. This line is followed by directory metadata - descriptions, one per line. Each description has the following + last archivation. This line is followed by directory metadata + descriptions, one per line. Each description has the following format: [NFS]DEV INODE NAME where: - NFS - A single plus character (`+'), if this directory is located on + NFS + A single plus character ('+'), if this directory is located on an NFS-mounted partition, otherwise empty. (That is, for non-NFS directories, the first character on the description line contains the start of the DEV field.) - DEV + DEV Device number of the directory; - INODE + INODE I-node number of the directory; - NAME - Name of the directory. Any special characters (white-space, - backslashes, etc.) are quoted. + NAME + Name of the directory. Any special characters (white-space, + backslashes, etc.) are quoted. - 1. `Format 1' snapshot file begins with a line specifying the - format of the file. This line has the following structure: + 1. 'Format 1' snapshot file begins with a line specifying the format + of the file. This line has the following structure: - `GNU tar-'TAR-VERSION`-'INCR-FORMAT-VERSION + 'GNU tar-'TAR-VERSION'-'INCR-FORMAT-VERSION - where TAR-VERSION is the version number of GNU `tar' - implementation that created this snapshot, and INCR-FORMAT-VERSION - is the version number of the snapshot format (in this case `1'). + where TAR-VERSION is the version number of GNU 'tar' implementation + that created this snapshot, and INCR-FORMAT-VERSION is the version + number of the snapshot format (in this case '1'). Next line contains two decimal numbers, representing the time of - the last backup. First number is the number of seconds, the second + the last backup. First number is the number of seconds, the second one is the number of nanoseconds, since the beginning of the epoch. Lines that follow contain directory metadata, one line per - directory. Each line is formatted as follows: + directory. Each line is formatted as follows: [NFS]MTIME-SEC MTIME-NSEC DEV INODE NAME where MTIME-SEC and MTIME-NSEC represent last modification time of this directory with nanosecond precision; NFS, DEV, INODE and NAME - have the same meaning as with `format 0'. + have the same meaning as with 'format 0'. - 2. `Format 2' snapshot file begins with a format identifier, as + 2. 'Format 2' snapshot file begins with a format identifier, as described for version 1, e.g.: - GNU tar-1.28-2 + GNU tar-1.29-2 - This line is followed by newline. Rest of file consists of - records, separated by null (ASCII 0) characters. Thus, in contrast + This line is followed by newline. Rest of file consists of + records, separated by null (ASCII 0) characters. Thus, in contrast to the previous formats, format 2 snapshot is a binary file. First two records are decimal integers, representing the time of - the last backup. First number is the number of seconds, the - second one is the number of nanoseconds, since the beginning of the - epoch. These are followed by arbitrary number of directory - records. + the last backup. First number is the number of seconds, the second + one is the number of nanoseconds, since the beginning of the epoch. + These are followed by arbitrary number of directory records. Each "directory record" contains a set of metadata describing a particular directory. Parts of a directory record are delimited with ASCII 0 characters. The following table describes each part. The "Number" type in this table stands for a decimal integer in - ASCII notation. (Negative values are preceeded with a "-" + ASCII notation. (Negative values are preceded with a "-" character, while positive values have no leading punctuation.) - Field Type Description - ---------------------------------------------------------------------- - nfs Character `1' if the directory is located on an - NFS-mounted partition, or `0' otherwise; - timestamp_sec Number Modification time, seconds; - timestamp_nsec Number Modification time, nanoseconds; - dev Number Device number; - ino Number I-node number; - name String Directory name; in contrast to the - previous versions it is not quoted; - contents Dumpdir Contents of the directory; *Note - Dumpdir::, for a description of its - format. - + Field Type Description + --------------------------------------------------------------------------- + nfs Character '1' if the directory is located on an + NFS-mounted partition, or '0' otherwise; + timestamp_sec Number Modification time, seconds; + timestamp_nsec Number Modification time, nanoseconds; + dev Number Device number; + ino Number I-node number; + name String Directory name; in contrast to the + previous versions it is not quoted; + contents Dumpdir Contents of the directory; + *Note Dumpdir::, for a description of its + format. Dumpdirs stored in snapshot files contain only records of types - `Y', `N' and `D'. + 'Y', 'N' and 'D'. The specific range of values allowed in each of the "Number" fields - depends on the underlying C datatypes as determined when `tar' is + depends on the underlying C datatypes as determined when 'tar' is compiled. To see the specific ranges allowed for a particular - `tar' binary, you can use the `--show-snapshot-field-ranges' + 'tar' binary, you can use the '--show-snapshot-field-ranges' option: $ tar --show-shapshot-field-ranges @@ -4591,7 +4960,6 @@ snapshots only in format 2. (This example is from a GNU/Linux x86_64 system.) -  File: tar.info, Node: Dumpdir, Prev: Snapshot Files, Up: Tar Internals @@ -4606,7 +4974,7 @@ directory in special data blocks called "dumpdirs". C FILENAME \0 where C is one of the "control codes" described below, FILENAME is the -name of the file C operates upon, and `\0' represents a nul character +name of the file C operates upon, and '\0' represents a nul character (ASCII 0). The white space characters were added for readability, real dumpdirs do not contain them. @@ -4614,44 +4982,44 @@ dumpdirs do not contain them. The following table describes control codes and their meanings: -`Y' +'Y' FILENAME is contained in the archive. -`N' +'N' FILENAME was present in the directory at the time the archive was made, yet it was not dumped to the archive, because it had not changed since the last backup. -`D' +'D' FILENAME is a directory. -`R' +'R' This code requests renaming of the FILENAME to the name specified - with the `T' command, that immediately follows it. + with the 'T' command, that immediately follows it. -`T' - Specify target file name for `R' command (see below). +'T' + Specify target file name for 'R' command (see below). -`X' +'X' Specify "temporary directory" name for a rename operation (see below). - Codes `Y', `N' and `D' require FILENAME argument to be a relative -file name to the directory this dumpdir describes, whereas codes `R', -`T' and `X' require their argument to be an absolute file name. + Codes 'Y', 'N' and 'D' require FILENAME argument to be a relative +file name to the directory this dumpdir describes, whereas codes 'R', +'T' and 'X' require their argument to be an absolute file name. - The three codes `R', `T' and `X' specify a "renaming operation". In + The three codes 'R', 'T' and 'X' specify a "renaming operation". In the simplest case it is: - R`source'\0T`dest'\0 + Rsource\0Tdest\0 -which means "rename file `source' to file `dest'". +which means "rename file 'source' to file 'dest'". However, there are cases that require using a "temporary directory". For example, consider the following scenario: - 1. Previous run dumped a directory `foo' which contained the - following three directories: + 1. Previous run dumped a directory 'foo' which contained the following + three directories: a b @@ -4659,15 +5027,15 @@ For example, consider the following scenario: 2. They were renamed _cyclically_, so that: - `a' became `b' - `b' became `c' - `c' became `a' + a became b + b became c + c became a 3. New incremental dump was made. This case cannot be handled by three successive renames, since -renaming `a' to `b' will destroy the existing directory. To correctly -process it, GNU `tar' needs a temporary directory, so it creates the +renaming 'a' to 'b' will destroy the existing directory. To correctly +process it, GNU 'tar' needs a temporary directory, so it creates the following dumpdir (newlines have been added for readability): Xfoo\0 @@ -4676,13 +5044,13 @@ following dumpdir (newlines have been added for readability): Rfoo/c\0Tfoo/a\0 R\0Tfoo/a\0 - The first command, `Xfoo\0', instructs the extractor to create a -temporary directory in the directory `foo'. Second command, -`Rfoo/aT\0', says "rename file `foo/a' to the temporary directory that + The first command, 'Xfoo\0', instructs the extractor to create a +temporary directory in the directory 'foo'. Second command, +'Rfoo/aT\0', says "rename file 'foo/a' to the temporary directory that has just been created" (empty file name after a command means use temporary directory). Third and fourth commands work as usual, and, -finally, the last command, `R\0Tfoo/a\0' tells tar to rename the -temporary directory to `foo/a'. +finally, the last command, 'R\0Tfoo/a\0' tells tar to rename the +temporary directory to 'foo/a'. The exact placement of a dumpdir in the archive depends on the archive format (*note Formats::): @@ -4690,12 +5058,12 @@ archive format (*note Formats::): * PAX archives In PAX archives, dumpdir is stored in the extended header of the - corresponding directory, in variable `GNU.dumpdir'. + corresponding directory, in variable 'GNU.dumpdir'. * GNU and old GNU archives - These formats implement special header type `D', which is similar - to ustar header `5' (directory), except that it precedes a data + These formats implement special header type 'D', which is similar + to ustar header '5' (directory), except that it precedes a data block containing the dumpdir.  @@ -4704,27 +5072,27 @@ File: tar.info, Node: Genfile, Next: Free Software Needs Free Documentation, Appendix E Genfile ****************** -This appendix describes `genfile', an auxiliary program used in the GNU -tar testsuite. If you are not interested in developing GNU tar, skip +This appendix describes 'genfile', an auxiliary program used in the GNU +tar testsuite. If you are not interested in developing GNU tar, skip this appendix. - Initially, `genfile' was used to generate data files for the -testsuite, hence its name. However, new operation modes were being -implemented as the testsuite grew more sophisticated, and now `genfile' + Initially, 'genfile' was used to generate data files for the +testsuite, hence its name. However, new operation modes were being +implemented as the testsuite grew more sophisticated, and now 'genfile' is a multi-purpose instrument. There are three basic operation modes: File Generation - This is the default mode. In this mode, `genfile' generates data + This is the default mode. In this mode, 'genfile' generates data files. File Status - In this mode `genfile' displays status of specified files. + In this mode 'genfile' displays status of specified files. Synchronous Execution. - In this mode `genfile' executes the given program with - `--checkpoint' option and executes a set of actions when specified + In this mode 'genfile' executes the given program with + '--checkpoint' option and executes a set of actions when specified checkpoints are reached. * Menu: @@ -4739,92 +5107,103 @@ File: tar.info, Node: Generate Mode, Next: Status Mode, Up: Genfile E.1 Generate Mode ================= -In this mode `genfile' creates a data file for the test suite. The size -of the file is given with the `--length' (`-l') option. By default the +In this mode 'genfile' creates a data file for the test suite. The size +of the file is given with the '--length' ('-l') option. By default the file contents is written to the standard output, this can be changed -using `--file' (`-f') command line option. Thus, the following two +using '--file' ('-f') command line option. Thus, the following two commands are equivalent: genfile --length 100 > outfile genfile --length 100 --file outfile - If `--length' is not given, `genfile' will generate an empty + If '--length' is not given, 'genfile' will generate an empty (zero-length) file. - The command line option `--seek=N' istructs `genfile' to skip the + The command line option '--seek=N' istructs 'genfile' to skip the given number of bytes (N) in the output file before writing to it. It -is similar to the `seek=N' of the `dd' utility. +is similar to the 'seek=N' of the 'dd' utility. - You can instruct `genfile' to create several files at one go, by -giving it `--files-from' (`-T') option followed by a name of file -containing a list of file names. Using dash (`-') instead of the file -name causes `genfile' to read file list from the standard input. For + You can instruct 'genfile' to create several files at one go, by +giving it '--files-from' ('-T') option followed by a name of file +containing a list of file names. Using dash ('-') instead of the file +name causes 'genfile' to read file list from the standard input. For example: - # Read file names from file `file.list' + # Read file names from file file.list genfile --files-from file.list # Read file names from standard input genfile --files-from - - The list file is supposed to contain one file name per line. To use -file lists separated by ASCII NUL character, use `--null' (`-0') -command line option: + The list file is supposed to contain one file name per line. To use +file lists separated by ASCII NUL character, use '--null' ('-0') command +line option: genfile --null --files-from file.list The default data pattern for filling the generated file consists of first 256 letters of ASCII code, repeated enough times to fill the -entire file. This behavior can be changed with `--pattern' option. This -option takes a mandatory argument, specifying pattern name to use. +entire file. This behavior can be changed with '--pattern' option. +This option takes a mandatory argument, specifying pattern name to use. Currently two patterns are implemented: -`--pattern=default' +'--pattern=default' The default pattern as described above. -`--pattern=zero' +'--pattern=zero' Fills the file with zeroes. - If no file name was given, the program exits with the code `0'. -Otherwise, it exits with `0' only if it was able to create a file of -the specified length. + If no file name was given, the program exits with the code '0'. +Otherwise, it exits with '0' only if it was able to create a file of the +specified length. - Special option `--sparse' (`-s') instructs `genfile' to create a -sparse file. Sparse files consist of "data fragments", separated by -"holes" or blocks of zeros. On many operating systems, actual disk + Special option '--sparse' ('-s') instructs 'genfile' to create a +sparse file. Sparse files consist of "data fragments", separated by +"holes" or blocks of zeros. On many operating systems, actual disk storage is not allocated for holes, but they are counted in the length -of the file. To create a sparse file, `genfile' should know where to -put data fragments, and what data to use to fill them. So, when -`--sparse' is given the rest of the command line specifies a so-called +of the file. To create a sparse file, 'genfile' should know where to +put data fragments, and what data to use to fill them. So, when +'--sparse' is given the rest of the command line specifies a so-called "file map". - The file map consists of any number of "fragment descriptors". Each + The file map consists of any number of "fragment descriptors". Each descriptor is composed of two values: a number, specifying fragment offset from the end of the previous fragment or, for the very first -fragment, from the beginning of the file, and "contents string", i.e., -a string of characters, specifying the pattern to fill the fragment -with. File offset can be suffixed with the following quantifiers: +fragment, from the beginning of the file, and "contents string", that +specifies the pattern to fill the fragment with. File offset can be +suffixed with the following quantifiers: -`k' -`K' +'k' +'K' The number is expressed in kilobytes. - -`m' -`M' +'m' +'M' The number is expressed in megabytes. - -`g' -`G' +'g' +'G' The number is expressed in gigabytes. - For each letter in contents string `genfile' will generate a "block" -of data, filled with this letter and will write it to the fragment. The -size of block is given by `--block-size' option. It defaults to 512. -Thus, if the string consists of N characters, the resulting file -fragment will contain `N*BLOCK-SIZE' of data. - - Last fragment descriptor can have only file offset part. In this -case `genfile' will create a hole at the end of the file up to the -given offset. + Contents string can be either a fragment size or a pattern. Fragment +size is a decimal number, prefixed with an equals sign. It can be +suffixed with a quantifier, as discussed above. If fragment size is +given, the fragment of that size will be filled with the currently +selected pattern (*note -pattern: Generate Mode.) and written to the +file. + + A pattern is a string of arbitrary ASCII characters. For each of +them, 'genfile' will generate a "block" of data, filled with that +character and will write it to the fragment. The size of block is given +by '--block-size' option. It defaults to 512. Thus, if pattern +consists of N characters, the resulting file fragment will contain +'N*BLOCK-SIZE' bytes of data. + + The last fragment descriptor can have only file offset part. In this +case 'genfile' will create a hole at the end of the file up to the given +offset. + + A dash appearing as a fragment descriptor instructs 'genfile' to read +file map from the standard input. Each line of input should consist of +fragment offset and contents string, separated by any amount of +whitespace. For example, consider the following invocation: @@ -4834,15 +5213,20 @@ It will create 3101184-bytes long file of the following structure: Offset Length Contents 0 4*512=2048 Four 512-byte blocks, filled - with letters `A', `B', `C' and - `D'. + with letters 'A', 'B', 'C' and + 'D'. 2048 1046528 Zero bytes -1050624 5*512=2560 Five blocks, filled with letters - `E', `F', `G', `H', `I'. +1050624 5*512=2560 Five blocks, filled with + letters 'E', 'F', 'G', 'H', + 'I'. 1053184 2048000 Zero bytes - The exit code of `genfile --status' command is `0' only if created -file is actually sparse. + The exit code of 'genfile --sparse' command is '0' only if created +file is actually sparse. If it is not, the appropriate error message is +displayed and the command exists with code '1'. The '--quite' ('-q') +option suppresses this behavior. If '--quite' is given, 'genfile +--sparse' exits with code '0' if it was able to create the file, whether +the resulting file is sparse or not.  File: tar.info, Node: Status Mode, Next: Exec Mode, Prev: Generate Mode, Up: Genfile @@ -4850,11 +5234,11 @@ File: tar.info, Node: Status Mode, Next: Exec Mode, Prev: Generate Mode, Up: E.2 Status Mode =============== -In status mode, `genfile' prints file system status for each file -specified in the command line. This mode is toggled by `--stat' (`-S') -command line option. An optional argument to this option specifies -output "format": a comma-separated list of `struct stat' fields to be -displayed. This list can contain following identifiers: +In status mode, 'genfile' prints file system status for each file +specified in the command line. This mode is toggled by '--stat' ('-S') +command line option. An optional argument to this option specifies +output "format": a comma-separated list of 'struct stat' fields to be +displayed. This list can contain following identifiers: name The file name. @@ -4869,10 +5253,11 @@ st_ino mode[.NUMBER] st_mode[.NUMBER] + File mode in octal. Optional NUMBER specifies octal mask to be - applied to the mode before outputting. For example, `--stat + applied to the mode before outputting. For example, '--stat mode.777' will preserve lower nine bits of it. Notice, that you - can use any punctuation character in place of `.'. + can use any punctuation character in place of '.'. nlink st_nlink @@ -4911,13 +5296,13 @@ st_ctime Time of last status change sparse - A boolean value indicating whether the file is `sparse'. + A boolean value indicating whether the file is 'sparse'. Modification times are displayed in UTC as UNIX timestamps, unless -suffixed with `H' (for "human-readable"), as in `ctimeH', in which case -usual `tar tv' output format is used. +suffixed with 'H' (for "human-readable"), as in 'ctimeH', in which case +usual 'tar tv' output format is used. - The default output format is: `name,dev,ino,mode, + The default output format is: 'name,dev,ino,mode, nlink,uid,gid,size,blksize,blocks,atime,mtime,ctime'. For example, the following command will display file names and @@ -4932,69 +5317,69 @@ File: tar.info, Node: Exec Mode, Prev: Status Mode, Up: Genfile E.3 Exec Mode ============= -This mode is designed for testing the behavior of `paxutils' commands -when some of the files change during archiving. It is an experimental +This mode is designed for testing the behavior of 'paxutils' commands +when some of the files change during archiving. It is an experimental mode. - The `Exec Mode' is toggled by `--run' command line option (or its -alias `-r'). The non-optional arguments to `getopt' give the command -line to be executed. Normally, it should contain at least the -`--checkpoint' option. + The 'Exec Mode' is toggled by '--run' command line option (or its +alias '-r'). The non-optional arguments to 'getopt' give the command +line to be executed. Normally, it should contain at least the +'--checkpoint' option. A set of options is provided for defining checkpoint values and -actions to be executed upon reaching them. Checkpoint values are -introduced with the `--checkpoint' command line option. Argument to +actions to be executed upon reaching them. Checkpoint values are +introduced with the '--checkpoint' command line option. Argument to this option is the number of checkpoint in decimal. Any number of "actions" may be specified after a checkpoint. Available actions are -`--cut FILE' -`--truncate FILE' - Truncate FILE to the size specified by previous `--length' option +'--cut FILE' +'--truncate FILE' + Truncate FILE to the size specified by previous '--length' option (or 0, if it is not given). -`--append FILE' - Append data to FILE. The size of data and its pattern are given by - previous `--length' and `pattern' options. +'--append FILE' + Append data to FILE. The size of data and its pattern are given by + previous '--length' and 'pattern' options. -`--touch FILE' - Update the access and modification times of FILE. These timestamps - are changed to the current time, unless `--date' option was given, - in which case they are changed to the specified time. Argument to - `--date' option is a date specification in an almost arbitrary +'--touch FILE' + Update the access and modification times of FILE. These timestamps + are changed to the current time, unless '--date' option was given, + in which case they are changed to the specified time. Argument to + '--date' option is a date specification in an almost arbitrary format (*note Date input formats::). -`--exec COMMAND' +'--exec COMMAND' Execute given shell command. -`--unlink FILE' +'--unlink FILE' Unlink the FILE. - Option `--verbose' instructs `genfile' to print on standard output -notifications about checkpoints being executed and to verbosely -describe exit status of the command. + Option '--verbose' instructs 'genfile' to print on standard output +notifications about checkpoints being executed and to verbosely describe +exit status of the command. While the command is being executed its standard output remains -connected to descriptor 1. All messages it prints to file descriptor 2, +connected to descriptor 1. All messages it prints to file descriptor 2, except checkpoint notifications, are forwarded to standard error. - `Genfile' exits with the exit status of the executed command. + 'Genfile' exits with the exit status of the executed command. - For compatibility with previous `genfile' versions, the `--run' -option takes an optional argument. If used this way, its argument -supplies the command line to be executed. There should be no -non-optional arguments in the `genfile' command line. + For compatibility with previous 'genfile' versions, the '--run' +option takes an optional argument. If used this way, its argument +supplies the command line to be executed. There should be no +non-optional arguments in the 'genfile' command line. The actual command line is constructed by inserting the -`--checkpoint' option between the command name and its first argument -(if any). Due to this, the argument to `--run' may not use traditional -`tar' option syntax, i.e., the following is wrong: +'--checkpoint' option between the command name and its first argument +(if any). Due to this, the argument to '--run' may not use traditional +'tar' option syntax, i.e., the following is wrong: # Wrong! genfile --run='tar cf foo bar' -Use the following syntax instead: + Use the following syntax instead: genfile --run='tar -cf foo bar' ACTIONS... @@ -5021,14 +5406,14 @@ free tutorial, that is a major gap. We have many such gaps today. Consider Perl, for instance. The tutorial manuals that people normally use are non-free. How did this come about? Because the authors of those manuals published them with restrictive terms--no -copying, no modification, source files not available--which exclude -them from the free software world. +copying, no modification, source files not available--which exclude them +from the free software world. That wasn't the first time this sort of thing happened, and it was -far from the last. Many times we have heard a GNU user eagerly -describe a manual that he is writing, his intended contribution to the -community, only to learn that he had ruined everything by signing a -publication contract to make it non-free. +far from the last. Many times we have heard a GNU user eagerly describe +a manual that he is writing, his intended contribution to the community, +only to learn that he had ruined everything by signing a publication +contract to make it non-free. Free documentation, like free software, is a matter of freedom, not price. The problem with the non-free manual is not that publishers @@ -5039,9 +5424,9 @@ available in source code form, and give you permission to copy and modify. Non-free manuals do not allow this. The criteria of freedom for a free manual are roughly the same as for -free software. Redistribution (including the normal kinds of -commercial redistribution) must be permitted, so that the manual can -accompany every copy of the program, both on-line and on paper. +free software. Redistribution (including the normal kinds of commercial +redistribution) must be permitted, so that the manual can accompany +every copy of the program, both on-line and on paper. Permission for modification of the technical content is crucial too. When people modify the software, adding or changing features, if they @@ -5051,35 +5436,35 @@ that leaves you no choice but to write a new manual to document a changed version of the program is not really available to our community. Some kinds of limits on the way modification is handled are -acceptable. For example, requirements to preserve the original -author's copyright notice, the distribution terms, or the list of -authors, are ok. It is also no problem to require modified versions to -include notice that they were modified. Even entire sections that may -not be deleted or changed are acceptable, as long as they deal with +acceptable. For example, requirements to preserve the original author's +copyright notice, the distribution terms, or the list of authors, are +ok. It is also no problem to require modified versions to include +notice that they were modified. Even entire sections that may not be +deleted or changed are acceptable, as long as they deal with nontechnical topics (like this one). These kinds of restrictions are -acceptable because they don't obstruct the community's normal use of -the manual. +acceptable because they don't obstruct the community's normal use of the +manual. - However, it must be possible to modify all the _technical_ content -of the manual, and then distribute the result in all the usual media, + However, it must be possible to modify all the _technical_ content of +the manual, and then distribute the result in all the usual media, through all the usual channels. Otherwise, the restrictions obstruct the use of the manual, it is not free, and we need another manual to replace it. Please spread the word about this issue. Our community continues to -lose manuals to proprietary publishing. If we spread the word that -free software needs free reference manuals and free tutorials, perhaps -the next person who wants to contribute by writing documentation will -realize, before it is too late, that only free manuals contribute to -the free software community. +lose manuals to proprietary publishing. If we spread the word that free +software needs free reference manuals and free tutorials, perhaps the +next person who wants to contribute by writing documentation will +realize, before it is too late, that only free manuals contribute to the +free software community. If you are writing documentation, please insist on publishing it under the GNU Free Documentation License or another free documentation license. Remember that this decision requires your approval--you don't -have to let the publisher decide. Some commercial publishers will use -a free license if you insist, but they will not propose the option; it -is up to you to raise the issue and say firmly that this is what you -want. If the publisher you are dealing with refuses, please try other +have to let the publisher decide. Some commercial publishers will use a +free license if you insist, but they will not propose the option; it is +up to you to raise the issue and say firmly that this is what you want. +If the publisher you are dealing with refuses, please try other publishers. If you're not sure whether a proposed license is free, write to . @@ -5094,7 +5479,7 @@ paid or pay the authors to work on it. The Free Software Foundation maintains a list of free documentation published by other publishers, at -`http://www.fsf.org/doc/other-free-books.html'. +.  File: tar.info, Node: GNU Free Documentation License, Next: Index of Command Line Options, Prev: Free Software Needs Free Documentation, Up: Top @@ -5104,9 +5489,9 @@ Appendix G GNU Free Documentation License Version 1.3, 3 November 2008 - Copyright (C) 2000-2002, 2007-2008, 2014 Free Software + Copyright (C) 2000-2002, 2007-2008, 2014, 2016 Free Software Foundation, Inc. - `http://fsf.org/' + Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -5131,21 +5516,21 @@ Appendix G GNU Free Documentation License free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless - of subject matter or whether it is published as a printed book. - We recommend this License principally for works whose purpose is + of subject matter or whether it is published as a printed book. We + recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, - that contains a notice placed by the copyright holder saying it - can be distributed under the terms of this License. Such a notice + that contains a notice placed by the copyright holder saying it can + be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member - of the public is a licensee, and is addressed as "you". You - accept the license if you copy, modify or distribute the work in a - way requiring permission under copyright law. + of the public is a licensee, and is addressed as "you". You accept + the license if you copy, modify or distribute the work in a way + requiring permission under copyright law. A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with @@ -5163,12 +5548,12 @@ Appendix G GNU Free Documentation License regarding them. The "Invariant Sections" are certain Secondary Sections whose - titles are designated, as being those of Invariant Sections, in - the notice that says that the Document is released under this - License. If a section does not fit the above definition of - Secondary then it is not allowed to be designated as Invariant. - The Document may contain zero Invariant Sections. If the Document - does not identify any Invariant Sections then there are none. + titles are designated, as being those of Invariant Sections, in the + notice that says that the Document is released under this License. + If a section does not fit the above definition of Secondary then it + is not allowed to be designated as Invariant. The Document may + contain zero Invariant Sections. If the Document does not identify + any Invariant Sections then there are none. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice @@ -5179,27 +5564,27 @@ Appendix G GNU Free Documentation License A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document - straightforwardly with generic text editors or (for images - composed of pixels) generic paint programs or (for drawings) some - widely available drawing editor, and that is suitable for input to - text formatters or for automatic translation to a variety of - formats suitable for input to text formatters. A copy made in an - otherwise Transparent file format whose markup, or absence of - markup, has been arranged to thwart or discourage subsequent - modification by readers is not Transparent. An image format is - not Transparent if used for any substantial amount of text. A - copy that is not "Transparent" is called "Opaque". + straightforwardly with generic text editors or (for images composed + of pixels) generic paint programs or (for drawings) some widely + available drawing editor, and that is suitable for input to text + formatters or for automatic translation to a variety of formats + suitable for input to text formatters. A copy made in an otherwise + Transparent file format whose markup, or absence of markup, has + been arranged to thwart or discourage subsequent modification by + readers is not Transparent. An image format is not Transparent if + used for any substantial amount of text. A copy that is not + "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, - SGML or XML using a publicly available DTD, and - standard-conforming simple HTML, PostScript or PDF designed for - human modification. Examples of transparent image formats include - PNG, XCF and JPG. Opaque formats include proprietary formats that - can be read and edited only by proprietary word processors, SGML or - XML for which the DTD and/or processing tools are not generally - available, and the machine-generated HTML, PostScript or PDF - produced by some word processors for output purposes only. + SGML or XML using a publicly available DTD, and standard-conforming + simple HTML, PostScript or PDF designed for human modification. + Examples of transparent image formats include PNG, XCF and JPG. + Opaque formats include proprietary formats that can be read and + edited only by proprietary word processors, SGML or XML for which + the DTD and/or processing tools are not generally available, and + the machine-generated HTML, PostScript or PDF produced by some word + processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the @@ -5237,8 +5622,8 @@ Appendix G GNU Free Documentation License may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you - distribute a large enough number of copies you must also follow - the conditions in section 3. + distribute a large enough number of copies you must also follow the + conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. @@ -5252,12 +5637,11 @@ Appendix G GNU Free Documentation License these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The - front cover must present the full title with all words of the - title equally prominent and visible. You may add other material - on the covers in addition. Copying with changes limited to the - covers, as long as they preserve the title of the Document and - satisfy these conditions, can be treated as verbatim copying in - other respects. + front cover must present the full title with all words of the title + equally prominent and visible. You may add other material on the + covers in addition. Copying with changes limited to the covers, as + long as they preserve the title of the Document and satisfy these + conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit @@ -5265,40 +5649,39 @@ Appendix G GNU Free Documentation License adjacent pages. If you publish or distribute Opaque copies of the Document - numbering more than 100, you must either include a - machine-readable Transparent copy along with each Opaque copy, or - state in or with each Opaque copy a computer-network location from - which the general network-using public has access to download - using public-standard network protocols a complete Transparent - copy of the Document, free of added material. If you use the - latter option, you must take reasonably prudent steps, when you - begin distribution of Opaque copies in quantity, to ensure that - this Transparent copy will remain thus accessible at the stated - location until at least one year after the last time you - distribute an Opaque copy (directly or through your agents or - retailers) of that edition to the public. + numbering more than 100, you must either include a machine-readable + Transparent copy along with each Opaque copy, or state in or with + each Opaque copy a computer-network location from which the general + network-using public has access to download using public-standard + network protocols a complete Transparent copy of the Document, free + of added material. If you use the latter option, you must take + reasonably prudent steps, when you begin distribution of Opaque + copies in quantity, to ensure that this Transparent copy will + remain thus accessible at the stated location until at least one + year after the last time you distribute an Opaque copy (directly or + through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of - the Document well before redistributing any large number of - copies, to give them a chance to provide you with an updated - version of the Document. + the Document well before redistributing any large number of copies, + to give them a chance to provide you with an updated version of the + Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you - release the Modified Version under precisely this License, with - the Modified Version filling the role of the Document, thus - licensing distribution and modification of the Modified Version to - whoever possesses a copy of it. In addition, you must do these - things in the Modified Version: + release the Modified Version under precisely this License, with the + Modified Version filling the role of the Document, thus licensing + distribution and modification of the Modified Version to whoever + possesses a copy of it. In addition, you must do these things in + the Modified Version: A. Use in the Title Page (and on the covers, if any) a title - distinct from that of the Document, and from those of - previous versions (which should, if there were any, be listed - in the History section of the Document). You may use the - same title as a previous version if the original publisher of - that version gives permission. + distinct from that of the Document, and from those of previous + versions (which should, if there were any, be listed in the + History section of the Document). You may use the same title + as a previous version if the original publisher of that + version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in @@ -5328,31 +5711,30 @@ Appendix G GNU Free Documentation License I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new - authors, and publisher of the Modified Version as given on - the Title Page. If there is no section Entitled "History" in - the Document, create one stating the title, year, authors, - and publisher of the Document as given on its Title Page, - then add an item describing the Modified Version as stated in - the previous sentence. + authors, and publisher of the Modified Version as given on the + Title Page. If there is no section Entitled "History" in the + Document, create one stating the title, year, authors, and + publisher of the Document as given on its Title Page, then add + an item describing the Modified Version as stated in the + previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for - previous versions it was based on. These may be placed in - the "History" section. You may omit a network location for a - work that was published at least four years before the - Document itself, or if the original publisher of the version - it refers to gives permission. + previous versions it was based on. These may be placed in the + "History" section. You may omit a network location for a work + that was published at least four years before the Document + itself, or if the original publisher of the version it refers + to gives permission. K. For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the - section all the substance and tone of each of the contributor + Preserve the Title of the section, and preserve in the section + all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. - L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section - titles. + L. Preserve all the Invariant Sections of the Document, unaltered + in their text and in their titles. Section numbers or the + equivalent are not considered part of the section titles. M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version. @@ -5365,11 +5747,11 @@ Appendix G GNU Free Documentation License If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no - material copied from the Document, you may at your option - designate some or all of these sections as invariant. To do this, - add their titles to the list of Invariant Sections in the Modified - Version's license notice. These titles must be distinct from any - other section titles. + material copied from the Document, you may at your option designate + some or all of these sections as invariant. To do this, add their + titles to the list of Invariant Sections in the Modified Version's + license notice. These titles must be distinct from any other + section titles. You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various @@ -5378,15 +5760,15 @@ Appendix G GNU Free Documentation License definition of a standard. You may add a passage of up to five words as a Front-Cover Text, - and a passage of up to 25 words as a Back-Cover Text, to the end - of the list of Cover Texts in the Modified Version. Only one - passage of Front-Cover Text and one of Back-Cover Text may be - added by (or through arrangements made by) any one entity. If the - Document already includes a cover text for the same cover, - previously added by you or by arrangement made by the same entity - you are acting on behalf of, you may not add another; but you may - replace the old one, on explicit permission from the previous - publisher that added the old one. + and a passage of up to 25 words as a Back-Cover Text, to the end of + the list of Cover Texts in the Modified Version. Only one passage + of Front-Cover Text and one of Back-Cover Text may be added by (or + through arrangements made by) any one entity. If the Document + already includes a cover text for the same cover, previously added + by you or by arrangement made by the same entity you are acting on + behalf of, you may not add another; but you may replace the old + one, on explicit permission from the previous publisher that added + the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to @@ -5396,8 +5778,8 @@ Appendix G GNU Free Documentation License You may combine the Document with other documents released under this License, under the terms defined in section 4 above for - modified versions, provided that you include in the combination - all of the Invariant Sections of all of the original documents, + modified versions, provided that you include in the combination all + of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. @@ -5424,20 +5806,20 @@ Appendix G GNU Free Documentation License documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the - rules of this License for verbatim copying of each of the - documents in all other respects. + rules of this License for verbatim copying of each of the documents + in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert - a copy of this License into the extracted document, and follow - this License in all other respects regarding verbatim copying of - that document. + a copy of this License into the extracted document, and follow this + License in all other respects regarding verbatim copying of that + document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other - separate and independent documents or works, in or on a volume of - a storage or distribution medium, is called an "aggregate" if the + separate and independent documents or works, in or on a volume of a + storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this @@ -5482,8 +5864,8 @@ Appendix G GNU Free Documentation License However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) - provisionally, unless and until the copyright holder explicitly - and finally terminates your license, and (b) permanently, if the + provisionally, unless and until the copyright holder explicitly and + finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. @@ -5495,33 +5877,33 @@ Appendix G GNU Free Documentation License after your receipt of the notice. Termination of your rights under this section does not terminate - the licenses of parties who have received copies or rights from - you under this License. If your rights have been terminated and - not permanently reinstated, receipt of a copy of some or all of - the same material does not give you any rights to use it. + the licenses of parties who have received copies or rights from you + under this License. If your rights have been terminated and not + permanently reinstated, receipt of a copy of some or all of the + same material does not give you any rights to use it. - 10. FUTURE REVISIONS OF THIS LICENSE + 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See - `http://www.gnu.org/copyleft/'. + . Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been - published (not as a draft) by the Free Software Foundation. If - the Document does not specify a version number of this License, - you may choose any version ever published (not as a draft) by the - Free Software Foundation. If the Document specifies that a proxy - can decide which future versions of this License can be used, that + published (not as a draft) by the Free Software Foundation. If the + Document does not specify a version number of this License, you may + choose any version ever published (not as a draft) by the Free + Software Foundation. If the Document specifies that a proxy can + decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document. - 11. RELICENSING + 11. RELICENSING "Massive Multiauthor Collaboration Site" (or "MMC Site") means any World Wide Web server that publishes copyrightable works and also @@ -5551,7 +5933,6 @@ Appendix G GNU Free Documentation License site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing. - ADDENDUM: How to use this License for your documents ==================================================== @@ -5568,7 +5949,7 @@ notices just after the title page: Free Documentation License''. If you have Invariant Sections, Front-Cover Texts and Back-Cover -Texts, replace the "with...Texts." line with this: +Texts, replace the "with...Texts." line with this: with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts @@ -5579,9 +5960,9 @@ combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, to -permit their use in free software. +recommend releasing these examples in parallel under your choice of free +software license, such as the GNU General Public License, to permit +their use in free software.  File: tar.info, Node: Index of Command Line Options, Next: Index, Prev: GNU Free Documentation License, Up: Top @@ -5589,370 +5970,1038 @@ File: tar.info, Node: Index of Command Line Options, Next: Index, Prev: GNU F Appendix H Index of Command Line Options **************************************** -This appendix contains an index of all GNU `tar' long command line -options. The options are listed without the preceding double-dash. For +This appendix contains an index of all GNU 'tar' long command line +options. The options are listed without the preceding double-dash. For a cross-reference of short command line options, see *note Short Option Summary::. [index] * Menu: -* --keep-directory-symlink, summary: Option Summary. (line 377) -* absolute-names: absolute. (line 10) -* absolute-names, summary: Option Summary. (line 6) -* add-file: files. (line 60) -* after-date: after. (line 24) -* after-date, summary: Option Summary. (line 13) +* absolute-names: absolute. (line 10) +* absolute-names, summary: Option Summary. (line 6) +* acls, summary: Option Summary. (line 14) +* add-file: files. (line 79) +* after-date: after. (line 24) +* after-date, summary: Option Summary. (line 17) * anchored: controlling pattern-matching. - (line 79) -* anchored, summary: Option Summary. (line 16) -* append <1>: appending files. (line 6) -* append: append. (line 6) -* append, summary: Operation Summary. (line 6) -* atime-preserve: Attributes. (line 10) -* atime-preserve, summary: Option Summary. (line 20) -* auto-compress: gzip. (line 155) -* auto-compress, summary: Option Summary. (line 66) -* backup: backup. (line 41) -* backup, summary: Option Summary. (line 72) -* block-number: verbose. (line 115) -* block-number, summary: Option Summary. (line 77) -* blocking-factor: Blocking Factor. (line 8) -* blocking-factor, summary: Option Summary. (line 83) -* bzip2, summary: Option Summary. (line 88) -* catenate: concatenate. (line 6) -* catenate, summary: Operation Summary. (line 10) -* check-device, described: Incremental Dumps. (line 108) -* check-device, summary: Option Summary. (line 93) -* check-links, described: hard links. (line 31) -* check-links, summary: Option Summary. (line 144) -* checkpoint: checkpoints. (line 6) -* checkpoint, defined: checkpoints. (line 13) -* checkpoint, summary: Option Summary. (line 98) -* checkpoint-action: checkpoints. (line 6) -* checkpoint-action, defined: checkpoints. (line 22) -* checkpoint-action, summary: Option Summary. (line 106) -* compare: compare. (line 6) -* compare, summary: Operation Summary. (line 14) -* compress: gzip. (line 113) -* compress, summary: Option Summary. (line 153) -* concatenate: concatenate. (line 6) -* concatenate, summary: Operation Summary. (line 20) -* confirmation, summary: Option Summary. (line 160) -* create, additional options: create options. (line 6) -* create, complementary notes: Basic tar. (line 11) + (line 78) +* anchored, summary: Option Summary. (line 21) +* append: append. (line 6) +* append <1>: appending files. (line 6) +* append, summary: Operation Summary. (line 6) +* atime-preserve: Attributes. (line 10) +* atime-preserve, summary: Option Summary. (line 25) +* auto-compress: gzip. (line 150) +* auto-compress, summary: Option Summary. (line 71) +* backup: backup. (line 41) +* backup, summary: Option Summary. (line 78) +* block-number: verbose. (line 112) +* block-number, summary: Option Summary. (line 84) +* blocking-factor: Blocking Factor. (line 8) +* blocking-factor, summary: Option Summary. (line 91) +* bzip2, summary: Option Summary. (line 97) +* catenate: concatenate. (line 6) +* catenate, summary: Operation Summary. (line 11) +* check-device, described: Incremental Dumps. (line 107) +* check-device, summary: Option Summary. (line 103) +* check-links, described: hard links. (line 31) +* check-links, summary: Option Summary. (line 155) +* checkpoint: checkpoints. (line 6) +* checkpoint, defined: checkpoints. (line 13) +* checkpoint, summary: Option Summary. (line 108) +* checkpoint-action: checkpoints. (line 6) +* checkpoint-action, defined: checkpoints. (line 22) +* checkpoint-action, summary: Option Summary. (line 117) +* clamp-mtime, summary: Option Summary. (line 172) +* compare: compare. (line 6) +* compare, summary: Operation Summary. (line 16) +* compress: gzip. (line 113) +* compress, summary: Option Summary. (line 164) +* concatenate: concatenate. (line 6) +* concatenate, summary: Operation Summary. (line 23) +* confirmation, summary: Option Summary. (line 176) +* create, additional options: create options. (line 6) +* create, complementary notes: Basic tar. (line 11) * create, introduced: Creating the archive. - (line 6) -* create, summary: Operation Summary. (line 25) -* create, using with --verbose: create verbose. (line 6) -* create, using with --verify: verify. (line 24) + (line 6) +* create, summary: Operation Summary. (line 29) +* create, using with '--verbose': create verbose. (line 6) +* create, using with '--verify': verify. (line 24) * delay-directory-restore: Directory Modification Times and Permissions. - (line 62) -* delay-directory-restore, summary: Option Summary. (line 163) -* delete: delete. (line 6) -* delete, summary: Operation Summary. (line 29) -* delete, using before -append: append. (line 47) -* dereference: dereference. (line 6) -* dereference, summary: Option Summary. (line 168) -* diff, summary: Operation Summary. (line 33) -* directory: directory. (line 11) -* directory, summary: Option Summary. (line 174) -* exclude: exclude. (line 6) + (line 62) +* delay-directory-restore, summary: Option Summary. (line 180) +* delete: delete. (line 6) +* delete, summary: Operation Summary. (line 34) +* delete, using before -append: append. (line 47) +* dereference: dereference. (line 6) +* dereference, summary: Option Summary. (line 186) +* diff, summary: Operation Summary. (line 39) +* directory: directory. (line 11) +* directory, summary: Option Summary. (line 193) +* exclude: exclude. (line 6) +* exclude <1>: exclude. (line 9) * exclude, potential problems with: problems with exclude. - (line 6) -* exclude, summary: Option Summary. (line 181) -* exclude-backups: exclude. (line 130) -* exclude-backups, summary: Option Summary. (line 185) -* exclude-caches: exclude. (line 153) -* exclude-caches, summary: Option Summary. (line 193) -* exclude-caches-all: exclude. (line 161) -* exclude-caches-all, summary: Option Summary. (line 206) -* exclude-caches-under: exclude. (line 157) -* exclude-caches-under, summary: Option Summary. (line 200) -* exclude-from: exclude. (line 6) -* exclude-from, summary: Option Summary. (line 188) -* exclude-ignore: exclude. (line 76) -* exclude-ignore, summary: Option Summary. (line 210) -* exclude-ignore-recursive: exclude. (line 81) -* exclude-ignore-recursive, summary: Option Summary. (line 215) -* exclude-tag: exclude. (line 170) -* exclude-tag, summary: Option Summary. (line 220) -* exclude-tag-all: exclude. (line 178) -* exclude-tag-all, summary: Option Summary. (line 230) -* exclude-tag-under: exclude. (line 174) -* exclude-tag-under, summary: Option Summary. (line 225) -* exclude-vcs: exclude. (line 85) -* exclude-vcs, summary: Option Summary. (line 234) -* exclude-vcs-ignores: exclude. (line 42) -* exclude-vcs-ignores, summary: Option Summary. (line 240) -* extract: extract. (line 6) -* extract, additional options: extract options. (line 6) -* extract, complementary notes: Basic tar. (line 48) -* extract, summary: Operation Summary. (line 37) -* extract, using with --listed-incremental: Incremental Dumps. - (line 121) -* file: file. (line 6) -* file, short description: file. (line 15) -* file, summary: Option Summary. (line 248) -* file, tutorial: file tutorial. (line 6) -* files-from: files. (line 14) -* files-from, summary: Option Summary. (line 254) -* force-local, short description: Device. (line 70) -* force-local, summary: Option Summary. (line 260) -* format, summary: Option Summary. (line 265) -* full-time, summary: Option Summary. (line 290) -* get, summary: Operation Summary. (line 42) -* group: override. (line 88) -* group, summary: Option Summary. (line 308) -* gunzip, summary: Option Summary. (line 316) -* gzip: gzip. (line 91) -* gzip, summary: Option Summary. (line 316) -* hard-dereference, described: hard links. (line 59) -* hard-dereference, summary: Option Summary. (line 324) -* help: help tutorial. (line 6) -* help, introduction: help. (line 26) -* help, summary: Option Summary. (line 330) + (line 6) +* exclude, summary: Option Summary. (line 201) +* exclude-backups: exclude. (line 114) +* exclude-backups, summary: Option Summary. (line 206) +* exclude-caches: exclude. (line 134) +* exclude-caches, summary: Option Summary. (line 215) +* exclude-caches-all: exclude. (line 142) +* exclude-caches-all, summary: Option Summary. (line 230) +* exclude-caches-under: exclude. (line 138) +* exclude-caches-under, summary: Option Summary. (line 223) +* exclude-from: exclude. (line 6) +* exclude-from <1>: exclude. (line 20) +* exclude-from, summary: Option Summary. (line 209) +* exclude-ignore: exclude. (line 76) +* exclude-ignore, summary: Option Summary. (line 235) +* exclude-ignore-recursive: exclude. (line 81) +* exclude-ignore-recursive, summary: Option Summary. (line 240) +* exclude-tag: exclude. (line 151) +* exclude-tag, summary: Option Summary. (line 245) +* exclude-tag-all: exclude. (line 159) +* exclude-tag-all, summary: Option Summary. (line 257) +* exclude-tag-under: exclude. (line 155) +* exclude-tag-under, summary: Option Summary. (line 251) +* exclude-vcs: exclude. (line 85) +* exclude-vcs, summary: Option Summary. (line 262) +* exclude-vcs-ignores: exclude. (line 42) +* exclude-vcs-ignores, summary: Option Summary. (line 269) +* extract: extract. (line 6) +* extract, additional options: extract options. (line 6) +* extract, complementary notes: Basic tar. (line 49) +* extract, summary: Operation Summary. (line 44) +* extract, using with '--listed-incremental': Incremental Dumps. + (line 120) +* file: file. (line 6) +* file, short description: file. (line 15) +* file, summary: Option Summary. (line 277) +* file, tutorial: file tutorial. (line 6) +* files-from: files. (line 14) +* files-from, summary: Option Summary. (line 284) +* force-local, short description: Device. (line 70) +* force-local, summary: Option Summary. (line 291) +* format, summary: Option Summary. (line 297) +* full-time, summary: Option Summary. (line 322) +* get, summary: Operation Summary. (line 50) +* group: override. (line 99) +* group, summary: Option Summary. (line 340) +* group-map, summary: Option Summary. (line 350) +* gunzip, summary: Option Summary. (line 360) +* gzip: gzip. (line 91) +* gzip, summary: Option Summary. (line 360) +* hard-dereference, described: hard links. (line 59) +* hard-dereference, summary: Option Summary. (line 369) +* help: help tutorial. (line 6) +* help, introduction: help. (line 26) +* help, summary: Option Summary. (line 375) +* hole-detection: sparse. (line 66) +* hole-detection, summary: Option Summary. (line 381) * ignore-case: controlling pattern-matching. - (line 86) -* ignore-case, summary: Option Summary. (line 335) + (line 85) +* ignore-case, summary: Option Summary. (line 386) * ignore-command-error: Writing to an External Program. - (line 110) -* ignore-command-error, summary: Option Summary. (line 339) -* ignore-failed-read: Ignore Failed Read. (line 7) -* ignore-failed-read, summary: Option Summary. (line 343) -* ignore-zeros: Ignore Zeros. (line 6) -* ignore-zeros, short description: Blocking Factor. (line 156) -* ignore-zeros, summary: Option Summary. (line 347) -* incremental, summary: Option Summary. (line 352) -* incremental, using with --list: Incremental Dumps. (line 186) -* index-file, summary: Option Summary. (line 359) + (line 111) +* ignore-command-error, summary: Option Summary. (line 390) +* ignore-failed-read: Ignore Failed Read. (line 7) +* ignore-failed-read, summary: Option Summary. (line 394) +* ignore-zeros: Ignore Zeros. (line 6) +* ignore-zeros, short description: Blocking Factor. (line 152) +* ignore-zeros, summary: Option Summary. (line 399) +* incremental, summary: Option Summary. (line 405) +* incremental, using with '--list': Incremental Dumps. (line 185) +* index-file, summary: Option Summary. (line 413) * info-script: Multi-Volume Archives. - (line 88) -* info-script, short description: Device. (line 122) -* info-script, summary: Option Summary. (line 362) -* interactive: interactive. (line 14) -* interactive, summary: Option Summary. (line 370) -* keep-newer-files: Keep Newer Files. (line 6) -* keep-newer-files, summary: Option Summary. (line 390) -* keep-old-files: Keep Old Files. (line 9) + (line 83) +* info-script, short description: Device. (line 121) +* info-script, summary: Option Summary. (line 417) +* interactive: interactive. (line 14) +* interactive, summary: Option Summary. (line 426) +* keep-directory-symlink, summary: Option Summary. (line 434) +* keep-newer-files: Keep Newer Files. (line 6) +* keep-newer-files, summary: Option Summary. (line 448) +* keep-old-files: Keep Old Files. (line 9) * keep-old-files, introduced: Dealing with Old Files. - (line 16) -* keep-old-files, summary: Option Summary. (line 394) -* label <1>: label. (line 6) -* label: Tape Files. (line 6) -* label, summary: Option Summary. (line 402) -* level, described: Incremental Dumps. (line 76) -* level, summary: Option Summary. (line 409) -* list: list. (line 6) -* list, summary: Operation Summary. (line 46) -* list, using with --incremental: Incremental Dumps. (line 186) -* list, using with --listed-incremental: Incremental Dumps. (line 186) -* list, using with --verbose: list. (line 30) -* list, using with file name arguments: list. (line 68) -* listed-incremental, described: Incremental Dumps. (line 14) -* listed-incremental, summary: Option Summary. (line 419) -* listed-incremental, using with --extract: Incremental Dumps. - (line 121) -* listed-incremental, using with --list: Incremental Dumps. (line 186) -* lzip: gzip. (line 104) -* lzip, summary: Option Summary. (line 427) -* lzma: gzip. (line 107) -* lzma, summary: Option Summary. (line 431) -* lzop: gzip. (line 110) -* mode: override. (line 14) -* mode, summary: Option Summary. (line 439) -* mtime: override. (line 29) -* mtime, summary: Option Summary. (line 445) + (line 16) +* keep-old-files, summary: Option Summary. (line 453) +* label: Tape Files. (line 6) +* label <1>: label. (line 6) +* label, summary: Option Summary. (line 462) +* level, described: Incremental Dumps. (line 75) +* level, summary: Option Summary. (line 470) +* list: list. (line 6) +* list, summary: Operation Summary. (line 55) +* list, using with '--incremental': Incremental Dumps. (line 185) +* list, using with '--listed-incremental': Incremental Dumps. + (line 185) +* list, using with '--verbose': list. (line 34) +* list, using with file name arguments: list. (line 25) +* listed-incremental, described: Incremental Dumps. (line 14) +* listed-incremental, summary: Option Summary. (line 480) +* listed-incremental, using with '--extract': Incremental Dumps. + (line 120) +* listed-incremental, using with '--list': Incremental Dumps. + (line 185) +* lzip: gzip. (line 104) +* lzip, summary: Option Summary. (line 489) +* lzma: gzip. (line 107) +* lzma, summary: Option Summary. (line 494) +* lzop: gzip. (line 110) +* mode: override. (line 14) +* mode, summary: Option Summary. (line 504) +* mtime: override. (line 30) +* mtime, summary: Option Summary. (line 511) * multi-volume: Multi-Volume Archives. - (line 6) -* multi-volume, short description: Device. (line 88) -* multi-volume, summary: Option Summary. (line 454) + (line 6) +* multi-volume, short description: Device. (line 88) +* multi-volume, summary: Option Summary. (line 526) * new-volume-script: Multi-Volume Archives. - (line 88) -* new-volume-script, short description: Device. (line 122) -* new-volume-script, summary: Option Summary. (line 362) -* newer: after. (line 24) -* newer, summary: Option Summary. (line 462) -* newer-mtime: after. (line 35) -* newer-mtime, summary: Option Summary. (line 470) + (line 83) +* new-volume-script, short description: Device. (line 121) +* new-volume-script, summary: Option Summary. (line 417) +* new-volume-script, summary <1>: Option Summary. (line 532) +* newer: after. (line 24) +* newer, summary: Option Summary. (line 536) +* newer-mtime: after. (line 35) +* newer-mtime, summary: Option Summary. (line 545) +* no-acls, summary: Option Summary. (line 551) * no-anchored: controlling pattern-matching. - (line 79) -* no-anchored, summary: Option Summary. (line 475) -* no-auto-compress, summary: Option Summary. (line 479) -* no-check-device, described: Incremental Dumps. (line 104) -* no-check-device, summary: Option Summary. (line 483) + (line 78) +* no-anchored, summary: Option Summary. (line 555) +* no-auto-compress, summary: Option Summary. (line 559) +* no-check-device, described: Incremental Dumps. (line 103) +* no-check-device, summary: Option Summary. (line 564) * no-delay-directory-restore: Directory Modification Times and Permissions. - (line 68) -* no-delay-directory-restore, summary: Option Summary. (line 488) + (line 68) +* no-delay-directory-restore, summary: Option Summary. (line 569) * no-ignore-case: controlling pattern-matching. - (line 86) -* no-ignore-case, summary: Option Summary. (line 494) + (line 85) +* no-ignore-case, summary: Option Summary. (line 575) * no-ignore-command-error: Writing to an External Program. - (line 115) -* no-ignore-command-error, summary: Option Summary. (line 497) -* no-null, described: nul. (line 15) -* no-null, summary: Option Summary. (line 501) -* no-overwrite-dir, summary: Option Summary. (line 506) -* no-quote-chars, summary: Option Summary. (line 510) -* no-recursion: recurse. (line 11) -* no-recursion, summary: Option Summary. (line 515) -* no-same-owner: Attributes. (line 63) -* no-same-owner, summary: Option Summary. (line 519) -* no-same-permissions, summary: Option Summary. (line 525) -* no-seek, summary: Option Summary. (line 530) + (line 116) +* no-ignore-command-error, summary: Option Summary. (line 578) +* no-null, described: nul. (line 15) +* no-null, summary: Option Summary. (line 582) +* no-overwrite-dir, summary: Option Summary. (line 588) +* no-quote-chars, summary: Option Summary. (line 593) +* no-recursion: recurse. (line 11) +* no-recursion, summary: Option Summary. (line 598) +* no-same-owner: Attributes. (line 63) +* no-same-owner, summary: Option Summary. (line 603) +* no-same-permissions, summary: Option Summary. (line 610) +* no-seek, summary: Option Summary. (line 616) +* no-selinux, summary: Option Summary. (line 622) * no-unquote: Selecting Archive Members. - (line 42) -* no-unquote, summary: Option Summary. (line 535) + (line 42) +* no-unquote, summary: Option Summary. (line 626) +* no-verbatim-files-from: files. (line 75) +* no-verbatim-files-from, summary: Option Summary. (line 630) * no-wildcards: controlling pattern-matching. - (line 41) -* no-wildcards, summary: Option Summary. (line 539) + (line 41) +* no-wildcards, summary: Option Summary. (line 644) * no-wildcards-match-slash: controlling pattern-matching. - (line 92) -* no-wildcards-match-slash, summary: Option Summary. (line 542) -* null, described: nul. (line 11) -* null, summary: Option Summary. (line 545) -* numeric-owner: Attributes. (line 69) -* numeric-owner, summary: Option Summary. (line 551) -* occurrence, described: append. (line 34) -* occurrence, summary: Option Summary. (line 568) -* old-archive, summary: Option Summary. (line 582) -* one-file-system: one. (line 14) -* one-file-system, summary: Option Summary. (line 585) -* one-top-level, summary: Option Summary. (line 590) -* overwrite: Overwrite Old Files. (line 6) + (line 91) +* no-wildcards-match-slash, summary: Option Summary. (line 647) +* no-xattrs, summary: Option Summary. (line 650) +* null, described: nul. (line 11) +* null, summary: Option Summary. (line 654) +* numeric-owner: Attributes. (line 69) +* numeric-owner, summary: Option Summary. (line 667) +* occurrence, described: append. (line 34) +* occurrence, summary: Option Summary. (line 685) +* old-archive, summary: Option Summary. (line 700) +* one-file-system: one. (line 14) +* one-file-system, summary: Option Summary. (line 703) +* one-top-level, summary: Option Summary. (line 708) +* overwrite: Overwrite Old Files. + (line 6) * overwrite, introduced: Dealing with Old Files. - (line 32) -* overwrite, summary: Option Summary. (line 601) -* overwrite-dir: Overwrite Old Files. (line 28) + (line 32) +* overwrite, summary: Option Summary. (line 719) +* overwrite-dir: Overwrite Old Files. + (line 28) * overwrite-dir, introduced: Dealing with Old Files. - (line 6) -* overwrite-dir, summary: Option Summary. (line 605) -* owner: override. (line 57) -* owner, summary: Option Summary. (line 609) -* pax-option: PAX keywords. (line 6) -* pax-option, summary: Option Summary. (line 617) -* portability, summary: Option Summary. (line 623) -* posix, summary: Option Summary. (line 627) -* preserve: Attributes. (line 122) -* preserve, summary: Option Summary. (line 630) -* preserve-order: Same Order. (line 6) -* preserve-order, summary: Option Summary. (line 634) + (line 6) +* overwrite-dir, summary: Option Summary. (line 724) +* owner: override. (line 67) +* owner, summary: Option Summary. (line 729) +* owner-map, summary: Option Summary. (line 739) +* pax-option: PAX keywords. (line 6) +* pax-option, summary: Option Summary. (line 749) +* portability, summary: Option Summary. (line 755) +* posix, summary: Option Summary. (line 759) +* preserve-order: Same Order. (line 6) +* preserve-order, summary: Option Summary. (line 762) * preserve-permissions: Setting Access Permissions. - (line 10) -* preserve-permissions, short description: Attributes. (line 109) -* preserve-permissions, summary: Option Summary. (line 637) -* quote-chars, summary: Option Summary. (line 647) -* quoting-style: quoting styles. (line 38) -* quoting-style, summary: Option Summary. (line 651) -* read-full-records <1>: read full records. (line 6) -* read-full-records: Reading. (line 6) -* read-full-records, short description: Blocking Factor. (line 172) -* read-full-records, summary: Option Summary. (line 658) -* record-size, summary: Option Summary. (line 663) -* recursion: recurse. (line 22) -* recursion, summary: Option Summary. (line 670) -* recursive-unlink: Recursive Unlink. (line 6) -* recursive-unlink, summary: Option Summary. (line 674) -* remove-files: remove files. (line 6) -* remove-files, summary: Option Summary. (line 679) -* restrict, summary: Option Summary. (line 683) -* rmt-command, summary: Option Summary. (line 688) -* rsh-command: Device. (line 73) -* rsh-command, summary: Option Summary. (line 692) -* same-order: Same Order. (line 6) -* same-order, summary: Option Summary. (line 696) -* same-owner: Attributes. (line 44) -* same-owner, summary: Option Summary. (line 704) + (line 10) +* preserve-permissions, short description: Attributes. (line 109) +* preserve-permissions, summary: Option Summary. (line 766) +* quote-chars, summary: Option Summary. (line 777) +* quoting-style: quoting styles. (line 38) +* quoting-style, summary: Option Summary. (line 781) +* read-full-records: Reading. (line 6) +* read-full-records <1>: read full records. (line 6) +* read-full-records, short description: Blocking Factor. (line 168) +* read-full-records, summary: Option Summary. (line 788) +* record-size, summary: Option Summary. (line 794) +* recursion: recurse. (line 22) +* recursion, summary: Option Summary. (line 802) +* recursive-unlink: Recursive Unlink. (line 6) +* recursive-unlink, summary: Option Summary. (line 807) +* remove-files: remove files. (line 6) +* remove-files, summary: Option Summary. (line 812) +* restrict, summary: Option Summary. (line 817) +* rmt-command, summary: Option Summary. (line 823) +* rsh-command: Device. (line 73) +* rsh-command, summary: Option Summary. (line 828) +* same-order: Same Order. (line 6) +* same-order, summary: Option Summary. (line 833) +* same-owner: Attributes. (line 44) +* same-owner, summary: Option Summary. (line 842) * same-permissions: Setting Access Permissions. - (line 10) -* same-permissions, short description: Attributes. (line 109) -* same-permissions, summary: Option Summary. (line 637) -* seek, summary: Option Summary. (line 713) -* show-defaults: defaults. (line 6) -* show-defaults, summary: Option Summary. (line 722) -* show-omitted-dirs: verbose. (line 107) -* show-omitted-dirs, summary: Option Summary. (line 734) -* show-snapshot-field-ranges: Snapshot Files. (line 113) -* show-snapshot-field-ranges, summary: Option Summary. (line 738) -* show-stored-names: list. (line 60) -* show-stored-names, summary: Option Summary. (line 743) -* show-transformed-names: transform. (line 45) -* show-transformed-names, summary: Option Summary. (line 743) + (line 10) +* same-permissions, short description: Attributes. (line 109) +* same-permissions, summary: Option Summary. (line 766) +* same-permissions, summary <1>: Option Summary. (line 849) +* seek, summary: Option Summary. (line 853) +* selinux, summary: Option Summary. (line 863) +* show-defaults: defaults. (line 6) +* show-defaults, summary: Option Summary. (line 867) +* show-omitted-dirs: verbose. (line 105) +* show-omitted-dirs, summary: Option Summary. (line 880) +* show-snapshot-field-ranges: Snapshot Files. (line 111) +* show-snapshot-field-ranges, summary: Option Summary. (line 885) +* show-stored-names: list. (line 68) +* show-stored-names, summary: Option Summary. (line 891) +* show-transformed-names: transform. (line 45) +* show-transformed-names, summary: Option Summary. (line 891) * skip-old-files, introduced: Dealing with Old Files. - (line 28) -* skip-old-files, summary: Option Summary. (line 751) -* sort, summary: Option Summary. (line 763) -* sparse: sparse. (line 22) -* sparse, summary: Option Summary. (line 782) -* sparse-version: sparse. (line 57) -* sparse-version, summary: Option Summary. (line 787) -* starting-file: Starting File. (line 6) -* starting-file, summary: Option Summary. (line 792) -* strip-components: transform. (line 25) -* strip-components, summary: Option Summary. (line 798) -* suffix: backup. (line 68) -* suffix, summary: Option Summary. (line 807) + (line 28) +* skip-old-files, summary: Option Summary. (line 900) +* sort, summary: Option Summary. (line 913) +* sparse: sparse. (line 24) +* sparse, summary: Option Summary. (line 930) +* sparse-version: sparse. (line 59) +* sparse-version, summary: Option Summary. (line 936) +* starting-file: Starting File. (line 6) +* starting-file, summary: Option Summary. (line 942) +* strip-components: transform. (line 25) +* strip-components, summary: Option Summary. (line 949) +* suffix: backup. (line 67) +* suffix, summary: Option Summary. (line 960) * tape-length: Multi-Volume Archives. - (line 33) -* tape-length, short description: Device. (line 96) -* tape-length, summary: Option Summary. (line 811) -* test-label: label. (line 35) -* test-label, summary: Option Summary. (line 820) + (line 33) +* tape-length, short description: Device. (line 96) +* tape-length, summary: Option Summary. (line 965) +* test-label: label. (line 35) +* test-label, summary: Option Summary. (line 976) * to-command: Writing to an External Program. - (line 9) -* to-command, summary: Option Summary. (line 824) + (line 9) +* to-command, summary: Option Summary. (line 981) * to-stdout: Writing to Standard Output. - (line 14) -* to-stdout, summary: Option Summary. (line 828) -* totals: verbose. (line 46) -* totals, summary: Option Summary. (line 833) -* touch <1>: Attributes. (line 33) + (line 14) +* to-stdout, summary: Option Summary. (line 986) +* totals: verbose. (line 45) +* totals, summary: Option Summary. (line 992) * touch: Data Modification Times. - (line 15) -* touch, summary: Option Summary. (line 838) -* transform: transform. (line 74) -* transform, summary: Option Summary. (line 844) -* uncompress: gzip. (line 113) -* uncompress, summary: Option Summary. (line 153) -* ungzip: gzip. (line 91) -* ungzip, summary: Option Summary. (line 316) -* unlink-first: Unlink First. (line 6) + (line 15) +* touch <1>: Attributes. (line 33) +* touch, summary: Option Summary. (line 998) +* transform: transform. (line 74) +* transform, summary: Option Summary. (line 1005) +* uncompress: gzip. (line 113) +* uncompress, summary: Option Summary. (line 164) +* uncompress, summary <1>: Option Summary. (line 1019) +* ungzip: gzip. (line 91) +* ungzip, summary: Option Summary. (line 360) +* ungzip, summary <1>: Option Summary. (line 1023) +* unlink-first: Unlink First. (line 6) * unlink-first, introduced: Dealing with Old Files. - (line 52) -* unlink-first, summary: Option Summary. (line 864) + (line 51) +* unlink-first, summary: Option Summary. (line 1027) * unquote: Selecting Archive Members. - (line 39) -* unquote, summary: Option Summary. (line 870) -* update <1>: how to update. (line 6) -* update: update. (line 6) -* update, summary: Operation Summary. (line 50) -* usage: help. (line 53) -* use-compress-program: gzip. (line 177) -* use-compress-program, summary: Option Summary. (line 874) -* utc, summary: Option Summary. (line 879) -* verbose: verbose. (line 18) -* verbose, introduced: verbose tutorial. (line 6) -* verbose, summary: Option Summary. (line 883) -* verbose, using with --create: create verbose. (line 6) -* verbose, using with --list: list. (line 30) -* verify, short description: verify. (line 8) -* verify, summary: Option Summary. (line 890) -* verify, using with --create: verify. (line 24) -* version: help. (line 6) -* version, summary: Option Summary. (line 895) + (line 39) +* unquote, summary: Option Summary. (line 1033) +* update: update. (line 6) +* update <1>: how to update. (line 6) +* update, summary: Operation Summary. (line 60) +* usage: help. (line 53) +* use-compress-program: gzip. (line 172) +* use-compress-program, summary: Option Summary. (line 1037) +* utc, summary: Option Summary. (line 1043) +* verbatim-files-from: files. (line 70) +* verbatim-files-from, summary: Option Summary. (line 1048) +* verbose: verbose. (line 18) +* verbose, introduced: verbose tutorial. (line 6) +* verbose, summary: Option Summary. (line 1070) +* verbose, using with '--create': create verbose. (line 6) +* verbose, using with '--list': list. (line 34) +* verify, short description: verify. (line 8) +* verify, summary: Option Summary. (line 1078) +* verify, using with '--create': verify. (line 24) +* version: help. (line 6) +* version, summary: Option Summary. (line 1084) * volno-file: Multi-Volume Archives. - (line 79) -* volno-file, summary: Option Summary. (line 900) -* warning, explained: warnings. (line 12) -* warning, summary: Option Summary. (line 905) + (line 74) +* volno-file, summary: Option Summary. (line 1090) +* warning, explained: warnings. (line 12) +* warning, summary: Option Summary. (line 1096) * wildcards: controlling pattern-matching. - (line 38) -* wildcards, summary: Option Summary. (line 910) + (line 38) +* wildcards, summary: Option Summary. (line 1102) * wildcards-match-slash: controlling pattern-matching. + (line 91) +* wildcards-match-slash, summary: Option Summary. (line 1106) +* xattrs, summary: Option Summary. (line 1109) +* xattrs-exclude, summary: Option Summary. (line 1113) +* xattrs-include, summary: Option Summary. (line 1117) +* xform: transform. (line 74) +* xform, summary: Option Summary. (line 1005) +* xz: gzip. (line 96) +* xz, summary: Option Summary. (line 1123) + + +File: tar.info, Node: Index, Prev: Index of Command Line Options, Up: Top + +Appendix I Index +**************** + +[index] +* Menu: + +* '%s: Directory has been renamed from %s', warning message: warnings. + (line 96) +* '%s: Directory has been renamed', warning message: warnings. + (line 96) +* '%s: Directory is new', warning message: warnings. (line 98) +* '%s: directory is on a different device: not purging', warning message: warnings. + (line 100) +* '%s: skipping existing file', warning message: warnings. (line 62) +* -after-date and -update compared: after. (line 19) +* -newer-mtime and -update compared: after. (line 19) +* -quite, option: Generate Mode. (line 120) +* .bzrignore: exclude. (line 63) +* .cvsignore: exclude. (line 50) +* .gitignore: exclude. (line 55) +* .hgignore: exclude. (line 70) +* 'A lone zero block at', warning message: warnings. (line 33) +* abbreviations for months: Calendar date items. (line 38) +* absolute file names: absolute. (line 6) +* absolute file names <1>: Remote Tape Server. (line 17) +* Adding archives to an archive: concatenate. (line 6) +* Adding files to an Archive: appending files. (line 6) +* ADMINISTRATOR: General-Purpose Variables. + (line 6) +* Age, excluding files by: after. (line 6) +* ago in date strings: Relative items in date strings. + (line 23) +* all: warnings. (line 28) +* alone-zero-block: warnings. (line 33) +* alternative decompression programs: gzip. (line 54) +* am in date strings: Time of day items. (line 21) +* Appending files to an Archive: appending files. (line 6) +* appending files to existing archive: append. (line 6) +* Arch, excluding files: exclude. (line 85) +* archive: Definitions. (line 6) +* Archive creation: file. (line 34) +* archive member: Definitions. (line 15) +* Archive Name: file. (line 6) +* Archive, creation of: create. (line 6) +* Archives, Appending files to: appending files. (line 6) +* archives, binary equivalent: PAX keywords. (line 136) +* Archiving Directories: create dir. (line 6) +* archiving files: Top. (line 23) +* ARGP_HELP_FMT, environment variable: Configuring Help Summary. + (line 21) +* arguments to long options: Long Options. (line 31) +* arguments to old options: Old Options. (line 26) +* arguments to short options: Short Options. (line 13) +* 'Attempting extraction of symbolic links as hard links', warning message: warnings. + (line 68) +* attributes, files: Attributes. (line 6) +* authors of 'parse_datetime': Authors of parse_datetime. + (line 6) +* Avoiding recursion in directories: recurse. (line 6) +* backup options: backup. (line 6) +* backup suffix: backup. (line 67) +* backups: backup. (line 41) +* backups <1>: Backups. (line 6) +* BACKUP_DIRS: General-Purpose Variables. + (line 30) +* BACKUP_FILES: General-Purpose Variables. + (line 58) +* BACKUP_HOUR: General-Purpose Variables. + (line 10) +* bad-dumpdir: warnings. (line 102) +* basic operations: Operations. (line 6) +* Bazaar, excluding files: exclude. (line 85) +* Bazaar, ignore files: exclude. (line 37) +* beginning of time, for POSIX: Seconds since the Epoch. + (line 13) +* 'bell', checkpoint action: checkpoints. (line 106) +* Bellovin, Steven M.: Authors of parse_datetime. + (line 6) +* Berets, Jim: Authors of parse_datetime. + (line 6) +* Berry, K.: Authors of parse_datetime. + (line 19) +* binary equivalent archives, creating: PAX keywords. (line 136) +* block: Blocking. (line 6) +* Block number where error occurred: verbose. (line 112) +* BLOCKING: General-Purpose Variables. + (line 25) +* Blocking Factor: Blocking Factor. (line 6) +* blocking factor: Blocking Factor. (line 189) +* Blocks per record: Blocking Factor. (line 6) +* bug reports: Reports. (line 6) +* Bytes per record: Blocking Factor. (line 6) +* bzip2: gzip. (line 6) +* cachedir: warnings. (line 40) +* calendar date item: Calendar date items. (line 6) +* case, ignored in dates: General date syntax. (line 60) +* 'cat' vs 'concatenate': concatenate. (line 63) +* Changing directory mid-stream: directory. (line 6) +* Character class, excluding characters from: wildcards. (line 34) +* checkpoints, defined: checkpoints. (line 6) +* Choosing an archive file: file. (line 6) +* combined date and time of day item: Combined date and time of day items. + (line 6) +* comments, in dates: General date syntax. (line 60) +* compress: gzip. (line 6) +* Compressed archives: gzip. (line 6) +* 'concatenate' vs 'cat': concatenate. (line 63) +* Concatenating Archives: concatenate. (line 6) +* 'contains a cache directory tag', warning message: warnings. + (line 40) +* contiguous-cast: warnings. (line 66) +* corrupted archives: Full Dumps. (line 8) +* corrupted archives <1>: gzip. (line 140) +* Creation of the archive: create. (line 6) +* 'Current %s is newer or same age', warning message: warnings. + (line 72) +* CVS, excluding files: exclude. (line 85) +* CVS, ignore files: exclude. (line 37) +* Darcs, excluding files: exclude. (line 85) +* DAT blocking: Blocking Factor. (line 199) +* Data Modification time, excluding files by: after. (line 6) +* Data modification times of extracted files: Data Modification Times. + (line 6) +* date and time of day format, ISO 8601: Combined date and time of day items. + (line 6) +* date format, ISO 8601: Calendar date items. (line 30) +* date input formats: Date input formats. (line 6) +* day in date strings: Relative items in date strings. + (line 15) +* day in date strings <1>: Relative items in date strings. + (line 29) +* day of week item: Day of week items. (line 6) +* decompress-program: warnings. (line 76) +* Deleting files from an archive: delete. (line 6) +* Deleting from tape archives: delete. (line 17) +* dereferencing hard links: hard links. (line 6) +* Descending directories, avoiding: recurse. (line 6) +* Device numbers, changing: Fixing Snapshot Files. + (line 6) +* Device numbers, using in incremental backups: Incremental Dumps. + (line 89) +* Directories, Archiving: create dir. (line 6) +* Directories, avoiding recursion: recurse. (line 6) +* Directory, changing mid-stream: directory. (line 6) +* DIRLIST: General-Purpose Variables. + (line 53) +* displacement of dates: Relative items in date strings. + (line 6) +* doc-opt-col: Configuring Help Summary. + (line 95) +* 'door ignored', warning message: warnings. (line 45) +* 'dot', checkpoint action: checkpoints. (line 130) +* Double-checking a write operation: verify. (line 6) +* dumps, full: Full Dumps. (line 8) +* DUMP_BEGIN: User Hooks. (line 31) +* DUMP_END: User Hooks. (line 35) +* DUMP_REMIND_SCRIPT: General-Purpose Variables. + (line 112) +* dup-args: Configuring Help Summary. + (line 52) +* dup-args-note: Configuring Help Summary. + (line 69) +* 'echo', checkpoint action: checkpoints. (line 25) +* Eggert, Paul: Authors of parse_datetime. + (line 6) +* End-of-archive blocks, ignoring: Ignore Zeros. (line 6) +* End-of-archive info script: Multi-Volume Archives. + (line 83) +* entry: Naming tar Archives. (line 11) +* epoch, for POSIX: Seconds since the Epoch. + (line 13) +* Error message, block number of: verbose. (line 122) +* Exabyte blocking: Blocking Factor. (line 199) +* exclude: exclude. (line 12) +* exclude-caches: exclude. (line 122) +* exclude-from: exclude. (line 25) +* exclude-tag: exclude. (line 145) +* Excluding characters from a character class: wildcards. (line 34) +* Excluding file by age: after. (line 6) +* Excluding files by file system: exclude. (line 6) +* Excluding files by name and pattern: exclude. (line 6) +* Exec Mode, 'genfile': Exec Mode. (line 6) +* 'exec', checkpoint action: checkpoints. (line 151) +* existing backup method: backup. (line 59) +* existing-file: warnings. (line 62) +* exit status: Synopsis. (line 67) +* 'Extracting contiguous files as regular files', warning message: warnings. + (line 66) +* extracting Nth copy of the file: append. (line 34) +* extraction: Definitions. (line 22) +* Extraction: extract. (line 6) +* file archival: Top. (line 23) +* file attributes: Attributes. (line 6) +* 'file changed as we read it', warning message: warnings. (line 55) +* 'file is on a different filesystem', warning message: warnings. + (line 43) +* 'file is the archive; not dumped', warning message: warnings. + (line 51) +* 'file is the archive; not dumped', warning message <1>: warnings. + (line 51) +* 'file is unchanged; not dumped', warning message: warnings. (line 49) +* File lists separated by NUL characters: Generate Mode. (line 33) +* file name: Definitions. (line 15) +* File Name arguments, alternatives: files. (line 6) +* File name arguments, using '--list' with: list. (line 25) +* 'file name read contains nul character', warning message: warnings. + (line 31) +* file names, absolute: absolute. (line 6) +* File names, excluding files by: exclude. (line 6) +* File names, terminated by 'NUL': nul. (line 6) +* File names, using hard links: hard links. (line 6) +* File names, using symbolic links: dereference. (line 6) +* 'File removed before we read it', warning message: warnings. + (line 53) +* 'File shrank by %s bytes', warning message: warnings. (line 41) +* File system boundaries, not crossing: one. (line 6) +* file-changed: warnings. (line 55) +* file-ignored: warnings. (line 45) +* file-removed: warnings. (line 53) +* file-shrank: warnings. (line 41) +* file-unchanged: warnings. (line 49) +* FILELIST: General-Purpose Variables. + (line 69) +* filename-with-nuls: warnings. (line 31) +* 'find', using with 'tar': files. (line 6) +* 'find', using with 'tar' <1>: recurse. (line 11) +* first in date strings: General date syntax. (line 22) +* format 0, snapshot file: Snapshot Files. (line 24) +* format 1, snapshot file: Snapshot Files. (line 51) +* format 2, snapshot file: Snapshot Files. (line 73) +* Format Options: Format Variations. (line 6) +* Format Parameters: Format Variations. (line 6) +* Format, old style: old. (line 6) +* fortnight in date strings: Relative items in date strings. + (line 15) +* free documentation: Free Software Needs Free Documentation. + (line 6) +* full dumps: Full Dumps. (line 8) +* future time stamps: Large or Negative Values. + (line 6) +* general date syntax: General date syntax. (line 6) +* Generate Mode, 'genfile': Generate Mode. (line 6) +* genfile: Genfile. (line 6) +* 'genfile', create file: Generate Mode. (line 6) +* 'genfile', creating sparse files: Generate Mode. (line 55) +* 'genfile', generate mode: Generate Mode. (line 6) +* 'genfile', reading a list of file names: Generate Mode. (line 22) +* 'genfile', seeking to a given offset: Generate Mode. (line 18) +* Getting program version number: help. (line 6) +* git, excluding files: exclude. (line 85) +* Git, ignore files: exclude. (line 37) +* GNU archive format: gnu. (line 6) +* GNU.sparse.major, extended header variable: PAX 1. (line 14) +* GNU.sparse.map, extended header variable: PAX 0. (line 59) +* GNU.sparse.minor, extended header variable: PAX 1. (line 17) +* GNU.sparse.name, extended header variable: PAX 0. (line 67) +* GNU.sparse.name, extended header variable, in v.1.0: PAX 1. (line 24) +* GNU.sparse.numblocks, extended header variable: PAX 0. (line 14) +* GNU.sparse.numbytes, extended header variable: PAX 0. (line 20) +* GNU.sparse.offset, extended header variable: PAX 0. (line 17) +* GNU.sparse.realsize, extended header variable: PAX 1. (line 24) +* GNU.sparse.size, extended header variable: PAX 0. (line 10) +* gnupg, using with tar: gzip. (line 196) +* gpg, using with tar: gzip. (line 196) +* gzip: gzip. (line 6) +* hard links, dereferencing: hard links. (line 6) +* header-col: Configuring Help Summary. + (line 141) +* hole detection: sparse. (line 66) +* hook: User Hooks. (line 12) +* hour in date strings: Relative items in date strings. + (line 15) +* ignore-archive: warnings. (line 51) +* ignore-archive <1>: warnings. (line 51) +* ignore-newer: warnings. (line 72) +* Ignoring end-of-archive blocks: Ignore Zeros. (line 6) +* 'Ignoring unknown extended header keyword '%s'', warning message: warnings. + (line 74) +* 'implausibly old time stamp %s', warning message: warnings. (line 63) +* Info script: Multi-Volume Archives. + (line 83) +* Interactive operation: interactive. (line 6) +* ISO 8601 date and time of day format: Combined date and time of day items. + (line 6) +* ISO 8601 date format: Calendar date items. (line 30) +* items in date strings: General date syntax. (line 6) +* Labeling an archive: label. (line 6) +* labeling archives: Tape Files. (line 6) +* Labeling multi-volume archives: label. (line 6) +* Labels on the archive media: label. (line 6) +* language, in dates: General date syntax. (line 36) +* language, in dates <1>: General date syntax. (line 40) +* Large lists of file names on small machines: Same Order. (line 6) +* large values: Large or Negative Values. + (line 6) +* last DAY: Day of week items. (line 15) +* last in date strings: General date syntax. (line 22) +* Laszlo Ersek: lbzip2. (line 6) +* lbzip2: lbzip2. (line 6) +* leap seconds: General date syntax. (line 65) +* leap seconds <1>: Time of day items. (line 14) +* leap seconds <2>: Seconds since the Epoch. + (line 26) +* Listing all 'tar' options: help. (line 26) +* listing member and file names: list. (line 45) +* Listing volume label: label. (line 27) +* Lists of file names: files. (line 6) +* Local and remote archives: file. (line 70) +* long options: Long Options. (line 6) +* long options with mandatory arguments: Long Options. (line 31) +* long options with optional arguments: Long Options. (line 39) +* long-opt-col: Configuring Help Summary. + (line 87) +* lzip: gzip. (line 6) +* lzma: gzip. (line 6) +* lzop: gzip. (line 6) +* MacKenzie, David: Authors of parse_datetime. + (line 6) +* 'Malformed dumpdir: 'X' never used', warning message: warnings. + (line 102) +* member: Definitions. (line 15) +* member name: Definitions. (line 15) +* members, multiple: multiple. (line 6) +* Members, replacing with other members: append. (line 47) +* Mercurial, excluding files: exclude. (line 85) +* Mercurial, ignore files: exclude. (line 37) +* Meyering, Jim: Authors of parse_datetime. + (line 6) +* Middle of the archive, starting in the: Starting File. (line 11) +* midnight in date strings: Time of day items. (line 21) +* minute in date strings: Relative items in date strings. + (line 15) +* minutes, time zone correction by: Time of day items. (line 29) +* Modes of extracted files: Setting Access Permissions. + (line 6) +* Modification time, excluding files by: after. (line 6) +* Modification times of extracted files: Data Modification Times. + (line 6) +* month in date strings: Relative items in date strings. + (line 15) +* month names in date strings: Calendar date items. (line 38) +* months, written-out: General date syntax. (line 32) +* MT: General-Purpose Variables. + (line 74) +* MT_BEGIN: Magnetic Tape Control. + (line 10) +* MT_OFFLINE: Magnetic Tape Control. + (line 30) +* MT_REWIND: Magnetic Tape Control. + (line 20) +* MT_STATUS: Magnetic Tape Control. + (line 40) +* Multi-volume archives: Multi-Volume Archives. + (line 6) +* Multi-volume archives in PAX format, extracting using non-GNU tars: Split Recovery. + (line 17) +* Multi-volume archives, extracting using non-GNU tars: Split Recovery. + (line 6) +* multiple members: multiple. (line 6) +* Naming an archive: file. (line 6) +* negative time stamps: Large or Negative Values. + (line 6) +* new-directory: warnings. (line 98) +* next DAY: Day of week items. (line 15) +* next in date strings: General date syntax. (line 22) +* none: warnings. (line 29) +* noon in date strings: Time of day items. (line 21) +* now in date strings: Relative items in date strings. + (line 33) +* ntape device: Many. (line 6) +* 'NUL'-terminated file names: nul. (line 6) +* Number of blocks per record: Blocking Factor. (line 6) +* Number of bytes per record: Blocking Factor. (line 6) +* numbered backup method: backup. (line 55) +* numbers, written-out: General date syntax. (line 22) +* Obtaining help: help. (line 26) +* Obtaining total status information: verbose. (line 45) +* Old GNU archive format: gnu. (line 6) +* Old GNU sparse format: Old GNU Format. (line 6) +* old option style: Old Options. (line 6) +* old options with mandatory arguments: Old Options. (line 26) +* Old style archives: old. (line 6) +* Old style format: old. (line 6) +* opt-doc-col: Configuring Help Summary. + (line 127) +* option syntax, traditional: Old Options. (line 6) +* optional arguments to long options: Long Options. (line 39) +* optional arguments to short options: Short Options. (line 22) +* options for use with '--extract': extract options. (line 6) +* Options when reading archives: Reading. (line 6) +* Options, archive format specifying: Format Variations. (line 6) +* Options, format specifying: Format Variations. (line 6) +* options, GNU style: Long Options. (line 6) +* options, long style: Long Options. (line 6) +* options, mixing different styles: Mixing. (line 6) +* options, mnemonic names: Long Options. (line 6) +* options, old style: Old Options. (line 6) +* options, short style: Short Options. (line 6) +* options, traditional: Short Options. (line 6) +* ordinal numbers: General date syntax. (line 22) +* Overwriting old files, prevention: Dealing with Old Files. + (line 16) +* parse_datetime: Date input formats. (line 6) +* pattern, 'genfile': Generate Mode. (line 39) +* PAX archive format: posix. (line 6) +* Permissions of extracted files: Setting Access Permissions. + (line 6) +* Pinard, F.: Authors of parse_datetime. + (line 19) +* pm in date strings: Time of day items. (line 21) +* POSIX archive format: posix. (line 6) +* Progress information: verbose. (line 82) +* Protecting old files: Dealing with Old Files. + (line 36) +* pure numbers in date strings: Pure numbers in date strings. + (line 6) +* RCS, excluding files: exclude. (line 85) +* Reading file names from a file: files. (line 6) +* Reading incomplete records: Reading. (line 6) +* record: Blocking. (line 6) +* Record Size: Blocking Factor. (line 6) +* 'Record size = %lu blocks', warning message: warnings. (line 89) +* record-size: warnings. (line 89) +* Records, incomplete: Reading. (line 6) +* Recursion in directories, avoiding: recurse. (line 6) +* relative items in date strings: Relative items in date strings. + (line 6) +* Remote devices: file. (line 60) +* remote tape drive: Remote Tape Server. (line 6) +* Removing files from an archive: delete. (line 6) +* rename-directory: warnings. (line 96) +* Replacing members with other members: append. (line 47) +* reporting bugs: Reports. (line 6) +* RESTORE_BEGIN: User Hooks. (line 38) +* RESTORE_END: User Hooks. (line 41) +* Resurrecting files from an archive: extract. (line 6) +* Retrieving files from an archive: extract. (line 6) +* return status: Synopsis. (line 67) +* rmargin: Configuring Help Summary. + (line 159) +* rmt: Remote Tape Server. (line 6) +* RSH: General-Purpose Variables. + (line 78) +* RSH_COMMAND: General-Purpose Variables. + (line 83) +* Running out of space: Scarce. (line 8) +* Salz, Rich: Authors of parse_datetime. + (line 6) +* SCCS, excluding files: exclude. (line 85) +* short options: Short Options. (line 6) +* short options with mandatory arguments: Short Options. (line 13) +* short options with optional arguments: Short Options. (line 22) +* short-opt-col: Configuring Help Summary. + (line 79) +* simple backup method: backup. (line 64) +* SIMPLE_BACKUP_SUFFIX: backup. (line 67) +* 'sleep', checkpoint action: checkpoints. (line 145) +* SLEEP_MESSAGE: General-Purpose Variables. + (line 121) +* SLEEP_TIME: General-Purpose Variables. + (line 106) +* Small memory: Scarce. (line 8) +* snapshot file field ranges: Snapshot Files. (line 111) +* snapshot file, format 0: Snapshot Files. (line 24) +* snapshot file, format 1: Snapshot Files. (line 51) +* snapshot file, format 2: Snapshot Files. (line 73) +* snapshot files, editing: Fixing Snapshot Files. + (line 6) +* snapshot files, fixing device numbers: Fixing Snapshot Files. + (line 6) +* 'socket ignored', warning message: warnings. (line 45) +* Sparse Files: sparse. (line 6) +* sparse files v.0.0, extracting with non-GNU tars: Sparse Recovery. + (line 92) +* sparse files v.0.1, extracting with non-GNU tars: Sparse Recovery. (line 92) -* wildcards-match-slash, summary: Option Summary. (line 914) -* xform: transform. (line 74) -* xform, summary: Option Summary. (line 844) -* xz: gzip. (line 96) -* xz, summary: Option Summary. (line 917) +* sparse files v.1.0, extracting with non-GNU tars: Sparse Recovery. + (line 17) +* Sparse files, creating using 'genfile': Generate Mode. (line 55) +* sparse files, extracting with non-GNU tars: Sparse Recovery. + (line 6) +* sparse formats: Sparse Formats. (line 6) +* sparse formats, defined: sparse. (line 52) +* sparse formats, Old GNU: Old GNU Format. (line 6) +* sparse formats, v.0.0: PAX 0. (line 6) +* sparse formats, v.0.1: PAX 0. (line 51) +* sparse formats, v.1.0: PAX 1. (line 6) +* sparse versions: Sparse Formats. (line 6) +* Specifying archive members: Selecting Archive Members. + (line 6) +* Specifying files to act on: Selecting Archive Members. + (line 6) +* Standard input and output: file. (line 39) +* Standard output, writing extracted files to: Writing to Standard Output. + (line 6) +* Storing archives in compressed format: gzip. (line 6) +* SVN, excluding files: exclude. (line 85) +* Symbolic link as file name: dereference. (line 6) +* symlink-cast: warnings. (line 68) +* TAPE: file tutorial. (line 14) +* tape blocking: Blocking Factor. (line 189) +* tape marks: Many. (line 43) +* tape positioning: Many. (line 26) +* Tapes, using '--delete' and: delete. (line 17) +* TAPE_FILE: General-Purpose Variables. + (line 18) +* tar: What tar Does. (line 6) +* TAR: General-Purpose Variables. + (line 126) +* tar archive: Definitions. (line 6) +* Tar archive formats: Formats. (line 6) +* tar entry: Naming tar Archives. (line 11) +* tar file: Naming tar Archives. (line 11) +* tar to a remote device: file. (line 60) +* tar to standard input and output: file. (line 39) +* tar-snapshot-edit: Fixing Snapshot Files. + (line 17) +* tarcat: Tarcat. (line 6) +* TAR_ARCHIVE, checkpoint script environment: checkpoints. (line 167) +* TAR_ARCHIVE, info script environment variable: Multi-Volume Archives. + (line 105) +* TAR_ARCHIVE, to-command environment: Writing to an External Program. + (line 79) +* TAR_ATIME, to-command environment: Writing to an External Program. + (line 52) +* TAR_BLOCKING_FACTOR, checkpoint script environment: checkpoints. + (line 170) +* TAR_BLOCKING_FACTOR, info script environment variable: Multi-Volume Archives. + (line 108) +* TAR_BLOCKING_FACTOR, to-command environment: Writing to an External Program. + (line 82) +* TAR_CHECKPOINT, checkpoint script environment: checkpoints. (line 173) +* TAR_CTIME, to-command environment: Writing to an External Program. + (line 61) +* TAR_FD, info script environment variable: Multi-Volume Archives. + (line 122) +* TAR_FILENAME, to-command environment: Writing to an External Program. + (line 40) +* TAR_FILETYPE, to-command environment: Writing to an External Program. + (line 24) +* TAR_FORMAT, checkpoint script environment: checkpoints. (line 180) +* TAR_FORMAT, info script environment variable: Multi-Volume Archives. + (line 118) +* TAR_FORMAT, to-command environment: Writing to an External Program. + (line 88) +* TAR_GID, to-command environment: Writing to an External Program. + (line 70) +* TAR_GNAME, to-command environment: Writing to an External Program. + (line 49) +* TAR_MODE, to-command environment: Writing to an External Program. + (line 37) +* TAR_MTIME, to-command environment: Writing to an External Program. + (line 58) +* TAR_OPTIONS, environment variable: using tar options. (line 30) +* TAR_REALNAME, to-command environment: Writing to an External Program. + (line 43) +* TAR_SIZE, to-command environment: Writing to an External Program. + (line 64) +* TAR_SUBCOMMAND, checkpoint script environment: checkpoints. (line 176) +* TAR_SUBCOMMAND, info script environment variable: Multi-Volume Archives. + (line 114) +* TAR_UID, to-command environment: Writing to an External Program. + (line 67) +* TAR_UNAME, to-command environment: Writing to an External Program. + (line 46) +* TAR_VERSION, checkpoint script environment: checkpoints. (line 164) +* TAR_VERSION, info script environment variable: Multi-Volume Archives. + (line 102) +* TAR_VERSION, to-command environment: Writing to an External Program. + (line 76) +* TAR_VOLUME, info script environment variable: Multi-Volume Archives. + (line 111) +* TAR_VOLUME, to-command environment: Writing to an External Program. + (line 85) +* this in date strings: Relative items in date strings. + (line 33) +* time of day item: Time of day items. (line 6) +* 'time stamp %s is %s s in the future', warning message: warnings. + (line 63) +* time zone correction: Time of day items. (line 29) +* time zone item: General date syntax. (line 40) +* time zone item <1>: Time zone items. (line 6) +* timestamp: warnings. (line 63) +* today in date strings: Relative items in date strings. + (line 33) +* tomorrow in date strings: Relative items in date strings. + (line 29) +* 'totals', checkpoint action: checkpoints. (line 140) +* 'ttyout', checkpoint action: checkpoints. (line 111) +* TZ: Specifying time zone rules. + (line 6) +* Ultrix 3.1 and write failure: Remote Tape Server. (line 40) +* 'Unknown file type '%c', extracted as normal file', warning message: warnings. + (line 70) +* 'Unknown file type; file ignored', warning message: warnings. + (line 45) +* unknown-cast: warnings. (line 70) +* unknown-keyword: warnings. (line 74) +* unpacking: Definitions. (line 22) +* Updating an archive: update. (line 6) +* usage-indent: Configuring Help Summary. + (line 155) +* Using encrypted archives: gzip. (line 196) +* ustar archive format: ustar. (line 6) +* uuencode: Applications. (line 8) +* v7 archive format: old. (line 6) +* VCS, excluding files: exclude. (line 85) +* VCS, excluding patterns from ignore files: exclude. (line 37) +* VCS, ignore files: exclude. (line 37) +* Verbose operation: verbose. (line 18) +* Verifying a write operation: verify. (line 6) +* Verifying the currency of an archive: compare. (line 6) +* version control system, excluding files: exclude. (line 85) +* Version of the 'tar' program: help. (line 6) +* version-control Emacs variable: backup. (line 49) +* VERSION_CONTROL: backup. (line 41) +* volno file: Multi-Volume Archives. + (line 74) +* VOLNO_FILE: General-Purpose Variables. + (line 89) +* Volume label, listing: label. (line 27) +* Volume number file: Multi-Volume Archives. + (line 74) +* week in date strings: Relative items in date strings. + (line 15) +* Where is the archive?: file. (line 6) +* Working directory, specifying: directory. (line 6) +* Writing extracted files to standard output: Writing to Standard Output. + (line 6) +* Writing new archives: file. (line 34) +* xdev: warnings. (line 43) +* xdev <1>: warnings. (line 100) +* XLIST: General-Purpose Variables. + (line 95) +* xsparse: Sparse Recovery. (line 13) +* year in date strings: Relative items in date strings. + (line 15) +* yesterday in date strings: Relative items in date strings. + (line 29) diff --git a/doc/tar.texi b/doc/tar.texi index 82c303d7..a8969e08 100644 --- a/doc/tar.texi +++ b/doc/tar.texi @@ -36,7 +36,7 @@ This manual is for @acronym{GNU} @command{tar} (version @value{VERSION}, @value{UPDATED}), which creates and extracts files from archives. -Copyright @copyright{} 1992, 1994--1997, 1999--2001, 2003--2013 Free +Copyright @copyright{} 1992, 1994--1997, 1999--2001, 2003--2016 Free Software Foundation, Inc. @quotation @@ -195,6 +195,7 @@ All @command{tar} Options * Operation Summary:: * Option Summary:: * Short Option Summary:: +* Position-Sensitive Options:: @GNUTAR{} Operations @@ -227,6 +228,7 @@ Updating an Archive Options Used by @option{--create} * override:: Overriding File Metadata. +* Extended File Attributes:: * Ignore Failed Read:: Options Used by @option{--extract} @@ -974,7 +976,7 @@ archive), numeric @acronym{ID} values are printed instead. @item File name. If the name contains any special characters (white space, newlines, -etc.) these are displayed in an unambiguous form using so called +etc.)@: these are displayed in an unambiguous form using so called @dfn{quoting style}. For the detailed discussion of available styles and on how to use them, see @ref{quoting styles}. @@ -1047,7 +1049,6 @@ all operations and option available for the current version of @node create @section How to Create Archives -@UNREVISED @cindex Creation of the archive @cindex Archive, creation of @@ -1128,10 +1129,27 @@ $ @kbd{tar --create --file=collection.tar blues folk jazz} @end smallexample The order of the arguments is not very important, @emph{when using long -option forms}. You could also say: +option forms}, however you should always remember to use option as the +first argument to tar. For example, the following is wrong: + +@smallexample +$ @kbd{tar blues -c folk -f collection.tar jazz} +tar: -c: Invalid blocking factor +Try 'tar --help' or 'tar --usage' for more information. +@end smallexample + +The error message is produced because @command{tar} always treats its +first argument as an option (or cluster of options), even if it does +not start with dash. This is @dfn{traditional} or @dfn{old option} +style, called so because all implementations of @command{tar} have +used it since the very inception of the tar archiver in 1970s. This +option style will be explained later (@pxref{Old Options}), for now +just remember to always place option as the first argument. + +That being said, you could issue the following command: @smallexample -$ @kbd{tar blues --create folk --file=collection.tar jazz} +$ @kbd{tar --create folk blues --file=collection.tar jazz} @end smallexample @noindent @@ -1270,15 +1288,14 @@ you how an example we showed previously would look using short forms. This example, @smallexample -$ @kbd{tar blues --create folk --file=collection.tar jazz} +$ @kbd{tar --create folk blues --file=collection.tar jazz} @end smallexample @noindent -is confusing as it is. When shown using short forms, however, it -becomes much more so: +is confusing as it is. It becomes even more so when using short forms: @smallexample -$ @kbd{tar blues -c folk -f collection.tar jazz} +$ @kbd{tar -c folk blues -f collection.tar jazz} @end smallexample @noindent @@ -1376,7 +1393,8 @@ Frequently, you will find yourself wanting to determine exactly what a particular archive contains. You can use the @option{--list} (@option{-t}) operation to get the member names as they currently appear in the archive, as well as various attributes of the files at -the time they were archived. For example, you can examine the archive +the time they were archived. For example, assuming @file{practice} is +your working directory, you can examine the archive @file{collection.tar} that you created in the last section with the command, @@ -1393,20 +1411,23 @@ folk jazz @end smallexample -@noindent -The archive @file{bfiles.tar} would list as follows: - -@smallexample -./birds -baboon -./box -@end smallexample - @noindent Be sure to use a @option{--file=@var{archive-name}} (@option{-f @var{archive-name}}) option just as with @option{--create} (@option{-c}) to specify the name of the archive. +@cindex File name arguments, using @option{--list} with +@xopindex{list, using with file name arguments} +You can specify one or more individual member names as arguments when +using @samp{list}. In this case, @command{tar} will only list the +names of members you identify. For example, @w{@kbd{tar --list +--file=collection.tar folk}} would only print @file{folk}: + +@smallexample +$ @kbd{tar --list --file=collection.tar folk} +folk +@end smallexample + @xopindex{list, using with @option{--verbose}} @xopindex{verbose, using with @option{--list}} If you use the @option{--verbose} (@option{-v}) option with @@ -1432,19 +1453,23 @@ prefixes from file names before storing them in the archive (@xref{absolute}, for more information). In other words, in verbose mode @GNUTAR{} shows @dfn{file names} when creating an archive and @dfn{member names} when listing it. Consider this -example: +example, run from your home directory: @smallexample @group -$ @kbd{tar --create --verbose --file archive /etc/mail} +$ @kbd{tar --create --verbose --file practice.tar ~/practice} tar: Removing leading '/' from member names -/etc/mail/ -/etc/mail/sendmail.cf -/etc/mail/aliases -$ @kbd{tar --test --file archive} -etc/mail/ -etc/mail/sendmail.cf -etc/mail/aliases +/home/myself/practice/ +/home/myself/practice/blues +/home/myself/practice/folk +/home/myself/practice/jazz +/home/myself/practice/collection.tar +$ @kbd{tar --test --file practice.tar} +home/myself/practice/ +home/myself/practice/blues +home/myself/practice/folk +home/myself/practice/jazz +home/myself/practice/collection.tar @end group @end smallexample @@ -1458,35 +1483,53 @@ etc/mail/aliases Print member (as opposed to @emph{file}) names when creating the archive. @end table -@cindex File name arguments, using @option{--list} with -@xopindex{list, using with file name arguments} -You can specify one or more individual member names as arguments when -using @samp{list}. In this case, @command{tar} will only list the -names of members you identify. For example, @w{@kbd{tar --list ---file=afiles.tar apple}} would only print @file{apple}. +With this option, both commands produce the same output: -Because @command{tar} preserves file names, these must be specified as -they appear in the archive (i.e., relative to the directory from which -the archive was created). Therefore, it is essential when specifying -member names to @command{tar} that you give the exact member names. -For example, @w{@kbd{tar --list --file=bfiles.tar birds}} would produce an -error message something like @samp{tar: birds: Not found in archive}, -because there is no member named @file{birds}, only one named -@file{./birds}. While the names @file{birds} and @file{./birds} name -the same file, @emph{member} names by default are compared verbatim. +@smallexample +@group +$ @kbd{tar --create --verbose --show-stored-names \ + --file practice.tar ~/practice} +tar: Removing leading '/' from member names +home/myself/practice/ +home/myself/practice/blues +home/myself/practice/folk +home/myself/practice/jazz +home/myself/practice/collection.tar +$ @kbd{tar --test --file practice.tar} +home/myself/practice/ +home/myself/practice/blues +home/myself/practice/folk +home/myself/practice/jazz +home/myself/practice/collection.tar +@end group +@end smallexample + +Since @command{tar} preserves file names, those you wish to list must be +specified as they appear in the archive (i.e., relative to the +directory from which the archive was created). Continuing the example +above: + +@smallexample +@group +$ @kbd{tar --list --file=practice.tar folk} +tar: folk: Not found in archive +tar: Exiting with failure status due to previous errors +@end group +@end smallexample + +the error message is produced because there is no member named +@file{folk}, only one named @file{home/myself/folk}. -However, @w{@kbd{tar --list --file=bfiles.tar baboon}} would respond -with @file{baboon}, because this exact member name is in the archive file -@file{bfiles.tar}. If you are not sure of the exact file name, -use @dfn{globbing patterns}, for example: +If you are not sure of the exact file name, use @dfn{globbing +patterns}, for example: @smallexample -$ @kbd{tar --list --file=bfiles.tar --wildcards '*b*'} +$ @kbd{tar --list --file=practice.tar --wildcards '*/folk'} +home/myself/practice/folk @end smallexample @noindent -will list all members whose name contains @samp{b}. @xref{wildcards}, -for a detailed discussion of globbing patterns and related +@xref{wildcards}, for a detailed discussion of globbing patterns and related @command{tar} command line options. @menu @@ -1565,9 +1608,9 @@ $ @kbd{tar -xvf collection.tar} produces this: @smallexample --rw-r--r-- me/user 28 1996-10-18 16:31 jazz --rw-r--r-- me/user 21 1996-09-23 16:44 blues --rw-r--r-- me/user 20 1996-09-23 16:44 folk +-rw-r--r-- myself/user 28 1996-10-18 16:31 jazz +-rw-r--r-- myself/user 21 1996-09-23 16:44 blues +-rw-r--r-- myself/user 20 1996-09-23 16:44 folk @end smallexample @node extracting files @@ -1610,26 +1653,7 @@ extracted @samp{blues}. You can confirm this by running @command{tar} with @option{--list} (@option{-t}). Remember that as with other operations, specifying the exact member -name is important. @w{@kbd{tar --extract --file=bfiles.tar birds}} -will fail, because there is no member named @file{birds}. To extract -the member named @file{./birds}, you must specify @w{@kbd{tar ---extract --file=bfiles.tar ./birds}}. If you don't remember the -exact member names, use @option{--list} (@option{-t}) option -(@pxref{list}). You can also extract those members that match a -specific @dfn{globbing pattern}. For example, to extract from -@file{bfiles.tar} all files that begin with @samp{b}, no matter their -directory prefix, you could type: - -@smallexample -$ @kbd{tar -x -f bfiles.tar --wildcards --no-anchored 'b*'} -@end smallexample - -@noindent -Here, @option{--wildcards} instructs @command{tar} to treat -command line arguments as globbing patterns and @option{--no-anchored} -informs it that the patterns apply to member names after any @samp{/} -delimiter. The use of globbing patterns is discussed in detail in -@xref{wildcards}. +name is important (@xref{failing commands}, for more examples). You can extract a file to standard output by combining the above options with the @option{--to-stdout} (@option{-O}) option (@pxref{Writing to Standard @@ -1744,9 +1768,6 @@ practice/folk practice/jazz @end smallexample -@FIXME{make sure the above works when going through the examples in -order...} - @noindent Likewise, if you try to use this command, @@ -1762,7 +1783,24 @@ to extract the files from the archive. If you have forgotten the correct names of the files in the archive, use @w{@kbd{tar --list --verbose}} to list them correctly. -@FIXME{more examples, here? hag thinks it's a good idea.} +To extract the member named @file{practice/folk}, you must specify + +@smallexample +$ @kbd{tar --extract --file=music.tar practice/folk} +@end smallexample + +@noindent +Notice also, that as explained above, the @file{practice} directory +will be created, if it didn't already exist. There are options that +allow you to strip away a certain number of leading directory +components (@pxref{transform}). For example, + +@smallexample +$ @kbd{tar --extract --file=music.tar --strip-components=1 folk} +@end smallexample + +@noindent +will extract the file @file{folk} into the current working directory. @node going further @section Going Further Ahead in this Manual @@ -2274,6 +2312,7 @@ a reference for deciphering @command{tar} commands in scripts. * Operation Summary:: * Option Summary:: * Short Option Summary:: +* Position-Sensitive Options:: @end menu @node Operation Summary @@ -2368,6 +2407,10 @@ Normally when creating an archive, @command{tar} strips an initial treats names specially if they have initial @samp{/} or internal @samp{..}. This option disables that behavior. @xref{absolute}. +@opsummary{acls} +@item --acls +Enable POSIX ACLs support. @xref{Extended File Attributes, acls}. + @opsummary{after-date} @item --after-date @@ -2542,6 +2585,11 @@ complies to UNIX98, was introduced with version writing the archive. This allows you to directly act on archives while saving space. @xref{gzip}. +@opsummary{clamp-mtime} +@item --clamp-mtime + +(See @option{--mtime}.) + @opsummary{confirmation} @item --confirmation @@ -2742,7 +2790,19 @@ rather than the group from the source file. @var{group} can specify a symbolic name, or a numeric @acronym{ID}, or both as @var{name}:@var{id}. @xref{override}. -Also see the comments for the @option{--owner=@var{user}} option. +Also see the @option{--group-map} option and comments for the +@option{--owner=@var{user}} option. + +@opsummary{group-map} +@item --group-map=@var{file} + +Read owner group translation map from @var{file}. This option allows to +translate only certain group names and/or UIDs. @xref{override}, for a +detailed description. When used together with @option{--group} +option, the latter affects only those files whose owner group is not listed +in the @var{file}. + +This option does not affect extraction from archives. @opsummary{gzip} @opsummary{gunzip} @@ -2770,6 +2830,13 @@ they refer to, instead of creating usual hard link members. @command{tar} will print out a short message summarizing the operations and options to @command{tar} and exit. @xref{help}. +@opsummary{hole-detection} +@item --hole-detection=@var{method} +Use @var{method} to detect holes in sparse files. This option implies +@option{--sparse}. Valid methods are @samp{seek} and @samp{raw}. +Default is @samp{seek} with fallback to @samp{raw} when not +applicable. @xref{sparse}. + @opsummary{ignore-case} @item --ignore-case Ignore case when matching member or file names with @@ -2826,7 +2893,7 @@ Specifies that @command{tar} should ask the user for confirmation before performing potentially destructive options, such as overwriting files. @xref{interactive}. -@opsummary{--keep-directory-symlink} +@opsummary{keep-directory-symlink} @item --keep-directory-symlink This option changes the behavior of tar when it encounters a symlink @@ -2923,6 +2990,11 @@ either a textual date representation (@pxref{Date input formats}) or a name of the existing file, starting with @samp{/} or @samp{.}. In the latter case, the modification time of that file is used. @xref{override}. +When @command{--clamp-mtime} is also specified, files with +modification times earlier than @var{date} will retain their actual +modification times, and @var{date} will only be used for files whose +modification times are later than @var{date}. + @opsummary{multi-volume} @item --multi-volume @itemx -M @@ -2953,6 +3025,10 @@ contents have changed (as opposed to just @option{--newer}, which will also back up files for which any status information has changed). @xref{after}. +@opsummary{no-acls} +@item --no-acls +Disable the POSIX ACLs support. @xref{Extended File Attributes, acls}. + @opsummary{no-anchored} @item --no-anchored An exclude pattern can match any subsequence of the name's components. @@ -3036,11 +3112,30 @@ locations. Usually @command{tar} determines automatically whether the archive can be seeked or not. Use this option to disable this mechanism. +@opsummary{no-selinux} +@item --no-selinux +Disable SELinux context support. @xref{Extended File Attributes, SELinux}. + @opsummary{no-unquote} @item --no-unquote Treat all input file or member names literally, do not interpret escape sequences. @xref{input name quoting}. +@opsummary{no-verbatim-files-from} +@item --no-verbatim-files-from + +Instructs @GNUTAR{} to treat each line read from a file list as if it +were supplied in the command line. I.e., leading and trailing +whitespace is removed and, if the result begins with a dash, it is +treated as a @GNUTAR{} command line option. + +This is default behavior. This option is provided as a way to restore +it after @option{--verbatim-files-from} option. + +It is implied by the @option{--no-null} option. + +@xref{no-verbatim-files-from}. + @opsummary{no-wildcards} @item --no-wildcards Do not use wildcards. @@ -3051,14 +3146,24 @@ Do not use wildcards. Wildcards do not match @samp{/}. @xref{controlling pattern-matching}. +@opsummary{no-xattrs} +@item --no-xattrs +Disable extended attributes support. @xref{Extended File Attributes, xattrs}. + @opsummary{null} @item --null When @command{tar} is using the @option{--files-from} option, this option -instructs @command{tar} to expect file names terminated with @acronym{NUL}, so -@command{tar} can correctly work with file names that contain newlines. +instructs @command{tar} to expect file names terminated with +@acronym{NUL}, and to process file names verbatim. + +This means that @command{tar} correctly works with file names that +contain newlines or begin with a dash. + @xref{nul}. +See also @ref{verbatim-files-from}. + @opsummary{numeric-owner} @item --numeric-owner @@ -3115,7 +3220,7 @@ Tells @command{tar} to create a new directory beneath the extraction directory tarbombs. In the absence of @var{dir} argument, the name of the new directory will be equal to the base name of the archive (file name minus the archive suffix, if recognized). Any member names that do not begin -with that directory name (after +with that directory name (after transformations from @option{--transform} and @option{--strip-components}) will be prefixed with it. Recognized file name suffixes are @samp{.tar}, and any compression suffixes @@ -3142,6 +3247,18 @@ file. @var{user} can specify a symbolic name, or a numeric @acronym{ID}, or both as @var{name}:@var{id}. @xref{override}. +This option does not affect extraction from archives. See also +@option{--owner-map}, below. + +@opsummary{owner-map} +@item --owner-map=@var{file} + +Read owner translation map from @var{file}. This option allows to +translate only certain owner names or UIDs. @xref{override}, for a +detailed description. When used together with @option{--owner} +option, the latter affects only those files whose owner is not listed +in the @var{file}. + This option does not affect extraction from archives. @opsummary{pax-option} @@ -3161,12 +3278,6 @@ Synonym for @option{--format=v7}. @item --posix Same as @option{--format=posix}. -@opsummary{preserve} -@item --preserve - -Synonymous with specifying both @option{--preserve-permissions} and -@option{--same-order}. @xref{Setting Access Permissions}. - @opsummary{preserve-order} @item --preserve-order @@ -3286,6 +3397,11 @@ in cases when such recognition fails. It takes effect only if the archive is open for reading (e.g. with @option{--list} or @option{--extract} options). +@opsummary{selinux} +@item --selinux +Enable the SELinux context support. +@xref{Extended File Attributes, selinux}. + @opsummary{show-defaults} @item --show-defaults @@ -3397,6 +3513,8 @@ tar --extract --file archive.tar --strip-components=2 @noindent would extract this file to file @file{name}. +@xref{transform}. + @opsummary{suffix} @item --suffix=@var{suffix} @@ -3504,6 +3622,29 @@ presumed to be a compression program of some sort. @xref{gzip}. Display file modification dates in @acronym{UTC}. This option implies @option{--verbose}. +@opsummary{verbatim-files-from} +@item --verbatim-files-from + +Instructs @GNUTAR{} to treat each line read from a file list as a file +name, even if it starts with a dash. + +File lists are supplied with the @option{--files-from} (@option{-T}) +option. By default, each line read from a file list is first trimmed +off the leading and trailing whitespace and, if the result begins with +a dash, it is treated as a @GNUTAR{} command line option. + +Use the @option{--verbatim-files-from} option to disable this special +handling. This facilitates the use of @command{tar} with file lists +created by @command{file} command. + +This option affects all @option{--files-from} options that occur after +it in the command line. Its effect is reverted by the +@option{--no-verbatim-files-from} option. + +This option is implied by the @option{--null} option. + +@xref{verbatim-files-from}. + @opsummary{verbose} @item --verbose @itemx -v @@ -3551,6 +3692,22 @@ Use wildcards when matching member names with patterns. Wildcards match @samp{/}. @xref{controlling pattern-matching}. +@opsummary{xattrs} +@item --xattrs +Enable extended attributes support. @xref{Extended File Attributes, xattrs}. + +@opsummary{xattrs-exclude} +@item --xattrs-exclude=@var{pattern} +Specify exclude pattern for xattr keys. +@xref{Extended File Attributes, xattrs-exclude}. + +@opsummary{xattrs-include} +@item --xattrs-include=@var{pattern}. +Specify include pattern for xattr keys. @var{pattern} is a POSIX +regular expression, e.g. @samp{--xattrs-exclude='^user\.'} to include +only attributes from the user namespace. +@xref{Extended File Attributes, xattrs-include}. + @opsummary{xz} @item --xz @itemx -J @@ -3656,6 +3813,130 @@ the earlier versions of @GNUTAR{}. In future releases @end multitable +@node Position-Sensitive Options +@subsection Position-Sensitive Options + +Some @GNUTAR{} options can be used multiple times in the same +invocation and affect all arguments that appear after them. These are +options that control how file names are selected and what kind of +pattern matching is used. + +The most obvious example is the @option{-C} option. It instructs @command{tar} +to change to the directory given as its argument prior to processing +the rest of command line (@pxref{directory}). Thus, in the following +command: + +@example +@kbd{tar -c -f a.tar -C /etc passwd -C /var log spool} +@end example + +@noindent +the file @file{passwd} will be searched in the directory @file{/etc}, +and files @file{log} and @file{spool} -- in @file{/var}. + +These options can also be used in a file list supplied with the +@option{--files-from} (@option{-T}) option (@pxref{files}). In that +case they affect all files (patterns) appearing in that file after +them and remain in effect for any arguments processed after that file. +For example, if the file @file{list.txt} contained: + +@example +README +-C src +main.c +@end example + +@noindent +and @command{tar} were invoked as follows: + +@example +@kbd{tar -c -f a.tar -T list.txt Makefile} +@end example + +@noindent +then the file @file{README} would be looked up in the current working +directory, and files @file{main.c} and @file{Makefile} would be looked +up in the directory @file{src}. + +Many options can be prefixed with @option{--no-} to cancel the effect +of the original option. + +For example, the @option{--recursion} option controls whether to +recurse in the subdirectories. It's counterpart +@option{--no-recursion} disables this. Consider the command below. It will +store in the archive the directory @file{/usr} with all files and +directories that are located in it as well as any files and +directories in @file{/var}, without recursing into them@footnote{The @option{--recursion} +option is the default and is used here for clarity. The same example +can be written as: + +@example +tar -cf a.tar /usr --no-recursion /var/* +@end example +}: + +@example +tar -cf a.tar --recursion /usr --no-recursion /var/* +@end example + +The following table summarizes all position-sensitive options. + +@table @option +@item --directory=@var{dir} +@itemx -C @var{dir} +@xref{directory}. + +@item --null +@itemx --no-null +@xref{nul}. + +@item --unquote +@itemx --no-unquote +@xref{input name quoting}. + +@item --verbatim-files-from +@itemx --no-verbatim-files-from +@xref{verbatim-files-from}. + +@item --recursion +@itemx --no-recursion +@xref{recurse}. + +@item --anchored +@itemx --no-anchored +@xref{anchored patterns}. + +@item --ignore-case +@itemx --no-ignore-case +@xref{case-insensitive matches}. + +@item --wildcards +@itemx --no-wildcards +@xref{controlling pattern-matching}. + +@item --wildcards-match-slash +@itemx --no-wildcards-match-slash +@xref{controlling pattern-matching}. + +@item --exclude +@xref{exclude}. + +@item --exclude-from +@itemx -X +@itemx --exclude-caches +@itemx --exclude-caches-under +@itemx --exclude-caches-all +@itemx --exclude-tag +@itemx --exclude-ignore +@itemx --exclude-ignore-recursive +@itemx --exclude-tag-under +@itemx --exclude-tag-all +@itemx --exclude-vcs +@itemx --exclude-vcs-ignores +@itemx --exclude-backups +@xref{exclude}. +@end table + @node help @section @GNUTAR{} documentation @@ -3670,7 +3951,7 @@ successfully. For example, @w{@samp{tar --version}} might print: @smallexample tar (GNU tar) @value{VERSION} -Copyright (C) 2013-2014 Free Software Foundation, Inc. +Copyright (C) 2013-2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. @@ -4201,7 +4482,7 @@ command, provided that they are properly escaped, for example: @smallexample @kbd{tar -c -f arc.tar \ - --checkpoint-action='exec=/sbin/cpoint $TAR_FILENAME'} + --checkpoint-action='exec=/sbin/cpoint $TAR_CHECKPOINT'} @end smallexample @noindent @@ -4316,6 +4597,10 @@ Disable all warning messages. @subheading Keywords applicable for @command{tar --extract} @table @asis +@kwindex existing-file +@cindex @samp{%s: skipping existing file}, warning message +@item existing-file +@samp{%s: skipping existing file} @kwindex timestamp @cindex @samp{implausibly old time stamp %s}, warning message @cindex @samp{time stamp %s is %s s in the future}, warning message @@ -4452,7 +4737,7 @@ command line of the external command. For example: @smallexample $ @kbd{tar -x -f archive.tar \ - --checkpoint=exec='printf "%04d in %32s\r" $TAR_CHECKPOINT $TAR_ARCHIVE'} + --checkpoint-action=exec='printf "%04d in %32s\r" $TAR_CHECKPOINT $TAR_ARCHIVE'} @end smallexample @noindent @@ -5094,6 +5379,7 @@ The previous chapter described the basics of how to use @menu * override:: Overriding File Metadata. +* Extended File Attributes:: * Ignore Failed Read:: @end menu @@ -5163,6 +5449,17 @@ tar: Option --mtime: Treating date 'yesterday' as 2006-06-20 @dots{} @end smallexample +@noindent +When used with @option{--clamp-mtime} @GNUTAR{} will only set the +modification date to @var{date} on files whose actual modification +date is later than @var{date}. This is to make it easy to build +reproducible archives given a common timestamp for generated files +while still retaining the original timestamps of untouched files. + +@smallexample +$ @kbd{tar -c -f archive.tar --clamp-mtime --mtime=@atchar{}$SOURCE_DATE_EPOCH .} +@end smallexample + @item --owner=@var{user} @opindex owner @@ -5211,6 +5508,206 @@ the argument @var{group} can be an existing group symbolic name, or a decimal numeric group @acronym{ID}, or @var{name}:@var{id}. @end table +The @option{--owner} and @option{--group} options affect all files +added to the archive. @GNUTAR{} provides also two options that allow +for more detailed control over owner translation: + +@table @option +@item --owner-map=@var{file} +Read UID translation map from @var{file}. + +When reading, empty lines are ignored. The @samp{#} sign, unless +quoted, introduces a comment, which extends to the end of the line. +Each nonempty line defines mapping for a single UID. It must consist +of two fields separated by any amount of whitespace. The first field +defines original username and UID. It can be a valid user name or +a valid UID prefixed with a plus sign. In both cases the +corresponding UID or user name is inferred from the current host's +user database. + +The second field defines the UID and username to map the original one +to. Its format can be the same as described above. Otherwise, it can +have the form @var{newname}:@var{newuid}, in which case neither +@var{newname} nor @var{newuid} are required to be valid as per the +user database. + +For example, consider the following file: + +@example ++10 bin +smith root:0 +@end example + +@noindent +Given this file, each input file that is owner by UID 10 will be +stored in archive with owner name @samp{bin} and owner UID +corresponding to @samp{bin}. Each file owned by user @samp{smith} +will be stored with owner name @samp{root} and owner ID 0. Other +files will remain unchanged. + +When used together with @option{--owner-map}, the @option{--owner} +option affects only files whose owner is not listed in the map file. + +@item --group-map=@var{file} +Read GID translation map from @var{file}. + +The format of @var{file} is the same as for @option{--owner-map} +option: + +Each nonempty line defines mapping for a single GID. It must consist +of two fields separated by any amount of whitespace. The first field +defines original group name and GID. It can be a valid group name or +a valid GID prefixed with a plus sign. In both cases the +corresponding GID or user name is inferred from the current host's +group database. + +The second field defines the GID and group name to map the original one +to. Its format can be the same as described above. Otherwise, it can +have the form @var{newname}:@var{newgid}, in which case neither +@var{newname} nor @var{newgid} are required to be valid as per the +group database. + +When used together with @option{--group-map}, the @option{--group} +option affects only files whose owner group is not rewritten using the +map file. +@end table + +@node Extended File Attributes +@subsection Extended File Attributes + +Extended file attributes are name-value pairs that can be +associated with each node in a file system. Despite the fact that +POSIX.1e draft which proposed them has been withdrawn, the extended +file attributes are supported by many file systems. @GNUTAR{} can +store extended file attributes along with the files. This feature is +controlled by the following command line arguments: + +@table @option +@item --xattrs +Enable extended attributes support. When used with @option{--create}, +this option instructs @GNUTAR to store extended file attribute in the +created archive. This implies POSIX.1-2001 archive format +(@option{--format=pax}). + +When used with @option{--extract}, this option tells @command{tar}, +for each file extracted, to read stored attributes from the archive +and to apply them to the file. + +@item --no-xattrs +Disable extended attributes support. This is the default. +@end table + +Attribute names are strings prefixed by a @dfn{namespace} name and a dot. +Currently, four namespaces exist: @samp{user}, @samp{trusted}, +@samp{security} and @samp{system}. By default, when @option{--xattr} +is used, all names are stored in the archive (or extracted, if using +@option{--extract}). This can be controlled using the following +options: + +@table @option +@item --xattrs-exclude=@var{pattern} +Specify exclude pattern for extended attributes. + +@item --xattrs-include=@var{pattern} +Specify include pattern for extended attributes. +@end table + +Here, the @var{pattern} is POSIX regular expression. For example, the +following command: + +@example +$ @kbd{tar --xattrs --xattrs-exclude='^user\.' -c a.tar .} +@end example + +will include in the archive @file{a.tar} all attributes, except those +from the @samp{user} namespace. + +Any number of these options can be given, thereby creating lists of +include and exclude patterns. + +When both options are used, first @option{--xattrs-inlcude} is applied +to select the set of attribute names to keep, and then +@option{--xattrs-exclude} is applied to the resulting set. In other +words, only those attributes will be stored, whose names match one +of the regexps in @option{--xattrs-inlcude} and don't match any of +the regexps from @option{--xattrs-exclude}. + +When listing the archive, if both @option{--xattrs} and +@option{--verbose} options are given, files that have extended +attributes are marked with an asterisk following their permission +mask. For example: + +@example +-rw-r--r--* smith/users 110 2016-03-16 16:07 file +@end example + +When two or more @option{--verbose} options are given, a detailed +listing of extended attributes is printed after each file entry. Each +attribute is listed on a separate line, which begins with two spaces +and the letter @samp{x} indicating extended attribute. It is followed +by a colon, length of the attribute and its name, e.g.: + +@example +-rw-r--r--* smith/users 110 2016-03-16 16:07 file + x: 7 user.mime_type + x: 32 trusted.md5sum +@end example + +File access control lists (@dfn{ACL}) are another actively used feature +proposed by the POSIX.1e standard. Each ACL consists of a set of ACL +entries, each of which describes the access permissions on the file for +an individual user or a group of users as a combination of read, write +and search/execute permissions. + +Whether or not to use ACLs is controlled by the following two options: + +@table @option +@item --acls +Enable POSIX ACLs support. When used with @option{--create}, +this option instructs @GNUTAR{} to store ACLs in the +created archive. This implies POSIX.1-2001 archive format +(@option{--format=pax}). + +When used with @option{--extract}, this option tells @command{tar}, +to restore ACLs for each file extracted (provided they are present +in the archive). + +@item --no-acls +Disable POSIX ACLs support. This is the default. +@end table + +When listing the archive, if both @option{--acls} and +@option{--verbose} options are given, files that have ACLs are marked +with a plus sing following their permission mask. For example: + +@example +-rw-r--r--+ smith/users 110 2016-03-16 16:07 file +@end example + +When two or more @option{--verbose} options are given, a detailed +listing of ACL is printed after each file entry: + +@example +@group +-rw-r--r--+ smith/users 110 2016-03-16 16:07 file + a: user::rw-,user:gray:-w-,group::r--,mask::rw-,other::r-- +@end group +@end example + +@dfn{Security-Enhanced Linux} (@dfn{SELinux} for short) is a Linux +kernel security module that provides a mechanism for supporting access +control security policies, including so-called mandatory access +controls (@dfn{MAC}). Support for SELinux attributes is controlled by +the following command line options: + +@table @option +@item --selinux +Enable the SELinux context support. + +@item --no-selinux +Disable SELinux context support. +@end table + @node Ignore Failed Read @subsection Ignore Fail Read @@ -5681,7 +6178,7 @@ contain command line arguments (see @ref{external, Running External Commands}, for more detail). Notice, that @var{command} is executed once for each regular file -extracted. Non-regular files (directories, etc.) are ignored when this +extracted. Non-regular files (directories, etc.)@: are ignored when this option is used. @end table @@ -6376,7 +6873,7 @@ especially, the binary output it produced were considered inconvenient and were changed in version 1.16.}: @smallexample -@kbd{tar --list --incremental --verbose --verbose archive.tar} +@kbd{tar --list --incremental --verbose --verbose --file archive.tar} @end smallexample This command will print, for each directory in the archive, the list @@ -7213,7 +7710,7 @@ If you give a single dash as a file name for @option{--files-from}, (i.e., you specify either @code{--files-from=-} or @code{-T -}), then the file names are read from standard input. -Unless you are running @command{tar} with @option{--create}, you can not use +Unless you are running @command{tar} with @option{--create}, you cannot use both @code{--files-from=-} and @code{--file=-} (@code{-f -}) in the same command. @@ -7233,8 +7730,9 @@ $ @kbd{tar -c -v -z -T small-files -f little.tgz} @end smallexample @noindent -In the file list given by @option{-T} option, any file name beginning -with @samp{-} character is considered a @command{tar} option and is +By default, each line read from the file list is first stripped off +any leading and trailing whitespace. If the resulting string begins +with @samp{-} character, it is considered a @command{tar} option and is processed accordingly@footnote{Versions of @GNUTAR{} up to 1.15.1 recognized only @option{-C} option in file lists, and only if the option and its argument occupied two consecutive lines.}. For example, @@ -7269,10 +7767,44 @@ libc.a @end group @end smallexample +Note, that any options used in the file list remain in effect for the +rest of the command line. For example, using the same @file{list} +file as above, the following command + +@smallexample +$ @kbd{tar -c -f foo.tar --files-from list libcurses.a} +@end smallexample + +@noindent +will look for file @file{libcurses.a} in the directory @file{/lib}, +because it was used with the last @option{-C} option +(@pxref{Position-Sensitive Options}). + +@anchor{verbatim-files-from} +@opindex verbatim-files-from +If such option handling is undesirable, use the +@option{--verbatim-files-from} option. When this option is in effect, +each line read from the file list is treated as a file name. Notice, +that this means, in particular, that no whitespace trimming is +performed. + +@anchor{no-verbatim-files-from} +@opindex no-verbatim-files-from +The @option{--verbatim-files-from} affects all @option{-T} options +that follow it in the command line. The default behavior can be +restored using @option{--no-verbatim-files-from} option. + @opindex add-file -If you happen to have a file whose name starts with @samp{-}, -precede it with @option{--add-file} option to prevent it from -being recognized as an option. For example: @code{--add-file=--my-file}. +To disable option handling for a single file name, use the +@option{--add-file} option, e.g.: @code{--add-file=--my-file}. + +You can use any @GNUTAR{} command line options in the file list file, +including @option{--files-from} option itself. This allows for +including contents of a file list into another file list file. +Note however, that options that control file list processing, such as +@option{--verbatim-files-from} or @option{--null} won't affect the +file they appear in. They will affect next @option{--files-from} +option, if there is any. @menu * nul:: @@ -7304,7 +7836,8 @@ The @option{--null} option is just like the one in @acronym{GNU} @command{xargs} and @command{cpio}, and is useful with the @option{-print0} predicate of @acronym{GNU} @command{find}. In @command{tar}, @option{--null} also disables special handling for -file names that begin with dash. +file names that begin with dash (similar to +@option{--verbatim-files-from} option). This example shows how to use @command{find} to generate a list of files larger than 800K in length and put that list into a file called @@ -7409,10 +7942,10 @@ However, empty lines are OK. @cindex Git, ignore files @cindex Bazaar, ignore files @cindex Mercurial, ignore files -When archiving directories that are under some version control system (VCS), +When archiving directories that are under some version control system (VCS), it is often convenient to read exclusion patterns from this VCS' ignore files (e.g. @file{.cvsignore}, @file{.gitignore}, etc.) The -following options provide such possibilty: +following options provide such possibility: @table @option @anchor{exclude-vcs-ignores} @@ -7501,6 +8034,8 @@ As of version @value{VERSION}, the following files are excluded: @item @file{SCCS/}, and everything under it @item @file{.git/}, and everything under it @item @file{.gitignore} +@item @file{.gitmodules} +@item @file{.gitattributes} @item @file{.cvsignore} @item @file{.svn/}, and everything under it @item @file{.arch-ids/}, and everything under it @@ -7867,6 +8402,7 @@ ignores case when excluding @samp{makefile}, but not when excluding @samp{readme}. @table @option +@anchor{anchored patterns} @opindex anchored @opindex no-anchored @item --anchored @@ -7876,6 +8412,7 @@ of the name's components. Otherwise, the pattern can match any subsequence. Default is @option{--no-anchored} for exclusion members and @option{--anchored} inclusion members. +@anchor{case-insensitive matches} @opindex ignore-case @opindex no-ignore-case @item --ignore-case @@ -8354,7 +8891,7 @@ Apply transformation to hard link targets. Do not apply transformation to hard link targets. @end table -Default is @samp{rsh}, which means to apply tranformations to both archive +Default is @samp{rsh}, which means to apply transformations to both archive members and targets of symbolic and hard links. Default scope flags can also be changed using @samp{flags=} statement @@ -8782,8 +9319,8 @@ To use it, you would invoke @command{tar} as follows: $ @kbd{tar -c -f foo.tar --files-from list} @end smallexample -The interpretation of @option{--directory} is disabled by -@option{--null} option. +The interpretation of options in file lists is disabled by +@option{--verbatim-files-from} and @option{--null} options. @node absolute @subsection Absolute File Names @@ -8966,7 +9503,7 @@ recent, so not all tar implementations are able to handle it properly. However, this format is designed in such a way that any tar implementation able to read @samp{ustar} archives will be able to read most @samp{posix} archives as well, with the only exception that any -additional information (such as long file names etc.) will in such +additional information (such as long file names etc.)@: will in such case be extracted as plain text files along with the files it refers to. This archive format will be the default format for future versions @@ -9175,18 +9712,11 @@ The output produced by @command{tar --help} shows the actual compressor names along with each of these options. You can use any of these options on physical devices (tape drives, -etc.) and remote files as well as on normal files; data to or from +etc.)@: and remote files as well as on normal files; data to or from such devices or remote files is reblocked by another copy of the @command{tar} program to enforce the specified (or default) record -size. The default compression parameters are used. Most compression -programs let you override these by setting a program-specific -environment variable. For example, with @command{gzip} you can set -@env{GZIP}: - -@smallexample -$ @kbd{GZIP='-9 -n' tar czf archive.tar.gz subdir} -@end smallexample -Another way would be to use the @option{-I} option instead (see +size. The default compression parameters are used. +You can override them by using the @option{-I} option (see below), e.g.: @smallexample @@ -9194,7 +9724,7 @@ $ @kbd{tar -cf archive.tar.gz -I 'gzip -9 -n' subdir} @end smallexample @noindent -Finally, the third, traditional, way to do this is to use a pipe: +A more traditional way to do this is to use a pipe: @smallexample $ @kbd{tar cf - subdir | gzip -9 -n > archive.tar.gz} @@ -9242,12 +9772,13 @@ suffix. The following suffixes are recognized: @item --use-compress-program=@var{command} @itemx -I=@var{command} Use external compression program @var{command}. Use this option if you +want to specify options for the compression program, or if you are not happy with the compression program associated with the suffix -at compile time or if you have a compression program that @GNUTAR{} +at compile time, or if you have a compression program that @GNUTAR{} does not support. The @var{command} argument is a valid command invocation, as you would type it at the command line prompt, with any additional options as needed. Enclose it in quotes if it contains -white space (see @ref{external, Running External Commands}, for more detail). +white space (@pxref{external, Running External Commands}). The @var{command} should follow two conventions: @@ -9389,13 +9920,15 @@ could create an archive longer than the original. To have @command{tar} attempt to recognize the holes in a file, use @option{--sparse} (@option{-S}). When you use this option, then, for any file using less disk space than would be expected from its length, @command{tar} -searches the file for consecutive stretches of zeros. It then records -in the archive for the file where the consecutive stretches of zeros -are, and only archives the ``real contents'' of the file. On -extraction (using @option{--sparse} is not needed on extraction) any -such files have holes created wherever the continuous stretches of zeros -were found. Thus, if you use @option{--sparse}, @command{tar} archives -won't take more space than the original. +searches the file for holes. It then records in the archive for the file where +the holes (consecutive stretches of zeros) are, and only archives the +``real contents'' of the file. On extraction (using @option{--sparse} is not +needed on extraction) any such files have also holes created wherever the holes +were found. Thus, if you use @option{--sparse}, @command{tar} archives won't +take more space than the original. + +@GNUTAR{} uses two methods for detecting holes in sparse files. These +methods are described later in this subsection. @table @option @opindex sparse @@ -9421,37 +9954,12 @@ will never take more space on the media than the files take on disk (otherwise, archiving a disk filled with sparse files might take hundreds of tapes). @xref{Incremental Dumps}. -However, be aware that @option{--sparse} option presents a serious -drawback. Namely, in order to determine if the file is sparse -@command{tar} has to read it before trying to archive it, so in total -the file is read @strong{twice}. So, always bear in mind that the -time needed to process all files with this option is roughly twice -the time needed to archive them without it. -@FIXME{A technical note: - -Programs like @command{dump} do not have to read the entire file; by -examining the file system directly, they can determine in advance -exactly where the holes are and thus avoid reading through them. The -only data it need read are the actual allocated data blocks. -@GNUTAR{} uses a more portable and straightforward -archiving approach, it would be fairly difficult that it does -otherwise. Elizabeth Zwicky writes to @file{comp.unix.internals}, on -1990-12-10: - -@quotation -What I did say is that you cannot tell the difference between a hole and an -equivalent number of nulls without reading raw blocks. @code{st_blocks} at -best tells you how many holes there are; it doesn't tell you @emph{where}. -Just as programs may, conceivably, care what @code{st_blocks} is (care -to name one that does?), they may also care where the holes are (I have -no examples of this one either, but it's equally imaginable). - -I conclude from this that good archivers are not portable. One can -arguably conclude that if you want a portable program, you can in good -conscience restore files with as many holes as possible, since you can't -get it right. -@end quotation -} +However, be aware that @option{--sparse} option may present a serious +drawback. Namely, in order to determine the positions of holes in a file +@command{tar} may have to read it before trying to archive it, so in total +the file may be read @strong{twice}. This may happen when your OS or your FS +does not support @dfn{SEEK_HOLE/SEEK_DATA} feature in @dfn{lseek} (See +@option{--hole-detection}, below). @cindex sparse formats, defined When using @samp{POSIX} archive format, @GNUTAR{} is able to store @@ -9465,7 +9973,6 @@ use an earlier format, you can select it using @table @option @opindex sparse-version @item --sparse-version=@var{version} - Select the format to store sparse files in. Valid @var{version} values are: @samp{0.0}, @samp{0.1} and @samp{1.0}. @xref{Sparse Formats}, for a detailed description of each format. @@ -9473,9 +9980,42 @@ for a detailed description of each format. Using @option{--sparse-format} option implies @option{--sparse}. +@table @option +@opindex hole-detection +@cindex hole detection +@item --hole-detection=@var{method} +Enforce concrete hole detection method. Before the real contents of sparse +file are stored, @command{tar} needs to gather knowledge about file +sparseness. This is because it needs to have the file's map of holes +stored into tar header before it starts archiving the file contents. +Currently, two methods of hole detection are implemented: + +@itemize @bullet +@item @option{--hole-detection=seek} +Seeking the file for data and holes. It uses enhancement of the @code{lseek} +system call (@code{SEEK_HOLE} and @code{SEEK_DATA}) which is able to +reuse file system knowledge about sparse file contents - so the +detection is usually very fast. To use this feature, your file system +and operating system must support it. At the time of this writing +(2015) this feature, in spite of not being accepted by POSIX, is +fairly widely supported by different operating systems. + +@item @option{--hole-detection=raw} +Reading byte-by-byte the whole sparse file before the archiving. This +method detects holes like consecutive stretches of zeroes. Comparing to +the previous method, it is usually much slower, although more +portable. +@end itemize +@end table + +When no @option{--hole-detection} option is given, @command{tar} uses +the @samp{seek}, if supported by the operating system. + +Using @option{--hole-detection} option implies @option{--sparse}. + @node Attributes @section Handling File Attributes -@cindex atrributes, files +@cindex attributes, files @cindex file attributes When @command{tar} reads files, it updates their access times. To @@ -9600,13 +10140,6 @@ on extracted files. This option is by default enabled when This option is meaningless with @option{--list} (@option{-t}). - -@opindex preserve -@item --preserve -Same as both @option{--same-permissions} and @option{--same-order}. - -This option is deprecated, and will be removed in @GNUTAR{} version 1.23. - @end table @node Portability @@ -9746,7 +10279,7 @@ Although creating special records for hard links helps keep a faithful record of the file system contents and makes archives more compact, it may present some difficulties when extracting individual members from the archive. For example, trying to extract file @file{one} from the -archive created in previous examples produces, in the absense of file +archive created in previous examples produces, in the absence of file @file{jeden}: @smallexample @@ -9926,7 +10459,8 @@ will use the following default value: This keyword defines the value of the @samp{mtime} field that is written into the ustar header blocks for the extended headers. By default, the @samp{mtime} field is set to the modification time -of the archive member described by that extended headers. +of the archive member described by that extended header (or to the +value of the @option{--mtime} option, if supplied). @item globexthdr.name=@var{string} This keyword allows user control over the name that is written into @@ -10019,6 +10553,22 @@ same contents: --pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0 @end smallexample +@noindent +If you extract files from such an archive and recreate the archive +from them, you will also need to eliminate changes due to ctime, as +shown in examples below: + +@smallexample +--pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0,ctime:=0 +@end smallexample + +@noindent +or + +@smallexample +--pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0,delete=ctime +@end smallexample + @node Checksumming @subsection Checksumming Problems @@ -10117,7 +10667,7 @@ describe the required procedures in detail. @node Split Recovery @subsubsection Extracting Members Split Between Volumes -@cindex Mutli-volume archives, extracting using non-GNU tars +@cindex Multi-volume archives, extracting using non-GNU tars If a member is split between several volumes of an old GNU format archive most third party @command{tar} implementation will fail to extract it. To extract it, use @command{tarcat} program (@pxref{Tarcat}). @@ -10132,7 +10682,7 @@ extract them using a third-party @command{tar}: $ @kbd{tarcat vol-1.tar vol-2.tar vol-3.tar | tar xf -} @end smallexample -@cindex Mutli-volume archives in PAX format, extracting using non-GNU tars +@cindex Multi-volume archives in PAX format, extracting using non-GNU tars You could use this approach for most (although not all) PAX format archives as well. However, extracting split members from a PAX archive is a much easier task, because PAX volumes are constructed in @@ -10146,7 +10696,7 @@ original name, and all subsequent parts are named using the pattern: @end smallexample @noindent -where symbols preceeded by @samp{%} are @dfn{macro characters} that +where symbols preceded by @samp{%} are @dfn{macro characters} that have the following meaning: @multitable @columnfractions .25 .55 @@ -10305,7 +10855,7 @@ $ @kbd{xsparse /home/gray/GNUSparseFile.6058/sparsefile} @noindent The program behaves the same way all UNIX utilities do: it will keep -quiet unless it has simething important to tell you (e.g. an error +quiet unless it has something important to tell you (e.g. an error condition or something). If you wish it to produce verbose output, similar to that from the dry run mode, use @option{-v} option: @@ -10759,7 +11309,7 @@ installed by default. @cindex absolute file names Unless you use the @option{--absolute-names} (@option{-P}) option, @GNUTAR{} will not allow you to create an archive that contains -absolute file names (a file name beginning with @samp{/}.) If you try, +absolute file names (a file name beginning with @samp{/}). If you try, @command{tar} will automatically remove the leading @samp{/} from the file names it stores in the archive. It will also type a warning message telling you what it is doing. diff --git a/doc/texify.sed b/doc/texify.sed index 444c017d..fed0d4ea 100644 --- a/doc/texify.sed +++ b/doc/texify.sed @@ -1,4 +1,4 @@ -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/doc/value.texi b/doc/value.texi index a4a9a680..1f47c837 100644 --- a/doc/value.texi +++ b/doc/value.texi @@ -1,5 +1,5 @@ @c This is part of GNU tar manual. -@c Copyright 1992, 1994-1997, 1999-2006, 2013-2014 Free Software +@c Copyright 1992, 1994-1997, 1999-2006, 2013-2014, 2016 Free Software @c Foundation, Inc. @c See file tar.texi for copying conditions. diff --git a/doc/version.texi b/doc/version.texi index 85496ec8..eacd45d3 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -1,4 +1,4 @@ -@set UPDATED 22 July 2014 -@set UPDATED-MONTH July 2014 -@set EDITION 1.28 -@set VERSION 1.28 +@set UPDATED 14 April 2016 +@set UPDATED-MONTH April 2016 +@set EDITION 1.29 +@set VERSION 1.29 diff --git a/gnu/Makefile.am b/gnu/Makefile.am index 299bb0e0..c615fa0b 100644 --- a/gnu/Makefile.am +++ b/gnu/Makefile.am @@ -1,3 +1,3488 @@ -# Make the subset of Gnulib that GNU tar needs. -include gnulib.mk -AM_CFLAGS += $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) +## DO NOT EDIT! GENERATED AUTOMATICALLY! +## Process this file with automake to produce Makefile.in. +# Copyright (C) 2002-2015 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this file. If not, see . +# +# As a special exception to the GNU General Public License, +# this file may be distributed as part of a program that +# contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# Generated by gnulib-tool. +# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-conditional-dependencies --no-libtool --macro-prefix=gl alloca areadlinkat-with-size argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail extern-inline faccessat fchmodat fchownat fcntl-h fdopendir fdutimensat file-has-acl fileblocks fnmatch-gnu fprintftime fseeko fstatat full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset manywarnings mkdirat mkdtemp mkfifoat modechange obstack openat parse-datetime priv-set progname quote quotearg readlinkat renameat root-uid rpmatch safe-read savedir selinux-at setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtoimax strtol strtoul strtoumax symlinkat timespec timespec-sub unlinkat unlinkdir unlocked-io utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf + +AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects + +SUBDIRS = +noinst_HEADERS = +noinst_LIBRARIES = +noinst_LTLIBRARIES = +EXTRA_DIST = +BUILT_SOURCES = +SUFFIXES = +MOSTLYCLEANFILES = core *.stackdump +MOSTLYCLEANDIRS = +CLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = + +AM_CPPFLAGS = +AM_CFLAGS = + +noinst_LIBRARIES += libgnu.a + +libgnu_a_SOURCES = +libgnu_a_LIBADD = $(gl_LIBOBJS) +libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) +EXTRA_libgnu_a_SOURCES = + +## begin gnulib module absolute-header + +# Use this preprocessor expression to decide whether #include_next works. +# Do not rely on a 'configure'-time test for this, since the expression +# might appear in an installed header, which is used by some other compiler. +HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER) + +## end gnulib module absolute-header + +## begin gnulib module acl-permissions + +libgnu_a_SOURCES += acl-errno-valid.c acl-internal.c get-permissions.c set-permissions.c + +EXTRA_DIST += acl-internal.h acl.h acl_entries.c + +EXTRA_libgnu_a_SOURCES += acl_entries.c + +## end gnulib module acl-permissions + +## begin gnulib module alignof + + +EXTRA_DIST += alignof.h + +## end gnulib module alignof + +## begin gnulib module alloca + + +libgnu_a_LIBADD += @ALLOCA@ +libgnu_a_DEPENDENCIES += @ALLOCA@ +EXTRA_DIST += alloca.c + +EXTRA_libgnu_a_SOURCES += alloca.c + +## end gnulib module alloca + +## begin gnulib module alloca-opt + +BUILT_SOURCES += $(ALLOCA_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_ALLOCA_H +alloca.h: alloca.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/alloca.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +else +alloca.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += alloca.h alloca.h-t + +EXTRA_DIST += alloca.in.h + +## end gnulib module alloca-opt + +## begin gnulib module allocator + +libgnu_a_SOURCES += allocator.c + +EXTRA_DIST += allocator.h + +## end gnulib module allocator + +## begin gnulib module areadlink + +libgnu_a_SOURCES += areadlink.c + +EXTRA_DIST += areadlink.h + +## end gnulib module areadlink + +## begin gnulib module areadlink-with-size + +libgnu_a_SOURCES += areadlink-with-size.c + +EXTRA_DIST += areadlink.h + +## end gnulib module areadlink-with-size + +## begin gnulib module areadlinkat + +libgnu_a_SOURCES += areadlinkat.c + +EXTRA_DIST += areadlink.h at-func.c + +EXTRA_libgnu_a_SOURCES += at-func.c + +## end gnulib module areadlinkat + +## begin gnulib module areadlinkat-with-size + +libgnu_a_SOURCES += areadlinkat-with-size.c + +EXTRA_DIST += areadlink.h at-func.c + +EXTRA_libgnu_a_SOURCES += at-func.c + +## end gnulib module areadlinkat-with-size + +## begin gnulib module argmatch + +libgnu_a_SOURCES += argmatch.c + +EXTRA_DIST += argmatch.h + +## end gnulib module argmatch + +## begin gnulib module argp + +libgnu_a_SOURCES += argp.h argp-ba.c argp-eexst.c argp-fmtstream.c argp-fmtstream.h argp-fs-xinl.c argp-help.c argp-namefrob.h argp-parse.c argp-pin.c argp-pv.c argp-pvh.c argp-xinl.c + +## end gnulib module argp + +## begin gnulib module argp-version-etc + +libgnu_a_SOURCES += argp-version-etc.h argp-version-etc.c + +## end gnulib module argp-version-etc + +## begin gnulib module assure + + +EXTRA_DIST += assure.h + +## end gnulib module assure + +## begin gnulib module at-internal + + +EXTRA_DIST += openat-priv.h openat-proc.c + +EXTRA_libgnu_a_SOURCES += openat-proc.c + +## end gnulib module at-internal + +## begin gnulib module backupfile + +libgnu_a_SOURCES += backupfile.c + +EXTRA_DIST += backupfile.h + +## end gnulib module backupfile + +## begin gnulib module bitrotate + +libgnu_a_SOURCES += bitrotate.h bitrotate.c + +## end gnulib module bitrotate + +## begin gnulib module btowc + + +EXTRA_DIST += btowc.c + +EXTRA_libgnu_a_SOURCES += btowc.c + +## end gnulib module btowc + +## begin gnulib module c-ctype + +libgnu_a_SOURCES += c-ctype.h c-ctype.c + +## end gnulib module c-ctype + +## begin gnulib module c-strcase + +libgnu_a_SOURCES += c-strcase.h c-strcasecmp.c c-strncasecmp.c + +## end gnulib module c-strcase + +## begin gnulib module c-strcaseeq + + +EXTRA_DIST += c-strcaseeq.h + +## end gnulib module c-strcaseeq + +## begin gnulib module canonicalize-lgpl + + +EXTRA_DIST += canonicalize-lgpl.c + +EXTRA_libgnu_a_SOURCES += canonicalize-lgpl.c + +## end gnulib module canonicalize-lgpl + +## begin gnulib module careadlinkat + +libgnu_a_SOURCES += careadlinkat.c + +EXTRA_DIST += careadlinkat.h + +## end gnulib module careadlinkat + +## begin gnulib module chdir-long + + +EXTRA_DIST += chdir-long.c chdir-long.h + +EXTRA_libgnu_a_SOURCES += chdir-long.c + +## end gnulib module chdir-long + +## begin gnulib module chown + + +EXTRA_DIST += chown.c fchown-stub.c + +EXTRA_libgnu_a_SOURCES += chown.c fchown-stub.c + +## end gnulib module chown + +## begin gnulib module cloexec + +libgnu_a_SOURCES += cloexec.c + +EXTRA_DIST += cloexec.h + +## end gnulib module cloexec + +## begin gnulib module close + + +EXTRA_DIST += close.c + +EXTRA_libgnu_a_SOURCES += close.c + +## end gnulib module close + +## begin gnulib module close-stream + +libgnu_a_SOURCES += close-stream.c + +EXTRA_DIST += close-stream.h + +## end gnulib module close-stream + +## begin gnulib module closedir + + +EXTRA_DIST += closedir.c dirent-private.h + +EXTRA_libgnu_a_SOURCES += closedir.c + +## end gnulib module closedir + +## begin gnulib module closeout + +libgnu_a_SOURCES += closeout.c + +EXTRA_DIST += closeout.h + +## end gnulib module closeout + +## begin gnulib module configmake + +# Listed in the same order as the GNU makefile conventions, and +# provided by autoconf 2.59c+ or 2.70. +# The Automake-defined pkg* macros are appended, in the order +# listed in the Automake 1.10a+ documentation. +configmake.h: Makefile + $(AM_V_GEN)rm -f $@-t && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + echo '#define PREFIX "$(prefix)"'; \ + echo '#define EXEC_PREFIX "$(exec_prefix)"'; \ + echo '#define BINDIR "$(bindir)"'; \ + echo '#define SBINDIR "$(sbindir)"'; \ + echo '#define LIBEXECDIR "$(libexecdir)"'; \ + echo '#define DATAROOTDIR "$(datarootdir)"'; \ + echo '#define DATADIR "$(datadir)"'; \ + echo '#define SYSCONFDIR "$(sysconfdir)"'; \ + echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \ + echo '#define LOCALSTATEDIR "$(localstatedir)"'; \ + echo '#define RUNSTATEDIR "$(runstatedir)"'; \ + echo '#define INCLUDEDIR "$(includedir)"'; \ + echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \ + echo '#define DOCDIR "$(docdir)"'; \ + echo '#define INFODIR "$(infodir)"'; \ + echo '#define HTMLDIR "$(htmldir)"'; \ + echo '#define DVIDIR "$(dvidir)"'; \ + echo '#define PDFDIR "$(pdfdir)"'; \ + echo '#define PSDIR "$(psdir)"'; \ + echo '#define LIBDIR "$(libdir)"'; \ + echo '#define LISPDIR "$(lispdir)"'; \ + echo '#define LOCALEDIR "$(localedir)"'; \ + echo '#define MANDIR "$(mandir)"'; \ + echo '#define MANEXT "$(manext)"'; \ + echo '#define PKGDATADIR "$(pkgdatadir)"'; \ + echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \ + echo '#define PKGLIBDIR "$(pkglibdir)"'; \ + echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \ + } | sed '/""/d' > $@-t && \ + mv -f $@-t $@ + +BUILT_SOURCES += configmake.h +CLEANFILES += configmake.h configmake.h-t + +## end gnulib module configmake + +## begin gnulib module dirent + +BUILT_SOURCES += dirent.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ + -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \ + -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \ + -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \ + -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \ + -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \ + -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \ + -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \ + -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \ + -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \ + -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \ + -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \ + -e 's/@''HAVE_CLOSEDIR''@/$(HAVE_CLOSEDIR)/g' \ + -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \ + -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \ + -e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \ + -e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \ + -e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \ + -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \ + -e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \ + -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \ + -e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/dirent.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += dirent.h dirent.h-t + +EXTRA_DIST += dirent.in.h + +## end gnulib module dirent + +## begin gnulib module dirent-safer + +libgnu_a_SOURCES += opendir-safer.c + +EXTRA_DIST += dirent--.h dirent-safer.h + +## end gnulib module dirent-safer + +## begin gnulib module dirfd + + +EXTRA_DIST += dirfd.c + +EXTRA_libgnu_a_SOURCES += dirfd.c + +## end gnulib module dirfd + +## begin gnulib module dirname + +libgnu_a_SOURCES += dirname.c basename.c + +EXTRA_DIST += stripslash.c + +EXTRA_libgnu_a_SOURCES += stripslash.c + +## end gnulib module dirname + +## begin gnulib module dirname-lgpl + +libgnu_a_SOURCES += dirname-lgpl.c basename-lgpl.c stripslash.c + +EXTRA_DIST += dirname.h + +## end gnulib module dirname-lgpl + +## begin gnulib module dosname + + +EXTRA_DIST += dosname.h + +## end gnulib module dosname + +## begin gnulib module dup + + +EXTRA_DIST += dup.c + +EXTRA_libgnu_a_SOURCES += dup.c + +## end gnulib module dup + +## begin gnulib module dup2 + + +EXTRA_DIST += dup2.c + +EXTRA_libgnu_a_SOURCES += dup2.c + +## end gnulib module dup2 + +## begin gnulib module errno + +BUILT_SOURCES += $(ERRNO_H) + +# We need the following in order to create when the system +# doesn't have one that is POSIX compliant. +if GL_GENERATE_ERRNO_H +errno.h: errno.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \ + -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \ + -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \ + -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \ + -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ + -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ + -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ + < $(srcdir)/errno.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +errno.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += errno.h errno.h-t + +EXTRA_DIST += errno.in.h + +## end gnulib module errno + +## begin gnulib module error + + +EXTRA_DIST += error.c error.h + +EXTRA_libgnu_a_SOURCES += error.c + +## end gnulib module error + +## begin gnulib module euidaccess + + +EXTRA_DIST += euidaccess.c + +EXTRA_libgnu_a_SOURCES += euidaccess.c + +## end gnulib module euidaccess + +## begin gnulib module exclude + +libgnu_a_SOURCES += exclude.c + +EXTRA_DIST += exclude.h + +## end gnulib module exclude + +## begin gnulib module exitfail + +libgnu_a_SOURCES += exitfail.c + +EXTRA_DIST += exitfail.h + +## end gnulib module exitfail + +## begin gnulib module faccessat + + +EXTRA_DIST += at-func.c faccessat.c + +EXTRA_libgnu_a_SOURCES += at-func.c faccessat.c + +## end gnulib module faccessat + +## begin gnulib module fchdir + + +EXTRA_DIST += fchdir.c + +EXTRA_libgnu_a_SOURCES += fchdir.c + +## end gnulib module fchdir + +## begin gnulib module fchmodat + +libgnu_a_SOURCES += chmodat.c + +EXTRA_DIST += at-func.c fchmodat.c + +EXTRA_libgnu_a_SOURCES += at-func.c fchmodat.c + +## end gnulib module fchmodat + +## begin gnulib module fchownat + +libgnu_a_SOURCES += chownat.c + +EXTRA_DIST += at-func.c fchownat.c + +EXTRA_libgnu_a_SOURCES += at-func.c fchownat.c + +## end gnulib module fchownat + +## begin gnulib module fcntl + + +EXTRA_DIST += fcntl.c + +EXTRA_libgnu_a_SOURCES += fcntl.c + +## end gnulib module fcntl + +## begin gnulib module fcntl-h + +BUILT_SOURCES += fcntl.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ + -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \ + -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \ + -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \ + -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \ + -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \ + -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \ + -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \ + -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \ + -e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/fcntl.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += fcntl.h fcntl.h-t + +EXTRA_DIST += fcntl.in.h + +## end gnulib module fcntl-h + +## begin gnulib module fd-hook + +libgnu_a_SOURCES += fd-hook.c + +EXTRA_DIST += fd-hook.h + +## end gnulib module fd-hook + +## begin gnulib module fdopendir + + +EXTRA_DIST += fdopendir.c + +EXTRA_libgnu_a_SOURCES += fdopendir.c + +## end gnulib module fdopendir + +## begin gnulib module fdutimensat + +libgnu_a_SOURCES += fdutimensat.c + +EXTRA_DIST += utimens.h + +## end gnulib module fdutimensat + +## begin gnulib module file-has-acl + +libgnu_a_SOURCES += file-has-acl.c + +## end gnulib module file-has-acl + +## begin gnulib module fileblocks + + +EXTRA_DIST += fileblocks.c + +EXTRA_libgnu_a_SOURCES += fileblocks.c + +## end gnulib module fileblocks + +## begin gnulib module filename + + +EXTRA_DIST += filename.h + +## end gnulib module filename + +## begin gnulib module filenamecat-lgpl + +libgnu_a_SOURCES += filenamecat-lgpl.c + +EXTRA_DIST += filenamecat.h + +## end gnulib module filenamecat-lgpl + +## begin gnulib module float + +BUILT_SOURCES += $(FLOAT_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_FLOAT_H +float.h: float.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ + -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \ + < $(srcdir)/float.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +float.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += float.h float.h-t + +EXTRA_DIST += float.c float.in.h itold.c + +EXTRA_libgnu_a_SOURCES += float.c itold.c + +## end gnulib module float + +## begin gnulib module fnmatch + +BUILT_SOURCES += $(FNMATCH_H) + +# We need the following in order to create when the system +# doesn't have one that supports the required API. +if GL_GENERATE_FNMATCH_H +fnmatch.h: fnmatch.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + < $(srcdir)/fnmatch.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +else +fnmatch.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += fnmatch.h fnmatch.h-t + +EXTRA_DIST += fnmatch.c fnmatch.in.h fnmatch_loop.c + +EXTRA_libgnu_a_SOURCES += fnmatch.c fnmatch_loop.c + +## end gnulib module fnmatch + +## begin gnulib module fpending + + +EXTRA_DIST += fpending.c fpending.h + +EXTRA_libgnu_a_SOURCES += fpending.c + +## end gnulib module fpending + +## begin gnulib module fprintftime + +libgnu_a_SOURCES += fprintftime.c + +EXTRA_DIST += fprintftime.h + +## end gnulib module fprintftime + +## begin gnulib module fseek + + +EXTRA_DIST += fseek.c + +EXTRA_libgnu_a_SOURCES += fseek.c + +## end gnulib module fseek + +## begin gnulib module fseeko + + +EXTRA_DIST += fseeko.c stdio-impl.h + +EXTRA_libgnu_a_SOURCES += fseeko.c + +## end gnulib module fseeko + +## begin gnulib module fstat + + +EXTRA_DIST += fstat.c + +EXTRA_libgnu_a_SOURCES += fstat.c + +## end gnulib module fstat + +## begin gnulib module fstatat + + +EXTRA_DIST += at-func.c fstatat.c + +EXTRA_libgnu_a_SOURCES += at-func.c fstatat.c + +## end gnulib module fstatat + +## begin gnulib module full-write + +libgnu_a_SOURCES += full-write.h full-write.c + +## end gnulib module full-write + +## begin gnulib module futimens + + +EXTRA_DIST += futimens.c + +EXTRA_libgnu_a_SOURCES += futimens.c + +## end gnulib module futimens + +## begin gnulib module getcwd + + +EXTRA_DIST += getcwd.c + +EXTRA_libgnu_a_SOURCES += getcwd.c + +## end gnulib module getcwd + +## begin gnulib module getcwd-lgpl + + +EXTRA_DIST += getcwd-lgpl.c + +EXTRA_libgnu_a_SOURCES += getcwd-lgpl.c + +## end gnulib module getcwd-lgpl + +## begin gnulib module getdelim + + +EXTRA_DIST += getdelim.c + +EXTRA_libgnu_a_SOURCES += getdelim.c + +## end gnulib module getdelim + +## begin gnulib module getdtablesize + + +EXTRA_DIST += getdtablesize.c + +EXTRA_libgnu_a_SOURCES += getdtablesize.c + +## end gnulib module getdtablesize + +## begin gnulib module getgroups + + +EXTRA_DIST += getgroups.c + +EXTRA_libgnu_a_SOURCES += getgroups.c + +## end gnulib module getgroups + +## begin gnulib module getline + + +EXTRA_DIST += getline.c + +EXTRA_libgnu_a_SOURCES += getline.c + +## end gnulib module getline + +## begin gnulib module getopt-posix + +BUILT_SOURCES += $(GETOPT_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + < $(srcdir)/getopt.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += getopt.h getopt.h-t + +EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_int.h + +EXTRA_libgnu_a_SOURCES += getopt.c getopt1.c + +## end gnulib module getopt-posix + +## begin gnulib module getpagesize + + +EXTRA_DIST += getpagesize.c + +EXTRA_libgnu_a_SOURCES += getpagesize.c + +## end gnulib module getpagesize + +## begin gnulib module gettext + +# If your project uses "gettextize --intl" to put a source-code +# copy of libintl into the package, every Makefile.am needs +# -I$(top_builddir)/intl, so that can be found in this directory. +# Here's one way to do this: +#AM_CPPFLAGS += -I$(top_builddir)/intl +# This option has no effect when the user disables NLS (because then +# the intl directory contains no libintl.h file). This option is not +# enabled by default because the intl directory might not exist if +# your project does not use "gettext --intl", and some compilers +# complain about -I options applied to nonexistent directories. + +EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath + +## end gnulib module gettext + +## begin gnulib module gettext-h + +libgnu_a_SOURCES += gettext.h + +## end gnulib module gettext-h + +## begin gnulib module gettime + +libgnu_a_SOURCES += gettime.c + +## end gnulib module gettime + +## begin gnulib module gettimeofday + + +EXTRA_DIST += gettimeofday.c + +EXTRA_libgnu_a_SOURCES += gettimeofday.c + +## end gnulib module gettimeofday + +## begin gnulib module gitlog-to-changelog + + +EXTRA_DIST += $(top_srcdir)/build-aux/gitlog-to-changelog + +## end gnulib module gitlog-to-changelog + +## begin gnulib module group-member + + +EXTRA_DIST += group-member.c + +EXTRA_libgnu_a_SOURCES += group-member.c + +## end gnulib module group-member + +## begin gnulib module hash + +libgnu_a_SOURCES += hash.c + +EXTRA_DIST += hash.h + +## end gnulib module hash + +## begin gnulib module havelib + + +EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath + +## end gnulib module havelib + +## begin gnulib module human + +libgnu_a_SOURCES += human.c + +EXTRA_DIST += human.h + +## end gnulib module human + +## begin gnulib module intprops + + +EXTRA_DIST += intprops.h + +## end gnulib module intprops + +## begin gnulib module inttostr + +libgnu_a_SOURCES += imaxtostr.c inttostr.c offtostr.c uinttostr.c umaxtostr.c + +EXTRA_DIST += anytostr.c inttostr.h + +EXTRA_libgnu_a_SOURCES += anytostr.c + +## end gnulib module inttostr + +## begin gnulib module inttypes-incomplete + +BUILT_SOURCES += inttypes.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ + -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \ + -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ + -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ + -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ + -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ + -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ + -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ + -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ + -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ + -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ + -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ + -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ + -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ + -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \ + -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \ + -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ + -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \ + -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \ + -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/inttypes.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += inttypes.h inttypes.h-t + +EXTRA_DIST += inttypes.in.h + +## end gnulib module inttypes-incomplete + +## begin gnulib module iswblank + + +EXTRA_DIST += iswblank.c + +EXTRA_libgnu_a_SOURCES += iswblank.c + +## end gnulib module iswblank + +## begin gnulib module langinfo + +BUILT_SOURCES += langinfo.h + +# We need the following in order to create an empty placeholder for +# when the system doesn't have one. +langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \ + -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \ + -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \ + -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \ + -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \ + -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \ + -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \ + -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/langinfo.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += langinfo.h langinfo.h-t + +EXTRA_DIST += langinfo.in.h + +## end gnulib module langinfo + +## begin gnulib module lchown + + +EXTRA_DIST += lchown.c + +EXTRA_libgnu_a_SOURCES += lchown.c + +## end gnulib module lchown + +## begin gnulib module link + + +EXTRA_DIST += link.c + +EXTRA_libgnu_a_SOURCES += link.c + +## end gnulib module link + +## begin gnulib module linkat + + +EXTRA_DIST += at-func2.c linkat.c + +EXTRA_libgnu_a_SOURCES += at-func2.c linkat.c + +## end gnulib module linkat + +## begin gnulib module localcharset + +libgnu_a_SOURCES += localcharset.h localcharset.c + +# We need the following in order to install a simple file in $(libdir) +# which is shared with other installed packages. We use a list of referencing +# packages so that "make uninstall" will remove the file if and only if it +# is not used by another installed package. +# On systems with glibc-2.1 or newer, the file is redundant, therefore we +# avoid installing it. + +all-local: charset.alias ref-add.sed ref-del.sed + +charset_alias = $(DESTDIR)$(libdir)/charset.alias +charset_tmp = $(DESTDIR)$(libdir)/charset.tmp +install-exec-local: install-exec-localcharset +install-exec-localcharset: all-local + if test $(GLIBC21) = no; then \ + case '$(host_os)' in \ + darwin[56]*) \ + need_charset_alias=true ;; \ + darwin* | cygwin* | mingw* | pw32* | cegcc*) \ + need_charset_alias=false ;; \ + *) \ + need_charset_alias=true ;; \ + esac ; \ + else \ + need_charset_alias=false ; \ + fi ; \ + if $$need_charset_alias; then \ + $(mkinstalldirs) $(DESTDIR)$(libdir) ; \ + fi ; \ + if test -f $(charset_alias); then \ + sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \ + $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ + rm -f $(charset_tmp) ; \ + else \ + if $$need_charset_alias; then \ + sed -f ref-add.sed charset.alias > $(charset_tmp) ; \ + $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ + rm -f $(charset_tmp) ; \ + fi ; \ + fi + +uninstall-local: uninstall-localcharset +uninstall-localcharset: all-local + if test -f $(charset_alias); then \ + sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \ + if grep '^# Packages using this file: $$' $(charset_tmp) \ + > /dev/null; then \ + rm -f $(charset_alias); \ + else \ + $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \ + fi; \ + rm -f $(charset_tmp); \ + fi + +charset.alias: config.charset + $(AM_V_GEN)rm -f t-$@ $@ && \ + $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ && \ + mv t-$@ $@ + +SUFFIXES += .sed .sin +.sin.sed: + $(AM_V_GEN)rm -f t-$@ $@ && \ + sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \ + mv t-$@ $@ + +CLEANFILES += charset.alias ref-add.sed ref-del.sed + +EXTRA_DIST += config.charset ref-add.sin ref-del.sin + +## end gnulib module localcharset + +## begin gnulib module locale + +BUILT_SOURCES += locale.h + +# We need the following in order to create when the system +# doesn't have one that provides all definitions. +locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ + -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ + -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ + -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ + -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ + -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \ + -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \ + -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \ + -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \ + -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/locale.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += locale.h locale.h-t + +EXTRA_DIST += locale.in.h + +## end gnulib module locale + +## begin gnulib module localeconv + + +EXTRA_DIST += localeconv.c + +EXTRA_libgnu_a_SOURCES += localeconv.c + +## end gnulib module localeconv + +## begin gnulib module lseek + + +EXTRA_DIST += lseek.c + +EXTRA_libgnu_a_SOURCES += lseek.c + +## end gnulib module lseek + +## begin gnulib module lstat + + +EXTRA_DIST += lstat.c + +EXTRA_libgnu_a_SOURCES += lstat.c + +## end gnulib module lstat + +## begin gnulib module malloc-gnu + + +EXTRA_DIST += malloc.c + +EXTRA_libgnu_a_SOURCES += malloc.c + +## end gnulib module malloc-gnu + +## begin gnulib module malloc-posix + + +EXTRA_DIST += malloc.c + +EXTRA_libgnu_a_SOURCES += malloc.c + +## end gnulib module malloc-posix + +## begin gnulib module malloca + +libgnu_a_SOURCES += malloca.c + +EXTRA_DIST += malloca.h malloca.valgrind + +## end gnulib module malloca + +## begin gnulib module mbchar + +libgnu_a_SOURCES += mbchar.c + +EXTRA_DIST += mbchar.h + +## end gnulib module mbchar + +## begin gnulib module mbrtowc + + +EXTRA_DIST += mbrtowc.c + +EXTRA_libgnu_a_SOURCES += mbrtowc.c + +## end gnulib module mbrtowc + +## begin gnulib module mbscasecmp + +libgnu_a_SOURCES += mbscasecmp.c + +## end gnulib module mbscasecmp + +## begin gnulib module mbsinit + + +EXTRA_DIST += mbsinit.c + +EXTRA_libgnu_a_SOURCES += mbsinit.c + +## end gnulib module mbsinit + +## begin gnulib module mbsrtowcs + + +EXTRA_DIST += mbsrtowcs-impl.h mbsrtowcs-state.c mbsrtowcs.c + +EXTRA_libgnu_a_SOURCES += mbsrtowcs-state.c mbsrtowcs.c + +## end gnulib module mbsrtowcs + +## begin gnulib module mbtowc + + +EXTRA_DIST += mbtowc-impl.h mbtowc.c + +EXTRA_libgnu_a_SOURCES += mbtowc.c + +## end gnulib module mbtowc + +## begin gnulib module mbuiter + +libgnu_a_SOURCES += mbuiter.h mbuiter.c + +## end gnulib module mbuiter + +## begin gnulib module memchr + + +EXTRA_DIST += memchr.c memchr.valgrind + +EXTRA_libgnu_a_SOURCES += memchr.c + +## end gnulib module memchr + +## begin gnulib module mempcpy + + +EXTRA_DIST += mempcpy.c + +EXTRA_libgnu_a_SOURCES += mempcpy.c + +## end gnulib module mempcpy + +## begin gnulib module memrchr + + +EXTRA_DIST += memrchr.c + +EXTRA_libgnu_a_SOURCES += memrchr.c + +## end gnulib module memrchr + +## begin gnulib module mkdir + + +EXTRA_DIST += mkdir.c + +EXTRA_libgnu_a_SOURCES += mkdir.c + +## end gnulib module mkdir + +## begin gnulib module mkdirat + + +EXTRA_DIST += at-func.c mkdirat.c + +EXTRA_libgnu_a_SOURCES += at-func.c mkdirat.c + +## end gnulib module mkdirat + +## begin gnulib module mkdtemp + + +EXTRA_DIST += mkdtemp.c + +EXTRA_libgnu_a_SOURCES += mkdtemp.c + +## end gnulib module mkdtemp + +## begin gnulib module mkfifo + + +EXTRA_DIST += mkfifo.c + +EXTRA_libgnu_a_SOURCES += mkfifo.c + +## end gnulib module mkfifo + +## begin gnulib module mkfifoat + + +EXTRA_DIST += at-func.c mkfifoat.c mknodat.c + +EXTRA_libgnu_a_SOURCES += at-func.c mkfifoat.c mknodat.c + +## end gnulib module mkfifoat + +## begin gnulib module mknod + + +EXTRA_DIST += mknod.c + +EXTRA_libgnu_a_SOURCES += mknod.c + +## end gnulib module mknod + +## begin gnulib module mktime + + +EXTRA_DIST += mktime-internal.h mktime.c + +EXTRA_libgnu_a_SOURCES += mktime.c + +## end gnulib module mktime + +## begin gnulib module mktime-internal + + +EXTRA_DIST += mktime-internal.h mktime.c + +EXTRA_libgnu_a_SOURCES += mktime.c + +## end gnulib module mktime-internal + +## begin gnulib module modechange + +libgnu_a_SOURCES += modechange.c + +EXTRA_DIST += modechange.h + +## end gnulib module modechange + +## begin gnulib module msvc-inval + + +EXTRA_DIST += msvc-inval.c msvc-inval.h + +EXTRA_libgnu_a_SOURCES += msvc-inval.c + +## end gnulib module msvc-inval + +## begin gnulib module msvc-nothrow + + +EXTRA_DIST += msvc-nothrow.c msvc-nothrow.h + +EXTRA_libgnu_a_SOURCES += msvc-nothrow.c + +## end gnulib module msvc-nothrow + +## begin gnulib module nl_langinfo + + +EXTRA_DIST += nl_langinfo.c + +EXTRA_libgnu_a_SOURCES += nl_langinfo.c + +## end gnulib module nl_langinfo + +## begin gnulib module obstack + + +EXTRA_DIST += obstack.c obstack.h + +EXTRA_libgnu_a_SOURCES += obstack.c + +## end gnulib module obstack + +## begin gnulib module open + + +EXTRA_DIST += open.c + +EXTRA_libgnu_a_SOURCES += open.c + +## end gnulib module open + +## begin gnulib module openat + + +EXTRA_DIST += openat.c + +EXTRA_libgnu_a_SOURCES += openat.c + +## end gnulib module openat + +## begin gnulib module openat-die + +libgnu_a_SOURCES += openat-die.c + +## end gnulib module openat-die + +## begin gnulib module openat-h + + +EXTRA_DIST += openat.h + +## end gnulib module openat-h + +## begin gnulib module opendir + + +EXTRA_DIST += dirent-private.h opendir.c + +EXTRA_libgnu_a_SOURCES += opendir.c + +## end gnulib module opendir + +## begin gnulib module parse-datetime + +# This rule overrides the Automake generated .y.c rule, to ensure that the +# parse-datetime.c file gets generated in the source directory, not in the +# build directory. +parse-datetime.c: parse-datetime.y + $(AM_V_GEN)$(SHELL) $(YLWRAP) $(srcdir)/parse-datetime.y \ + y.tab.c parse-datetime.c \ + y.tab.h parse-datetime.h \ + y.output parse-datetime.output \ + -- $(YACC) $(YFLAGS) $(AM_YFLAGS) && \ + mv parse-datetime.c parse-datetime.c-t && \ + mv parse-datetime.c-t $(srcdir)/parse-datetime.c +libgnu_a_SOURCES += parse-datetime.y +BUILT_SOURCES += parse-datetime.c +MOSTLYCLEANFILES += parse-datetime.c-t +MAINTAINERCLEANFILES += parse-datetime.c +EXTRA_DIST += parse-datetime.c + +EXTRA_DIST += parse-datetime.h + +## end gnulib module parse-datetime + +## begin gnulib module pathmax + + +EXTRA_DIST += pathmax.h + +## end gnulib module pathmax + +## begin gnulib module priv-set + +libgnu_a_SOURCES += priv-set.c + +EXTRA_DIST += priv-set.h + +## end gnulib module priv-set + +## begin gnulib module progname + +libgnu_a_SOURCES += progname.h progname.c + +## end gnulib module progname + +## begin gnulib module quote + + +EXTRA_DIST += quote.h + +## end gnulib module quote + +## begin gnulib module quotearg + +libgnu_a_SOURCES += quotearg.c + +EXTRA_DIST += quote.h quotearg.h + +## end gnulib module quotearg + +## begin gnulib module raise + + +EXTRA_DIST += raise.c + +EXTRA_libgnu_a_SOURCES += raise.c + +## end gnulib module raise + +## begin gnulib module rawmemchr + + +EXTRA_DIST += rawmemchr.c rawmemchr.valgrind + +EXTRA_libgnu_a_SOURCES += rawmemchr.c + +## end gnulib module rawmemchr + +## begin gnulib module read + + +EXTRA_DIST += read.c + +EXTRA_libgnu_a_SOURCES += read.c + +## end gnulib module read + +## begin gnulib module readdir + + +EXTRA_DIST += dirent-private.h readdir.c + +EXTRA_libgnu_a_SOURCES += readdir.c + +## end gnulib module readdir + +## begin gnulib module readlink + + +EXTRA_DIST += readlink.c + +EXTRA_libgnu_a_SOURCES += readlink.c + +## end gnulib module readlink + +## begin gnulib module readlinkat + + +EXTRA_DIST += at-func.c readlinkat.c + +EXTRA_libgnu_a_SOURCES += at-func.c readlinkat.c + +## end gnulib module readlinkat + +## begin gnulib module realloc-posix + + +EXTRA_DIST += realloc.c + +EXTRA_libgnu_a_SOURCES += realloc.c + +## end gnulib module realloc-posix + +## begin gnulib module regex + + +EXTRA_DIST += regcomp.c regex.c regex.h regex_internal.c regex_internal.h regexec.c + +EXTRA_libgnu_a_SOURCES += regcomp.c regex.c regex_internal.c regexec.c + +## end gnulib module regex + +## begin gnulib module rename + + +EXTRA_DIST += rename.c + +EXTRA_libgnu_a_SOURCES += rename.c + +## end gnulib module rename + +## begin gnulib module renameat + + +EXTRA_DIST += at-func2.c renameat.c + +EXTRA_libgnu_a_SOURCES += at-func2.c renameat.c + +## end gnulib module renameat + +## begin gnulib module rewinddir + + +EXTRA_DIST += dirent-private.h rewinddir.c + +EXTRA_libgnu_a_SOURCES += rewinddir.c + +## end gnulib module rewinddir + +## begin gnulib module rmdir + + +EXTRA_DIST += rmdir.c + +EXTRA_libgnu_a_SOURCES += rmdir.c + +## end gnulib module rmdir + +## begin gnulib module root-uid + + +EXTRA_DIST += root-uid.h + +## end gnulib module root-uid + +## begin gnulib module rpmatch + + +EXTRA_DIST += rpmatch.c + +EXTRA_libgnu_a_SOURCES += rpmatch.c + +## end gnulib module rpmatch + +## begin gnulib module safe-read + +libgnu_a_SOURCES += safe-read.c + +EXTRA_DIST += safe-read.h + +## end gnulib module safe-read + +## begin gnulib module safe-write + +libgnu_a_SOURCES += safe-write.c + +EXTRA_DIST += safe-read.c safe-write.h + +EXTRA_libgnu_a_SOURCES += safe-read.c + +## end gnulib module safe-write + +## begin gnulib module same-inode + + +EXTRA_DIST += same-inode.h + +## end gnulib module same-inode + +## begin gnulib module save-cwd + +libgnu_a_SOURCES += save-cwd.c + +EXTRA_DIST += save-cwd.h + +## end gnulib module save-cwd + +## begin gnulib module savedir + +libgnu_a_SOURCES += savedir.c + +EXTRA_DIST += savedir.h + +## end gnulib module savedir + +## begin gnulib module secure_getenv + + +EXTRA_DIST += secure_getenv.c + +EXTRA_libgnu_a_SOURCES += secure_getenv.c + +## end gnulib module secure_getenv + +## begin gnulib module selinux-at + + +EXTRA_DIST += at-func.c selinux-at.c selinux-at.h + +EXTRA_libgnu_a_SOURCES += at-func.c selinux-at.c + +## end gnulib module selinux-at + +## begin gnulib module selinux-h + +libgnu_a_SOURCES += se-context.in.h se-selinux.in.h se-context.c se-selinux.c + +BUILT_SOURCES += selinux/selinux.h +selinux/selinux.h: se-selinux.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) + $(AM_V_at)$(MKDIR_P) selinux + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SELINUX_SELINUX_H''@|$(NEXT_SELINUX_SELINUX_H)|g' \ + -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ + < $(srcdir)/se-selinux.in.h; \ + } > $@-t && \ + chmod a-x $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += selinux/selinux.h selinux/selinux.h-t + +BUILT_SOURCES += $(SELINUX_CONTEXT_H) +if GL_GENERATE_SELINUX_CONTEXT_H +selinux/context.h: se-context.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) + $(AM_V_at)$(MKDIR_P) selinux + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ + < $(srcdir)/se-context.in.h; \ + } > $@-t && \ + chmod a-x $@-t && \ + mv $@-t $@ +else +selinux/context.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += selinux/context.h selinux/context.h-t +MOSTLYCLEANDIRS += selinux + +EXTRA_DIST += getfilecon.c + +EXTRA_libgnu_a_SOURCES += getfilecon.c + +## end gnulib module selinux-h + +## begin gnulib module setenv + + +EXTRA_DIST += setenv.c + +EXTRA_libgnu_a_SOURCES += setenv.c + +## end gnulib module setenv + +## begin gnulib module signal-h + +BUILT_SOURCES += signal.h + +# We need the following in order to create when the system +# doesn't have a complete one. +signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \ + -e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \ + -e 's|@''GNULIB_RAISE''@|$(GNULIB_RAISE)|g' \ + -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ + -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ + -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \ + -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \ + -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \ + -e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \ + -e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \ + -e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \ + -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|$(HAVE_STRUCT_SIGACTION_SA_SIGACTION)|g' \ + -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \ + -e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \ + -e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \ + -e 's|@''REPLACE_RAISE''@|$(REPLACE_RAISE)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/signal.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += signal.h signal.h-t + +EXTRA_DIST += signal.in.h + +## end gnulib module signal-h + +## begin gnulib module size_max + +libgnu_a_SOURCES += size_max.h + +## end gnulib module size_max + +## begin gnulib module sleep + + +EXTRA_DIST += sleep.c + +EXTRA_libgnu_a_SOURCES += sleep.c + +## end gnulib module sleep + +## begin gnulib module snippet/_Noreturn + +# Because this Makefile snippet defines a variable used by other +# gnulib Makefile snippets, it must be present in all Makefile.am that +# need it. This is ensured by the applicability 'all' defined above. + +_NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h + +## end gnulib module snippet/_Noreturn + +## begin gnulib module snippet/arg-nonnull + +# The BUILT_SOURCES created by this Makefile snippet are not used via #include +# statements but through direct file reference. Therefore this snippet must be +# present in all Makefile.am that need it. This is ensured by the applicability +# 'all' defined above. + +BUILT_SOURCES += arg-nonnull.h +# The arg-nonnull.h that gets inserted into generated .h files is the same as +# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut +# off. +arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/GL_ARG_NONNULL/,$$p' \ + < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t + +ARG_NONNULL_H=arg-nonnull.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h + +## end gnulib module snippet/arg-nonnull + +## begin gnulib module snippet/c++defs + +# The BUILT_SOURCES created by this Makefile snippet are not used via #include +# statements but through direct file reference. Therefore this snippet must be +# present in all Makefile.am that need it. This is ensured by the applicability +# 'all' defined above. + +BUILT_SOURCES += c++defs.h +# The c++defs.h that gets inserted into generated .h files is the same as +# build-aux/snippet/c++defs.h, except that it has the copyright header cut off. +c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/_GL_CXXDEFS/,$$p' \ + < $(top_srcdir)/build-aux/snippet/c++defs.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += c++defs.h c++defs.h-t + +CXXDEFS_H=c++defs.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h + +## end gnulib module snippet/c++defs + +## begin gnulib module snippet/unused-parameter + +# The BUILT_SOURCES created by this Makefile snippet are not used via #include +# statements but through direct file reference. Therefore this snippet must be +# present in all Makefile.am that need it. This is ensured by the applicability +# 'all' defined above. + +BUILT_SOURCES += unused-parameter.h +# The unused-parameter.h that gets inserted into generated .h files is the same +# as build-aux/snippet/unused-parameter.h, except that it has the copyright +# header cut off. +unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \ + < $(top_srcdir)/build-aux/snippet/unused-parameter.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += unused-parameter.h unused-parameter.h-t + +UNUSED_PARAMETER_H=unused-parameter.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/unused-parameter.h + +## end gnulib module snippet/unused-parameter + +## begin gnulib module snippet/warn-on-use + +BUILT_SOURCES += warn-on-use.h +# The warn-on-use.h that gets inserted into generated .h files is the same as +# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut +# off. +warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/^.ifndef/,$$p' \ + < $(top_srcdir)/build-aux/snippet/warn-on-use.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t + +WARN_ON_USE_H=warn-on-use.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h + +## end gnulib module snippet/warn-on-use + +## begin gnulib module snprintf + + +EXTRA_DIST += snprintf.c + +EXTRA_libgnu_a_SOURCES += snprintf.c + +## end gnulib module snprintf + +## begin gnulib module stat + + +EXTRA_DIST += stat.c + +EXTRA_libgnu_a_SOURCES += stat.c + +## end gnulib module stat + +## begin gnulib module stat-macros + + +EXTRA_DIST += stat-macros.h + +## end gnulib module stat-macros + +## begin gnulib module stat-time + +libgnu_a_SOURCES += stat-time.c + +EXTRA_DIST += stat-time.h + +## end gnulib module stat-time + +## begin gnulib module statat + +libgnu_a_SOURCES += statat.c + +## end gnulib module statat + +## begin gnulib module stdalign + +BUILT_SOURCES += $(STDALIGN_H) + +# We need the following in order to create when the system +# doesn't have one that works. +if GL_GENERATE_STDALIGN_H +stdalign.h: stdalign.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/stdalign.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +stdalign.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stdalign.h stdalign.h-t + +EXTRA_DIST += stdalign.in.h + +## end gnulib module stdalign + +## begin gnulib module stdarg + +BUILT_SOURCES += $(STDARG_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_STDARG_H +stdarg.h: stdarg.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ + < $(srcdir)/stdarg.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +stdarg.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stdarg.h stdarg.h-t + +EXTRA_DIST += stdarg.in.h + +## end gnulib module stdarg + +## begin gnulib module stdbool + +BUILT_SOURCES += $(STDBOOL_H) + +# We need the following in order to create when the system +# doesn't have one that works. +if GL_GENERATE_STDBOOL_H +stdbool.h: stdbool.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +stdbool.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stdbool.h stdbool.h-t + +EXTRA_DIST += stdbool.in.h + +## end gnulib module stdbool + +## begin gnulib module stddef + +BUILT_SOURCES += $(STDDEF_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_STDDEF_H +stddef.h: stddef.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \ + -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \ + -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ + -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ + < $(srcdir)/stddef.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +stddef.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stddef.h stddef.h-t + +EXTRA_DIST += stddef.in.h + +## end gnulib module stddef + +## begin gnulib module stdint + +BUILT_SOURCES += $(STDINT_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_STDINT_H +stdint.h: stdint.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ + -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ + -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ + -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ + -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ + -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \ + -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ + -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ + -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ + -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ + -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ + -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ + -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ + -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ + -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ + -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ + -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ + -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ + < $(srcdir)/stdint.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +stdint.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stdint.h stdint.h-t + +EXTRA_DIST += stdint.in.h + +## end gnulib module stdint + +## begin gnulib module stdio + +BUILT_SOURCES += stdio.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ + -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \ + -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \ + -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \ + -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \ + -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \ + -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \ + -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \ + -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \ + -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \ + -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \ + -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \ + -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \ + -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \ + -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \ + -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \ + -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \ + -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \ + -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \ + -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \ + -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \ + -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ + -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ + -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ + -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ + -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ + -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ + -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \ + -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \ + -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \ + -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \ + -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \ + -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \ + -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \ + -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \ + -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \ + -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \ + -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \ + -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \ + -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \ + -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \ + -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \ + -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \ + -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \ + -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \ + -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \ + -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \ + -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \ + -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \ + < $(srcdir)/stdio.in.h | \ + sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ + -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \ + -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \ + -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ + -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ + -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ + -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ + -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ + -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ + -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \ + -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \ + -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \ + -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \ + -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \ + -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ + -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ + -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ + -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ + -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \ + -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ + -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ + -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ + -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \ + -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ + -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ + -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ + -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ + -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ + -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \ + -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ + -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \ + -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \ + -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \ + -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ + -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \ + -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \ + -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \ + -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ + -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ + -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \ + -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \ + -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \ + -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ + -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \ + -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ + -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ + -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ + -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ + -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += stdio.h stdio.h-t + +EXTRA_DIST += stdio.in.h + +## end gnulib module stdio + +## begin gnulib module stdlib + +BUILT_SOURCES += stdlib.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ + $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ + -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \ + -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \ + -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \ + -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \ + -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \ + -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \ + -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \ + -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \ + -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \ + -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \ + -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \ + -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \ + -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \ + -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \ + -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \ + -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \ + -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \ + -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \ + -e 's/@''GNULIB_QSORT_R''@/$(GNULIB_QSORT_R)/g' \ + -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \ + -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \ + -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \ + -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \ + -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \ + -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \ + -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ + -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ + -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \ + -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \ + -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \ + -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \ + -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \ + -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \ + < $(srcdir)/stdlib.in.h | \ + sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ + -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ + -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \ + -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ + -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ + -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ + -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ + -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \ + -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ + -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \ + -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \ + -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \ + -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \ + -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \ + -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \ + -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ + -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ + -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \ + -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ + -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \ + -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \ + -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ + -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ + -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ + -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ + -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ + -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \ + -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \ + -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \ + -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ + -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \ + -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ + -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ + -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \ + -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \ + -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ + -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \ + -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ + -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ + -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ + -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ + -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ + -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ + -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _Noreturn/r $(_NORETURN_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += stdlib.h stdlib.h-t + +EXTRA_DIST += stdlib.in.h + +## end gnulib module stdlib + +## begin gnulib module stpcpy + + +EXTRA_DIST += stpcpy.c + +EXTRA_libgnu_a_SOURCES += stpcpy.c + +## end gnulib module stpcpy + +## begin gnulib module strcase + + +EXTRA_DIST += strcasecmp.c strncasecmp.c + +EXTRA_libgnu_a_SOURCES += strcasecmp.c strncasecmp.c + +## end gnulib module strcase + +## begin gnulib module strchrnul + + +EXTRA_DIST += strchrnul.c strchrnul.valgrind + +EXTRA_libgnu_a_SOURCES += strchrnul.c + +## end gnulib module strchrnul + +## begin gnulib module strdup-posix + + +EXTRA_DIST += strdup.c + +EXTRA_libgnu_a_SOURCES += strdup.c + +## end gnulib module strdup-posix + +## begin gnulib module streq + + +EXTRA_DIST += streq.h + +## end gnulib module streq + +## begin gnulib module strerror + + +EXTRA_DIST += strerror.c + +EXTRA_libgnu_a_SOURCES += strerror.c + +## end gnulib module strerror + +## begin gnulib module strerror-override + + +EXTRA_DIST += strerror-override.c strerror-override.h + +EXTRA_libgnu_a_SOURCES += strerror-override.c + +## end gnulib module strerror-override + +## begin gnulib module strftime + +libgnu_a_SOURCES += strftime.c + +EXTRA_DIST += strftime.h + +## end gnulib module strftime + +## begin gnulib module string + +BUILT_SOURCES += string.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ + -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \ + -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \ + -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \ + -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \ + -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \ + -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \ + -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \ + -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \ + -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \ + -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \ + -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \ + -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \ + -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \ + -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \ + -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \ + -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \ + -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \ + -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \ + -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \ + -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \ + -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \ + -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \ + -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \ + -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \ + -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \ + -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \ + -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \ + -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \ + -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \ + -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \ + -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \ + -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \ + -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \ + -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \ + -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \ + -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \ + -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \ + < $(srcdir)/string.in.h | \ + sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ + -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \ + -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ + -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \ + -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ + -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ + -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ + -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ + -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ + -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ + -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ + -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ + -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ + -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ + -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ + -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ + -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ + -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ + -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \ + -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ + -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ + -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ + -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ + -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ + -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ + -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ + -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ + -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ + -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ + -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \ + -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \ + -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \ + -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \ + -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ + -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \ + -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ + < $(srcdir)/string.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += string.h string.h-t + +EXTRA_DIST += string.in.h + +## end gnulib module string + +## begin gnulib module strings + +BUILT_SOURCES += strings.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +strings.h: strings.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_STRINGS_H''@|$(HAVE_STRINGS_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \ + -e 's|@''GNULIB_FFS''@|$(GNULIB_FFS)|g' \ + -e 's|@''HAVE_FFS''@|$(HAVE_FFS)|g' \ + -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \ + -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/strings.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += strings.h strings.h-t + +EXTRA_DIST += strings.in.h + +## end gnulib module strings + +## begin gnulib module strndup + + +EXTRA_DIST += strndup.c + +EXTRA_libgnu_a_SOURCES += strndup.c + +## end gnulib module strndup + +## begin gnulib module strnlen + + +EXTRA_DIST += strnlen.c + +EXTRA_libgnu_a_SOURCES += strnlen.c + +## end gnulib module strnlen + +## begin gnulib module strnlen1 + +libgnu_a_SOURCES += strnlen1.h strnlen1.c + +## end gnulib module strnlen1 + +## begin gnulib module strtoimax + + +EXTRA_DIST += strtoimax.c + +EXTRA_libgnu_a_SOURCES += strtoimax.c + +## end gnulib module strtoimax + +## begin gnulib module strtol + + +EXTRA_DIST += strtol.c + +EXTRA_libgnu_a_SOURCES += strtol.c + +## end gnulib module strtol + +## begin gnulib module strtoll + + +EXTRA_DIST += strtol.c strtoll.c + +EXTRA_libgnu_a_SOURCES += strtol.c strtoll.c + +## end gnulib module strtoll + +## begin gnulib module strtoul + + +EXTRA_DIST += strtol.c strtoul.c + +EXTRA_libgnu_a_SOURCES += strtol.c strtoul.c + +## end gnulib module strtoul + +## begin gnulib module strtoull + + +EXTRA_DIST += strtol.c strtoul.c strtoull.c + +EXTRA_libgnu_a_SOURCES += strtol.c strtoul.c strtoull.c + +## end gnulib module strtoull + +## begin gnulib module strtoumax + + +EXTRA_DIST += strtoimax.c strtoumax.c + +EXTRA_libgnu_a_SOURCES += strtoimax.c strtoumax.c + +## end gnulib module strtoumax + +## begin gnulib module symlink + + +EXTRA_DIST += symlink.c + +EXTRA_libgnu_a_SOURCES += symlink.c + +## end gnulib module symlink + +## begin gnulib module symlinkat + + +EXTRA_DIST += at-func.c symlinkat.c + +EXTRA_libgnu_a_SOURCES += at-func.c symlinkat.c + +## end gnulib module symlinkat + +## begin gnulib module sys_stat + +BUILT_SOURCES += sys/stat.h + +# We need the following in order to create when the system +# has one that is incomplete. +sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_at)$(MKDIR_P) sys + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ + -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \ + -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \ + -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \ + -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \ + -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \ + -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \ + -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \ + -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \ + -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \ + -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \ + -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \ + -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \ + -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \ + -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \ + -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \ + -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \ + -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \ + -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \ + -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ + -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \ + -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \ + -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \ + -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \ + -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \ + -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \ + -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \ + -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \ + -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \ + -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \ + -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ + -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \ + -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \ + -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \ + -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/sys_stat.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t +MOSTLYCLEANDIRS += sys + +EXTRA_DIST += sys_stat.in.h + +## end gnulib module sys_stat + +## begin gnulib module sys_time + +BUILT_SOURCES += sys/time.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_at)$(MKDIR_P) sys + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ + -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ + -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ + -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ + -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ + -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ + -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/sys_time.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += sys/time.h sys/time.h-t + +EXTRA_DIST += sys_time.in.h + +## end gnulib module sys_time + +## begin gnulib module sys_types + +BUILT_SOURCES += sys/types.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +sys/types.h: sys_types.in.h $(top_builddir)/config.status + $(AM_V_at)$(MKDIR_P) sys + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \ + -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ + < $(srcdir)/sys_types.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += sys/types.h sys/types.h-t + +EXTRA_DIST += sys_types.in.h + +## end gnulib module sys_types + +## begin gnulib module sysexits + +BUILT_SOURCES += $(SYSEXITS_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_SYSEXITS_H +sysexits.h: sysexits.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_SYSEXITS_H''@|$(HAVE_SYSEXITS_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYSEXITS_H''@|$(NEXT_SYSEXITS_H)|g' \ + < $(srcdir)/sysexits.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +else +sysexits.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += sysexits.h sysexits.h-t + +EXTRA_DIST += sysexits.in.h + +## end gnulib module sysexits + +## begin gnulib module tempname + +libgnu_a_SOURCES += tempname.c + +EXTRA_DIST += tempname.h + +## end gnulib module tempname + +## begin gnulib module time + +BUILT_SOURCES += time.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ + -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ + -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \ + -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \ + -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \ + -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \ + -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \ + -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \ + -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \ + -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ + -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ + -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \ + -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \ + -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \ + -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \ + -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ + -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \ + -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ + -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ + -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \ + -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ + -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ + -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/time.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += time.h time.h-t + +EXTRA_DIST += time.in.h + +## end gnulib module time + +## begin gnulib module time_r + + +EXTRA_DIST += time_r.c + +EXTRA_libgnu_a_SOURCES += time_r.c + +## end gnulib module time_r + +## begin gnulib module time_rz + + +EXTRA_DIST += time-internal.h time_rz.c + +EXTRA_libgnu_a_SOURCES += time_rz.c + +## end gnulib module time_rz + +## begin gnulib module timegm + + +EXTRA_DIST += mktime-internal.h timegm.c + +EXTRA_libgnu_a_SOURCES += timegm.c + +## end gnulib module timegm + +## begin gnulib module timespec + +libgnu_a_SOURCES += timespec.c + +EXTRA_DIST += timespec.h + +## end gnulib module timespec + +## begin gnulib module timespec-sub + +libgnu_a_SOURCES += timespec-sub.c + +## end gnulib module timespec-sub + +## begin gnulib module unistd + +BUILT_SOURCES += unistd.h +libgnu_a_SOURCES += unistd.c + +# We need the following in order to create an empty placeholder for +# when the system doesn't have one. +unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ + -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ + -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \ + -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \ + -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ + -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \ + -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \ + -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \ + -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \ + -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \ + -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \ + -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \ + -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \ + -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \ + -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \ + -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \ + -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \ + -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \ + -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \ + -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \ + -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \ + -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \ + -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \ + -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \ + -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \ + -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \ + -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \ + -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \ + -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \ + -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \ + -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \ + -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \ + -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \ + -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \ + -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \ + -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \ + -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \ + -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \ + -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \ + -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \ + -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \ + -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \ + -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \ + -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \ + -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \ + -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \ + -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \ + -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \ + -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \ + -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \ + < $(srcdir)/unistd.in.h | \ + sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ + -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ + -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \ + -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ + -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \ + -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \ + -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \ + -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \ + -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ + -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ + -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ + -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \ + -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ + -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \ + -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ + -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \ + -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \ + -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ + -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \ + -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \ + -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \ + -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \ + -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \ + -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ + -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \ + -e 's|@''HAVE_SETHOSTNAME''@|$(HAVE_SETHOSTNAME)|g' \ + -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ + -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \ + -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \ + -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \ + -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \ + -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ + -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \ + -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \ + -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \ + -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ + -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \ + -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \ + -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \ + -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \ + -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ + -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ + | \ + sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ + -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ + -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ + -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ + -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ + -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \ + -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ + -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \ + -e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \ + -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \ + -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ + -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ + -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \ + -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ + -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ + -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \ + -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ + -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \ + -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \ + -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \ + -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \ + -e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \ + -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \ + -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \ + -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \ + -e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \ + -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \ + -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \ + -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \ + -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \ + -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \ + -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \ + -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += unistd.h unistd.h-t + +EXTRA_DIST += unistd.in.h + +## end gnulib module unistd + +## begin gnulib module unistd-safer + +libgnu_a_SOURCES += dup-safer.c fd-safer.c pipe-safer.c + +EXTRA_DIST += unistd--.h unistd-safer.h + +## end gnulib module unistd-safer + +## begin gnulib module unitypes + +BUILT_SOURCES += $(LIBUNISTRING_UNITYPES_H) + +unitypes.h: unitypes.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/unitypes.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += unitypes.h unitypes.h-t + +EXTRA_DIST += unitypes.in.h + +## end gnulib module unitypes + +## begin gnulib module uniwidth/base + +BUILT_SOURCES += $(LIBUNISTRING_UNIWIDTH_H) + +uniwidth.h: uniwidth.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/uniwidth.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += uniwidth.h uniwidth.h-t + +EXTRA_DIST += localcharset.h uniwidth.in.h + +## end gnulib module uniwidth/base + +## begin gnulib module uniwidth/width + +if LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH +libgnu_a_SOURCES += uniwidth/width.c +endif + +EXTRA_DIST += uniwidth/cjk.h + +## end gnulib module uniwidth/width + +## begin gnulib module unlink + + +EXTRA_DIST += unlink.c + +EXTRA_libgnu_a_SOURCES += unlink.c + +## end gnulib module unlink + +## begin gnulib module unlinkat + + +EXTRA_DIST += at-func.c unlinkat.c + +EXTRA_libgnu_a_SOURCES += at-func.c unlinkat.c + +## end gnulib module unlinkat + +## begin gnulib module unlinkdir + +libgnu_a_SOURCES += unlinkdir.c + +EXTRA_DIST += unlinkdir.h + +## end gnulib module unlinkdir + +## begin gnulib module unlocked-io + + +EXTRA_DIST += unlocked-io.h + +## end gnulib module unlocked-io + +## begin gnulib module unsetenv + + +EXTRA_DIST += unsetenv.c + +EXTRA_libgnu_a_SOURCES += unsetenv.c + +## end gnulib module unsetenv + +## begin gnulib module utimens + +libgnu_a_SOURCES += utimens.c + +EXTRA_DIST += utimens.h + +## end gnulib module utimens + +## begin gnulib module utimensat + + +EXTRA_DIST += at-func.c utimensat.c + +EXTRA_libgnu_a_SOURCES += at-func.c utimensat.c + +## end gnulib module utimensat + +## begin gnulib module vasnprintf + + +EXTRA_DIST += asnprintf.c float+.h printf-args.c printf-args.h printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h + +EXTRA_libgnu_a_SOURCES += asnprintf.c printf-args.c printf-parse.c vasnprintf.c + +## end gnulib module vasnprintf + +## begin gnulib module vasprintf + + +EXTRA_DIST += asprintf.c vasprintf.c + +EXTRA_libgnu_a_SOURCES += asprintf.c vasprintf.c + +## end gnulib module vasprintf + +## begin gnulib module verify + + +EXTRA_DIST += verify.h + +## end gnulib module verify + +## begin gnulib module version-etc + +libgnu_a_SOURCES += version-etc.h version-etc.c + +## end gnulib module version-etc + +## begin gnulib module version-etc-fsf + +libgnu_a_SOURCES += version-etc-fsf.c + +## end gnulib module version-etc-fsf + +## begin gnulib module vsnprintf + + +EXTRA_DIST += vsnprintf.c + +EXTRA_libgnu_a_SOURCES += vsnprintf.c + +## end gnulib module vsnprintf + +## begin gnulib module wchar + +BUILT_SOURCES += wchar.h + +# We need the following in order to create when the system +# version does not work standalone. +wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \ + -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ + -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ + -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \ + -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \ + -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \ + -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \ + -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \ + -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \ + -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \ + -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \ + -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \ + -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \ + -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \ + -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \ + -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \ + -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \ + -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \ + -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \ + -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \ + -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \ + -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \ + -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \ + -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \ + -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \ + -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \ + -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \ + -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \ + -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \ + -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \ + -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \ + -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \ + -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \ + -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \ + -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \ + -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \ + -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \ + -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \ + -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \ + -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \ + -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \ + -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \ + < $(srcdir)/wchar.in.h | \ + sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ + -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ + -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \ + -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \ + -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \ + -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \ + -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \ + -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \ + -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \ + -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \ + -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \ + -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \ + -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \ + -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \ + -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \ + -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \ + -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \ + -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \ + -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \ + -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \ + -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \ + -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \ + -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \ + -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \ + -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \ + -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \ + -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \ + -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \ + -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \ + -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \ + -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \ + -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \ + -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \ + -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \ + -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \ + -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \ + -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \ + -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \ + -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ + -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ + | \ + sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ + -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ + -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ + -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \ + -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \ + -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \ + -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \ + -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \ + -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \ + -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \ + -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \ + -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ + -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += wchar.h wchar.h-t + +EXTRA_DIST += wchar.in.h + +## end gnulib module wchar + +## begin gnulib module wcrtomb + + +EXTRA_DIST += wcrtomb.c + +EXTRA_libgnu_a_SOURCES += wcrtomb.c + +## end gnulib module wcrtomb + +## begin gnulib module wctype-h + +BUILT_SOURCES += wctype.h +libgnu_a_SOURCES += wctype-h.c + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ + -e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \ + -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \ + -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \ + -e 's/@''GNULIB_WCTRANS''@/$(GNULIB_WCTRANS)/g' \ + -e 's/@''GNULIB_TOWCTRANS''@/$(GNULIB_TOWCTRANS)/g' \ + -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \ + -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ + -e 's/@''HAVE_WCTYPE_T''@/$(HAVE_WCTYPE_T)/g' \ + -e 's/@''HAVE_WCTRANS_T''@/$(HAVE_WCTRANS_T)/g' \ + -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ + -e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \ + -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ + -e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/wctype.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += wctype.h wctype.h-t + +EXTRA_DIST += wctype.in.h + +## end gnulib module wctype-h + +## begin gnulib module wcwidth + + +EXTRA_DIST += wcwidth.c + +EXTRA_libgnu_a_SOURCES += wcwidth.c + +## end gnulib module wcwidth + +## begin gnulib module write + + +EXTRA_DIST += write.c + +EXTRA_libgnu_a_SOURCES += write.c + +## end gnulib module write + +## begin gnulib module xalloc + +libgnu_a_SOURCES += xmalloc.c + +EXTRA_DIST += xalloc.h + +## end gnulib module xalloc + +## begin gnulib module xalloc-die + +libgnu_a_SOURCES += xalloc-die.c + +## end gnulib module xalloc-die + +## begin gnulib module xalloc-oversized + + +EXTRA_DIST += xalloc-oversized.h + +## end gnulib module xalloc-oversized + +## begin gnulib module xgetcwd + +libgnu_a_SOURCES += xgetcwd.c + +EXTRA_DIST += xgetcwd.h + +## end gnulib module xgetcwd + +## begin gnulib module xsize + +libgnu_a_SOURCES += xsize.h xsize.c + +## end gnulib module xsize + +## begin gnulib module xstrndup + +libgnu_a_SOURCES += xstrndup.h xstrndup.c + +## end gnulib module xstrndup + +## begin gnulib module xstrtol + +libgnu_a_SOURCES += xstrtol.c xstrtoul.c xstrtol-error.c + +EXTRA_DIST += xstrtol.h + +## end gnulib module xstrtol + +## begin gnulib module xstrtoumax + +libgnu_a_SOURCES += xstrtoumax.c + +## end gnulib module xstrtoumax + +## begin gnulib module xvasprintf + +libgnu_a_SOURCES += xvasprintf.h xvasprintf.c xasprintf.c + +EXTRA_DIST += xalloc.h + +## end gnulib module xvasprintf + + +mostlyclean-local: mostlyclean-generic + @for dir in '' $(MOSTLYCLEANDIRS); do \ + if test -n "$$dir" && test -d $$dir; then \ + echo "rmdir $$dir"; rmdir $$dir; \ + fi; \ + done; \ + : diff --git a/gnu/Makefile.in b/gnu/Makefile.in index 03eed58f..08ca7aa0 100644 --- a/gnu/Makefile.in +++ b/gnu/Makefile.in @@ -14,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# Copyright (C) 2002-2015 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -35,7 +35,7 @@ # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-conditional-dependencies --no-libtool --macro-prefix=gl acl alloca argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail extern-inline faccessat fchmodat fchownat fcntl-h fdopendir fdutimensat fileblocks fnmatch-gnu fprintftime fseeko fstatat full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset manywarnings mkdirat mkdtemp mkfifoat modechange obstack openat parse-datetime posix_openpt priv-set progname ptsname quote quotearg readlinkat renameat root-uid rpmatch safe-read savedir selinux-at setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtoimax strtol strtoul strtoumax symlinkat timespec unlinkat unlinkdir unlocked-io unlockpt utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf +# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-conditional-dependencies --no-libtool --macro-prefix=gl alloca areadlinkat-with-size argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail extern-inline faccessat fchmodat fchownat fcntl-h fdopendir fdutimensat file-has-acl fileblocks fnmatch-gnu fprintftime fseeko fstatat full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset manywarnings mkdirat mkdtemp mkfifoat modechange obstack openat parse-datetime priv-set progname quote quotearg readlinkat renameat root-uid rpmatch safe-read savedir selinux-at setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtoimax strtol strtoul strtoumax symlinkat timespec timespec-sub unlinkat unlinkdir unlocked-io utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf @@ -102,12 +102,11 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -DIST_COMMON = $(srcdir)/gnulib.mk $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.am alloca.c parse-datetime.c \ - $(top_srcdir)/build-aux/depcomp $(top_srcdir)/build-aux/ylwrap \ - $(noinst_HEADERS) @LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_1 = uniwidth/width.c subdir = gnu +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am alloca.c \ + parse-datetime.c $(top_srcdir)/build-aux/depcomp \ + $(top_srcdir)/build-aux/ylwrap $(noinst_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \ @@ -133,10 +132,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ - $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ - $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \ + $(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \ + $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -151,10 +151,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ - $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \ - $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ @@ -176,14 +176,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ - $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ - $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix_openpt.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \ + $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/opendir.m4 \ + $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ + $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/ptsname.m4 \ - $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/raise.m4 \ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/read.m4 \ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \ @@ -219,24 +218,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ + $(top_srcdir)/m4/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ - $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkat.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/unlockpt.m4 \ - $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ - $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ - $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ - $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ - $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ - $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ - $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ - $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \ - $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \ - $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ + $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ + $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ + $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ + $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_h.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \ + $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wcwidth.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/write.m4 \ + $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ + $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -250,37 +249,41 @@ am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libgnu_a_AR = $(AR) $(ARFLAGS) am__DEPENDENCIES_1 = -am__libgnu_a_SOURCES_DIST = copy-acl.c set-acl.c allocator.c \ - areadlink.c areadlinkat.c argmatch.c argp.h argp-ba.c \ - argp-eexst.c argp-fmtstream.c argp-fmtstream.h argp-fs-xinl.c \ - argp-help.c argp-namefrob.h argp-parse.c argp-pin.c argp-pv.c \ - argp-pvh.c argp-xinl.c argp-version-etc.h argp-version-etc.c \ - backupfile.c bitrotate.h bitrotate.c c-ctype.h c-ctype.c \ - c-strcase.h c-strcasecmp.c c-strncasecmp.c careadlinkat.c \ - cloexec.c close-stream.c closeout.c opendir-safer.c dirname.c \ - basename.c dirname-lgpl.c basename-lgpl.c stripslash.c \ - exclude.c exitfail.c chmodat.c chownat.c fd-hook.c \ - fdutimensat.c filenamecat-lgpl.c fprintftime.c full-write.h \ - full-write.c gettext.h gettime.c hash.c human.c imaxtostr.c \ - inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.h \ +am__libgnu_a_SOURCES_DIST = acl-errno-valid.c acl-internal.c \ + get-permissions.c set-permissions.c allocator.c areadlink.c \ + areadlink-with-size.c areadlinkat.c areadlinkat-with-size.c \ + argmatch.c argp.h argp-ba.c argp-eexst.c argp-fmtstream.c \ + argp-fmtstream.h argp-fs-xinl.c argp-help.c argp-namefrob.h \ + argp-parse.c argp-pin.c argp-pv.c argp-pvh.c argp-xinl.c \ + argp-version-etc.h argp-version-etc.c backupfile.c bitrotate.h \ + bitrotate.c c-ctype.h c-ctype.c c-strcase.h c-strcasecmp.c \ + c-strncasecmp.c careadlinkat.c cloexec.c close-stream.c \ + closeout.c opendir-safer.c dirname.c basename.c dirname-lgpl.c \ + basename-lgpl.c stripslash.c exclude.c exitfail.c chmodat.c \ + chownat.c fd-hook.c fdutimensat.c file-has-acl.c \ + filenamecat-lgpl.c fprintftime.c full-write.h full-write.c \ + gettext.h gettime.c hash.c human.c imaxtostr.c inttostr.c \ + offtostr.c uinttostr.c umaxtostr.c localcharset.h \ localcharset.c malloca.c mbchar.c mbscasecmp.c mbuiter.h \ mbuiter.c modechange.c openat-die.c parse-datetime.y \ - priv-set.c progname.h progname.c acl-errno-valid.c \ - file-has-acl.c qcopy-acl.c qset-acl.c quotearg.c safe-read.c \ + priv-set.c progname.h progname.c quotearg.c safe-read.c \ safe-write.c save-cwd.c savedir.c se-context.in.h \ se-selinux.in.h se-context.c se-selinux.c size_max.h \ stat-time.c statat.c strftime.c strnlen1.h strnlen1.c \ - tempname.c timespec.c unistd.c dup-safer.c fd-safer.c \ - pipe-safer.c uniwidth/width.c unlinkdir.c utimens.c \ + tempname.c timespec.c timespec-sub.c unistd.c dup-safer.c \ + fd-safer.c pipe-safer.c uniwidth/width.c unlinkdir.c utimens.c \ version-etc.h version-etc.c version-etc-fsf.c wctype-h.c \ xmalloc.c xalloc-die.c xgetcwd.c xsize.h xsize.c xstrndup.h \ xstrndup.c xstrtol.c xstrtoul.c xstrtol-error.c xstrtoumax.c \ xvasprintf.h xvasprintf.c xasprintf.c am__dirstamp = $(am__leading_dot)dirstamp @LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_1 = uniwidth/width.$(OBJEXT) -am_libgnu_a_OBJECTS = copy-acl.$(OBJEXT) set-acl.$(OBJEXT) \ - allocator.$(OBJEXT) areadlink.$(OBJEXT) areadlinkat.$(OBJEXT) \ - argmatch.$(OBJEXT) argp-ba.$(OBJEXT) argp-eexst.$(OBJEXT) \ +am_libgnu_a_OBJECTS = acl-errno-valid.$(OBJEXT) acl-internal.$(OBJEXT) \ + get-permissions.$(OBJEXT) set-permissions.$(OBJEXT) \ + allocator.$(OBJEXT) areadlink.$(OBJEXT) \ + areadlink-with-size.$(OBJEXT) areadlinkat.$(OBJEXT) \ + areadlinkat-with-size.$(OBJEXT) argmatch.$(OBJEXT) \ + argp-ba.$(OBJEXT) argp-eexst.$(OBJEXT) \ argp-fmtstream.$(OBJEXT) argp-fs-xinl.$(OBJEXT) \ argp-help.$(OBJEXT) argp-parse.$(OBJEXT) argp-pin.$(OBJEXT) \ argp-pv.$(OBJEXT) argp-pvh.$(OBJEXT) argp-xinl.$(OBJEXT) \ @@ -292,23 +295,22 @@ am_libgnu_a_OBJECTS = copy-acl.$(OBJEXT) set-acl.$(OBJEXT) \ dirname-lgpl.$(OBJEXT) basename-lgpl.$(OBJEXT) \ stripslash.$(OBJEXT) exclude.$(OBJEXT) exitfail.$(OBJEXT) \ chmodat.$(OBJEXT) chownat.$(OBJEXT) fd-hook.$(OBJEXT) \ - fdutimensat.$(OBJEXT) filenamecat-lgpl.$(OBJEXT) \ - fprintftime.$(OBJEXT) full-write.$(OBJEXT) gettime.$(OBJEXT) \ - hash.$(OBJEXT) human.$(OBJEXT) imaxtostr.$(OBJEXT) \ - inttostr.$(OBJEXT) offtostr.$(OBJEXT) uinttostr.$(OBJEXT) \ - umaxtostr.$(OBJEXT) localcharset.$(OBJEXT) malloca.$(OBJEXT) \ - mbchar.$(OBJEXT) mbscasecmp.$(OBJEXT) mbuiter.$(OBJEXT) \ - modechange.$(OBJEXT) openat-die.$(OBJEXT) \ - parse-datetime.$(OBJEXT) priv-set.$(OBJEXT) progname.$(OBJEXT) \ - acl-errno-valid.$(OBJEXT) file-has-acl.$(OBJEXT) \ - qcopy-acl.$(OBJEXT) qset-acl.$(OBJEXT) quotearg.$(OBJEXT) \ + fdutimensat.$(OBJEXT) file-has-acl.$(OBJEXT) \ + filenamecat-lgpl.$(OBJEXT) fprintftime.$(OBJEXT) \ + full-write.$(OBJEXT) gettime.$(OBJEXT) hash.$(OBJEXT) \ + human.$(OBJEXT) imaxtostr.$(OBJEXT) inttostr.$(OBJEXT) \ + offtostr.$(OBJEXT) uinttostr.$(OBJEXT) umaxtostr.$(OBJEXT) \ + localcharset.$(OBJEXT) malloca.$(OBJEXT) mbchar.$(OBJEXT) \ + mbscasecmp.$(OBJEXT) mbuiter.$(OBJEXT) modechange.$(OBJEXT) \ + openat-die.$(OBJEXT) parse-datetime.$(OBJEXT) \ + priv-set.$(OBJEXT) progname.$(OBJEXT) quotearg.$(OBJEXT) \ safe-read.$(OBJEXT) safe-write.$(OBJEXT) save-cwd.$(OBJEXT) \ savedir.$(OBJEXT) se-context.$(OBJEXT) se-selinux.$(OBJEXT) \ stat-time.$(OBJEXT) statat.$(OBJEXT) strftime.$(OBJEXT) \ strnlen1.$(OBJEXT) tempname.$(OBJEXT) timespec.$(OBJEXT) \ - unistd.$(OBJEXT) dup-safer.$(OBJEXT) fd-safer.$(OBJEXT) \ - pipe-safer.$(OBJEXT) $(am__objects_1) unlinkdir.$(OBJEXT) \ - utimens.$(OBJEXT) version-etc.$(OBJEXT) \ + timespec-sub.$(OBJEXT) unistd.$(OBJEXT) dup-safer.$(OBJEXT) \ + fd-safer.$(OBJEXT) pipe-safer.$(OBJEXT) $(am__objects_1) \ + unlinkdir.$(OBJEXT) utimens.$(OBJEXT) version-etc.$(OBJEXT) \ version-etc-fsf.$(OBJEXT) wctype-h.$(OBJEXT) xmalloc.$(OBJEXT) \ xalloc-die.$(OBJEXT) xgetcwd.$(OBJEXT) xsize.$(OBJEXT) \ xstrndup.$(OBJEXT) xstrtol.$(OBJEXT) xstrtoul.$(OBJEXT) \ @@ -620,6 +622,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_QSORT_R = @GNULIB_QSORT_R@ GNULIB_RAISE = @GNULIB_RAISE@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ @@ -679,6 +682,7 @@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ +GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ @@ -831,6 +835,7 @@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ @@ -917,6 +922,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ @@ -990,6 +996,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_EACCESS = @LIB_EACCESS@ +LIB_HAS_ACL = @LIB_HAS_ACL@ LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ @@ -1155,10 +1162,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ +REPLACE_READLINKAT = @REPLACE_READLINKAT@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ @@ -1191,6 +1200,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ +REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ @@ -1233,6 +1243,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ +UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_ACL = @USE_ACL@ @@ -1323,49 +1334,47 @@ noinst_LTLIBRARIES = # enabled by default because the intl directory might not exist if # your project does not use "gettext --intl", and some compilers # complain about -I options applied to nonexistent directories. -EXTRA_DIST = alloca.c alloca.in.h allocator.h areadlink.h areadlink.h \ - at-func.c argmatch.h openat-priv.h openat-proc.c backupfile.h \ - btowc.c c-strcaseeq.h canonicalize-lgpl.c careadlinkat.h \ - chdir-long.c chdir-long.h chown.c fchown-stub.c cloexec.h \ - close.c close-stream.h closedir.c dirent-private.h closeout.h \ - dirent.in.h dirent--.h dirent-safer.h dirfd.c stripslash.c \ - dirname.h dosname.h dup.c dup2.c errno.in.h error.c error.h \ - euidaccess.c exclude.h exitfail.h at-func.c faccessat.c \ - fchdir.c at-func.c fchmodat.c at-func.c fchownat.c fcntl.c \ - fcntl.in.h fd-hook.h fdopendir.c utimens.h fileblocks.c \ - filename.h filenamecat.h float.c float.in.h itold.c fnmatch.c \ - fnmatch.in.h fnmatch_loop.c fpending.c fpending.h \ - fprintftime.h fseek.c fseeko.c stdio-impl.h fstat.c at-func.c \ - fstatat.c futimens.c getcwd.c getcwd-lgpl.c getdelim.c \ - getdtablesize.c getgroups.c getline.c getopt.c getopt.in.h \ - getopt1.c getopt_int.h getpagesize.c \ +EXTRA_DIST = acl-internal.h acl.h acl_entries.c alignof.h alloca.c \ + alloca.in.h allocator.h areadlink.h areadlink.h areadlink.h \ + at-func.c areadlink.h at-func.c argmatch.h assure.h \ + openat-priv.h openat-proc.c backupfile.h btowc.c c-strcaseeq.h \ + canonicalize-lgpl.c careadlinkat.h chdir-long.c chdir-long.h \ + chown.c fchown-stub.c cloexec.h close.c close-stream.h \ + closedir.c dirent-private.h closeout.h dirent.in.h dirent--.h \ + dirent-safer.h dirfd.c stripslash.c dirname.h dosname.h dup.c \ + dup2.c errno.in.h error.c error.h euidaccess.c exclude.h \ + exitfail.h at-func.c faccessat.c fchdir.c at-func.c fchmodat.c \ + at-func.c fchownat.c fcntl.c fcntl.in.h fd-hook.h fdopendir.c \ + utimens.h fileblocks.c filename.h filenamecat.h float.c \ + float.in.h itold.c fnmatch.c fnmatch.in.h fnmatch_loop.c \ + fpending.c fpending.h fprintftime.h fseek.c fseeko.c \ + stdio-impl.h fstat.c at-func.c fstatat.c futimens.c getcwd.c \ + getcwd-lgpl.c getdelim.c getdtablesize.c getgroups.c getline.c \ + getopt.c getopt.in.h getopt1.c getopt_int.h getpagesize.c \ $(top_srcdir)/build-aux/config.rpath gettimeofday.c \ - $(top_srcdir)/build-aux/gitlog-to-changelog \ - $(top_srcdir)/build-aux/git-log-fix group-member.c hash.h \ - $(top_srcdir)/build-aux/config.rpath human.h intprops.h \ - anytostr.c inttostr.h inttypes.in.h isatty.c iswblank.c \ - langinfo.in.h lchown.c link.c at-func2.c linkat.c \ - config.charset ref-add.sin ref-del.sin locale.in.h \ - localeconv.c lseek.c lstat.c malloc.c malloc.c malloca.h \ - malloca.valgrind mbchar.h mbrtowc.c mbsinit.c mbsrtowcs-impl.h \ - mbsrtowcs-state.c mbsrtowcs.c mbtowc-impl.h mbtowc.c memchr.c \ - memchr.valgrind mempcpy.c memrchr.c mkdir.c at-func.c \ - mkdirat.c mkdtemp.c mkfifo.c at-func.c mkfifoat.c mknodat.c \ - mknod.c mktime-internal.h mktime.c modechange.h msvc-inval.c \ + $(top_srcdir)/build-aux/gitlog-to-changelog group-member.c \ + hash.h $(top_srcdir)/build-aux/config.rpath human.h intprops.h \ + anytostr.c inttostr.h inttypes.in.h iswblank.c langinfo.in.h \ + lchown.c link.c at-func2.c linkat.c config.charset ref-add.sin \ + ref-del.sin locale.in.h localeconv.c lseek.c lstat.c malloc.c \ + malloc.c malloca.h malloca.valgrind mbchar.h mbrtowc.c \ + mbsinit.c mbsrtowcs-impl.h mbsrtowcs-state.c mbsrtowcs.c \ + mbtowc-impl.h mbtowc.c memchr.c memchr.valgrind mempcpy.c \ + memrchr.c mkdir.c at-func.c mkdirat.c mkdtemp.c mkfifo.c \ + at-func.c mkfifoat.c mknodat.c mknod.c mktime-internal.h \ + mktime.c mktime-internal.h mktime.c modechange.h msvc-inval.c \ msvc-inval.h msvc-nothrow.c msvc-nothrow.h nl_langinfo.c \ obstack.c obstack.h open.c openat.c openat.h dirent-private.h \ opendir.c parse-datetime.c parse-datetime.h pathmax.h \ - posix_openpt.c priv-set.h ptsname.c ptsname_r.c acl-internal.h \ - acl.h acl_entries.c quote.h quote.h quotearg.h raise.c \ - rawmemchr.c rawmemchr.valgrind read.c dirent-private.h \ - readdir.c readlink.c at-func.c readlinkat.c realloc.c \ - regcomp.c regex.c regex.h regex_internal.c regex_internal.h \ - regexec.c rename.c at-func2.c renameat.c dirent-private.h \ - rewinddir.c rmdir.c root-uid.h rpmatch.c safe-read.h \ - safe-read.c safe-write.h same-inode.h save-cwd.h savedir.h \ - secure_getenv.c at-func.c selinux-at.c selinux-at.h \ - getfilecon.c setenv.c signal.in.h sleep.c \ - $(top_srcdir)/build-aux/snippet/_Noreturn.h \ + priv-set.h quote.h quote.h quotearg.h raise.c rawmemchr.c \ + rawmemchr.valgrind read.c dirent-private.h readdir.c \ + readlink.c at-func.c readlinkat.c realloc.c regcomp.c regex.c \ + regex.h regex_internal.c regex_internal.h regexec.c rename.c \ + at-func2.c renameat.c dirent-private.h rewinddir.c rmdir.c \ + root-uid.h rpmatch.c safe-read.h safe-read.c safe-write.h \ + same-inode.h save-cwd.h savedir.h secure_getenv.c at-func.c \ + selinux-at.c selinux-at.h getfilecon.c setenv.c signal.in.h \ + sleep.c $(top_srcdir)/build-aux/snippet/_Noreturn.h \ $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ $(top_srcdir)/build-aux/snippet/c++defs.h \ $(top_srcdir)/build-aux/snippet/unused-parameter.h \ @@ -1379,15 +1388,16 @@ EXTRA_DIST = alloca.c alloca.in.h allocator.h areadlink.h areadlink.h \ strtoll.c strtol.c strtoul.c strtol.c strtoul.c strtoull.c \ strtoimax.c strtoumax.c symlink.c at-func.c symlinkat.c \ sys_stat.in.h sys_time.in.h sys_types.in.h sysexits.in.h \ - tempname.h time.in.h time_r.c timespec.h ttyname_r.c \ - unistd.in.h unistd--.h unistd-safer.h unitypes.in.h \ - localcharset.h uniwidth.in.h uniwidth/cjk.h unlink.c at-func.c \ - unlinkat.c unlinkdir.h unlocked-io.h unlockpt.c unsetenv.c \ - utimens.h at-func.c utimensat.c asnprintf.c float+.h \ - printf-args.c printf-args.h printf-parse.c printf-parse.h \ - vasnprintf.c vasnprintf.h asprintf.c vasprintf.c verify.h \ - vsnprintf.c wchar.in.h wcrtomb.c wctype.in.h wcwidth.c write.c \ - xalloc.h xalloc-oversized.h xgetcwd.h xstrtol.h xalloc.h + tempname.h time.in.h time_r.c time-internal.h time_rz.c \ + mktime-internal.h timegm.c timespec.h unistd.in.h unistd--.h \ + unistd-safer.h unitypes.in.h localcharset.h uniwidth.in.h \ + uniwidth/cjk.h unlink.c at-func.c unlinkat.c unlinkdir.h \ + unlocked-io.h unsetenv.c utimens.h at-func.c utimensat.c \ + asnprintf.c float+.h printf-args.c printf-args.h \ + printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h \ + asprintf.c vasprintf.c verify.h vsnprintf.c wchar.in.h \ + wcrtomb.c wctype.in.h wcwidth.c write.c xalloc.h \ + xalloc-oversized.h xgetcwd.h xstrtol.h xalloc.h # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be @@ -1434,67 +1444,66 @@ CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \ DISTCLEANFILES = MAINTAINERCLEANFILES = parse-datetime.c AM_CPPFLAGS = - -# Make the subset of Gnulib that GNU tar needs. -AM_CFLAGS = $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) -libgnu_a_SOURCES = copy-acl.c set-acl.c allocator.c areadlink.c \ - areadlinkat.c argmatch.c argp.h argp-ba.c argp-eexst.c \ - argp-fmtstream.c argp-fmtstream.h argp-fs-xinl.c argp-help.c \ - argp-namefrob.h argp-parse.c argp-pin.c argp-pv.c argp-pvh.c \ - argp-xinl.c argp-version-etc.h argp-version-etc.c backupfile.c \ - bitrotate.h bitrotate.c c-ctype.h c-ctype.c c-strcase.h \ - c-strcasecmp.c c-strncasecmp.c careadlinkat.c cloexec.c \ - close-stream.c closeout.c opendir-safer.c dirname.c basename.c \ - dirname-lgpl.c basename-lgpl.c stripslash.c exclude.c \ - exitfail.c chmodat.c chownat.c fd-hook.c fdutimensat.c \ +AM_CFLAGS = +libgnu_a_SOURCES = acl-errno-valid.c acl-internal.c get-permissions.c \ + set-permissions.c allocator.c areadlink.c \ + areadlink-with-size.c areadlinkat.c areadlinkat-with-size.c \ + argmatch.c argp.h argp-ba.c argp-eexst.c argp-fmtstream.c \ + argp-fmtstream.h argp-fs-xinl.c argp-help.c argp-namefrob.h \ + argp-parse.c argp-pin.c argp-pv.c argp-pvh.c argp-xinl.c \ + argp-version-etc.h argp-version-etc.c backupfile.c bitrotate.h \ + bitrotate.c c-ctype.h c-ctype.c c-strcase.h c-strcasecmp.c \ + c-strncasecmp.c careadlinkat.c cloexec.c close-stream.c \ + closeout.c opendir-safer.c dirname.c basename.c dirname-lgpl.c \ + basename-lgpl.c stripslash.c exclude.c exitfail.c chmodat.c \ + chownat.c fd-hook.c fdutimensat.c file-has-acl.c \ filenamecat-lgpl.c fprintftime.c full-write.h full-write.c \ gettext.h gettime.c hash.c human.c imaxtostr.c inttostr.c \ offtostr.c uinttostr.c umaxtostr.c localcharset.h \ localcharset.c malloca.c mbchar.c mbscasecmp.c mbuiter.h \ mbuiter.c modechange.c openat-die.c parse-datetime.y \ - priv-set.c progname.h progname.c acl-errno-valid.c \ - file-has-acl.c qcopy-acl.c qset-acl.c quotearg.c safe-read.c \ + priv-set.c progname.h progname.c quotearg.c safe-read.c \ safe-write.c save-cwd.c savedir.c se-context.in.h \ se-selinux.in.h se-context.c se-selinux.c size_max.h \ stat-time.c statat.c strftime.c strnlen1.h strnlen1.c \ - tempname.c timespec.c unistd.c dup-safer.c fd-safer.c \ - pipe-safer.c $(am__append_1) unlinkdir.c utimens.c \ + tempname.c timespec.c timespec-sub.c unistd.c dup-safer.c \ + fd-safer.c pipe-safer.c $(am__append_1) unlinkdir.c utimens.c \ version-etc.h version-etc.c version-etc-fsf.c wctype-h.c \ xmalloc.c xalloc-die.c xgetcwd.c xsize.h xsize.c xstrndup.h \ xstrndup.c xstrtol.c xstrtoul.c xstrtol-error.c xstrtoumax.c \ xvasprintf.h xvasprintf.c xasprintf.c libgnu_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@ libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@ -EXTRA_libgnu_a_SOURCES = alloca.c at-func.c openat-proc.c btowc.c \ - canonicalize-lgpl.c chdir-long.c chown.c fchown-stub.c close.c \ - closedir.c dirfd.c stripslash.c dup.c dup2.c error.c \ - euidaccess.c at-func.c faccessat.c fchdir.c at-func.c \ - fchmodat.c at-func.c fchownat.c fcntl.c fdopendir.c \ +EXTRA_libgnu_a_SOURCES = acl_entries.c alloca.c at-func.c at-func.c \ + openat-proc.c btowc.c canonicalize-lgpl.c chdir-long.c chown.c \ + fchown-stub.c close.c closedir.c dirfd.c stripslash.c dup.c \ + dup2.c error.c euidaccess.c at-func.c faccessat.c fchdir.c \ + at-func.c fchmodat.c at-func.c fchownat.c fcntl.c fdopendir.c \ fileblocks.c float.c itold.c fnmatch.c fnmatch_loop.c \ fpending.c fseek.c fseeko.c fstat.c at-func.c fstatat.c \ futimens.c getcwd.c getcwd-lgpl.c getdelim.c getdtablesize.c \ getgroups.c getline.c getopt.c getopt1.c getpagesize.c \ - gettimeofday.c group-member.c anytostr.c isatty.c iswblank.c \ - lchown.c link.c at-func2.c linkat.c localeconv.c lseek.c \ - lstat.c malloc.c malloc.c mbrtowc.c mbsinit.c \ - mbsrtowcs-state.c mbsrtowcs.c mbtowc.c memchr.c mempcpy.c \ - memrchr.c mkdir.c at-func.c mkdirat.c mkdtemp.c mkfifo.c \ - at-func.c mkfifoat.c mknodat.c mknod.c mktime.c msvc-inval.c \ + gettimeofday.c group-member.c anytostr.c iswblank.c lchown.c \ + link.c at-func2.c linkat.c localeconv.c lseek.c lstat.c \ + malloc.c malloc.c mbrtowc.c mbsinit.c mbsrtowcs-state.c \ + mbsrtowcs.c mbtowc.c memchr.c mempcpy.c memrchr.c mkdir.c \ + at-func.c mkdirat.c mkdtemp.c mkfifo.c at-func.c mkfifoat.c \ + mknodat.c mknod.c mktime.c mktime.c msvc-inval.c \ msvc-nothrow.c nl_langinfo.c obstack.c open.c openat.c \ - opendir.c posix_openpt.c ptsname.c ptsname_r.c acl_entries.c \ - raise.c rawmemchr.c read.c readdir.c readlink.c at-func.c \ - readlinkat.c realloc.c regcomp.c regex.c regex_internal.c \ - regexec.c rename.c at-func2.c renameat.c rewinddir.c rmdir.c \ - rpmatch.c safe-read.c secure_getenv.c at-func.c selinux-at.c \ - getfilecon.c setenv.c sleep.c snprintf.c stat.c stpcpy.c \ - strcasecmp.c strncasecmp.c strchrnul.c strdup.c strerror.c \ - strerror-override.c strndup.c strnlen.c strtoimax.c strtol.c \ - strtol.c strtoll.c strtol.c strtoul.c strtol.c strtoul.c \ - strtoull.c strtoimax.c strtoumax.c symlink.c at-func.c \ - symlinkat.c time_r.c ttyname_r.c unlink.c at-func.c unlinkat.c \ - unlockpt.c unsetenv.c at-func.c utimensat.c asnprintf.c \ - printf-args.c printf-parse.c vasnprintf.c asprintf.c \ - vasprintf.c vsnprintf.c wcrtomb.c wcwidth.c write.c + opendir.c raise.c rawmemchr.c read.c readdir.c readlink.c \ + at-func.c readlinkat.c realloc.c regcomp.c regex.c \ + regex_internal.c regexec.c rename.c at-func2.c renameat.c \ + rewinddir.c rmdir.c rpmatch.c safe-read.c secure_getenv.c \ + at-func.c selinux-at.c getfilecon.c setenv.c sleep.c \ + snprintf.c stat.c stpcpy.c strcasecmp.c strncasecmp.c \ + strchrnul.c strdup.c strerror.c strerror-override.c strndup.c \ + strnlen.c strtoimax.c strtol.c strtol.c strtoll.c strtol.c \ + strtoul.c strtol.c strtoul.c strtoull.c strtoimax.c \ + strtoumax.c symlink.c at-func.c symlinkat.c time_r.c time_rz.c \ + timegm.c unlink.c at-func.c unlinkat.c unsetenv.c at-func.c \ + utimensat.c asnprintf.c printf-args.c printf-parse.c \ + vasnprintf.c asprintf.c vasprintf.c vsnprintf.c wcrtomb.c \ + wcwidth.c write.c # Use this preprocessor expression to decide whether #include_next works. # Do not rely on a 'configure'-time test for this, since the expression @@ -1516,7 +1525,7 @@ all: $(BUILT_SOURCES) .SUFFIXES: .SUFFIXES: .sed .sin .c .o .obj .y -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps) +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -1537,7 +1546,6 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; -$(srcdir)/gnulib.mk: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh @@ -1584,11 +1592,14 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acl-errno-valid.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acl-internal.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acl_entries.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allocator.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/anytostr.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlink-with-size.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlink.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlinkat-with-size.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argmatch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argp-ba.Po@am__quote@ @@ -1625,7 +1636,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closedir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closeout.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copy-acl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirfd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname-lgpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname.Po@am__quote@ @@ -1660,6 +1670,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/full-write.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/futimens.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get-permissions.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcwd-lgpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcwd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdelim.Po@am__quote@ @@ -1677,7 +1688,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/human.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imaxtostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inttostr.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isatty.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iswblank.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/itold.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown.Po@am__quote@ @@ -1722,15 +1732,10 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opendir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse-datetime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe-safer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posix_openpt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-args.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-parse.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/priv-set.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progname.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptsname.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptsname_r.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qcopy-acl.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qset-acl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotearg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/raise.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rawmemchr.Po@am__quote@ @@ -1756,7 +1761,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/se-selinux.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secure_getenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/selinux-at.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/set-acl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/set-permissions.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Po@am__quote@ @@ -1785,15 +1790,16 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_r.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_rz.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timegm.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timespec-sub.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timespec.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttyname_r.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uinttostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umaxtostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unistd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlinkdir.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlockpt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimens.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimensat.Po@am__quote@ @@ -2606,6 +2612,7 @@ warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \ +@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ @GL_GENERATE_STDDEF_H_TRUE@ < $(srcdir)/stddef.in.h; \ @@ -2800,6 +2807,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \ -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \ -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \ + -e 's/@''GNULIB_QSORT_R''@/$(GNULIB_QSORT_R)/g' \ -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \ -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \ -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \ @@ -2851,6 +2859,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ + -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \ -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ @@ -3104,10 +3113,12 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \ -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \ -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \ + -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \ -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \ -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \ + -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \ -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \ -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \ -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ @@ -3117,6 +3128,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ + -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ @@ -3250,9 +3262,11 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \ -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \ -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \ + -e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \ -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \ -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \ -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \ + -e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \ -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \ -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \ -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \ diff --git a/gnu/acl-errno-valid.c b/gnu/acl-errno-valid.c index b18694be..a64d3d3b 100644 --- a/gnu/acl-errno-valid.c +++ b/gnu/acl-errno-valid.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Test whether ACLs are well supported on this system. - Copyright 2013-2014 Free Software Foundation, Inc. + Copyright 2013-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/acl-internal.c b/gnu/acl-internal.c new file mode 100644 index 00000000..1eaa671b --- /dev/null +++ b/gnu/acl-internal.c @@ -0,0 +1,507 @@ +/* Test whether a file has a nontrivial access control list. + + Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */ + +#include + +#include "acl.h" + +#include "acl-internal.h" + +#if USE_ACL && HAVE_ACL_GET_FILE + +# if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ + +/* ACL is an ACL, from a file, stored as type ACL_TYPE_EXTENDED. + Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial. */ +int +acl_extended_nontrivial (acl_t acl) +{ + /* acl is non-trivial if it is non-empty. */ + return (acl_entries (acl) > 0); +} + +# else /* Linux, FreeBSD, IRIX, Tru64 */ + +/* ACL is an ACL, from a file, stored as type ACL_TYPE_ACCESS. + Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. + Return -1 and set errno upon failure to determine it. */ +int +acl_access_nontrivial (acl_t acl) +{ + /* acl is non-trivial if it has some entries other than for "user::", + "group::", and "other::". Normally these three should be present + at least, allowing us to write + return (3 < acl_entries (acl)); + but the following code is more robust. */ +# if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD */ + + acl_entry_t ace; + int got_one; + + for (got_one = acl_get_entry (acl, ACL_FIRST_ENTRY, &ace); + got_one > 0; + got_one = acl_get_entry (acl, ACL_NEXT_ENTRY, &ace)) + { + acl_tag_t tag; + if (acl_get_tag_type (ace, &tag) < 0) + return -1; + if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ || tag == ACL_OTHER)) + return 1; + } + return got_one; + +# elif HAVE_ACL_TO_SHORT_TEXT /* IRIX */ + /* Don't use acl_get_entry: it is undocumented. */ + + int count = acl->acl_cnt; + int i; + + for (i = 0; i < count; i++) + { + acl_entry_t ace = &acl->acl_entry[i]; + acl_tag_t tag = ace->ae_tag; + + if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ + || tag == ACL_OTHER_OBJ)) + return 1; + } + return 0; + +# elif HAVE_ACL_FREE_TEXT /* Tru64 */ + /* Don't use acl_get_entry: it takes only one argument and does not work. */ + + int count = acl->acl_num; + acl_entry_t ace; + + for (ace = acl->acl_first; count > 0; ace = ace->next, count--) + { + acl_tag_t tag; + acl_perm_t perm; + + tag = ace->entry->acl_type; + if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ || tag == ACL_OTHER)) + return 1; + + perm = ace->entry->acl_perm; + /* On Tru64, perm can also contain non-standard bits such as + PERM_INSERT, PERM_DELETE, PERM_MODIFY, PERM_LOOKUP, ... */ + if ((perm & ~(ACL_READ | ACL_WRITE | ACL_EXECUTE)) != 0) + return 1; + } + return 0; + +# else + + errno = ENOSYS; + return -1; +# endif +} + +int +acl_default_nontrivial (acl_t acl) +{ + /* acl is non-trivial if it is non-empty. */ + return (acl_entries (acl) > 0); +} + +# endif + +#elif USE_ACL && HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ + +/* Test an ACL retrieved with GETACL. + Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +acl_nontrivial (int count, aclent_t *entries) +{ + int i; + + for (i = 0; i < count; i++) + { + aclent_t *ace = &entries[i]; + + /* Note: If ace->a_type = USER_OBJ, ace->a_id is the st_uid from stat(). + If ace->a_type = GROUP_OBJ, ace->a_id is the st_gid from stat(). + We don't need to check ace->a_id in these cases. */ + if (!(ace->a_type == USER_OBJ + || ace->a_type == GROUP_OBJ + || ace->a_type == OTHER_OBJ + /* Note: Cygwin does not return a CLASS_OBJ ("mask:") entry + sometimes. */ + || ace->a_type == CLASS_OBJ)) + return 1; + } + return 0; +} + +# ifdef ACE_GETACL + +/* A shortcut for a bitmask. */ +# define NEW_ACE_WRITEA_DATA (NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA) + +/* Test an ACL retrieved with ACE_GETACL. + Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +acl_ace_nontrivial (int count, ace_t *entries) +{ + int i; + + /* The flags in the ace_t structure changed in a binary incompatible way + when ACL_NO_TRIVIAL etc. were introduced in version 1.15. + How to distinguish the two conventions at runtime? + In the old convention, usually three ACEs have a_flags = ACE_OWNER / + ACE_GROUP / ACE_OTHER, in the range 0x0100..0x0400. In the new + convention, these values are not used. */ + int old_convention = 0; + + for (i = 0; i < count; i++) + if (entries[i].a_flags & (OLD_ACE_OWNER | OLD_ACE_GROUP | OLD_ACE_OTHER)) + { + old_convention = 1; + break; + } + + if (old_convention) + /* Running on Solaris 10. */ + for (i = 0; i < count; i++) + { + ace_t *ace = &entries[i]; + + /* Note: + If ace->a_flags = ACE_OWNER, ace->a_who is the st_uid from stat(). + If ace->a_flags = ACE_GROUP, ace->a_who is the st_gid from stat(). + We don't need to check ace->a_who in these cases. */ + if (!(ace->a_type == OLD_ALLOW + && (ace->a_flags == OLD_ACE_OWNER + || ace->a_flags == OLD_ACE_GROUP + || ace->a_flags == OLD_ACE_OTHER))) + return 1; + } + else + { + /* Running on Solaris 10 (newer version) or Solaris 11. */ + unsigned int access_masks[6] = + { + 0, /* owner@ deny */ + 0, /* owner@ allow */ + 0, /* group@ deny */ + 0, /* group@ allow */ + 0, /* everyone@ deny */ + 0 /* everyone@ allow */ + }; + + for (i = 0; i < count; i++) + { + ace_t *ace = &entries[i]; + unsigned int index1; + unsigned int index2; + + if (ace->a_type == NEW_ACE_ACCESS_ALLOWED_ACE_TYPE) + index1 = 1; + else if (ace->a_type == NEW_ACE_ACCESS_DENIED_ACE_TYPE) + index1 = 0; + else + return 1; + + if (ace->a_flags == NEW_ACE_OWNER) + index2 = 0; + else if (ace->a_flags == (NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP)) + index2 = 2; + else if (ace->a_flags == NEW_ACE_EVERYONE) + index2 = 4; + else + return 1; + + access_masks[index1 + index2] |= ace->a_access_mask; + } + + /* The same bit shouldn't be both allowed and denied. */ + if (access_masks[0] & access_masks[1]) + return 1; + if (access_masks[2] & access_masks[3]) + return 1; + if (access_masks[4] & access_masks[5]) + return 1; + + /* Check minimum masks. */ + if ((NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER) + & ~ access_masks[1]) + return 1; + access_masks[1] &= ~(NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER); + if ((NEW_ACE_READ_NAMED_ATTRS + | NEW_ACE_READ_ATTRIBUTES + | NEW_ACE_READ_ACL + | NEW_ACE_SYNCHRONIZE) + & ~ access_masks[5]) + return 1; + access_masks[5] &= ~(NEW_ACE_READ_NAMED_ATTRS + | NEW_ACE_READ_ATTRIBUTES + | NEW_ACE_READ_ACL + | NEW_ACE_SYNCHRONIZE); + + /* Check the allowed or denied bits. */ + switch ((access_masks[0] | access_masks[1]) + & ~(NEW_ACE_READ_NAMED_ATTRS + | NEW_ACE_READ_ATTRIBUTES + | NEW_ACE_READ_ACL + | NEW_ACE_SYNCHRONIZE)) + { + case 0: + case NEW_ACE_READ_DATA: + case NEW_ACE_WRITEA_DATA: + case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA: + case NEW_ACE_EXECUTE: + case NEW_ACE_READ_DATA | NEW_ACE_EXECUTE: + case NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: + case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: + break; + default: + return 1; + } + switch ((access_masks[2] | access_masks[3]) + & ~(NEW_ACE_READ_NAMED_ATTRS + | NEW_ACE_READ_ATTRIBUTES + | NEW_ACE_READ_ACL + | NEW_ACE_SYNCHRONIZE)) + { + case 0: + case NEW_ACE_READ_DATA: + case NEW_ACE_WRITEA_DATA: + case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA: + case NEW_ACE_EXECUTE: + case NEW_ACE_READ_DATA | NEW_ACE_EXECUTE: + case NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: + case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: + break; + default: + return 1; + } + switch ((access_masks[4] | access_masks[5]) + & ~(NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER)) + { + case 0: + case NEW_ACE_READ_DATA: + case NEW_ACE_WRITEA_DATA: + case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA: + case NEW_ACE_EXECUTE: + case NEW_ACE_READ_DATA | NEW_ACE_EXECUTE: + case NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: + case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: + break; + default: + return 1; + } + + /* Check that the NEW_ACE_WRITE_DATA and NEW_ACE_APPEND_DATA bits are + either both allowed or both denied. */ + if (((access_masks[0] & NEW_ACE_WRITE_DATA) != 0) + != ((access_masks[0] & NEW_ACE_APPEND_DATA) != 0)) + return 1; + if (((access_masks[2] & NEW_ACE_WRITE_DATA) != 0) + != ((access_masks[2] & NEW_ACE_APPEND_DATA) != 0)) + return 1; + if (((access_masks[4] & NEW_ACE_WRITE_DATA) != 0) + != ((access_masks[4] & NEW_ACE_APPEND_DATA) != 0)) + return 1; + } + + return 0; +} + +# endif + +#elif USE_ACL && HAVE_GETACL /* HP-UX */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +acl_nontrivial (int count, struct acl_entry *entries) +{ + int i; + + if (count > 3) + return 1; + + for (i = 0; i < count; i++) + { + struct acl_entry *ace = &entries[i]; + + if (ace->uid != ACL_NSUSER && ace->gid != ACL_NSGROUP) + return 1; + } + return 0; +} + +# if HAVE_ACLV_H /* HP-UX >= 11.11 */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +aclv_nontrivial (int count, struct acl *entries) +{ + int i; + + for (i = 0; i < count; i++) + { + struct acl *ace = &entries[i]; + + /* Note: If ace->a_type = USER_OBJ, ace->a_id is the st_uid from stat(). + If ace->a_type = GROUP_OBJ, ace->a_id is the st_gid from stat(). + We don't need to check ace->a_id in these cases. */ + if (!(ace->a_type == USER_OBJ /* no need to check ace->a_id here */ + || ace->a_type == GROUP_OBJ /* no need to check ace->a_id here */ + || ace->a_type == CLASS_OBJ + || ace->a_type == OTHER_OBJ)) + return 1; + } + return 0; +} + +# endif + +#elif USE_ACL && (HAVE_ACLX_GET || HAVE_STATACL) /* AIX */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +acl_nontrivial (struct acl *a) +{ + /* The normal way to iterate through an ACL is like this: + struct acl_entry *ace; + for (ace = a->acl_ext; ace != acl_last (a); ace = acl_nxt (ace)) + { + struct ace_id *aei; + switch (ace->ace_type) + { + case ACC_PERMIT: + case ACC_DENY: + case ACC_SPECIFY: + ...; + } + for (aei = ace->ace_id; aei != id_last (ace); aei = id_nxt (aei)) + ... + } + */ + return (acl_last (a) != a->acl_ext ? 1 : 0); +} + +# if HAVE_ACLX_GET && defined ACL_AIX_WIP /* newer AIX */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +acl_nfs4_nontrivial (nfs4_acl_int_t *a) +{ +# if 1 /* let's try this first */ + return (a->aclEntryN > 0 ? 1 : 0); +# else + int count = a->aclEntryN; + int i; + + for (i = 0; i < count; i++) + { + nfs4_ace_int_t *ace = &a->aclEntry[i]; + + if (!((ace->flags & ACE4_ID_SPECIAL) != 0 + && (ace->aceWho.special_whoid == ACE4_WHO_OWNER + || ace->aceWho.special_whoid == ACE4_WHO_GROUP + || ace->aceWho.special_whoid == ACE4_WHO_EVERYONE) + && ace->aceType == ACE4_ACCESS_ALLOWED_ACE_TYPE + && ace->aceFlags == 0 + && (ace->aceMask & ~(ACE4_READ_DATA | ACE4_LIST_DIRECTORY + | ACE4_WRITE_DATA | ACE4_ADD_FILE + | ACE4_EXECUTE)) == 0)) + return 1; + } + return 0; +# endif +} + +# endif + +#elif USE_ACL && HAVE_ACLSORT /* NonStop Kernel */ + +/* Test an ACL retrieved with ACL_GET. + Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +acl_nontrivial (int count, struct acl *entries) +{ + int i; + + for (i = 0; i < count; i++) + { + struct acl *ace = &entries[i]; + + /* Note: If ace->a_type = USER_OBJ, ace->a_id is the st_uid from stat(). + If ace->a_type = GROUP_OBJ, ace->a_id is the st_gid from stat(). + We don't need to check ace->a_id in these cases. */ + if (!(ace->a_type == USER_OBJ /* no need to check ace->a_id here */ + || ace->a_type == GROUP_OBJ /* no need to check ace->a_id here */ + || ace->a_type == CLASS_OBJ + || ace->a_type == OTHER_OBJ)) + return 1; + } + return 0; +} + +#endif + +void +free_permission_context (struct permission_context *ctx) +{ +#ifdef USE_ACL +# if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ + if (ctx->acl) + acl_free (ctx->acl); +# if !HAVE_ACL_TYPE_EXTENDED + if (ctx->default_acl) + acl_free (ctx->default_acl); +# endif + +# elif defined GETACL /* Solaris, Cygwin */ + free (ctx->entries); +# ifdef ACE_GETACL + free (ctx->ace_entries); +# endif + +# elif HAVE_GETACL /* HP-UX */ + +# if HAVE_ACLV_H +# endif + +# elif HAVE_STATACL /* older AIX */ + +# elif HAVE_ACLSORT /* NonStop Kernel */ + +# endif +#endif +} diff --git a/gnu/acl-internal.h b/gnu/acl-internal.h index 40d4317b..38a4ab2e 100644 --- a/gnu/acl-internal.h +++ b/gnu/acl-internal.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Internal implementation of access control lists. - Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -129,18 +127,13 @@ rpl_acl_set_fd (int fd, acl_t acl) # define acl_extended_file(name) (-1) # endif -/* Linux-specific */ -# ifndef HAVE_ACL_FROM_MODE -# define HAVE_ACL_FROM_MODE false -# define acl_from_mode(mode) (NULL) +# if ! defined HAVE_ACL_FROM_MODE && ! defined HAVE_ACL_FROM_TEXT +# define acl_from_mode (NULL) # endif -/* Set to 1 if a file's mode is implicit by the ACL. - Set to 0 if a file's mode is stored independently from the ACL. */ +/* Set to 0 if a file's mode is stored independently from the ACL. */ # if (HAVE_ACL_COPY_EXT_NATIVE && HAVE_ACL_CREATE_ENTRY_NP) || defined __sgi /* Mac OS X, IRIX */ # define MODE_INSIDE_ACL 0 -# else -# define MODE_INSIDE_ACL 1 # endif /* Return the number of entries in ACL. @@ -162,28 +155,31 @@ extern int acl_extended_nontrivial (acl_t); Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. Return -1 and set errno upon failure to determine it. */ extern int acl_access_nontrivial (acl_t); + +/* ACL is an ACL, from a file, stored as type ACL_TYPE_DEFAULT. + Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. + Return -1 and set errno upon failure to determine it. */ +extern int acl_default_nontrivial (acl_t); # endif # elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ -/* Set to 1 if a file's mode is implicit by the ACL. - Set to 0 if a file's mode is stored independently from the ACL. */ +/* Set to 0 if a file's mode is stored independently from the ACL. */ # if defined __CYGWIN__ /* Cygwin */ # define MODE_INSIDE_ACL 0 -# else /* Solaris */ -# define MODE_INSIDE_ACL 1 # endif /* Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ -extern int acl_nontrivial (int count, aclent_t *entries); +extern int acl_nontrivial (int count, aclent_t *entries) _GL_ATTRIBUTE_PURE; # ifdef ACE_GETACL /* Solaris 10 */ /* Test an ACL retrieved with ACE_GETACL. Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ -extern int acl_ace_nontrivial (int count, ace_t *entries); +extern int acl_ace_nontrivial (int count, ace_t *entries) _GL_ATTRIBUTE_PURE; /* Definitions for when the built executable is executed on Solaris 10 (newer version) or Solaris 11. */ @@ -222,7 +218,7 @@ extern int acl_ace_nontrivial (int count, ace_t *entries); /* Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ -extern int acl_nontrivial (int count, struct acl_entry *entries, struct stat *sb); +extern int acl_nontrivial (int count, struct acl_entry *entries); # if HAVE_ACLV_H /* HP-UX >= 11.11 */ @@ -250,6 +246,57 @@ extern int acl_nontrivial (int count, struct acl *entries); # endif +/* Set to 1 if a file's mode is implicit by the ACL. */ +# ifndef MODE_INSIDE_ACL +# define MODE_INSIDE_ACL 1 +# endif + +#endif + +struct permission_context { + mode_t mode; +#ifdef USE_ACL +# if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ + acl_t acl; +# if !HAVE_ACL_TYPE_EXTENDED + acl_t default_acl; +# endif + bool acls_not_supported; + +# elif defined GETACL /* Solaris, Cygwin */ + int count; + aclent_t *entries; +# ifdef ACE_GETACL + int ace_count; + ace_t *ace_entries; +# endif + +# elif HAVE_GETACL /* HP-UX */ + struct acl_entry entries[NACLENTRIES]; + int count; +# if HAVE_ACLV_H + struct acl aclv_entries[NACLVENTRIES]; + int aclv_count; +# endif + +# elif HAVE_STATACL /* older AIX */ + union { struct acl a; char room[4096]; } u; + bool have_u; + +# elif HAVE_ACLSORT /* NonStop Kernel */ + struct acl entries[NACLENTRIES]; + int count; + +# endif +#endif +}; + +int get_permissions (const char *, int, mode_t, struct permission_context *); +int set_permissions (struct permission_context *, const char *, int); +void free_permission_context (struct permission_context *) +#if ! (defined USE_ACL && (HAVE_ACL_GET_FILE || defined GETACL)) + _GL_ATTRIBUTE_CONST #endif + ; _GL_INLINE_HEADER_END diff --git a/gnu/acl.h b/gnu/acl.h index 1d23f92b..88ea08d8 100644 --- a/gnu/acl.h +++ b/gnu/acl.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* acl.c - access control lists - Copyright (C) 2002, 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2002, 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,6 +17,9 @@ Written by Paul Eggert. */ +#ifndef _GL_ACL_H +#define _GL_ACL_H 1 + #include #include #include @@ -30,3 +31,5 @@ int set_acl (char const *, int, mode_t); int qcopy_acl (char const *, int, char const *, int, mode_t); int copy_acl (char const *, int, char const *, int, mode_t); int chmod_or_fchmod (char const *, int, mode_t); + +#endif diff --git a/gnu/acl_entries.c b/gnu/acl_entries.c index 8fac13cf..936a1318 100644 --- a/gnu/acl_entries.c +++ b/gnu/acl_entries.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Return the number of entries in an ACL. - Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/alignof.h b/gnu/alignof.h new file mode 100644 index 00000000..be53fa50 --- /dev/null +++ b/gnu/alignof.h @@ -0,0 +1,50 @@ +/* Determine alignment of types. + Copyright (C) 2003-2004, 2006, 2009-2015 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +#ifndef _ALIGNOF_H +#define _ALIGNOF_H + +#include + +/* alignof_slot (TYPE) + Determine the alignment of a structure slot (field) of a given type, + at compile time. Note that the result depends on the ABI. + This is the same as alignof (TYPE) and _Alignof (TYPE), defined in + if __alignof_is_defined is 1. + Note: The result cannot be used as a value for an 'enum' constant, + due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ +#if defined __cplusplus + template struct alignof_helper { char __slot1; type __slot2; }; +# define alignof_slot(type) offsetof (alignof_helper, __slot2) +#else +# define alignof_slot(type) offsetof (struct { char __slot1; type __slot2; }, __slot2) +#endif + +/* alignof_type (TYPE) + Determine the good alignment of an object of the given type at compile time. + Note that this is not necessarily the same as alignof_slot(type). + For example, with GNU C on x86 platforms: alignof_type(double) = 8, but + - when -malign-double is not specified: alignof_slot(double) = 4, + - when -malign-double is specified: alignof_slot(double) = 8. + Note: The result cannot be used as a value for an 'enum' constant, + due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ +#if defined __GNUC__ || defined __IBM__ALIGNOF__ +# define alignof_type __alignof__ +#else +# define alignof_type alignof_slot +#endif + +#endif /* _ALIGNOF_H */ diff --git a/gnu/alloca.c b/gnu/alloca.c index b14bba75..ee0f0188 100644 --- a/gnu/alloca.c +++ b/gnu/alloca.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* alloca.c -- allocate automatically reclaimed memory (Mostly) portable public-domain implementation -- D A Gwyn diff --git a/gnu/alloca.in.h b/gnu/alloca.in.h index 7630f688..906fe923 100644 --- a/gnu/alloca.in.h +++ b/gnu/alloca.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Memory allocation on the stack. - Copyright (C) 1995, 1999, 2001-2004, 2006-2014 Free Software Foundation, + Copyright (C) 1995, 1999, 2001-2004, 2006-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it diff --git a/gnu/allocator.c b/gnu/allocator.c index c512d4bb..2c1a3da0 100644 --- a/gnu/allocator.c +++ b/gnu/allocator.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #define _GL_USE_STDLIB_ALLOC 1 #include #include "allocator.h" diff --git a/gnu/allocator.h b/gnu/allocator.h index 513c7dfa..c7c851f9 100644 --- a/gnu/allocator.h +++ b/gnu/allocator.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Memory allocators such as malloc+free. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/anytostr.c b/gnu/anytostr.c index 77a116c4..fb1e2158 100644 --- a/gnu/anytostr.c +++ b/gnu/anytostr.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* anytostr.c -- convert integers to printable strings - Copyright (C) 2001, 2006, 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2001, 2006, 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/areadlink-with-size.c b/gnu/areadlink-with-size.c new file mode 100644 index 00000000..e3a8c503 --- /dev/null +++ b/gnu/areadlink-with-size.c @@ -0,0 +1,104 @@ +/* readlink wrapper to return the link name in malloc'd storage. + Unlike xreadlink and xreadlink_with_size, don't ever call exit. + + Copyright (C) 2001, 2003-2007, 2009-2015 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Jim Meyering */ + +#include + +#include "areadlink.h" + +#include +#include +#include +#include +#include + +#ifndef SSIZE_MAX +# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) +#endif + +/* SYMLINK_MAX is used only for an initial memory-allocation sanity + check, so it's OK to guess too small on hosts where there is no + arbitrary limit to symbolic link length. */ +#ifndef SYMLINK_MAX +# define SYMLINK_MAX 1024 +#endif + +#define MAXSIZE (SIZE_MAX < SSIZE_MAX ? SIZE_MAX : SSIZE_MAX) + +/* Call readlink to get the symbolic link value of FILE. + SIZE is a hint as to how long the link is expected to be; + typically it is taken from st_size. It need not be correct. + Return a pointer to that NUL-terminated string in malloc'd storage. + If readlink fails, malloc fails, or if the link value is longer + than SSIZE_MAX, return NULL (caller may use errno to diagnose). */ + +char * +areadlink_with_size (char const *file, size_t size) +{ + /* Some buggy file systems report garbage in st_size. Defend + against them by ignoring outlandish st_size values in the initial + memory allocation. */ + size_t symlink_max = SYMLINK_MAX; + size_t INITIAL_LIMIT_BOUND = 8 * 1024; + size_t initial_limit = (symlink_max < INITIAL_LIMIT_BOUND + ? symlink_max + 1 + : INITIAL_LIMIT_BOUND); + + /* The initial buffer size for the link value. */ + size_t buf_size = size < initial_limit ? size + 1 : initial_limit; + + while (1) + { + ssize_t r; + size_t link_length; + char *buffer = malloc (buf_size); + + if (buffer == NULL) + return NULL; + r = readlink (file, buffer, buf_size); + link_length = r; + + /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1 + with errno == ERANGE if the buffer is too small. */ + if (r < 0 && errno != ERANGE) + { + int saved_errno = errno; + free (buffer); + errno = saved_errno; + return NULL; + } + + if (link_length < buf_size) + { + buffer[link_length] = 0; + return buffer; + } + + free (buffer); + if (buf_size <= MAXSIZE / 2) + buf_size *= 2; + else if (buf_size < MAXSIZE) + buf_size = MAXSIZE; + else + { + errno = ENOMEM; + return NULL; + } + } +} diff --git a/gnu/areadlink.c b/gnu/areadlink.c index 2ecf3325..248cc6bb 100644 --- a/gnu/areadlink.c +++ b/gnu/areadlink.c @@ -1,9 +1,7 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* areadlink.c -- readlink wrapper to return the link name in malloc'd storage Unlike xreadlink and xreadlink_with_size, don't ever call exit. - Copyright (C) 2001, 2003-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001, 2003-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/areadlink.h b/gnu/areadlink.h index db86a358..d9e0fa14 100644 --- a/gnu/areadlink.h +++ b/gnu/areadlink.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Read symbolic links without size limitation. - Copyright (C) 2001, 2003-2004, 2007, 2009-2014 Free Software Foundation, + Copyright (C) 2001, 2003-2004, 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/areadlinkat-with-size.c b/gnu/areadlinkat-with-size.c new file mode 100644 index 00000000..febc2ea5 --- /dev/null +++ b/gnu/areadlinkat-with-size.c @@ -0,0 +1,132 @@ +/* readlinkat wrapper to return the link name in malloc'd storage. + Unlike xreadlinkat, only call exit on failure to change directory. + + Copyright (C) 2001, 2003-2007, 2009-2015 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Jim Meyering + and Eric Blake . */ + +#include + +#include "areadlink.h" + +#include +#include +#include +#include +#include + +#if HAVE_READLINKAT + +# ifndef SSIZE_MAX +# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) +# endif + +/* SYMLINK_MAX is used only for an initial memory-allocation sanity + check, so it's OK to guess too small on hosts where there is no + arbitrary limit to symbolic link length. */ +# ifndef SYMLINK_MAX +# define SYMLINK_MAX 1024 +# endif + +# define MAXSIZE (SIZE_MAX < SSIZE_MAX ? SIZE_MAX : SSIZE_MAX) + +/* Call readlinkat to get the symbolic link value of FILE, relative to FD. + SIZE is a hint as to how long the link is expected to be; + typically it is taken from st_size. It need not be correct. + Return a pointer to that NUL-terminated string in malloc'd storage. + If readlinkat fails, malloc fails, or if the link value is longer + than SSIZE_MAX, return NULL (caller may use errno to diagnose). + However, failure to change directory during readlinkat will issue + a diagnostic and exit. */ + +char * +areadlinkat_with_size (int fd, char const *file, size_t size) +{ + /* Some buggy file systems report garbage in st_size. Defend + against them by ignoring outlandish st_size values in the initial + memory allocation. */ + size_t symlink_max = SYMLINK_MAX; + size_t INITIAL_LIMIT_BOUND = 8 * 1024; + size_t initial_limit = (symlink_max < INITIAL_LIMIT_BOUND + ? symlink_max + 1 + : INITIAL_LIMIT_BOUND); + + /* The initial buffer size for the link value. */ + size_t buf_size = size < initial_limit ? size + 1 : initial_limit; + + while (1) + { + ssize_t r; + size_t link_length; + char *buffer = malloc (buf_size); + + if (buffer == NULL) + return NULL; + r = readlinkat (fd, file, buffer, buf_size); + link_length = r; + + /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1 + with errno == ERANGE if the buffer is too small. */ + if (r < 0 && errno != ERANGE) + { + int saved_errno = errno; + free (buffer); + errno = saved_errno; + return NULL; + } + + if (link_length < buf_size) + { + buffer[link_length] = 0; + return buffer; + } + + free (buffer); + if (buf_size <= MAXSIZE / 2) + buf_size *= 2; + else if (buf_size < MAXSIZE) + buf_size = MAXSIZE; + else + { + errno = ENOMEM; + return NULL; + } + } +} + +#else /* !HAVE_READLINKAT */ + + +/* It is more efficient to change directories only once and call + areadlink_with_size, rather than repeatedly call the replacement + readlinkat. */ + +# define AT_FUNC_NAME areadlinkat_with_size +# define AT_FUNC_F1 areadlink_with_size +# define AT_FUNC_POST_FILE_PARAM_DECLS , size_t size +# define AT_FUNC_POST_FILE_ARGS , size +# define AT_FUNC_RESULT char * +# define AT_FUNC_FAIL NULL +# include "at-func.c" +# undef AT_FUNC_NAME +# undef AT_FUNC_F1 +# undef AT_FUNC_POST_FILE_PARAM_DECLS +# undef AT_FUNC_POST_FILE_ARGS +# undef AT_FUNC_RESULT +# undef AT_FUNC_FAIL + +#endif /* !HAVE_READLINKAT */ diff --git a/gnu/areadlinkat.c b/gnu/areadlinkat.c index 564704a0..b639056a 100644 --- a/gnu/areadlinkat.c +++ b/gnu/areadlinkat.c @@ -1,9 +1,7 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* areadlinkat.c -- readlinkat wrapper to return malloc'd link name Unlike xreadlinkat, only call exit on failure to change directory. - Copyright (C) 2001, 2003-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001, 2003-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/argmatch.c b/gnu/argmatch.c index c26bcb3d..0e452bd1 100644 --- a/gnu/argmatch.c +++ b/gnu/argmatch.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* argmatch.c -- find a match for a string in an array - Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2014 Free Software + Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/argmatch.h b/gnu/argmatch.h index f97a358a..bbbfe64d 100644 --- a/gnu/argmatch.h +++ b/gnu/argmatch.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* argmatch.h -- definitions and prototypes for argmatch.c - Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2014 Free Software + Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/argp-ba.c b/gnu/argp-ba.c index df0f48d9..62d6f185 100644 --- a/gnu/argp-ba.c +++ b/gnu/argp-ba.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Default definition for ARGP_PROGRAM_BUG_ADDRESS. - Copyright (C) 1996-1997, 1999, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1996-1997, 1999, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/argp-eexst.c b/gnu/argp-eexst.c index 6b403271..5f5a6eef 100644 --- a/gnu/argp-eexst.c +++ b/gnu/argp-eexst.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Default definition for ARGP_ERR_EXIT_STATUS - Copyright (C) 1997, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1997, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/argp-fmtstream.c b/gnu/argp-fmtstream.c index 042bb895..e411e491 100644 --- a/gnu/argp-fmtstream.c +++ b/gnu/argp-fmtstream.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Word-wrapping and line-truncating streams - Copyright (C) 1997-1999, 2001-2003, 2005, 2009-2014 Free Software + Copyright (C) 1997-1999, 2001-2003, 2005, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/argp-fmtstream.h b/gnu/argp-fmtstream.h index dad5af82..3e7fab69 100644 --- a/gnu/argp-fmtstream.h +++ b/gnu/argp-fmtstream.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Word-wrapping and line-truncating streams. - Copyright (C) 1997, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 1997, 2006-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/argp-fs-xinl.c b/gnu/argp-fs-xinl.c index 6acbe2f5..9b027512 100644 --- a/gnu/argp-fs-xinl.c +++ b/gnu/argp-fs-xinl.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Real definitions for extern inline functions in argp-fmtstream.h - Copyright (C) 1997, 2003-2004, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1997, 2003-2004, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/argp-help.c b/gnu/argp-help.c index e5298699..ebb53fc6 100644 --- a/gnu/argp-help.c +++ b/gnu/argp-help.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Hierarchical argument parsing help output - Copyright (C) 1995-2005, 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1995-2005, 2007, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -1508,11 +1506,15 @@ argp_doc (const struct argp *argp, const struct argp_state *state, if (vt) { if (post) - inp_text = vt + 1; + { + inp_text = vt + 1; + if (! *inp_text) + inp_text = 0; + } else { inp_text_len = vt - argp->doc; - inp_text = __strndup (argp->doc, inp_text_len); + inp_text = inp_text_len ? __strndup (argp->doc, inp_text_len) : 0; } } else diff --git a/gnu/argp-namefrob.h b/gnu/argp-namefrob.h index 1e3f0796..479b74e0 100644 --- a/gnu/argp-namefrob.h +++ b/gnu/argp-namefrob.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Name frobnication for compiling argp outside of glibc - Copyright (C) 1997, 2003, 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1997, 2003, 2007, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/argp-parse.c b/gnu/argp-parse.c index 76c0544b..ad784b86 100644 --- a/gnu/argp-parse.c +++ b/gnu/argp-parse.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Hierarchical argument parsing, layered over getopt - Copyright (C) 1995-2000, 2002-2004, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1995-2000, 2002-2004, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/argp-pin.c b/gnu/argp-pin.c index f324e6d0..6198796d 100644 --- a/gnu/argp-pin.c +++ b/gnu/argp-pin.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Full and short program names for argp module - Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/argp-pv.c b/gnu/argp-pv.c index d2c9b4f8..0098d1ba 100644 --- a/gnu/argp-pv.c +++ b/gnu/argp-pv.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Default definition for ARGP_PROGRAM_VERSION. - Copyright (C) 1996-1997, 1999, 2006, 2009-2014 Free Software Foundation, + Copyright (C) 1996-1997, 1999, 2006, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/argp-pvh.c b/gnu/argp-pvh.c index 1fedac15..8c25f457 100644 --- a/gnu/argp-pvh.c +++ b/gnu/argp-pvh.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Default definition for ARGP_PROGRAM_VERSION_HOOK. - Copyright (C) 1996-1997, 1999, 2004, 2009-2014 Free Software Foundation, + Copyright (C) 1996-1997, 1999, 2004, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/argp-version-etc.c b/gnu/argp-version-etc.c index d9ca70bb..0ce9c96a 100644 --- a/gnu/argp-version-etc.c +++ b/gnu/argp-version-etc.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Version hook for Argp. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/argp-version-etc.h b/gnu/argp-version-etc.h index 8330a99b..8e197142 100644 --- a/gnu/argp-version-etc.h +++ b/gnu/argp-version-etc.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Version hook for Argp. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/argp-xinl.c b/gnu/argp-xinl.c index 7dbdf737..cb48ad67 100644 --- a/gnu/argp-xinl.c +++ b/gnu/argp-xinl.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Real definitions for extern inline functions in argp.h - Copyright (C) 1997-1998, 2004, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1997-1998, 2004, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/argp.h b/gnu/argp.h index f3e1f621..0fdc82ca 100644 --- a/gnu/argp.h +++ b/gnu/argp.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Hierarchical argument parsing, layered over getopt. - Copyright (C) 1995-1999, 2003-2014 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2003-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/asnprintf.c b/gnu/asnprintf.c index 1ed4a04f..d6776caa 100644 --- a/gnu/asnprintf.c +++ b/gnu/asnprintf.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Formatted output to strings. - Copyright (C) 1999, 2002, 2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2006, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/asprintf.c b/gnu/asprintf.c index df6e5c54..06ae3dd7 100644 --- a/gnu/asprintf.c +++ b/gnu/asprintf.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Formatted output to strings. - Copyright (C) 1999, 2002, 2006-2007, 2009-2014 Free Software Foundation, + Copyright (C) 1999, 2002, 2006-2007, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify diff --git a/gnu/assure.h b/gnu/assure.h new file mode 100644 index 00000000..f44f380b --- /dev/null +++ b/gnu/assure.h @@ -0,0 +1,37 @@ +/* Run-time assert-like macros. + + Copyright (C) 2014-2015 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert. */ + +#ifndef _GL_ASSURE_H +#define _GL_ASSURE_H + +#include + +/* Check E's value at runtime, and report an error and abort if not. + However, do nothng if NDEBUG is defined. + + Unlike standard 'assert', this macro always compiles E even when NDEBUG + is defined, so as to catch typos and avoid some GCC warnings. */ + +#ifdef NDEBUG +# define assure(E) ((void) (0 && (E))) +#else +# define assure(E) assert (E) +#endif + +#endif diff --git a/gnu/at-func.c b/gnu/at-func.c index 774756d4..bbbe458d 100644 --- a/gnu/at-func.c +++ b/gnu/at-func.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Define at-style functions like fstatat, unlinkat, fchownat, etc. - Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/at-func2.c b/gnu/at-func2.c index fa796a86..32a64ff2 100644 --- a/gnu/at-func2.c +++ b/gnu/at-func2.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Define 2-FD at-style functions like linkat or renameat. - Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/backupfile.c b/gnu/backupfile.c index b6c8aec0..824c9d08 100644 --- a/gnu/backupfile.c +++ b/gnu/backupfile.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* backupfile.c -- make Emacs style backup file names - Copyright (C) 1990-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1990-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/backupfile.h b/gnu/backupfile.h index 7a2ad9a8..678b996a 100644 --- a/gnu/backupfile.h +++ b/gnu/backupfile.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* backupfile.h -- declarations for making Emacs style backup file names - Copyright (C) 1990-1992, 1997-1999, 2003-2004, 2009-2014 Free Software + Copyright (C) 1990-1992, 1997-1999, 2003-2004, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/basename-lgpl.c b/gnu/basename-lgpl.c index 74257f88..aae1280f 100644 --- a/gnu/basename-lgpl.c +++ b/gnu/basename-lgpl.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* basename.c -- return the last element in a file name - Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2014 Free Software + Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/basename.c b/gnu/basename.c index ac740b2f..faebe761 100644 --- a/gnu/basename.c +++ b/gnu/basename.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* basename.c -- return the last element in a file name - Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2014 Free Software + Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/bitrotate.c b/gnu/bitrotate.c index d942185f..a8f60288 100644 --- a/gnu/bitrotate.c +++ b/gnu/bitrotate.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include #define BITROTATE_INLINE _GL_EXTERN_INLINE #include "bitrotate.h" diff --git a/gnu/bitrotate.h b/gnu/bitrotate.h index 31b9bc59..1665e996 100644 --- a/gnu/bitrotate.h +++ b/gnu/bitrotate.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* bitrotate.h - Rotate bits in integers - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/btowc.c b/gnu/btowc.c index 3f3c6d84..2e32deec 100644 --- a/gnu/btowc.c +++ b/gnu/btowc.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert unibyte character to wide character. - Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc. + Copyright (C) 2008, 2010-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify diff --git a/gnu/c-ctype.c b/gnu/c-ctype.c index e9e0c56c..1fb5fe67 100644 --- a/gnu/c-ctype.c +++ b/gnu/c-ctype.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Character handling in C locale. - Copyright 2000-2003, 2006, 2009-2014 Free Software Foundation, Inc. + Copyright 2000-2003, 2006, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/c-ctype.h b/gnu/c-ctype.h index 3fe2b25b..47644731 100644 --- a/gnu/c-ctype.h +++ b/gnu/c-ctype.h @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Character handling in C locale. These functions work like the corresponding functions in , @@ -7,7 +5,7 @@ functions' behaviour depends on the current locale set via setlocale. - Copyright (C) 2000-2003, 2006, 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2006, 2008-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/c-strcase.h b/gnu/c-strcase.h index b3036756..f25bcca2 100644 --- a/gnu/c-strcase.h +++ b/gnu/c-strcase.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Case-insensitive string comparison functions in C locale. - Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2014 Free Software + Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify diff --git a/gnu/c-strcasecmp.c b/gnu/c-strcasecmp.c index 87c67344..6deb6d12 100644 --- a/gnu/c-strcasecmp.c +++ b/gnu/c-strcasecmp.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* c-strcasecmp.c -- case insensitive string comparator in C locale - Copyright (C) 1998-1999, 2005-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/c-strcaseeq.h b/gnu/c-strcaseeq.h index 58005a9e..ffd05a23 100644 --- a/gnu/c-strcaseeq.h +++ b/gnu/c-strcaseeq.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Optimized case-insensitive string comparison in C locale. - Copyright (C) 2001-2002, 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published diff --git a/gnu/c-strncasecmp.c b/gnu/c-strncasecmp.c index 17b4f0a2..b98e3683 100644 --- a/gnu/c-strncasecmp.c +++ b/gnu/c-strncasecmp.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* c-strncasecmp.c -- case insensitive string comparator in C locale - Copyright (C) 1998-1999, 2005-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/canonicalize-lgpl.c b/gnu/canonicalize-lgpl.c index f9244b15..1c9f2ee9 100644 --- a/gnu/canonicalize-lgpl.c +++ b/gnu/canonicalize-lgpl.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Return the canonical absolute name of a given file. - Copyright (C) 1996-2014 Free Software Foundation, Inc. + Copyright (C) 1996-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify diff --git a/gnu/careadlinkat.c b/gnu/careadlinkat.c index 7bb5906c..f2f5da23 100644 --- a/gnu/careadlinkat.c +++ b/gnu/careadlinkat.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Read symbolic links into a buffer without size limitation, relative to fd. - Copyright (C) 2001, 2003-2004, 2007, 2009-2014 Free Software Foundation, + Copyright (C) 2001, 2003-2004, 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/careadlinkat.h b/gnu/careadlinkat.h index 1a64b0c6..4eb9fccc 100644 --- a/gnu/careadlinkat.h +++ b/gnu/careadlinkat.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Read symbolic links into a buffer without size limitation, relative to fd. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/chdir-long.c b/gnu/chdir-long.c index 433a382c..ecc025a8 100644 --- a/gnu/chdir-long.c +++ b/gnu/chdir-long.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* provide a chdir function that tries not to fail due to ENAMETOOLONG - Copyright (C) 2004-2014 Free Software Foundation, Inc. + Copyright (C) 2004-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,7 +20,6 @@ #include "chdir-long.h" -#include #include #include #include @@ -30,6 +27,8 @@ #include #include +#include "assure.h" + #ifndef PATH_MAX # error "compile this file only if your system defines PATH_MAX" #endif @@ -62,7 +61,7 @@ cdb_free (struct cd_buf const *cdb) if (0 <= cdb->fd) { bool close_fail = close (cdb->fd); - assert (! close_fail); + assure (! close_fail); } } @@ -124,8 +123,8 @@ chdir_long (char *dir) /* If DIR is the empty string, then the chdir above must have failed and set errno to ENOENT. */ - assert (0 < len); - assert (PATH_MAX <= len); + assure (0 < len); + assure (PATH_MAX <= len); /* Count leading slashes. */ n_leading_slash = strspn (dir, "/"); @@ -160,8 +159,8 @@ chdir_long (char *dir) dir += n_leading_slash; } - assert (*dir != '/'); - assert (dir <= dir_end); + assure (*dir != '/'); + assure (dir <= dir_end); while (PATH_MAX <= dir_end - dir) { @@ -177,7 +176,7 @@ chdir_long (char *dir) } *slash = '\0'; - assert (slash - dir < PATH_MAX); + assure (slash - dir < PATH_MAX); err = cdb_advance_fd (&cdb, dir); *slash = '/'; if (err != 0) diff --git a/gnu/chdir-long.h b/gnu/chdir-long.h index 01292c2d..81dacc39 100644 --- a/gnu/chdir-long.h +++ b/gnu/chdir-long.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* provide a chdir function that tries not to fail due to ENAMETOOLONG - Copyright (C) 2004-2005, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2004-2005, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/chmodat.c b/gnu/chmodat.c index 1f398874..3c696899 100644 --- a/gnu/chmodat.c +++ b/gnu/chmodat.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include #define FCHMODAT_INLINE _GL_EXTERN_INLINE #include "openat.h" diff --git a/gnu/chown.c b/gnu/chown.c index 3759f521..11238ebd 100644 --- a/gnu/chown.c +++ b/gnu/chown.c @@ -1,9 +1,7 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* provide consistent interface to chown for systems that don't interpret an ID of -1 as meaning "don't change the corresponding ID". - Copyright (C) 1997, 2004-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1997, 2004-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -47,11 +45,6 @@ chown (const char *file _GL_UNUSED, uid_t uid _GL_UNUSED, /* Below we refer to the system's chown(). */ # undef chown -/* The results of open() in this file are not used with fchdir, - therefore save some unnecessary work in fchdir.c. */ -# undef open -# undef close - /* Provide a more-closely POSIX-conforming version of chown on systems with one or both of the following problems: - chown doesn't treat an ID of -1 as meaning diff --git a/gnu/chownat.c b/gnu/chownat.c index 92485d1e..3937f9c4 100644 --- a/gnu/chownat.c +++ b/gnu/chownat.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include #define FCHOWNAT_INLINE _GL_EXTERN_INLINE #include "openat.h" diff --git a/gnu/cloexec.c b/gnu/cloexec.c index f2c5d844..29d1a38a 100644 --- a/gnu/cloexec.c +++ b/gnu/cloexec.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* closexec.c - set or clear the close-on-exec descriptor flag - Copyright (C) 1991, 2004-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1991, 2004-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/cloexec.h b/gnu/cloexec.h index 83b9aaf0..ef5bacc2 100644 --- a/gnu/cloexec.h +++ b/gnu/cloexec.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* closexec.c - set or clear the close-on-exec descriptor flag - Copyright (C) 2004, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/close-stream.c b/gnu/close-stream.c index 7ace2b2c..6e3d8658 100644 --- a/gnu/close-stream.c +++ b/gnu/close-stream.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Close a stream, with nicer error checking than fclose's. - Copyright (C) 1998-2002, 2004, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 1998-2002, 2004, 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/close-stream.h b/gnu/close-stream.h index d8cad179..be3d4196 100644 --- a/gnu/close-stream.h +++ b/gnu/close-stream.h @@ -1,4 +1,2 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include int close_stream (FILE *stream); diff --git a/gnu/close.c b/gnu/close.c index 8c2206bb..54d1f71b 100644 --- a/gnu/close.c +++ b/gnu/close.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* close replacement. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/closedir.c b/gnu/closedir.c index 3ac254b8..f80843f9 100644 --- a/gnu/closedir.c +++ b/gnu/closedir.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Stop reading the entries of a directory. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/closeout.c b/gnu/closeout.c index a143adbd..761d7151 100644 --- a/gnu/closeout.c +++ b/gnu/closeout.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Close standard output and standard error, exiting with a diagnostic on error. - Copyright (C) 1998-2002, 2004, 2006, 2008-2014 Free Software Foundation, + Copyright (C) 1998-2002, 2004, 2006, 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/closeout.h b/gnu/closeout.h index 1f4fabe4..87cea5b1 100644 --- a/gnu/closeout.h +++ b/gnu/closeout.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Close standard output and standard error. - Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2014 Free Software + Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/config.charset b/gnu/config.charset index 289bc44e..f06d7e9f 100644 --- a/gnu/config.charset +++ b/gnu/config.charset @@ -1,7 +1,7 @@ #! /bin/sh # Output a system dependent table of character encoding aliases. # -# Copyright (C) 2000-2004, 2006-2014 Free Software Foundation, Inc. +# Copyright (C) 2000-2004, 2006-2015 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -348,12 +348,10 @@ case "$os" in #echo "sun_eu_greek ?" # what is this? echo "UTF-8 UTF-8" ;; - freebsd* | os2*) + freebsd*) # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. - # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just - # reuse FreeBSD's locale data for OS/2. echo "C ASCII" echo "US-ASCII ASCII" for l in la_LN lt_LN; do diff --git a/gnu/dirent--.h b/gnu/dirent--.h index a1203bcc..aa3f4929 100644 --- a/gnu/dirent--.h +++ b/gnu/dirent--.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Like dirent.h, but redefine some names to avoid glitches. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,3 +21,4 @@ #undef opendir #define opendir opendir_safer +#define GNULIB_defined_opendir 1 diff --git a/gnu/dirent-private.h b/gnu/dirent-private.h index d11d6f20..aa01f602 100644 --- a/gnu/dirent-private.h +++ b/gnu/dirent-private.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Private details of the DIR type. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/dirent-safer.h b/gnu/dirent-safer.h index 083db283..da62b2e3 100644 --- a/gnu/dirent-safer.h +++ b/gnu/dirent-safer.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Invoke dirent-like functions, but avoid some glitches. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/dirent.in.h b/gnu/dirent.in.h index 86f49667..154d2689 100644 --- a/gnu/dirent.in.h +++ b/gnu/dirent.in.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A GNU-like . - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -79,6 +77,7 @@ typedef struct gl_directory DIR; # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef opendir # define opendir rpl_opendir +# define GNULIB_defined_opendir 1 # endif _GL_FUNCDECL_RPL (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (opendir, DIR *, (const char *dir_name)); @@ -130,6 +129,7 @@ _GL_WARN_ON_USE (rewinddir, "rewinddir is not portable - " # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef closedir # define closedir rpl_closedir +# define GNULIB_defined_closedir 1 # endif _GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (closedir, int, (DIR *dirp)); diff --git a/gnu/dirfd.c b/gnu/dirfd.c index 050912b9..c91f8e55 100644 --- a/gnu/dirfd.c +++ b/gnu/dirfd.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* dirfd.c -- return the file descriptor associated with an open DIR* - Copyright (C) 2001, 2006, 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2001, 2006, 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/dirname-lgpl.c b/gnu/dirname-lgpl.c index 1206241b..98391356 100644 --- a/gnu/dirname-lgpl.c +++ b/gnu/dirname-lgpl.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* dirname.c -- return all but the last element in a file name - Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2014 Free Software + Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/dirname.c b/gnu/dirname.c index cff08e8f..c22be314 100644 --- a/gnu/dirname.c +++ b/gnu/dirname.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* dirname.c -- return all but the last element in a file name - Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2014 Free Software + Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/dirname.h b/gnu/dirname.h index 9d3ab05f..55021ec5 100644 --- a/gnu/dirname.h +++ b/gnu/dirname.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Take file names apart into directory and base names. - Copyright (C) 1998, 2001, 2003-2006, 2009-2014 Free Software Foundation, + Copyright (C) 1998, 2001, 2003-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -33,6 +31,10 @@ # define DOUBLE_SLASH_IS_DISTINCT_ROOT 0 # endif +#ifdef __cplusplus +extern "C" { +#endif + # if GNULIB_DIRNAME char *base_name (char const *file); char *dir_name (char const *file); @@ -45,4 +47,8 @@ char *last_component (char const *file) _GL_ATTRIBUTE_PURE; bool strip_trailing_slashes (char *file); +#ifdef __cplusplus +} /* extern "C" */ +#endif + #endif /* not DIRNAME_H_ */ diff --git a/gnu/dosname.h b/gnu/dosname.h index ae5fa1b9..893baf6c 100644 --- a/gnu/dosname.h +++ b/gnu/dosname.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* File names on MS-DOS/Windows systems. - Copyright (C) 2000-2001, 2004-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2000-2001, 2004-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/dup-safer.c b/gnu/dup-safer.c index 6319cb7d..c6436cd9 100644 --- a/gnu/dup-safer.c +++ b/gnu/dup-safer.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Invoke dup, but avoid some glitches. - Copyright (C) 2001, 2004-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001, 2004-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/dup.c b/gnu/dup.c index 7faf3020..20f04534 100644 --- a/gnu/dup.c +++ b/gnu/dup.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Duplicate an open file descriptor. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/dup2.c b/gnu/dup2.c index 9428f0f5..0e13214c 100644 --- a/gnu/dup2.c +++ b/gnu/dup2.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Duplicate an open file descriptor to a specified file descriptor. - Copyright (C) 1999, 2004-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1999, 2004-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/errno.in.h b/gnu/errno.in.h index 7072f194..affbb979 100644 --- a/gnu/errno.in.h +++ b/gnu/errno.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A POSIX-like . - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/error.c b/gnu/error.c index 5f929df6..0ac76951 100644 --- a/gnu/error.c +++ b/gnu/error.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Error handler for noninteractive utilities - Copyright (C) 1990-1998, 2000-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1990-1998, 2000-2007, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify @@ -41,6 +39,9 @@ # include # include # define mbsrtowcs __mbsrtowcs +# define USE_UNLOCKED_IO 0 +# define _GL_ATTRIBUTE_FORMAT_PRINTF(a, b) +# define _GL_ARG_NONNULL(a) #endif #if USE_UNLOCKED_IO @@ -74,14 +75,14 @@ extern void __error (int status, int errnum, const char *message, ...) extern void __error_at_line (int status, int errnum, const char *file_name, unsigned int line_number, const char *message, ...) - __attribute__ ((__format__ (__printf__, 5, 6)));; + __attribute__ ((__format__ (__printf__, 5, 6))); # define error __error # define error_at_line __error_at_line # include -# define fflush(s) INTUSE(_IO_fflush) (s) +# define fflush(s) _IO_fflush (s) # undef putc -# define putc(c, fp) INTUSE(_IO_putc) (c, fp) +# define putc(c, fp) _IO_putc (c, fp) # include @@ -173,7 +174,7 @@ print_errno_message (int errnum) #if defined HAVE_STRERROR_R || _LIBC char errbuf[1024]; -# if STRERROR_R_CHAR_P || _LIBC +# if _LIBC || STRERROR_R_CHAR_P s = __strerror_r (errnum, errbuf, sizeof errbuf); # else if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0) @@ -203,7 +204,6 @@ error_tail (int status, int errnum, const char *message, va_list args) #if _LIBC if (_IO_fwide (stderr, 0) > 0) { -# define ALLOCA_LIMIT 2000 size_t len = strlen (message) + 1; wchar_t *wmessage = NULL; mbstate_t st; @@ -239,7 +239,7 @@ error_tail (int status, int errnum, const char *message, va_list args) if (res != len) break; - if (__builtin_expect (len >= SIZE_MAX / 2, 0)) + if (__builtin_expect (len >= SIZE_MAX / sizeof (wchar_t) / 2, 0)) { /* This really should not happen if everything is fine. */ res = (size_t) -1; @@ -344,7 +344,10 @@ error_at_line (int status, int errnum, const char *file_name, if (old_line_number == line_number && (file_name == old_file_name - || strcmp (old_file_name, file_name) == 0)) + || (old_file_name != NULL + && file_name != NULL + && strcmp (old_file_name, file_name) == 0))) + /* Simply return and print nothing. */ return; @@ -376,10 +379,10 @@ error_at_line (int status, int errnum, const char *file_name, } #if _LIBC - __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ", + __fxprintf (NULL, file_name != NULL ? "%s:%u: " : " ", file_name, line_number); #else - fprintf (stderr, file_name != NULL ? "%s:%d: " : " ", + fprintf (stderr, file_name != NULL ? "%s:%u: " : " ", file_name, line_number); #endif diff --git a/gnu/error.h b/gnu/error.h index 8d377065..eb4fb701 100644 --- a/gnu/error.h +++ b/gnu/error.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Declaration for error-reporting function - Copyright (C) 1995-1997, 2003, 2006, 2008-2014 Free Software Foundation, + Copyright (C) 1995-1997, 2003, 2006, 2008-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -33,6 +31,16 @@ # define _GL_ATTRIBUTE_FORMAT(spec) /* empty */ #endif +/* On mingw, the flavor of printf depends on whether the extensions module + * is in use; the check for determines the witness macro. */ +#ifndef _GL_ATTRIBUTE_SPEC_PRINTF +# if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU +# define _GL_ATTRIBUTE_SPEC_PRINTF __gnu_printf__ +# else +# define _GL_ATTRIBUTE_SPEC_PRINTF __printf__ +# endif +#endif + #ifdef __cplusplus extern "C" { #endif @@ -42,11 +50,11 @@ extern "C" { If STATUS is nonzero, terminate the program with 'exit (STATUS)'. */ extern void error (int __status, int __errnum, const char *__format, ...) - _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 4)); + _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 3, 4)); extern void error_at_line (int __status, int __errnum, const char *__fname, unsigned int __lineno, const char *__format, ...) - _GL_ATTRIBUTE_FORMAT ((__printf__, 5, 6)); + _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 5, 6)); /* If NULL, error will flush stdout, then print on stderr the program name, a colon and a space. Otherwise, error will call this diff --git a/gnu/euidaccess.c b/gnu/euidaccess.c index 0bd30124..c7e6cfb7 100644 --- a/gnu/euidaccess.c +++ b/gnu/euidaccess.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* euidaccess -- check if effective user id can access file - Copyright (C) 1990-1991, 1995, 1998, 2000, 2003-2006, 2008-2014 Free + Copyright (C) 1990-1991, 1995, 1998, 2000, 2003-2006, 2008-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/gnu/exclude.c b/gnu/exclude.c index e2eb34be..20dedf7e 100644 --- a/gnu/exclude.c +++ b/gnu/exclude.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* exclude.c -- exclude file names - Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2014 Free Software + Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -394,7 +392,7 @@ exclude_fnmatch (char const *pattern, char const *f, int options) return matched; } -bool +static bool exclude_patopts (struct patopts const *opts, char const *f) { int options = opts->options; @@ -670,8 +668,8 @@ add_exclude_fp (void (*add_func) (struct exclude *, char const *, int, void *), static void call_addfn (struct exclude *ex, char const *pattern, int options, void *data) { - void (*addfn) (struct exclude *, char const *, int) = data; - addfn (ex, pattern, options); + void (**addfnptr) (struct exclude *, char const *, int) = data; + (*addfnptr) (ex, pattern, options); } int @@ -688,7 +686,7 @@ add_exclude_file (void (*add_func) (struct exclude *, char const *, int), else if (! (in = fopen (file_name, "r"))) return -1; - rc = add_exclude_fp (call_addfn, ex, in, options, line_end, add_func); + rc = add_exclude_fp (call_addfn, ex, in, options, line_end, &add_func); if (!use_stdin && fclose (in) != 0) rc = -1; diff --git a/gnu/exclude.h b/gnu/exclude.h index 47994d28..b522d35f 100644 --- a/gnu/exclude.h +++ b/gnu/exclude.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* exclude.h -- declarations for excluding file names - Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2014 Free + Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/exitfail.c b/gnu/exitfail.c index 321c74c1..8035b895 100644 --- a/gnu/exitfail.c +++ b/gnu/exitfail.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Failure exit status - Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/exitfail.h b/gnu/exitfail.h index 0347f462..62d0ac5d 100644 --- a/gnu/exitfail.h +++ b/gnu/exitfail.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Failure exit status - Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/faccessat.c b/gnu/faccessat.c index 8abb9c0f..5bd7ecfd 100644 --- a/gnu/faccessat.c +++ b/gnu/faccessat.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Check the access rights of a file relative to an open directory. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/fchdir.c b/gnu/fchdir.c index a39f1177..944d1bdf 100644 --- a/gnu/fchdir.c +++ b/gnu/fchdir.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* fchdir replacement. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,7 +19,6 @@ /* Specification. */ #include -#include #include #include #include @@ -31,6 +28,7 @@ #include #include +#include "assure.h" #include "dosname.h" #include "filenamecat.h" @@ -134,7 +132,7 @@ _gl_register_fd (int fd, const char *filename) { struct stat statbuf; - assert (0 <= fd); + assure (0 <= fd); if (REPLACE_OPEN_DIRECTORY || (fstat (fd, &statbuf) == 0 && S_ISDIR (statbuf.st_mode))) { @@ -158,7 +156,7 @@ _gl_register_fd (int fd, const char *filename) int _gl_register_dup (int oldfd, int newfd) { - assert (0 <= oldfd && 0 <= newfd && oldfd != newfd); + assure (0 <= oldfd && 0 <= newfd && oldfd != newfd); if (oldfd < dirs_allocated && dirs[oldfd].name) { /* Duplicated a directory; must ensure newfd is allocated. */ diff --git a/gnu/fchmodat.c b/gnu/fchmodat.c index 07942843..c09d02d0 100644 --- a/gnu/fchmodat.c +++ b/gnu/fchmodat.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Change the protections of file relative to an open directory. - Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/fchown-stub.c b/gnu/fchown-stub.c index b4650031..62b69690 100644 --- a/gnu/fchown-stub.c +++ b/gnu/fchown-stub.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include #include diff --git a/gnu/fchownat.c b/gnu/fchownat.c index 47f2432c..3bf5daa1 100644 --- a/gnu/fchownat.c +++ b/gnu/fchownat.c @@ -1,12 +1,10 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* This function serves as replacement for a missing fchownat function, as well as a work around for the fchownat bug in glibc-2.4: when the buggy fchownat-with-AT_SYMLINK_NOFOLLOW operates on a symlink, it mistakenly affects the symlink referent, rather than the symlink itself. - Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/fcntl.c b/gnu/fcntl.c index c272ec9c..23b73e97 100644 --- a/gnu/fcntl.c +++ b/gnu/fcntl.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide file descriptor control. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -91,8 +89,25 @@ dupfd (int oldfd, int newfd, int flags) inherit, /* InheritHandle */ DUPLICATE_SAME_ACCESS)) /* Options */ { - /* TODO: Translate GetLastError () into errno. */ - errno = EMFILE; + switch (GetLastError ()) + { + case ERROR_TOO_MANY_OPEN_FILES: + errno = EMFILE; + break; + case ERROR_INVALID_HANDLE: + case ERROR_INVALID_TARGET_HANDLE: + case ERROR_DIRECT_ACCESS_HANDLE: + errno = EBADF; + break; + case ERROR_INVALID_PARAMETER: + case ERROR_INVALID_FUNCTION: + case ERROR_INVALID_ACCESS: + errno = EINVAL; + break; + default: + errno = EACCES; + break; + } result = -1; break; } @@ -100,7 +115,6 @@ dupfd (int oldfd, int newfd, int flags) if (duplicated_fd < 0) { CloseHandle (new_handle); - errno = EMFILE; result = -1; break; } diff --git a/gnu/fcntl.in.h b/gnu/fcntl.in.h index 8a1668c3..e2880185 100644 --- a/gnu/fcntl.in.h +++ b/gnu/fcntl.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Like , but with non-working flags defined to 0. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -36,7 +34,7 @@ extern "C" { ... } block, which leads to errors in C++ mode with the overridden from gnulib. These errors are known to be gone with g++ version >= 4.3. */ -#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) +#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && (defined __ICC || !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))) # include #endif #@INCLUDE_NEXT@ @NEXT_FCNTL_H@ @@ -55,7 +53,7 @@ extern "C" { ... } block, which leads to errors in C++ mode with the overridden from gnulib. These errors are known to be gone with g++ version >= 4.3. */ -#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) +#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && (defined __ICC || !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))) # include #endif /* The include_next requires a split double-inclusion guard. */ @@ -188,6 +186,22 @@ _GL_WARN_ON_USE (openat, "openat is not portable - " /* Fix up the O_* macros. */ +/* AIX 7.1 with XL C 12.1 defines O_CLOEXEC, O_NOFOLLOW, and O_TTY_INIT + to values outside 'int' range, so omit these misdefinitions. + But avoid namespace pollution on non-AIX systems. */ +#ifdef _AIX +# include +# if defined O_CLOEXEC && ! (INT_MIN <= O_CLOEXEC && O_CLOEXEC <= INT_MAX) +# undef O_CLOEXEC +# endif +# if defined O_NOFOLLOW && ! (INT_MIN <= O_NOFOLLOW && O_NOFOLLOW <= INT_MAX) +# undef O_NOFOLLOW +# endif +# if defined O_TTY_INIT && ! (INT_MIN <= O_TTY_INIT && O_TTY_INIT <= INT_MAX) +# undef O_TTY_INIT +# endif +#endif + #if !defined O_DIRECT && defined O_DIRECTIO /* Tru64 spells it 'O_DIRECTIO'. */ # define O_DIRECT O_DIRECTIO diff --git a/gnu/fd-hook.c b/gnu/fd-hook.c index 8b1688cd..b1488c4c 100644 --- a/gnu/fd-hook.c +++ b/gnu/fd-hook.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Hook for making making file descriptor functions close(), ioctl() extensible. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2009. This program is free software: you can redistribute it and/or modify it diff --git a/gnu/fd-hook.h b/gnu/fd-hook.h index 30f352b4..bdb9aefe 100644 --- a/gnu/fd-hook.h +++ b/gnu/fd-hook.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Hook for making making file descriptor functions close(), ioctl() extensible. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published diff --git a/gnu/fd-safer.c b/gnu/fd-safer.c index 7dcd9cf4..6c1fb2b6 100644 --- a/gnu/fd-safer.c +++ b/gnu/fd-safer.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Return a safer copy of a file descriptor. - Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/fdopendir.c b/gnu/fdopendir.c index cd08665a..837a8219 100644 --- a/gnu/fdopendir.c +++ b/gnu/fdopendir.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* provide a replacement fdopendir function - Copyright (C) 2004-2014 Free Software Foundation, Inc. + Copyright (C) 2004-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -95,7 +93,7 @@ fdopendir (int fd) That way, barring race conditions, fd_clone_opendir returns a stream whose file descriptor is FD. - If REPLACE_CHDIR or CWD is null, use opendir ("/proc/self/fd/...", + If REPLACE_FCHDIR or CWD is null, use opendir ("/proc/self/fd/...", falling back on fchdir metadata. Otherwise, CWD is a saved version of the working directory; use fchdir/opendir(".")/restore_cwd(CWD). */ static DIR * @@ -158,7 +156,16 @@ fd_clone_opendir (int fd, struct saved_cwd const *cwd) if (! dir && EXPECTED_ERRNO (saved_errno)) { char const *name = _gl_directory_name (fd); - return (name ? opendir (name) : NULL); + DIR *dp = name ? opendir (name) : NULL; + + /* The caller has done an elaborate dance to arrange for opendir to + consume just the right file descriptor. If dirfd returns -1, + though, we're on a system like mingw where opendir does not + consume a file descriptor. Consume it via 'dup' instead. */ + if (dp && dirfd (dp) < 0) + dup (fd); + + return dp; } # endif errno = saved_errno; diff --git a/gnu/fdutimensat.c b/gnu/fdutimensat.c index d761ad1b..739507b5 100644 --- a/gnu/fdutimensat.c +++ b/gnu/fdutimensat.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Set file access and modification times. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/gnu/file-has-acl.c b/gnu/file-has-acl.c index 946ff2d0..b78a8793 100644 --- a/gnu/file-has-acl.c +++ b/gnu/file-has-acl.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Test whether a file has a nontrivial access control list. - Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,465 +29,49 @@ #include "acl-internal.h" +#if GETXATTR_WITH_POSIX_ACLS +# include +# include +#endif -#if USE_ACL && HAVE_ACL_GET_FILE - -# if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ - -/* ACL is an ACL, from a file, stored as type ACL_TYPE_EXTENDED. - Return 1 if the given ACL is non-trivial. - Return 0 if it is trivial. */ -int -acl_extended_nontrivial (acl_t acl) -{ - /* acl is non-trivial if it is non-empty. */ - return (acl_entries (acl) > 0); -} - -# else /* Linux, FreeBSD, IRIX, Tru64 */ +/* Return 1 if NAME has a nontrivial access control list, + 0 if ACLs are not supported, or if NAME has no or only a base ACL, + and -1 (setting errno) on error. Note callers can determine + if ACLs are not supported as errno is set in that case also. + SB must be set to the stat buffer of NAME, + obtained through stat() or lstat(). */ -/* ACL is an ACL, from a file, stored as type ACL_TYPE_ACCESS. - Return 1 if the given ACL is non-trivial. - Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. - Return -1 and set errno upon failure to determine it. */ int -acl_access_nontrivial (acl_t acl) +file_has_acl (char const *name, struct stat const *sb) { - /* acl is non-trivial if it has some entries other than for "user::", - "group::", and "other::". Normally these three should be present - at least, allowing us to write - return (3 < acl_entries (acl)); - but the following code is more robust. */ -# if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD */ - - acl_entry_t ace; - int got_one; - - for (got_one = acl_get_entry (acl, ACL_FIRST_ENTRY, &ace); - got_one > 0; - got_one = acl_get_entry (acl, ACL_NEXT_ENTRY, &ace)) +#if USE_ACL + if (! S_ISLNK (sb->st_mode)) { - acl_tag_t tag; - if (acl_get_tag_type (ace, &tag) < 0) - return -1; - if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ || tag == ACL_OTHER)) - return 1; - } - return got_one; -# elif HAVE_ACL_TO_SHORT_TEXT /* IRIX */ - /* Don't use acl_get_entry: it is undocumented. */ +# if GETXATTR_WITH_POSIX_ACLS - int count = acl->acl_cnt; - int i; - - for (i = 0; i < count; i++) - { - acl_entry_t ace = &acl->acl_entry[i]; - acl_tag_t tag = ace->ae_tag; + ssize_t ret; - if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ - || tag == ACL_OTHER_OBJ)) + ret = getxattr (name, XATTR_NAME_POSIX_ACL_ACCESS, NULL, 0); + if (ret < 0 && errno == ENODATA) + ret = 0; + else if (ret > 0) return 1; - } - return 0; - -# elif HAVE_ACL_FREE_TEXT /* Tru64 */ - /* Don't use acl_get_entry: it takes only one argument and does not work. */ - - int count = acl->acl_num; - acl_entry_t ace; - for (ace = acl->acl_first; count > 0; ace = ace->next, count--) - { - acl_tag_t tag; - acl_perm_t perm; - - tag = ace->entry->acl_type; - if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ || tag == ACL_OTHER)) - return 1; - - perm = ace->entry->acl_perm; - /* On Tru64, perm can also contain non-standard bits such as - PERM_INSERT, PERM_DELETE, PERM_MODIFY, PERM_LOOKUP, ... */ - if ((perm & ~(ACL_READ | ACL_WRITE | ACL_EXECUTE)) != 0) - return 1; - } - return 0; - -# else - - errno = ENOSYS; - return -1; -# endif -} - -# endif - - -#elif USE_ACL && HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ - -/* Test an ACL retrieved with GETACL. - Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. - Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ -int -acl_nontrivial (int count, aclent_t *entries) -{ - int i; - - for (i = 0; i < count; i++) - { - aclent_t *ace = &entries[i]; - - /* Note: If ace->a_type = USER_OBJ, ace->a_id is the st_uid from stat(). - If ace->a_type = GROUP_OBJ, ace->a_id is the st_gid from stat(). - We don't need to check ace->a_id in these cases. */ - if (!(ace->a_type == USER_OBJ - || ace->a_type == GROUP_OBJ - || ace->a_type == OTHER_OBJ - /* Note: Cygwin does not return a CLASS_OBJ ("mask:") entry - sometimes. */ - || ace->a_type == CLASS_OBJ)) - return 1; - } - return 0; -} - -# ifdef ACE_GETACL - -/* A shortcut for a bitmask. */ -# define NEW_ACE_WRITEA_DATA (NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA) - -/* Test an ACL retrieved with ACE_GETACL. - Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. - Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ -int -acl_ace_nontrivial (int count, ace_t *entries) -{ - int i; - - /* The flags in the ace_t structure changed in a binary incompatible way - when ACL_NO_TRIVIAL etc. were introduced in version 1.15. - How to distinguish the two conventions at runtime? - In the old convention, usually three ACEs have a_flags = ACE_OWNER / - ACE_GROUP / ACE_OTHER, in the range 0x0100..0x0400. In the new - convention, these values are not used. */ - int old_convention = 0; - - for (i = 0; i < count; i++) - if (entries[i].a_flags & (OLD_ACE_OWNER | OLD_ACE_GROUP | OLD_ACE_OTHER)) - { - old_convention = 1; - break; - } - - if (old_convention) - /* Running on Solaris 10. */ - for (i = 0; i < count; i++) - { - ace_t *ace = &entries[i]; - - /* Note: - If ace->a_flags = ACE_OWNER, ace->a_who is the st_uid from stat(). - If ace->a_flags = ACE_GROUP, ace->a_who is the st_gid from stat(). - We don't need to check ace->a_who in these cases. */ - if (!(ace->a_type == OLD_ALLOW - && (ace->a_flags == OLD_ACE_OWNER - || ace->a_flags == OLD_ACE_GROUP - || ace->a_flags == OLD_ACE_OTHER))) - return 1; - } - else - { - /* Running on Solaris 10 (newer version) or Solaris 11. */ - unsigned int access_masks[6] = - { - 0, /* owner@ deny */ - 0, /* owner@ allow */ - 0, /* group@ deny */ - 0, /* group@ allow */ - 0, /* everyone@ deny */ - 0 /* everyone@ allow */ - }; - - for (i = 0; i < count; i++) + if (ret == 0 && S_ISDIR (sb->st_mode)) { - ace_t *ace = &entries[i]; - unsigned int index1; - unsigned int index2; - - if (ace->a_type == NEW_ACE_ACCESS_ALLOWED_ACE_TYPE) - index1 = 1; - else if (ace->a_type == NEW_ACE_ACCESS_DENIED_ACE_TYPE) - index1 = 0; - else + ret = getxattr (name, XATTR_NAME_POSIX_ACL_DEFAULT, NULL, 0); + if (ret < 0 && errno == ENODATA) + ret = 0; + else if (ret > 0) return 1; - - if (ace->a_flags == NEW_ACE_OWNER) - index2 = 0; - else if (ace->a_flags == (NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP)) - index2 = 2; - else if (ace->a_flags == NEW_ACE_EVERYONE) - index2 = 4; - else - return 1; - - access_masks[index1 + index2] |= ace->a_access_mask; - } - - /* The same bit shouldn't be both allowed and denied. */ - if (access_masks[0] & access_masks[1]) - return 1; - if (access_masks[2] & access_masks[3]) - return 1; - if (access_masks[4] & access_masks[5]) - return 1; - - /* Check minimum masks. */ - if ((NEW_ACE_WRITE_NAMED_ATTRS - | NEW_ACE_WRITE_ATTRIBUTES - | NEW_ACE_WRITE_ACL - | NEW_ACE_WRITE_OWNER) - & ~ access_masks[1]) - return 1; - access_masks[1] &= ~(NEW_ACE_WRITE_NAMED_ATTRS - | NEW_ACE_WRITE_ATTRIBUTES - | NEW_ACE_WRITE_ACL - | NEW_ACE_WRITE_OWNER); - if ((NEW_ACE_READ_NAMED_ATTRS - | NEW_ACE_READ_ATTRIBUTES - | NEW_ACE_READ_ACL - | NEW_ACE_SYNCHRONIZE) - & ~ access_masks[5]) - return 1; - access_masks[5] &= ~(NEW_ACE_READ_NAMED_ATTRS - | NEW_ACE_READ_ATTRIBUTES - | NEW_ACE_READ_ACL - | NEW_ACE_SYNCHRONIZE); - - /* Check the allowed or denied bits. */ - switch ((access_masks[0] | access_masks[1]) - & ~(NEW_ACE_READ_NAMED_ATTRS - | NEW_ACE_READ_ATTRIBUTES - | NEW_ACE_READ_ACL - | NEW_ACE_SYNCHRONIZE)) - { - case 0: - case NEW_ACE_READ_DATA: - case NEW_ACE_WRITEA_DATA: - case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA: - case NEW_ACE_EXECUTE: - case NEW_ACE_READ_DATA | NEW_ACE_EXECUTE: - case NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: - case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: - break; - default: - return 1; - } - switch ((access_masks[2] | access_masks[3]) - & ~(NEW_ACE_READ_NAMED_ATTRS - | NEW_ACE_READ_ATTRIBUTES - | NEW_ACE_READ_ACL - | NEW_ACE_SYNCHRONIZE)) - { - case 0: - case NEW_ACE_READ_DATA: - case NEW_ACE_WRITEA_DATA: - case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA: - case NEW_ACE_EXECUTE: - case NEW_ACE_READ_DATA | NEW_ACE_EXECUTE: - case NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: - case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: - break; - default: - return 1; - } - switch ((access_masks[4] | access_masks[5]) - & ~(NEW_ACE_WRITE_NAMED_ATTRS - | NEW_ACE_WRITE_ATTRIBUTES - | NEW_ACE_WRITE_ACL - | NEW_ACE_WRITE_OWNER)) - { - case 0: - case NEW_ACE_READ_DATA: - case NEW_ACE_WRITEA_DATA: - case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA: - case NEW_ACE_EXECUTE: - case NEW_ACE_READ_DATA | NEW_ACE_EXECUTE: - case NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: - case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: - break; - default: - return 1; } - /* Check that the NEW_ACE_WRITE_DATA and NEW_ACE_APPEND_DATA bits are - either both allowed or both denied. */ - if (((access_masks[0] & NEW_ACE_WRITE_DATA) != 0) - != ((access_masks[0] & NEW_ACE_APPEND_DATA) != 0)) - return 1; - if (((access_masks[2] & NEW_ACE_WRITE_DATA) != 0) - != ((access_masks[2] & NEW_ACE_APPEND_DATA) != 0)) - return 1; - if (((access_masks[4] & NEW_ACE_WRITE_DATA) != 0) - != ((access_masks[4] & NEW_ACE_APPEND_DATA) != 0)) - return 1; - } - - return 0; -} - -# endif - -#elif USE_ACL && HAVE_GETACL /* HP-UX */ - -/* Return 1 if the given ACL is non-trivial. - Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ -int -acl_nontrivial (int count, struct acl_entry *entries, struct stat *sb) -{ - int i; - - for (i = 0; i < count; i++) - { - struct acl_entry *ace = &entries[i]; - - if (!((ace->uid == sb->st_uid && ace->gid == ACL_NSGROUP) - || (ace->uid == ACL_NSUSER && ace->gid == sb->st_gid) - || (ace->uid == ACL_NSUSER && ace->gid == ACL_NSGROUP))) - return 1; - } - return 0; -} - -# if HAVE_ACLV_H /* HP-UX >= 11.11 */ - -/* Return 1 if the given ACL is non-trivial. - Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ -int -aclv_nontrivial (int count, struct acl *entries) -{ - int i; - - for (i = 0; i < count; i++) - { - struct acl *ace = &entries[i]; - - /* Note: If ace->a_type = USER_OBJ, ace->a_id is the st_uid from stat(). - If ace->a_type = GROUP_OBJ, ace->a_id is the st_gid from stat(). - We don't need to check ace->a_id in these cases. */ - if (!(ace->a_type == USER_OBJ /* no need to check ace->a_id here */ - || ace->a_type == GROUP_OBJ /* no need to check ace->a_id here */ - || ace->a_type == CLASS_OBJ - || ace->a_type == OTHER_OBJ)) - return 1; - } - return 0; -} - -# endif - -#elif USE_ACL && (HAVE_ACLX_GET || HAVE_STATACL) /* AIX */ - -/* Return 1 if the given ACL is non-trivial. - Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ -int -acl_nontrivial (struct acl *a) -{ - /* The normal way to iterate through an ACL is like this: - struct acl_entry *ace; - for (ace = a->acl_ext; ace != acl_last (a); ace = acl_nxt (ace)) - { - struct ace_id *aei; - switch (ace->ace_type) - { - case ACC_PERMIT: - case ACC_DENY: - case ACC_SPECIFY: - ...; - } - for (aei = ace->ace_id; aei != id_last (ace); aei = id_nxt (aei)) - ... - } - */ - return (acl_last (a) != a->acl_ext ? 1 : 0); -} - -# if HAVE_ACLX_GET && defined ACL_AIX_WIP /* newer AIX */ - -/* Return 1 if the given ACL is non-trivial. - Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ -int -acl_nfs4_nontrivial (nfs4_acl_int_t *a) -{ -# if 1 /* let's try this first */ - return (a->aclEntryN > 0 ? 1 : 0); -# else - int count = a->aclEntryN; - int i; - - for (i = 0; i < count; i++) - { - nfs4_ace_int_t *ace = &a->aclEntry[i]; - - if (!((ace->flags & ACE4_ID_SPECIAL) != 0 - && (ace->aceWho.special_whoid == ACE4_WHO_OWNER - || ace->aceWho.special_whoid == ACE4_WHO_GROUP - || ace->aceWho.special_whoid == ACE4_WHO_EVERYONE) - && ace->aceType == ACE4_ACCESS_ALLOWED_ACE_TYPE - && ace->aceFlags == 0 - && (ace->aceMask & ~(ACE4_READ_DATA | ACE4_LIST_DIRECTORY - | ACE4_WRITE_DATA | ACE4_ADD_FILE - | ACE4_EXECUTE)) == 0)) - return 1; - } - return 0; -# endif -} - -# endif - -#elif USE_ACL && HAVE_ACLSORT /* NonStop Kernel */ - -/* Test an ACL retrieved with ACL_GET. - Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. - Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ -int -acl_nontrivial (int count, struct acl *entries) -{ - int i; - - for (i = 0; i < count; i++) - { - struct acl *ace = &entries[i]; - - /* Note: If ace->a_type = USER_OBJ, ace->a_id is the st_uid from stat(). - If ace->a_type = GROUP_OBJ, ace->a_id is the st_gid from stat(). - We don't need to check ace->a_id in these cases. */ - if (!(ace->a_type == USER_OBJ /* no need to check ace->a_id here */ - || ace->a_type == GROUP_OBJ /* no need to check ace->a_id here */ - || ace->a_type == CLASS_OBJ - || ace->a_type == OTHER_OBJ)) - return 1; - } - return 0; -} - -#endif - - -/* Return 1 if NAME has a nontrivial access control list, 0 if NAME - only has no or a base access control list, and -1 (setting errno) - on error. SB must be set to the stat buffer of NAME, obtained - through stat() or lstat(). */ + if (ret < 0) + return - acl_errno_valid (errno); + return ret; -int -file_has_acl (char const *name, struct stat const *sb) -{ -#if USE_ACL - if (! S_ISLNK (sb->st_mode)) - { -# if HAVE_ACL_GET_FILE +# elif HAVE_ACL_GET_FILE /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */ /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ @@ -767,7 +349,7 @@ file_has_acl (char const *name, struct stat const *sb) if (stat (name, &statbuf) < 0) return -1; - return acl_nontrivial (count, entries, &statbuf); + return acl_nontrivial (count, entries); } } } @@ -875,7 +457,7 @@ file_has_acl (char const *name, struct stat const *sb) union { struct acl a; char room[4096]; } u; - if (statacl (name, STX_NORMAL, &u.a, sizeof (u)) < 0) + if (statacl ((char *) name, STX_NORMAL, &u.a, sizeof (u)) < 0) return -1; return acl_nontrivial (&u.a); diff --git a/gnu/fileblocks.c b/gnu/fileblocks.c index 1302f2c4..27f49c04 100644 --- a/gnu/fileblocks.c +++ b/gnu/fileblocks.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert file size to number of blocks on System V-like machines. - Copyright (C) 1990, 1997-1999, 2004-2006, 2009-2014 Free Software + Copyright (C) 1990, 1997-1999, 2004-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/filename.h b/gnu/filename.h index a5806e57..45769931 100644 --- a/gnu/filename.h +++ b/gnu/filename.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Basic filename support macros. - Copyright (C) 2001-2004, 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2007-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/filenamecat-lgpl.c b/gnu/filenamecat-lgpl.c index a5cfc53c..a359a516 100644 --- a/gnu/filenamecat-lgpl.c +++ b/gnu/filenamecat-lgpl.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Concatenate two arbitrary file names. - Copyright (C) 1996-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1996-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/filenamecat.h b/gnu/filenamecat.h index b39df860..62f81b00 100644 --- a/gnu/filenamecat.h +++ b/gnu/filenamecat.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Concatenate two arbitrary file names. - Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2014 Free Software + Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/float+.h b/gnu/float+.h index 3331ee11..e6aaa922 100644 --- a/gnu/float+.h +++ b/gnu/float+.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Supplemental information about the floating-point formats. - Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2007. This program is free software; you can redistribute it and/or modify diff --git a/gnu/float.c b/gnu/float.c index 95c02ec0..dac9f88e 100644 --- a/gnu/float.c +++ b/gnu/float.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Auxiliary definitions for . - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify diff --git a/gnu/float.in.h b/gnu/float.in.h index 2ddca7cc..3bb38264 100644 --- a/gnu/float.in.h +++ b/gnu/float.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A correct . - Copyright (C) 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2007-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/fnmatch.c b/gnu/fnmatch.c index 47bea305..f4a9e7c6 100644 --- a/gnu/fnmatch.c +++ b/gnu/fnmatch.c @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991-1993, 1996-2007, 2009-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-1993, 1996-2007, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/fnmatch.in.h b/gnu/fnmatch.in.h index 4f0aae48..eb5815a0 100644 --- a/gnu/fnmatch.in.h +++ b/gnu/fnmatch.in.h @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2014 Free +/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/gnu/fnmatch_loop.c b/gnu/fnmatch_loop.c index d298431f..61778bdd 100644 --- a/gnu/fnmatch_loop.c +++ b/gnu/fnmatch_loop.c @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991-1993, 1996-2006, 2009-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-1993, 1996-2006, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify diff --git a/gnu/fpending.c b/gnu/fpending.c index 02b844fb..c4b4a519 100644 --- a/gnu/fpending.c +++ b/gnu/fpending.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* fpending.c -- return the number of pending output bytes on a stream - Copyright (C) 2000, 2004, 2006-2007, 2009-2014 Free Software Foundation, + Copyright (C) 2000, 2004, 2006-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/fpending.h b/gnu/fpending.h index 53fe5ac7..5a1b2ad9 100644 --- a/gnu/fpending.h +++ b/gnu/fpending.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Declare __fpending. - Copyright (C) 2000, 2003, 2005-2006, 2009-2014 Free Software Foundation, + Copyright (C) 2000, 2003, 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/fprintftime.c b/gnu/fprintftime.c index d5a59f9c..e6eb4f20 100644 --- a/gnu/fprintftime.c +++ b/gnu/fprintftime.c @@ -1,4 +1,2 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #define FPRINTFTIME 1 #include "strftime.c" diff --git a/gnu/fprintftime.h b/gnu/fprintftime.h index d7546c88..6f76d16a 100644 --- a/gnu/fprintftime.h +++ b/gnu/fprintftime.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Generate time strings directly to the output. */ -/* Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc. +/* Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,7 +23,7 @@ large buffer that nstrftime would require. Output to stream FP the result of formatting (according to the - nstrftime format string, FMT) the time data, *TM, and the UTC + nstrftime format string, FMT) the time data, *TM, and the ZONE and NANOSECONDS values. */ size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm, - int utc, int nanoseconds); + timezone_t zone, int nanoseconds); diff --git a/gnu/fseek.c b/gnu/fseek.c index 77efd292..0d2e3067 100644 --- a/gnu/fseek.c +++ b/gnu/fseek.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An fseek() function that, together with fflush(), is POSIX compliant. - Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/fseeko.c b/gnu/fseeko.c index 2b204ffe..1c65d2a8 100644 --- a/gnu/fseeko.c +++ b/gnu/fseeko.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An fseeko() function that, together with fflush(), is POSIX compliant. - Copyright (C) 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2007-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -53,7 +51,8 @@ fseeko (FILE *fp, off_t offset, int whence) if (fp->_IO_read_end == fp->_IO_read_ptr && fp->_IO_write_ptr == fp->_IO_write_base && fp->_IO_save_base == NULL) -#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ +#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ # if defined __SL64 && defined __SCLE /* Cygwin */ if ((fp->_flags & __SL64) == 0) { @@ -117,7 +116,8 @@ fseeko (FILE *fp, off_t offset, int whence) off_t pos = lseek (fileno (fp), offset, whence); if (pos == -1) { -#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ +#if defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ fp_->_flags &= ~__SOFF; #endif return -1; @@ -126,8 +126,9 @@ fseeko (FILE *fp, off_t offset, int whence) #if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ fp->_flags &= ~_IO_EOF_SEEN; fp->_offset = pos; -#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ -# if defined __CYGWIN__ +#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ +# if defined __CYGWIN__ || (defined __NetBSD__ && __NetBSD_Version__ >= 600000000) /* fp_->_offset is typed as an integer. */ fp_->_offset = pos; # else diff --git a/gnu/fstat.c b/gnu/fstat.c index eddda7f5..7a0521fa 100644 --- a/gnu/fstat.c +++ b/gnu/fstat.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* fstat() replacement. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/fstatat.c b/gnu/fstatat.c index 77f52599..6a9e8623 100644 --- a/gnu/fstatat.c +++ b/gnu/fstatat.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Work around an fstatat bug on Solaris 9. - Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/full-write.c b/gnu/full-write.c index a834f369..027f77ad 100644 --- a/gnu/full-write.c +++ b/gnu/full-write.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An interface to read and write that retries (if necessary) until complete. - Copyright (C) 1993-1994, 1997-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1993-1994, 1997-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/full-write.h b/gnu/full-write.h index 48a0ee59..b32b53d9 100644 --- a/gnu/full-write.h +++ b/gnu/full-write.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An interface to write() that writes all it is asked to write. - Copyright (C) 2002-2003, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/futimens.c b/gnu/futimens.c index a70f22cc..b729babb 100644 --- a/gnu/futimens.c +++ b/gnu/futimens.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Set the access and modification time of an open fd. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/get-permissions.c b/gnu/get-permissions.c new file mode 100644 index 00000000..459513c9 --- /dev/null +++ b/gnu/get-permissions.c @@ -0,0 +1,291 @@ +/* get-permissions.c - get permissions of a file + + Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */ + +#include + +#include +#include "acl.h" + +#include "acl-internal.h" + +/* Read the permissions of a file into CTX. If DESC is a valid file descriptor, + use file descriptor operations, else use filename based operations on NAME. + MODE is the file mode obtained from a previous stat call. + Return 0 if successful. Return -1 and set errno upon failure. */ + +int +get_permissions (const char *name, int desc, mode_t mode, + struct permission_context *ctx) +{ + memset (ctx, 0, sizeof *ctx); + ctx->mode = mode; + +#if USE_ACL && HAVE_ACL_GET_FILE + /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */ + /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ +# if !HAVE_ACL_TYPE_EXTENDED + /* Linux, FreeBSD, IRIX, Tru64 */ + + if (HAVE_ACL_GET_FD && desc != -1) + ctx->acl = acl_get_fd (desc); + else + ctx->acl = acl_get_file (name, ACL_TYPE_ACCESS); + if (ctx->acl == NULL) + return acl_errno_valid (errno) ? -1 : 0; + + /* With POSIX ACLs, a file cannot have "no" acl; a file without + extended permissions has a "minimal" acl which is equivalent to the + file mode. */ + + if (S_ISDIR (mode)) + { + ctx->default_acl = acl_get_file (name, ACL_TYPE_DEFAULT); + if (ctx->default_acl == NULL) + return -1; + } + +# if HAVE_ACL_TYPE_NFS4 /* FreeBSD */ + + /* TODO (see set_permissions). */ + +# endif + +# else /* HAVE_ACL_TYPE_EXTENDED */ + /* Mac OS X */ + + /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS) + and acl_get_file (name, ACL_TYPE_DEFAULT) + always return NULL / EINVAL. You have to use + acl_get_file (name, ACL_TYPE_EXTENDED) + or acl_get_fd (open (name, ...)) + to retrieve an ACL. + On the other hand, + acl_set_file (name, ACL_TYPE_ACCESS, acl) + and acl_set_file (name, ACL_TYPE_DEFAULT, acl) + have the same effect as + acl_set_file (name, ACL_TYPE_EXTENDED, acl): + Each of these calls sets the file's ACL. */ + + if (HAVE_ACL_GET_FD && desc != -1) + ctx->acl = acl_get_fd (desc); + else + ctx->acl = acl_get_file (name, ACL_TYPE_EXTENDED); + if (ctx->acl == NULL) + return acl_errno_valid (errno) ? -1 : 0; + +# endif + +#elif USE_ACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ + + /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions + of Unixware. The acl() call returns the access and default ACL both + at once. */ +# ifdef ACE_GETACL + /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4 + file systems (whereas the other ones are used in UFS file systems). + There is an API + pathconf (name, _PC_ACL_ENABLED) + fpathconf (desc, _PC_ACL_ENABLED) + that allows to determine which of the two kinds of ACLs is supported + for the given file. But some file systems may implement this call + incorrectly, so better not use it. + When fetching the source ACL, we simply fetch both ACL types. + When setting the destination ACL, we try either ACL types, assuming + that the kernel will translate the ACL from one form to the other. + (See in + the description of ENOTSUP.) */ + for (;;) + { + int ret; + + if (desc != -1) + ret = facl (desc, ACE_GETACLCNT, 0, NULL); + else + ret = acl (name, ACE_GETACLCNT, 0, NULL); + if (ret < 0) + { + if (errno == ENOSYS || errno == EINVAL) + ret = 0; + else + return -1; + } + ctx->ace_count = ret; + + if (ctx->ace_count == 0) + break; + + ctx->ace_entries = (ace_t *) malloc (ctx->ace_count * sizeof (ace_t)); + if (ctx->ace_entries == NULL) + { + errno = ENOMEM; + return -1; + } + + if (desc != -1) + ret = facl (desc, ACE_GETACL, ctx->ace_count, ctx->ace_entries); + else + ret = acl (name, ACE_GETACL, ctx->ace_count, ctx->ace_entries); + if (ret < 0) + { + if (errno == ENOSYS || errno == EINVAL) + { + free (ctx->ace_entries); + ctx->ace_entries = NULL; + ctx->ace_count = 0; + break; + } + else + return -1; + } + if (ret <= ctx->ace_count) + { + ctx->ace_count = ret; + break; + } + /* Huh? The number of ACL entries has increased since the last call. + Repeat. */ + free (ctx->ace_entries); + ctx->ace_entries = NULL; + } +# endif + + for (;;) + { + int ret; + + if (desc != -1) + ret = facl (desc, GETACLCNT, 0, NULL); + else + ret = acl (name, GETACLCNT, 0, NULL); + if (ret < 0) + { + if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP) + ret = 0; + else + return -1; + } + ctx->count = ret; + + if (ctx->count == 0) + break; + + ctx->entries = (aclent_t *) malloc (ctx->count * sizeof (aclent_t)); + if (ctx->entries == NULL) + { + errno = ENOMEM; + return -1; + } + + if (desc != -1) + ret = facl (desc, GETACL, ctx->count, ctx->entries); + else + ret = acl (name, GETACL, ctx->count, ctx->entries); + if (ret < 0) + { + if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP) + { + free (ctx->entries); + ctx->entries = NULL; + ctx->count = 0; + break; + } + else + return -1; + } + if (ret <= ctx->count) + { + ctx->count = ret; + break; + } + /* Huh? The number of ACL entries has increased since the last call. + Repeat. */ + free (ctx->entries); + ctx->entries = NULL; + } + +#elif USE_ACL && HAVE_GETACL /* HP-UX */ + + { + int ret; + + if (desc != -1) + ret = fgetacl (desc, NACLENTRIES, ctx->entries); + else + ret = getacl (name, NACLENTRIES, ctx->entries); + if (ret < 0) + { + if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP) + ret = 0; + else + return -1; + } + else if (ret > NACLENTRIES) + /* If NACLENTRIES cannot be trusted, use dynamic memory allocation. */ + abort (); + ctx->count = ret; + +# if HAVE_ACLV_H + ret = acl ((char *) name, ACL_GET, NACLVENTRIES, ctx->aclv_entries); + if (ret < 0) + { + if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL) + ret = 0; + else + return -2; + } + else if (ret > NACLVENTRIES) + /* If NACLVENTRIES cannot be trusted, use dynamic memory allocation. */ + abort (); + ctx->aclv_count = ret; +# endif + } + +#elif USE_ACL && HAVE_ACLX_GET && ACL_AIX_WIP /* AIX */ + + /* TODO (see set_permissions). */ + +#elif USE_ACL && HAVE_STATACL /* older AIX */ + + { + int ret; + if (desc != -1) + ret = fstatacl (desc, STX_NORMAL, &ctx->u.a, sizeof ctx->u); + else + ret = statacl ((char *) name, STX_NORMAL, &ctx->u.a, sizeof ctx->u); + if (ret == 0) + ctx->have_u = true; + } + +#elif USE_ACL && HAVE_ACLSORT /* NonStop Kernel */ + + { + int ret = acl ((char *) name, ACL_GET, NACLENTRIES, ctx->entries); + if (ret < 0) + return -1; + else if (ret > NACLENTRIES) + /* If NACLENTRIES cannot be trusted, use dynamic memory allocation. */ + abort (); + ctx->count = ret; + } + +#endif + + return 0; + +} diff --git a/gnu/getcwd-lgpl.c b/gnu/getcwd-lgpl.c index 8d304f11..1e17e193 100644 --- a/gnu/getcwd-lgpl.c +++ b/gnu/getcwd-lgpl.c @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 2011-2014 Free Software Foundation, Inc. +/* Copyright (C) 2011-2015 Free Software Foundation, Inc. This file is part of gnulib. This program is free software: you can redistribute it and/or modify diff --git a/gnu/getcwd.c b/gnu/getcwd.c index e8f371e6..db5279db 100644 --- a/gnu/getcwd.c +++ b/gnu/getcwd.c @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991-1999, 2004-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-1999, 2004-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify @@ -95,8 +93,12 @@ FIXME - if the kernel ever adds support for multi-thread safety for avoiding standard fds, then we should use opendir_safer and openat_safer. */ -#undef opendir -#undef closedir +#ifdef GNULIB_defined_opendir +# undef opendir +#endif +#ifdef GNULIB_defined_closedir +# undef closedir +#endif /* Get the name of the current working directory, and put it in SIZE bytes of BUF. Returns NULL if the directory couldn't be determined or diff --git a/gnu/getdelim.c b/gnu/getdelim.c index 3d47c9d4..88258e55 100644 --- a/gnu/getdelim.c +++ b/gnu/getdelim.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* getdelim.c --- Implementation of replacement getdelim function. - Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2014 Free Software + Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or diff --git a/gnu/getdtablesize.c b/gnu/getdtablesize.c index 8c026873..03eb7ef1 100644 --- a/gnu/getdtablesize.c +++ b/gnu/getdtablesize.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* getdtablesize() function for platforms that don't have it. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -86,24 +84,38 @@ getdtablesize (void) return dtablesize; } -#elif HAVE_GETDTABLESIZE +#else +# include # include -# undef getdtablesize + +# ifndef RLIM_SAVED_CUR +# define RLIM_SAVED_CUR RLIM_INFINITY +# endif +# ifndef RLIM_SAVED_MAX +# define RLIM_SAVED_MAX RLIM_INFINITY +# endif + +# ifdef __CYGWIN__ + /* Cygwin 1.7.25 auto-increases the RLIMIT_NOFILE soft limit until it + hits the compile-time constant hard limit of 3200. We might as + well just report the hard limit. */ +# define rlim_cur rlim_max +# endif int -rpl_getdtablesize(void) +getdtablesize (void) { - /* To date, this replacement is only compiled for Cygwin 1.7.25, - which auto-increased the RLIMIT_NOFILE soft limit until it - hits the compile-time constant hard limit of 3200. Although - that version of cygwin supported a child process inheriting - a smaller soft limit, the smaller limit is not enforced, so - we might as well just report the hard limit. */ struct rlimit lim; - if (!getrlimit (RLIMIT_NOFILE, &lim) && lim.rlim_max != RLIM_INFINITY) - return lim.rlim_max; - return getdtablesize (); + + if (getrlimit (RLIMIT_NOFILE, &lim) == 0 + && 0 <= lim.rlim_cur && lim.rlim_cur <= INT_MAX + && lim.rlim_cur != RLIM_INFINITY + && lim.rlim_cur != RLIM_SAVED_CUR + && lim.rlim_cur != RLIM_SAVED_MAX) + return lim.rlim_cur; + + return INT_MAX; } #endif diff --git a/gnu/getfilecon.c b/gnu/getfilecon.c index 80d6fb21..ef6adc8d 100644 --- a/gnu/getfilecon.c +++ b/gnu/getfilecon.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* wrap getfilecon, lgetfilecon, and fgetfilecon - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -59,6 +57,7 @@ map_to_failure (int ret, security_context_t *con) if (ret == 10 && strcmp (*con, "unlabeled") == 0) { freecon (*con); + *con = NULL; errno = ENODATA; return -1; } diff --git a/gnu/getgroups.c b/gnu/getgroups.c index 16ba7218..5563dfb4 100644 --- a/gnu/getgroups.c +++ b/gnu/getgroups.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* provide consistent interface to getgroups for systems that don't allow N==0 - Copyright (C) 1996, 1999, 2003, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 1996, 1999, 2003, 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/getline.c b/gnu/getline.c index f5b0cebf..811c773d 100644 --- a/gnu/getline.c +++ b/gnu/getline.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* getline.c --- Implementation of replacement getline function. - Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as diff --git a/gnu/getopt.c b/gnu/getopt.c index 2b041f6a..212cbf73 100644 --- a/gnu/getopt.c +++ b/gnu/getopt.c @@ -1,10 +1,8 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Getopt for GNU. NOTE: getopt is part of the C library, so if you don't know what "Keep this file name-space clean" means, talk to drepper@gnu.org before changing it! - Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2014 Free Software + Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -489,7 +487,20 @@ _getopt_internal_r (int argc, char **argv, const char *optstring, const struct option *p; struct option_list *next; } *ambig_list = NULL; +#ifdef _LIBC +/* malloc() not used for _LIBC to simplify failure messages. */ +# define free_option_list(l) +#else +# define free_option_list(l) \ + while (l != NULL) \ + { \ + struct option_list *pn = l->next; \ + free (l); \ + l = pn; \ + } +#endif int exact = 0; + int ambig = 0; int indfound = -1; int option_index; @@ -516,22 +527,37 @@ _getopt_internal_r (int argc, char **argv, const char *optstring, pfound = p; indfound = option_index; } + else if (ambig) + ; /* Taking simpler path to handling ambiguities. */ else if (long_only || pfound->has_arg != p->has_arg || pfound->flag != p->flag || pfound->val != p->val) { /* Second or later nonexact match found. */ +#ifdef _LIBC + struct option_list *newp = alloca (sizeof (*newp)); +#else struct option_list *newp = malloc (sizeof (*newp)); - newp->p = p; - newp->next = ambig_list; - ambig_list = newp; + if (newp == NULL) + { + free_option_list (ambig_list); + ambig_list = NULL; + ambig = 1; /* Use simpler fallback message. */ + } + else +#endif + { + newp->p = p; + newp->next = ambig_list; + ambig_list = newp; + } } } - if (ambig_list != NULL && !exact) + if ((ambig || ambig_list) && !exact) { - if (print_errors) + if (print_errors && ambig_list) { struct option_list first; first.p = pfound; @@ -587,18 +613,20 @@ _getopt_internal_r (int argc, char **argv, const char *optstring, fputc ('\n', stderr); #endif } + else if (print_errors && ambig) + { + fprintf (stderr, + _("%s: option '%s' is ambiguous\n"), + argv[0], argv[d->optind]); + } d->__nextchar += strlen (d->__nextchar); d->optind++; d->optopt = 0; + free_option_list (ambig_list); return '?'; } - while (ambig_list != NULL) - { - struct option_list *pn = ambig_list->next; - free (ambig_list); - ambig_list = pn; - } + free_option_list (ambig_list); if (pfound != NULL) { diff --git a/gnu/getopt.in.h b/gnu/getopt.in.h index 98bc2f0a..9248f76e 100644 --- a/gnu/getopt.in.h +++ b/gnu/getopt.in.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Declarations for getopt. - Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2014 Free Software + Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/gnu/getopt1.c b/gnu/getopt1.c index af3366b9..2b1feb6e 100644 --- a/gnu/getopt1.c +++ b/gnu/getopt1.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* getopt_long and getopt_long_only entry points for GNU getopt. - Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2014 Free Software + Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/gnu/getopt_int.h b/gnu/getopt_int.h index 8ad42368..e893a6e1 100644 --- a/gnu/getopt_int.h +++ b/gnu/getopt_int.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Internal declarations for getopt. - Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2014 Free Software + Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/gnu/getpagesize.c b/gnu/getpagesize.c index cf5254ab..10e9c187 100644 --- a/gnu/getpagesize.c +++ b/gnu/getpagesize.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* getpagesize emulation for systems where it cannot be done in a C macro. - Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/gettext.h b/gnu/gettext.h index 44197664..599a14ec 100644 --- a/gnu/gettext.h +++ b/gnu/gettext.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convenience header for conditional use of GNU . - Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2014 Free Software + Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify diff --git a/gnu/gettime.c b/gnu/gettime.c index 39414c48..1c47e3b2 100644 --- a/gnu/gettime.c +++ b/gnu/gettime.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* gettime -- get the system clock - Copyright (C) 2002, 2004-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2002, 2004-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/gettimeofday.c b/gnu/gettimeofday.c index 6c6e2d0e..e0e2e696 100644 --- a/gnu/gettimeofday.c +++ b/gnu/gettimeofday.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide gettimeofday for systems that don't have it or for which it's broken. - Copyright (C) 2001-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/group-member.c b/gnu/group-member.c index 57bbda54..23074e4f 100644 --- a/gnu/group-member.c +++ b/gnu/group-member.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* group-member.c -- determine whether group id is in calling user's group list - Copyright (C) 1994, 1997-1998, 2003, 2005-2006, 2009-2014 Free Software + Copyright (C) 1994, 1997-1998, 2003, 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/hash.c b/gnu/hash.c index c90285b6..4f27d5c8 100644 --- a/gnu/hash.c +++ b/gnu/hash.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* hash - hashing table processing. - Copyright (C) 1998-2004, 2006-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1998-2004, 2006-2007, 2009-2015 Free Software Foundation, Inc. Written by Jim Meyering, 1992. @@ -1118,14 +1116,6 @@ hash_insert_if_absent (Hash_table *table, void const *entry, return 1; } -/* hash_insert0 is the deprecated name for hash_insert_if_absent. - . */ -int -hash_insert0 (Hash_table *table, void const *entry, void const **matched_ent) -{ - return hash_insert_if_absent (table, entry, matched_ent); -} - /* If ENTRY matches an entry already in the hash table, return the pointer to the entry from the table. Otherwise, insert ENTRY and return ENTRY. Return NULL if the storage required for insertion cannot be allocated. diff --git a/gnu/hash.h b/gnu/hash.h index ee887cf5..1e90c31a 100644 --- a/gnu/hash.h +++ b/gnu/hash.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* hash - hashing table processing. - Copyright (C) 1998-1999, 2001, 2003, 2009-2014 Free Software Foundation, + Copyright (C) 1998-1999, 2001, 2003, 2009-2015 Free Software Foundation, Inc. Written by Jim Meyering , 1998. @@ -98,10 +96,6 @@ void hash_free (Hash_table *); bool hash_rehash (Hash_table *, size_t) _GL_ATTRIBUTE_WUR; void *hash_insert (Hash_table *, const void *) _GL_ATTRIBUTE_WUR; -/* Deprecate this interface. It has been renamed to hash_insert_if_absent. */ -int hash_insert0 (Hash_table *table, /* FIXME: remove in 2013 */ - const void *entry, - const void **matched_ent) _GL_ATTRIBUTE_DEPRECATED; int hash_insert_if_absent (Hash_table *table, const void *entry, const void **matched_ent); void *hash_delete (Hash_table *, const void *); diff --git a/gnu/human.c b/gnu/human.c index 93051aff..7863f9c7 100644 --- a/gnu/human.c +++ b/gnu/human.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* human.c -- print human readable file size - Copyright (C) 1996-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1996-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/human.h b/gnu/human.h index a1f67b9f..464787f0 100644 --- a/gnu/human.h +++ b/gnu/human.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* human.h -- print human readable file size - Copyright (C) 1996-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1996-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/imaxtostr.c b/gnu/imaxtostr.c index 68c18a53..b91ac98c 100644 --- a/gnu/imaxtostr.c +++ b/gnu/imaxtostr.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #define anytostr imaxtostr #define inttype intmax_t #include "anytostr.c" diff --git a/gnu/intprops.h b/gnu/intprops.h index 8832000f..f85ccade 100644 --- a/gnu/intprops.h +++ b/gnu/intprops.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* intprops.h -- properties of integer types - Copyright (C) 2001-2005, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2005, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/inttostr.c b/gnu/inttostr.c index 696b03c7..c96b5ca3 100644 --- a/gnu/inttostr.c +++ b/gnu/inttostr.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #define anytostr inttostr #define inttype int #include "anytostr.c" diff --git a/gnu/inttostr.h b/gnu/inttostr.h index d79b9e9d..77818dd5 100644 --- a/gnu/inttostr.h +++ b/gnu/inttostr.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* inttostr.h -- convert integers to printable strings - Copyright (C) 2001-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/inttypes.in.h b/gnu/inttypes.in.h index 65f62d14..78846f69 100644 --- a/gnu/inttypes.in.h +++ b/gnu/inttypes.in.h @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 2006-2014 Free Software Foundation, Inc. +/* Copyright (C) 2006-2015 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Derek Price. This file is part of gnulib. @@ -53,6 +51,10 @@ #endif /* Get CHAR_BIT. */ #include +/* On mingw, __USE_MINGW_ANSI_STDIO only works if is also included */ +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# include +#endif #if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX) # error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to ." diff --git a/gnu/iswblank.c b/gnu/iswblank.c index 543df062..94be1159 100644 --- a/gnu/iswblank.c +++ b/gnu/iswblank.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Test wide character for being blank. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/itold.c b/gnu/itold.c index d5e44ddb..1eee03e3 100644 --- a/gnu/itold.c +++ b/gnu/itold.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Replacement for 'int' to 'long double' conversion routine. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify diff --git a/gnu/langinfo.in.h b/gnu/langinfo.in.h index 2fc1cf83..04fd5354 100644 --- a/gnu/langinfo.in.h +++ b/gnu/langinfo.in.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Substitute for and wrapper around . - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -51,7 +49,10 @@ typedef int nl_item; # define CODESET 10000 /* nl_langinfo items of the LC_NUMERIC category */ # define RADIXCHAR 10001 +# define DECIMAL_POINT RADIXCHAR # define THOUSEP 10002 +# define THOUSANDS_SEP THOUSEP +# define GROUPING 10114 /* nl_langinfo items of the LC_TIME category */ # define D_T_FMT 10003 # define D_FMT 10004 @@ -104,6 +105,21 @@ typedef int nl_item; # define ALT_DIGITS 10051 /* nl_langinfo items of the LC_MONETARY category */ # define CRNCYSTR 10052 +# define CURRENCY_SYMBOL CRNCYSTR +# define INT_CURR_SYMBOL 10100 +# define MON_DECIMAL_POINT 10101 +# define MON_THOUSANDS_SEP 10102 +# define MON_GROUPING 10103 +# define POSITIVE_SIGN 10104 +# define NEGATIVE_SIGN 10105 +# define FRAC_DIGITS 10106 +# define INT_FRAC_DIGITS 10107 +# define P_CS_PRECEDES 10108 +# define N_CS_PRECEDES 10109 +# define P_SEP_BY_SPACE 10110 +# define N_SEP_BY_SPACE 10111 +# define P_SIGN_POSN 10112 +# define N_SIGN_POSN 10113 /* nl_langinfo items of the LC_MESSAGES category */ # define YESEXPR 10053 # define NOEXPR 10054 diff --git a/gnu/lchown.c b/gnu/lchown.c index 6f30c2cf..7f5f6026 100644 --- a/gnu/lchown.c +++ b/gnu/lchown.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide a stub lchown function for systems that lack it. - Copyright (C) 1998-1999, 2002, 2004, 2006-2007, 2009-2014 Free Software + Copyright (C) 1998-1999, 2002, 2004, 2006-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/link.c b/gnu/link.c index c2753019..4151ea32 100644 --- a/gnu/link.c +++ b/gnu/link.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Emulate link on platforms that lack it, namely native Windows platforms. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/linkat.c b/gnu/linkat.c index 28742054..4bdbae67 100644 --- a/gnu/linkat.c +++ b/gnu/linkat.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create a hard link relative to open directories. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,7 +43,7 @@ # endif #endif -#if !HAVE_LINKAT +#if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP /* Create a link. If FILE1 is a symlink, either create a hardlink to that symlink, or fake it by creating an identical symlink. */ @@ -197,6 +195,10 @@ solaris_optimized_link_follow (char const *file1, char const *file2) # endif +#endif /* !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP */ + +#if !HAVE_LINKAT + /* Create a link to FILE1, in the directory open on descriptor FD1, to FILE2, in the directory open on descriptor FD2. If FILE1 is a symlink, FLAG controls whether to dereference FILE1 first. If possible, do it without @@ -323,7 +325,17 @@ rpl_linkat (int fd1, char const *file1, int fd2, char const *file2, int flag) # endif if (!flag) - return linkat (fd1, file1, fd2, file2, flag); + { + int result = linkat (fd1, file1, fd2, file2, flag); +# if LINKAT_SYMLINK_NOTSUP + /* OS X 10.10 has linkat() but it doesn't support + hardlinks to symlinks. Fallback to our emulation + in that case. */ + if (result == -1 && (errno == ENOTSUP || errno == EOPNOTSUPP)) + return at_func2 (fd1, file1, fd2, file2, link_immediate); +# endif + return result; + } /* Cache the information on whether the system call really works. */ { diff --git a/gnu/localcharset.c b/gnu/localcharset.c index c411de1e..1f02aa59 100644 --- a/gnu/localcharset.c +++ b/gnu/localcharset.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2006, 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2000-2006, 2008-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -36,6 +34,7 @@ #if defined _WIN32 || defined __WIN32__ # define WINDOWS_NATIVE +# include #endif #if defined __EMX__ @@ -129,7 +128,7 @@ get_charset_aliases (void) cp = charset_aliases; if (cp == NULL) { -#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__) +#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__ || defined OS2) const char *dir; const char *base = "charset.alias"; char *file_name; @@ -343,6 +342,36 @@ get_charset_aliases (void) "CP54936" "\0" "GB18030" "\0" "CP65001" "\0" "UTF-8" "\0"; # endif +# if defined OS2 + /* To avoid the troubles of installing a separate file in the same + directory as the DLL and of retrieving the DLL's directory at + runtime, simply inline the aliases here. */ + + /* The list of encodings is taken from "List of OS/2 Codepages" + by Alex Taylor: + . + See also "IBM Globalization - Code page identifiers": + . */ + cp = "CP813" "\0" "ISO-8859-7" "\0" + "CP878" "\0" "KOI8-R" "\0" + "CP819" "\0" "ISO-8859-1" "\0" + "CP912" "\0" "ISO-8859-2" "\0" + "CP913" "\0" "ISO-8859-3" "\0" + "CP914" "\0" "ISO-8859-4" "\0" + "CP915" "\0" "ISO-8859-5" "\0" + "CP916" "\0" "ISO-8859-8" "\0" + "CP920" "\0" "ISO-8859-9" "\0" + "CP921" "\0" "ISO-8859-13" "\0" + "CP923" "\0" "ISO-8859-15" "\0" + "CP954" "\0" "EUC-JP" "\0" + "CP964" "\0" "EUC-TW" "\0" + "CP970" "\0" "EUC-KR" "\0" + "CP1089" "\0" "ISO-8859-6" "\0" + "CP1208" "\0" "UTF-8" "\0" + "CP1381" "\0" "GB2312" "\0" + "CP1386" "\0" "GBK" "\0" + "CP3372" "\0" "EUC-JP" "\0"; +# endif #endif charset_aliases = cp; @@ -463,14 +492,34 @@ locale_charset (void) static char buf[2 + 10 + 1]; - /* The Windows API has a function returning the locale's codepage as a - number: GetACP(). - When the output goes to a console window, it needs to be provided in - GetOEMCP() encoding if the console is using a raster font, or in - GetConsoleOutputCP() encoding if it is using a TrueType font. - But in GUI programs and for output sent to files and pipes, GetACP() - encoding is the best bet. */ - sprintf (buf, "CP%u", GetACP ()); + /* The Windows API has a function returning the locale's codepage as + a number, but the value doesn't change according to what the + 'setlocale' call specified. So we use it as a last resort, in + case the string returned by 'setlocale' doesn't specify the + codepage. */ + char *current_locale = setlocale (LC_ALL, NULL); + char *pdot; + + /* If they set different locales for different categories, + 'setlocale' will return a semi-colon separated list of locale + values. To make sure we use the correct one, we choose LC_CTYPE. */ + if (strchr (current_locale, ';')) + current_locale = setlocale (LC_CTYPE, NULL); + + pdot = strrchr (current_locale, '.'); + if (pdot) + sprintf (buf, "CP%s", pdot + 1); + else + { + /* The Windows API has a function returning the locale's codepage as a + number: GetACP(). + When the output goes to a console window, it needs to be provided in + GetOEMCP() encoding if the console is using a raster font, or in + GetConsoleOutputCP() encoding if it is using a TrueType font. + But in GUI programs and for output sent to files and pipes, GetACP() + encoding is the best bet. */ + sprintf (buf, "CP%u", GetACP ()); + } codeset = buf; #elif defined OS2 @@ -480,6 +529,8 @@ locale_charset (void) ULONG cp[3]; ULONG cplen; + codeset = NULL; + /* Allow user to override the codeset, as set in the operating system, with standard language environment variables. */ locale = getenv ("LC_ALL"); @@ -511,10 +562,12 @@ locale_charset (void) } } - /* Resolve through the charset.alias file. */ - codeset = locale; + /* For the POSIX locale, don't use the system's codepage. */ + if (strcmp (locale, "C") == 0 || strcmp (locale, "POSIX") == 0) + codeset = ""; } - else + + if (codeset == NULL) { /* OS/2 has a function returning the locale's codepage as a number. */ if (DosQueryCp (sizeof (cp), cp, &cplen)) diff --git a/gnu/localcharset.h b/gnu/localcharset.h index 481cbb3c..c5e6d463 100644 --- a/gnu/localcharset.h +++ b/gnu/localcharset.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2003, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU CHARSET Library. This program is free software; you can redistribute it and/or modify diff --git a/gnu/locale.in.h b/gnu/locale.in.h index 72bfcc2f..05e974df 100644 --- a/gnu/locale.in.h +++ b/gnu/locale.in.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A POSIX . - Copyright (C) 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2007-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/localeconv.c b/gnu/localeconv.c index b674c836..8f2d0840 100644 --- a/gnu/localeconv.c +++ b/gnu/localeconv.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Query locale dependent information for formatting numbers. - Copyright (C) 2012-2014 Free Software Foundation, Inc. + Copyright (C) 2012-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/lseek.c b/gnu/lseek.c index 40f01e17..fdec6cdf 100644 --- a/gnu/lseek.c +++ b/gnu/lseek.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An lseek() function that detects pipes. - Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/lstat.c b/gnu/lstat.c index 2cf429d3..31dee138 100644 --- a/gnu/lstat.c +++ b/gnu/lstat.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Work around a bug of lstat on some systems - Copyright (C) 1997-2006, 2008-2014 Free Software Foundation, Inc. + Copyright (C) 1997-2006, 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/malloc.c b/gnu/malloc.c index 83c51557..00800a28 100644 --- a/gnu/malloc.c +++ b/gnu/malloc.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* malloc() function that is glibc compatible. - Copyright (C) 1997-1998, 2006-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1997-1998, 2006-2007, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/malloca.c b/gnu/malloca.c index 56294e63..198a96ce 100644 --- a/gnu/malloca.c +++ b/gnu/malloca.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Safe automatic memory allocation. - Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2006-2007, 2009-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify diff --git a/gnu/malloca.h b/gnu/malloca.h index 09d25a33..7a4190cf 100644 --- a/gnu/malloca.h +++ b/gnu/malloca.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Safe automatic memory allocation. - Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify diff --git a/gnu/mbchar.c b/gnu/mbchar.c index b4ebd922..ae9b7eb9 100644 --- a/gnu/mbchar.c +++ b/gnu/mbchar.c @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 2001, 2006, 2009-2014 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/mbchar.h b/gnu/mbchar.h index 4c95ccb6..fcdefaf0 100644 --- a/gnu/mbchar.h +++ b/gnu/mbchar.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Multibyte character data type. - Copyright (C) 2001, 2005-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001, 2005-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/mbrtowc.c b/gnu/mbrtowc.c index 50e37b97..e49d55b3 100644 --- a/gnu/mbrtowc.c +++ b/gnu/mbrtowc.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert multibyte character to wide character. - Copyright (C) 1999-2002, 2005-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2002, 2005-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -330,7 +328,7 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) size_t rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) { -# if MBRTOWC_NULL_ARG2_BUG || MBRTOWC_RETVAL_BUG +# if MBRTOWC_NULL_ARG2_BUG || MBRTOWC_RETVAL_BUG || MBRTOWC_EMPTY_INPUT_BUG if (s == NULL) { pwc = NULL; @@ -339,6 +337,11 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) } # endif +# if MBRTOWC_EMPTY_INPUT_BUG + if (n == 0) + return (size_t) -2; +# endif + # if MBRTOWC_RETVAL_BUG { static mbstate_t internal_state; diff --git a/gnu/mbscasecmp.c b/gnu/mbscasecmp.c index b0e58719..9288fb29 100644 --- a/gnu/mbscasecmp.c +++ b/gnu/mbscasecmp.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Case-insensitive string comparison function. - Copyright (C) 1998-1999, 2005-2014 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2005, based on earlier glibc code. diff --git a/gnu/mbsinit.c b/gnu/mbsinit.c index c27330aa..4effdd80 100644 --- a/gnu/mbsinit.c +++ b/gnu/mbsinit.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Test for initial conversion state. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify diff --git a/gnu/mbsrtowcs-impl.h b/gnu/mbsrtowcs-impl.h index 444c664c..a0f42717 100644 --- a/gnu/mbsrtowcs-impl.h +++ b/gnu/mbsrtowcs-impl.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert string to wide string. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify diff --git a/gnu/mbsrtowcs-state.c b/gnu/mbsrtowcs-state.c index becfd999..522eb690 100644 --- a/gnu/mbsrtowcs-state.c +++ b/gnu/mbsrtowcs-state.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert string to wide string. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify diff --git a/gnu/mbsrtowcs.c b/gnu/mbsrtowcs.c index e0f9bd1c..c37eba72 100644 --- a/gnu/mbsrtowcs.c +++ b/gnu/mbsrtowcs.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert string to wide string. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify diff --git a/gnu/mbtowc-impl.h b/gnu/mbtowc-impl.h index 08eced8e..5c60478a 100644 --- a/gnu/mbtowc-impl.h +++ b/gnu/mbtowc-impl.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert multibyte character to wide character. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify diff --git a/gnu/mbtowc.c b/gnu/mbtowc.c index 10fcb233..e58053d1 100644 --- a/gnu/mbtowc.c +++ b/gnu/mbtowc.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert multibyte character to wide character. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify diff --git a/gnu/mbuiter.c b/gnu/mbuiter.c index 3be645fc..9167580d 100644 --- a/gnu/mbuiter.c +++ b/gnu/mbuiter.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include #define MBUITER_INLINE _GL_EXTERN_INLINE #include "mbuiter.h" diff --git a/gnu/mbuiter.h b/gnu/mbuiter.h index e886e93b..acdec297 100644 --- a/gnu/mbuiter.h +++ b/gnu/mbuiter.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Iterating through multibyte strings: macros for multi-byte encodings. - Copyright (C) 2001, 2005, 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001, 2005, 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/memchr.c b/gnu/memchr.c index 5a71e2dc..f74cc9af 100644 --- a/gnu/memchr.c +++ b/gnu/memchr.c @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2014 +/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2015 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), diff --git a/gnu/mempcpy.c b/gnu/mempcpy.c index 2a075d49..e9f2e34f 100644 --- a/gnu/mempcpy.c +++ b/gnu/mempcpy.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Copy memory area and return pointer after last written byte. - Copyright (C) 2003, 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2007, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/memrchr.c b/gnu/memrchr.c index 4ad82bba..3827208d 100644 --- a/gnu/memrchr.c +++ b/gnu/memrchr.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* memrchr -- find the last occurrence of a byte in a memory block - Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2014 Free Software + Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2015 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), diff --git a/gnu/mkdir.c b/gnu/mkdir.c index 38f18586..37de12e3 100644 --- a/gnu/mkdir.c +++ b/gnu/mkdir.c @@ -1,9 +1,7 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* On some systems, mkdir ("foo/", 0700) fails because of the trailing slash. On those systems, this wrapper removes the trailing slash. - Copyright (C) 2001, 2003, 2006, 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2001, 2003, 2006, 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/mkdirat.c b/gnu/mkdirat.c index 8f428370..3012ac4c 100644 --- a/gnu/mkdirat.c +++ b/gnu/mkdirat.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* fd-relative mkdir - Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/mkdtemp.c b/gnu/mkdtemp.c index f70e18c5..95553926 100644 --- a/gnu/mkdtemp.c +++ b/gnu/mkdtemp.c @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1999, 2001-2003, 2006-2007, 2009-2014 Free Software +/* Copyright (C) 1999, 2001-2003, 2006-2007, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/gnu/mkfifo.c b/gnu/mkfifo.c index 31e8059f..ae4b9309 100644 --- a/gnu/mkfifo.c +++ b/gnu/mkfifo.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create a named fifo. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/mkfifoat.c b/gnu/mkfifoat.c index 39fdcc81..4d235904 100644 --- a/gnu/mkfifoat.c +++ b/gnu/mkfifoat.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create a named fifo relative to an open directory. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/mknod.c b/gnu/mknod.c index 79f35afb..86a7c39d 100644 --- a/gnu/mknod.c +++ b/gnu/mknod.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create a device inode. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/mknodat.c b/gnu/mknodat.c index 01104236..87599f72 100644 --- a/gnu/mknodat.c +++ b/gnu/mknodat.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create an inode relative to an open directory. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/mktime-internal.h b/gnu/mktime-internal.h index 8a1259ef..4287acf4 100644 --- a/gnu/mktime-internal.h +++ b/gnu/mktime-internal.h @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include time_t mktime_internal (struct tm *, struct tm * (*) (time_t const *, struct tm *), diff --git a/gnu/mktime.c b/gnu/mktime.c index 470ebaa4..580bc8ed 100644 --- a/gnu/mktime.c +++ b/gnu/mktime.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert a 'struct tm' to a time_t value. - Copyright (C) 1993-2014 Free Software Foundation, Inc. + Copyright (C) 1993-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Paul Eggert . @@ -40,7 +38,7 @@ #include /* For the real memcpy prototype. */ -#if DEBUG +#if defined DEBUG && DEBUG # include # include /* Make it work even if the system's libc has its own mktime routine. */ @@ -602,7 +600,7 @@ libc_hidden_def (mktime) libc_hidden_weak (timelocal) #endif -#if DEBUG +#if defined DEBUG && DEBUG static int not_equal_tm (const struct tm *a, const struct tm *b) diff --git a/gnu/modechange.c b/gnu/modechange.c index 17d38b49..9f707546 100644 --- a/gnu/modechange.c +++ b/gnu/modechange.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* modechange.c -- file mode manipulation - Copyright (C) 1989-1990, 1997-1999, 2001, 2003-2006, 2009-2014 Free Software + Copyright (C) 1989-1990, 1997-1999, 2001, 2003-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/modechange.h b/gnu/modechange.h index 774cb100..db80ddf2 100644 --- a/gnu/modechange.h +++ b/gnu/modechange.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* modechange.h -- definitions for file mode manipulation - Copyright (C) 1989-1990, 1997, 2003-2006, 2009-2014 Free Software + Copyright (C) 1989-1990, 1997, 2003-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/msvc-inval.c b/gnu/msvc-inval.c index 0babb47f..a1f1dc0e 100644 --- a/gnu/msvc-inval.c +++ b/gnu/msvc-inval.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Invalid parameter handler for MSVC runtime libraries. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/msvc-inval.h b/gnu/msvc-inval.h index 169da8d1..8b07269a 100644 --- a/gnu/msvc-inval.h +++ b/gnu/msvc-inval.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Invalid parameter handler for MSVC runtime libraries. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/msvc-nothrow.c b/gnu/msvc-nothrow.c index 5603cabe..90cf8014 100644 --- a/gnu/msvc-nothrow.c +++ b/gnu/msvc-nothrow.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Wrappers that don't throw invalid parameter notifications with MSVC runtime libraries. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/msvc-nothrow.h b/gnu/msvc-nothrow.h index 58caa1ae..67b151e6 100644 --- a/gnu/msvc-nothrow.h +++ b/gnu/msvc-nothrow.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Wrappers that don't throw invalid parameter notifications with MSVC runtime libraries. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/nl_langinfo.c b/gnu/nl_langinfo.c index f4227327..79b0406e 100644 --- a/gnu/nl_langinfo.c +++ b/gnu/nl_langinfo.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* nl_langinfo() replacement: query locale dependent information. - Copyright (C) 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2007-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,13 +20,72 @@ /* Specification. */ #include +#include +#include +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ +# include +# include +#endif + +/* Return the codeset of the current locale, if this is easily deducible. + Otherwise, return "". */ +static char * +ctype_codeset (void) +{ + static char buf[2 + 10 + 1]; + size_t buflen = 0; + char const *locale = setlocale (LC_CTYPE, NULL); + char *codeset = buf; + size_t codesetlen; + codeset[0] = '\0'; + + if (locale && locale[0]) + { + /* If the locale name contains an encoding after the dot, return it. */ + char *dot = strchr (locale, '.'); + + if (dot) + { + /* Look for the possible @... trailer and remove it, if any. */ + char *codeset_start = dot + 1; + char const *modifier = strchr (codeset_start, '@'); + + if (! modifier) + codeset = codeset_start; + else + { + codesetlen = modifier - codeset_start; + if (codesetlen < sizeof buf) + { + codeset = memcpy (buf, codeset_start, codesetlen); + codeset[codesetlen] = '\0'; + } + } + } + } + +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + /* If setlocale is successful, it returns the number of the + codepage, as a string. Otherwise, fall back on Windows API + GetACP, which returns the locale's codepage as a number (although + this doesn't change according to what the 'setlocale' call specified). + Either way, prepend "CP" to make it a valid codeset name. */ + codesetlen = strlen (codeset); + if (0 < codesetlen && codesetlen < sizeof buf - 2) + memmove (buf + 2, codeset, codesetlen + 1); + else + sprintf (buf + 2, "%u", GetACP ()); + codeset = memcpy (buf, "CP", 2); +#endif + return codeset; +} + + #if REPLACE_NL_LANGINFO /* Override nl_langinfo with support for added nl_item values. */ -# include -# include - # undef nl_langinfo char * @@ -38,36 +95,7 @@ rpl_nl_langinfo (nl_item item) { # if GNULIB_defined_CODESET case CODESET: - { - const char *locale; - static char buf[2 + 10 + 1]; - - locale = setlocale (LC_CTYPE, NULL); - if (locale != NULL && locale[0] != '\0') - { - /* If the locale name contains an encoding after the dot, return - it. */ - const char *dot = strchr (locale, '.'); - - if (dot != NULL) - { - const char *modifier; - - dot++; - /* Look for the possible @... trailer and remove it, if any. */ - modifier = strchr (dot, '@'); - if (modifier == NULL) - return dot; - if (modifier - dot < sizeof (buf)) - { - memcpy (buf, dot, modifier - dot); - buf [modifier - dot] = '\0'; - return buf; - } - } - } - return ""; - } + return ctype_codeset (); # endif # if GNULIB_defined_T_FMT_AMPM case T_FMT_AMPM: @@ -113,42 +141,28 @@ rpl_nl_langinfo (nl_item item) #else -/* Provide nl_langinfo from scratch. */ - -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +/* Provide nl_langinfo from scratch, either for native MS-Windows, or + for old Unix platforms without locales, such as Linux libc5 or + BeOS. */ -/* Native Windows platforms. */ - -# define WIN32_LEAN_AND_MEAN /* avoid including junk */ -# include - -# include - -# else - -/* An old Unix platform without locales, such as Linux libc5 or BeOS. */ - -# endif - -# include +# include char * nl_langinfo (nl_item item) { + static char nlbuf[100]; + struct tm tmm = { 0 }; + switch (item) { /* nl_langinfo items of the LC_CTYPE category */ case CODESET: -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ { - static char buf[2 + 10 + 1]; - - /* The Windows API has a function returning the locale's codepage as - a number. */ - sprintf (buf, "CP%u", GetACP ()); - return buf; + char *codeset = ctype_codeset (); + if (*codeset) + return codeset; } -# elif defined __BEOS__ +# ifdef __BEOS__ return "UTF-8"; # else return "ISO-8859-1"; @@ -158,6 +172,8 @@ nl_langinfo (nl_item item) return localeconv () ->decimal_point; case THOUSEP: return localeconv () ->thousands_sep; + case GROUPING: + return localeconv () ->grouping; /* nl_langinfo items of the LC_TIME category. TODO: Really use the locale. */ case D_T_FMT: @@ -172,93 +188,126 @@ nl_langinfo (nl_item item) case T_FMT_AMPM: return "%I:%M:%S %p"; case AM_STR: - return "AM"; + if (!strftime (nlbuf, sizeof nlbuf, "%p", &tmm)) + return "AM"; + return nlbuf; case PM_STR: - return "PM"; + tmm.tm_hour = 12; + if (!strftime (nlbuf, sizeof nlbuf, "%p", &tmm)) + return "PM"; + return nlbuf; case DAY_1: - return "Sunday"; case DAY_2: - return "Monday"; case DAY_3: - return "Tuesday"; case DAY_4: - return "Wednesday"; case DAY_5: - return "Thursday"; case DAY_6: - return "Friday"; case DAY_7: - return "Saturday"; + { + static char const days[][sizeof "Wednesday"] = { + "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", + "Friday", "Saturday" + }; + tmm.tm_wday = item - DAY_1; + if (!strftime (nlbuf, sizeof nlbuf, "%A", &tmm)) + return (char *) days[item - DAY_1]; + return nlbuf; + } case ABDAY_1: - return "Sun"; case ABDAY_2: - return "Mon"; case ABDAY_3: - return "Tue"; case ABDAY_4: - return "Wed"; case ABDAY_5: - return "Thu"; case ABDAY_6: - return "Fri"; case ABDAY_7: - return "Sat"; + { + static char const abdays[][sizeof "Sun"] = { + "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" + }; + tmm.tm_wday = item - ABDAY_1; + if (!strftime (nlbuf, sizeof nlbuf, "%a", &tmm)) + return (char *) abdays[item - ABDAY_1]; + return nlbuf; + } case MON_1: - return "January"; case MON_2: - return "February"; case MON_3: - return "March"; case MON_4: - return "April"; case MON_5: - return "May"; case MON_6: - return "June"; case MON_7: - return "July"; case MON_8: - return "August"; case MON_9: - return "September"; case MON_10: - return "October"; case MON_11: - return "November"; case MON_12: - return "December"; + { + static char const months[][sizeof "September"] = { + "January", "February", "March", "April", "May", "June", "July", + "September", "October", "November", "December" + }; + tmm.tm_mon = item - MON_1; + if (!strftime (nlbuf, sizeof nlbuf, "%B", &tmm)) + return (char *) months[item - MON_1]; + return nlbuf; + } case ABMON_1: - return "Jan"; case ABMON_2: - return "Feb"; case ABMON_3: - return "Mar"; case ABMON_4: - return "Apr"; case ABMON_5: - return "May"; case ABMON_6: - return "Jun"; case ABMON_7: - return "Jul"; case ABMON_8: - return "Aug"; case ABMON_9: - return "Sep"; case ABMON_10: - return "Oct"; case ABMON_11: - return "Nov"; case ABMON_12: - return "Dec"; + { + static char const abmonths[][sizeof "Jan"] = { + "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", + "Sep", "Oct", "Nov", "Dec" + }; + tmm.tm_mon = item - ABMON_1; + if (!strftime (nlbuf, sizeof nlbuf, "%b", &tmm)) + return (char *) abmonths[item - ABMON_1]; + return nlbuf; + } case ERA: return ""; case ALT_DIGITS: return "\0\0\0\0\0\0\0\0\0\0"; - /* nl_langinfo items of the LC_MONETARY category - TODO: Really use the locale. */ + /* nl_langinfo items of the LC_MONETARY category. */ case CRNCYSTR: - return "-"; + return localeconv () ->currency_symbol; + case INT_CURR_SYMBOL: + return localeconv () ->int_curr_symbol; + case MON_DECIMAL_POINT: + return localeconv () ->mon_decimal_point; + case MON_THOUSANDS_SEP: + return localeconv () ->mon_thousands_sep; + case MON_GROUPING: + return localeconv () ->mon_grouping; + case POSITIVE_SIGN: + return localeconv () ->positive_sign; + case NEGATIVE_SIGN: + return localeconv () ->negative_sign; + case FRAC_DIGITS: + return & localeconv () ->frac_digits; + case INT_FRAC_DIGITS: + return & localeconv () ->int_frac_digits; + case P_CS_PRECEDES: + return & localeconv () ->p_cs_precedes; + case N_CS_PRECEDES: + return & localeconv () ->n_cs_precedes; + case P_SEP_BY_SPACE: + return & localeconv () ->p_sep_by_space; + case N_SEP_BY_SPACE: + return & localeconv () ->n_sep_by_space; + case P_SIGN_POSN: + return & localeconv () ->p_sign_posn; + case N_SIGN_POSN: + return & localeconv () ->n_sign_posn; /* nl_langinfo items of the LC_MESSAGES category TODO: Really use the locale. */ case YESEXPR: diff --git a/gnu/obstack.c b/gnu/obstack.c index 1aba44c4..dd6e1f70 100644 --- a/gnu/obstack.c +++ b/gnu/obstack.c @@ -1,34 +1,32 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* obstack.c - subroutines used implicitly by object stack macros + Copyright (C) 1988-2015 Free Software Foundation, Inc. + This file is part of the GNU C Library. - Copyright (C) 1988-1994, 1996-2006, 2009-2014 Free Software Foundation, Inc. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, + The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public + License along with the GNU C Library; if not, see + . */ - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ #ifdef _LIBC # include -# include #else # include # include "obstack.h" #endif -/* NOTE BEFORE MODIFYING THIS FILE: This version number must be - incremented whenever callers compiled using an old obstack.h can no - longer properly call the functions in this obstack.c. */ -#define OBSTACK_INTERFACE_VERSION 1 +/* NOTE BEFORE MODIFYING THIS FILE: _OBSTACK_INTERFACE_VERSION in + obstack.h must be incremented whenever callers compiled using an old + obstack.h can no longer properly call the functions in this file. */ /* Comment out all this code if we are using the GNU C Library, and are not actually compiling the library itself, and the installed library @@ -38,114 +36,80 @@ (especially if it is a shared library). Rather than having every GNU program understand 'configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ - -#include /* Random thing to get __GNU_LIBRARY__. */ #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 # include -# if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION -# define ELIDE_CODE +# if (_GNU_OBSTACK_INTERFACE_VERSION == _OBSTACK_INTERFACE_VERSION \ + || (_GNU_OBSTACK_INTERFACE_VERSION == 1 \ + && _OBSTACK_INTERFACE_VERSION == 2 \ + && defined SIZEOF_INT && defined SIZEOF_SIZE_T \ + && SIZEOF_INT == SIZEOF_SIZE_T)) +# define _OBSTACK_ELIDE_CODE # endif #endif -#include - -#ifndef ELIDE_CODE - +#ifndef _OBSTACK_ELIDE_CODE +/* If GCC, or if an oddball (testing?) host that #defines __alignof__, + use the already-supplied __alignof__. Otherwise, this must be Gnulib + (as glibc assumes GCC); defer to Gnulib's alignof_type. */ +# if !defined __GNUC__ && !defined __alignof__ +# include +# define __alignof__(type) alignof_type (type) +# endif +# include # include -/* Determine default alignment. */ -union fooround -{ - uintmax_t i; - long double d; - void *p; -}; -struct fooalign -{ - char c; - union fooround u; -}; -/* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT. - But in fact it might be less smart and round addresses to as much as - DEFAULT_ROUNDING. So we prepare for it to do that. */ -enum - { - DEFAULT_ALIGNMENT = offsetof (struct fooalign, u), - DEFAULT_ROUNDING = sizeof (union fooround) - }; - -/* When we copy a long block of data, this is the unit to do it with. - On some machines, copying successive ints does not work; - in such a case, redefine COPYING_UNIT to 'long' (if that works) - or 'char' as a last resort. */ -# ifndef COPYING_UNIT -# define COPYING_UNIT int +# ifndef MAX +# define MAX(a,b) ((a) > (b) ? (a) : (b)) # endif +/* Determine default alignment. */ -/* The functions allocating more room by calling 'obstack_chunk_alloc' - jump to the handler pointed to by 'obstack_alloc_failed_handler'. - This can be set to a user defined function which should either - abort gracefully or use longjump - but shouldn't return. This - variable by default points to the internal function - 'print_and_abort'. */ -static _Noreturn void print_and_abort (void); -void (*obstack_alloc_failed_handler) (void) = print_and_abort; +/* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT. + But in fact it might be less smart and round addresses to as much as + DEFAULT_ROUNDING. So we prepare for it to do that. + + DEFAULT_ALIGNMENT cannot be an enum constant; see gnulib's alignof.h. */ +#define DEFAULT_ALIGNMENT MAX (__alignof__ (long double), \ + MAX (__alignof__ (uintmax_t), \ + __alignof__ (void *))) +#define DEFAULT_ROUNDING MAX (sizeof (long double), \ + MAX (sizeof (uintmax_t), \ + sizeof (void *))) + +/* Call functions with either the traditional malloc/free calling + interface, or the mmalloc/mfree interface (that adds an extra first + argument), based on the value of use_extra_arg. */ + +static void * +call_chunkfun (struct obstack *h, size_t size) +{ + if (h->use_extra_arg) + return h->chunkfun.extra (h->extra_arg, size); + else + return h->chunkfun.plain (size); +} -/* Exit value used when 'print_and_abort' is used. */ -# include -# ifdef _LIBC -int obstack_exit_failure = EXIT_FAILURE; -# else -# include "exitfail.h" -# define obstack_exit_failure exit_failure -# endif +static void +call_freefun (struct obstack *h, void *old_chunk) +{ + if (h->use_extra_arg) + h->freefun.extra (h->extra_arg, old_chunk); + else + h->freefun.plain (old_chunk); +} -# ifdef _LIBC -# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) -/* A looong time ago (before 1994, anyway; we're not sure) this global variable - was used by non-GNU-C macros to avoid multiple evaluation. The GNU C - library still exports it because somebody might use it. */ -struct obstack *_obstack_compat; -compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0); -# endif -# endif -/* Define a macro that either calls functions with the traditional malloc/free - calling interface, or calls functions with the mmalloc/mfree interface - (that adds an extra first argument), based on the state of use_extra_arg. - For free, do not use ?:, since some compilers, like the MIPS compilers, - do not allow (expr) ? void : void. */ - -# define CALL_CHUNKFUN(h, size) \ - (((h) -> use_extra_arg) \ - ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ - : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size))) - -# define CALL_FREEFUN(h, old_chunk) \ - do { \ - if ((h) -> use_extra_arg) \ - (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ - else \ - (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \ - } while (0) - - /* Initialize an obstack H for use. Specify chunk size SIZE (0 means default). Objects start on multiples of ALIGNMENT (0 means use default). - CHUNKFUN is the function to use to allocate chunks, - and FREEFUN the function to free them. Return nonzero if successful, calls obstack_alloc_failed_handler if allocation fails. */ -int -_obstack_begin (struct obstack *h, - int size, int alignment, - void *(*chunkfun) (long), - void (*freefun) (void *)) +static int +_obstack_begin_worker (struct obstack *h, + _OBSTACK_SIZE_T size, _OBSTACK_SIZE_T alignment) { - register struct _obstack_chunk *chunk; /* points to new chunk */ + struct _obstack_chunk *chunk; /* points to new chunk */ if (alignment == 0) alignment = DEFAULT_ALIGNMENT; @@ -166,19 +130,15 @@ _obstack_begin (struct obstack *h, size = 4096 - extra; } - h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun; - h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun; h->chunk_size = size; h->alignment_mask = alignment - 1; - h->use_extra_arg = 0; - chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size); + chunk = h->chunk = call_chunkfun (h, h->chunk_size); if (!chunk) (*obstack_alloc_failed_handler) (); h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents, alignment - 1); - h->chunk_limit = chunk->limit - = (char *) chunk + h->chunk_size; + h->chunk_limit = chunk->limit = (char *) chunk + h->chunk_size; chunk->prev = 0; /* The initial chunk now contains no empty object. */ h->maybe_empty_object = 0; @@ -187,51 +147,29 @@ _obstack_begin (struct obstack *h, } int -_obstack_begin_1 (struct obstack *h, int size, int alignment, - void *(*chunkfun) (void *, long), +_obstack_begin (struct obstack *h, + _OBSTACK_SIZE_T size, _OBSTACK_SIZE_T alignment, + void *(*chunkfun) (size_t), + void (*freefun) (void *)) +{ + h->chunkfun.plain = chunkfun; + h->freefun.plain = freefun; + h->use_extra_arg = 0; + return _obstack_begin_worker (h, size, alignment); +} + +int +_obstack_begin_1 (struct obstack *h, + _OBSTACK_SIZE_T size, _OBSTACK_SIZE_T alignment, + void *(*chunkfun) (void *, size_t), void (*freefun) (void *, void *), void *arg) { - register struct _obstack_chunk *chunk; /* points to new chunk */ - - if (alignment == 0) - alignment = DEFAULT_ALIGNMENT; - if (size == 0) - /* Default size is what GNU malloc can fit in a 4096-byte block. */ - { - /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. - Use the values for range checking, because if range checking is off, - the extra bytes won't be missed terribly, but if range checking is on - and we used a larger request, a whole extra 4096 bytes would be - allocated. - - These number are irrelevant to the new GNU malloc. I suspect it is - less sensitive to the size of the request. */ - int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1)) - + 4 + DEFAULT_ROUNDING - 1) - & ~(DEFAULT_ROUNDING - 1)); - size = 4096 - extra; - } - - h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun; - h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun; - h->chunk_size = size; - h->alignment_mask = alignment - 1; + h->chunkfun.extra = chunkfun; + h->freefun.extra = freefun; h->extra_arg = arg; h->use_extra_arg = 1; - - chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size); - if (!chunk) - (*obstack_alloc_failed_handler) (); - h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents, - alignment - 1); - h->chunk_limit = chunk->limit - = (char *) chunk + h->chunk_size; - chunk->prev = 0; - /* The initial chunk now contains no empty object. */ - h->maybe_empty_object = 0; - h->alloc_failed = 0; - return 1; + return _obstack_begin_worker (h, size, alignment); } /* Allocate a new current chunk for the obstack *H @@ -241,25 +179,27 @@ _obstack_begin_1 (struct obstack *h, int size, int alignment, to the beginning of the new one. */ void -_obstack_newchunk (struct obstack *h, int length) +_obstack_newchunk (struct obstack *h, _OBSTACK_SIZE_T length) { - register struct _obstack_chunk *old_chunk = h->chunk; - register struct _obstack_chunk *new_chunk; - register long new_size; - register long obj_size = h->next_free - h->object_base; - register long i; - long already; + struct _obstack_chunk *old_chunk = h->chunk; + struct _obstack_chunk *new_chunk = 0; + size_t obj_size = h->next_free - h->object_base; char *object_base; /* Compute size for new chunk. */ - new_size = (obj_size + length) + (obj_size >> 3) + h->alignment_mask + 100; + size_t sum1 = obj_size + length; + size_t sum2 = sum1 + h->alignment_mask; + size_t new_size = sum2 + (obj_size >> 3) + 100; + if (new_size < sum2) + new_size = sum2; if (new_size < h->chunk_size) new_size = h->chunk_size; /* Allocate and initialize the new chunk. */ - new_chunk = CALL_CHUNKFUN (h, new_size); + if (obj_size <= sum1 && sum1 <= sum2) + new_chunk = call_chunkfun (h, new_size); if (!new_chunk) - (*obstack_alloc_failed_handler) (); + (*obstack_alloc_failed_handler)(); h->chunk = new_chunk; new_chunk->prev = old_chunk; new_chunk->limit = h->chunk_limit = (char *) new_chunk + new_size; @@ -268,36 +208,19 @@ _obstack_newchunk (struct obstack *h, int length) object_base = __PTR_ALIGN ((char *) new_chunk, new_chunk->contents, h->alignment_mask); - /* Move the existing object to the new chunk. - Word at a time is fast and is safe if the object - is sufficiently aligned. */ - if (h->alignment_mask + 1 >= DEFAULT_ALIGNMENT) - { - for (i = obj_size / sizeof (COPYING_UNIT) - 1; - i >= 0; i--) - ((COPYING_UNIT *)object_base)[i] - = ((COPYING_UNIT *)h->object_base)[i]; - /* We used to copy the odd few remaining bytes as one extra COPYING_UNIT, - but that can cross a page boundary on a machine - which does not do strict alignment for COPYING_UNITS. */ - already = obj_size / sizeof (COPYING_UNIT) * sizeof (COPYING_UNIT); - } - else - already = 0; - /* Copy remaining bytes one by one. */ - for (i = already; i < obj_size; i++) - object_base[i] = h->object_base[i]; + /* Move the existing object to the new chunk. */ + memcpy (object_base, h->object_base, obj_size); /* If the object just copied was the only data in OLD_CHUNK, free that chunk and remove it from the chain. But not if that chunk might contain an empty object. */ - if (! h->maybe_empty_object + if (!h->maybe_empty_object && (h->object_base == __PTR_ALIGN ((char *) old_chunk, old_chunk->contents, h->alignment_mask))) { new_chunk->prev = old_chunk->prev; - CALL_FREEFUN (h, old_chunk); + call_freefun (h, old_chunk); } h->object_base = object_base; @@ -305,9 +228,6 @@ _obstack_newchunk (struct obstack *h, int length) /* The new chunk certainly contains no empty object yet. */ h->maybe_empty_object = 0; } -# ifdef _LIBC -libc_hidden_def (_obstack_newchunk) -# endif /* Return nonzero if object OBJ has been allocated from obstack H. This is here for debugging. @@ -315,13 +235,13 @@ libc_hidden_def (_obstack_newchunk) /* Suppress -Wmissing-prototypes warning. We don't want to declare this in obstack.h because it is just for debugging. */ -int _obstack_allocated_p (struct obstack *h, void *obj) _GL_ATTRIBUTE_PURE; +int _obstack_allocated_p (struct obstack *h, void *obj) __attribute_pure__; int _obstack_allocated_p (struct obstack *h, void *obj) { - register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ - register struct _obstack_chunk *plp; /* point to previous chunk if any */ + struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ + struct _obstack_chunk *plp; /* point to previous chunk if any */ lp = (h)->chunk; /* We use >= rather than > since the object cannot be exactly at @@ -334,17 +254,15 @@ _obstack_allocated_p (struct obstack *h, void *obj) } return lp != 0; } - + /* Free objects in obstack H, including OBJ and everything allocate more recently than OBJ. If OBJ is zero, free everything in H. */ -# undef obstack_free - void -__obstack_free (struct obstack *h, void *obj) +_obstack_free (struct obstack *h, void *obj) { - register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ - register struct _obstack_chunk *plp; /* point to previous chunk if any */ + struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ + struct _obstack_chunk *plp; /* point to previous chunk if any */ lp = h->chunk; /* We use >= because there cannot be an object at the beginning of a chunk. @@ -353,7 +271,7 @@ __obstack_free (struct obstack *h, void *obj) while (lp != 0 && ((void *) lp >= obj || (void *) (lp)->limit < obj)) { plp = lp->prev; - CALL_FREEFUN (h, lp); + call_freefun (h, lp); lp = plp; /* If we switch chunks, we can't tell whether the new current chunk contains an empty object, so assume that it may. */ @@ -370,17 +288,11 @@ __obstack_free (struct obstack *h, void *obj) abort (); } -# ifdef _LIBC -/* Older versions of libc used a function _obstack_free intended to be - called by non-GCC compilers. */ -strong_alias (obstack_free, _obstack_free) -# endif - -int +_OBSTACK_SIZE_T _obstack_memory_used (struct obstack *h) { - register struct _obstack_chunk* lp; - register int nbytes = 0; + struct _obstack_chunk *lp; + _OBSTACK_SIZE_T nbytes = 0; for (lp = h->chunk; lp != 0; lp = lp->prev) { @@ -388,20 +300,31 @@ _obstack_memory_used (struct obstack *h) } return nbytes; } - + +# ifndef _OBSTACK_NO_ERROR_HANDLER /* Define the error handler. */ -# ifdef _LIBC -# include -# else -# include "gettext.h" -# endif -# ifndef _ -# define _(msgid) gettext (msgid) -# endif +# include -# ifdef _LIBC -# include -# endif +/* Exit value used when 'print_and_abort' is used. */ +# ifdef _LIBC +int obstack_exit_failure = EXIT_FAILURE; +# else +# include "exitfail.h" +# define obstack_exit_failure exit_failure +# endif + +# ifdef _LIBC +# include +# else +# include "gettext.h" +# endif +# ifndef _ +# define _(msgid) gettext (msgid) +# endif + +# ifdef _LIBC +# include +# endif static _Noreturn void print_and_abort (void) @@ -411,12 +334,20 @@ print_and_abort (void) happen because the "memory exhausted" message appears in other places like this and the translation should be reused instead of creating a very similar string which requires a separate translation. */ -# ifdef _LIBC +# ifdef _LIBC (void) __fxprintf (NULL, "%s\n", _("memory exhausted")); -# else +# else fprintf (stderr, "%s\n", _("memory exhausted")); -# endif +# endif exit (obstack_exit_failure); } -#endif /* !ELIDE_CODE */ +/* The functions allocating more room by calling 'obstack_chunk_alloc' + jump to the handler pointed to by 'obstack_alloc_failed_handler'. + This can be set to a user defined function which should either + abort gracefully or use longjump - but shouldn't return. This + variable by default points to the internal function + 'print_and_abort'. */ +void (*obstack_alloc_failed_handler) (void) = print_and_abort; +# endif /* !_OBSTACK_NO_ERROR_HANDLER */ +#endif /* !_OBSTACK_ELIDE_CODE */ diff --git a/gnu/obstack.h b/gnu/obstack.h index 1897b324..2b7d13b7 100644 --- a/gnu/obstack.h +++ b/gnu/obstack.h @@ -1,92 +1,90 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* obstack.h - object stack macros - Copyright (C) 1988-2014 Free Software Foundation, Inc. + Copyright (C) 1988-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. - This program is free software; you can redistribute it and/or + The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public - License along with this program; if not, see + License along with the GNU C Library; if not, see . */ /* Summary: -All the apparent functions defined here are macros. The idea -is that you would use these pre-tested macros to solve a -very specific set of problems, and they would run fast. -Caution: no side-effects in arguments please!! They may be -evaluated MANY times!! - -These macros operate a stack of objects. Each object starts life -small, and may grow to maturity. (Consider building a word syllable -by syllable.) An object can move while it is growing. Once it has -been "finished" it never changes address again. So the "top of the -stack" is typically an immature growing object, while the rest of the -stack is of mature, fixed size and fixed address objects. - -These routines grab large chunks of memory, using a function you -supply, called 'obstack_chunk_alloc'. On occasion, they free chunks, -by calling 'obstack_chunk_free'. You must define them and declare -them before using any obstack macros. - -Each independent stack is represented by a 'struct obstack'. -Each of the obstack macros expects a pointer to such a structure -as the first argument. - -One motivation for this package is the problem of growing char strings -in symbol tables. Unless you are "fascist pig with a read-only mind" ---Gosper's immortal quote from HAKMEM item 154, out of context--you -would not like to put any arbitrary upper limit on the length of your -symbols. - -In practice this often means you will build many short symbols and a -few long symbols. At the time you are reading a symbol you don't know -how long it is. One traditional method is to read a symbol into a -buffer, realloc()ating the buffer every time you try to read a symbol -that is longer than the buffer. This is beaut, but you still will -want to copy the symbol from the buffer to a more permanent -symbol-table entry say about half the time. - -With obstacks, you can work differently. Use one obstack for all symbol -names. As you read a symbol, grow the name in the obstack gradually. -When the name is complete, finalize it. Then, if the symbol exists already, -free the newly read name. - -The way we do this is to take a large chunk, allocating memory from -low addresses. When you want to build a symbol in the chunk you just -add chars above the current "high water mark" in the chunk. When you -have finished adding chars, because you got to the end of the symbol, -you know how long the chars are, and you can create a new object. -Mostly the chars will not burst over the highest address of the chunk, -because you would typically expect a chunk to be (say) 100 times as -long as an average object. - -In case that isn't clear, when we have enough chars to make up -the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed) -so we just point to it where it lies. No moving of chars is -needed and this is the second win: potentially long strings need -never be explicitly shuffled. Once an object is formed, it does not -change its address during its lifetime. - -When the chars burst over a chunk boundary, we allocate a larger -chunk, and then copy the partly formed object from the end of the old -chunk to the beginning of the new larger chunk. We then carry on -accreting characters to the end of the object as we normally would. - -A special macro is provided to add a single char at a time to a -growing object. This allows the use of register variables, which -break the ordinary 'growth' macro. - -Summary: + All the apparent functions defined here are macros. The idea + is that you would use these pre-tested macros to solve a + very specific set of problems, and they would run fast. + Caution: no side-effects in arguments please!! They may be + evaluated MANY times!! + + These macros operate a stack of objects. Each object starts life + small, and may grow to maturity. (Consider building a word syllable + by syllable.) An object can move while it is growing. Once it has + been "finished" it never changes address again. So the "top of the + stack" is typically an immature growing object, while the rest of the + stack is of mature, fixed size and fixed address objects. + + These routines grab large chunks of memory, using a function you + supply, called 'obstack_chunk_alloc'. On occasion, they free chunks, + by calling 'obstack_chunk_free'. You must define them and declare + them before using any obstack macros. + + Each independent stack is represented by a 'struct obstack'. + Each of the obstack macros expects a pointer to such a structure + as the first argument. + + One motivation for this package is the problem of growing char strings + in symbol tables. Unless you are "fascist pig with a read-only mind" + --Gosper's immortal quote from HAKMEM item 154, out of context--you + would not like to put any arbitrary upper limit on the length of your + symbols. + + In practice this often means you will build many short symbols and a + few long symbols. At the time you are reading a symbol you don't know + how long it is. One traditional method is to read a symbol into a + buffer, realloc()ating the buffer every time you try to read a symbol + that is longer than the buffer. This is beaut, but you still will + want to copy the symbol from the buffer to a more permanent + symbol-table entry say about half the time. + + With obstacks, you can work differently. Use one obstack for all symbol + names. As you read a symbol, grow the name in the obstack gradually. + When the name is complete, finalize it. Then, if the symbol exists already, + free the newly read name. + + The way we do this is to take a large chunk, allocating memory from + low addresses. When you want to build a symbol in the chunk you just + add chars above the current "high water mark" in the chunk. When you + have finished adding chars, because you got to the end of the symbol, + you know how long the chars are, and you can create a new object. + Mostly the chars will not burst over the highest address of the chunk, + because you would typically expect a chunk to be (say) 100 times as + long as an average object. + + In case that isn't clear, when we have enough chars to make up + the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed) + so we just point to it where it lies. No moving of chars is + needed and this is the second win: potentially long strings need + never be explicitly shuffled. Once an object is formed, it does not + change its address during its lifetime. + + When the chars burst over a chunk boundary, we allocate a larger + chunk, and then copy the partly formed object from the end of the old + chunk to the beginning of the new larger chunk. We then carry on + accreting characters to the end of the object as we normally would. + + A special macro is provided to add a single char at a time to a + growing object. This allows the use of register variables, which + break the ordinary 'growth' macro. + + Summary: We allocate large chunks. We carve out one object at a time from the current chunk. Once carved, an object never moves. @@ -98,24 +96,32 @@ Summary: Because of the way we do it, you can "unwind" an obstack back to a previous state. (You may remove objects much as you would with a stack.) -*/ + */ /* Don't do the contents of this file more than once. */ #ifndef _OBSTACK_H #define _OBSTACK_H 1 - -/* We need the type of a pointer subtraction. If __PTRDIFF_TYPE__ is - defined, as with GNU C, use that; that way we don't pollute the - namespace with 's symbols. Otherwise, include - and use ptrdiff_t. */ - -#ifdef __PTRDIFF_TYPE__ -# define PTR_INT_TYPE __PTRDIFF_TYPE__ + +#ifndef _OBSTACK_INTERFACE_VERSION +# define _OBSTACK_INTERFACE_VERSION 2 +#endif + +#include /* For size_t and ptrdiff_t. */ +#include /* For __GNU_LIBRARY__, and memcpy. */ + +#if _OBSTACK_INTERFACE_VERSION == 1 +/* For binary compatibility with obstack version 1, which used "int" + and "long" for these two types. */ +# define _OBSTACK_SIZE_T unsigned int +# define _CHUNK_SIZE_T unsigned long +# define _OBSTACK_CAST(type, expr) ((type) (expr)) #else -# include -# define PTR_INT_TYPE ptrdiff_t +/* Version 2 with sane types, especially for 64-bit hosts. */ +# define _OBSTACK_SIZE_T size_t +# define _CHUNK_SIZE_T size_t +# define _OBSTACK_CAST(type, expr) (expr) #endif /* If B is the base of an object addressed by P, return the result of @@ -124,18 +130,20 @@ Summary: #define __BPTR_ALIGN(B, P, A) ((B) + (((P) - (B) + (A)) & ~(A))) -/* Similar to _BPTR_ALIGN (B, P, A), except optimize the common case +/* Similar to __BPTR_ALIGN (B, P, A), except optimize the common case where pointers can be converted to integers, aligned as integers, - and converted back again. If PTR_INT_TYPE is narrower than a + and converted back again. If ptrdiff_t is narrower than a pointer (e.g., the AS/400), play it safe and compute the alignment relative to B. Otherwise, use the faster strategy of computing the alignment relative to 0. */ -#define __PTR_ALIGN(B, P, A) \ - __BPTR_ALIGN (sizeof (PTR_INT_TYPE) < sizeof (void *) ? (B) : (char *) 0, \ +#define __PTR_ALIGN(B, P, A) \ + __BPTR_ALIGN (sizeof (ptrdiff_t) < sizeof (void *) ? (B) : (char *) 0, \ P, A) -#include +#ifndef __attribute_pure__ +# define __attribute_pure__ _GL_ATTRIBUTE_PURE +#endif #ifdef __cplusplus extern "C" { @@ -143,58 +151,63 @@ extern "C" { struct _obstack_chunk /* Lives at front of each chunk. */ { - char *limit; /* 1 past end of this chunk */ + char *limit; /* 1 past end of this chunk */ struct _obstack_chunk *prev; /* address of prior chunk or NULL */ - char contents[4]; /* objects begin here */ + char contents[4]; /* objects begin here */ }; struct obstack /* control current object in current chunk */ { - long chunk_size; /* preferred size to allocate chunks in */ + _CHUNK_SIZE_T chunk_size; /* preferred size to allocate chunks in */ struct _obstack_chunk *chunk; /* address of current struct obstack_chunk */ - char *object_base; /* address of object we are building */ - char *next_free; /* where to add next char to current object */ - char *chunk_limit; /* address of char after current chunk */ + char *object_base; /* address of object we are building */ + char *next_free; /* where to add next char to current object */ + char *chunk_limit; /* address of char after current chunk */ union { - PTR_INT_TYPE tempint; - void *tempptr; + _OBSTACK_SIZE_T i; + void *p; } temp; /* Temporary for some macros. */ - int alignment_mask; /* Mask of alignment for each object. */ - /* These prototypes vary based on 'use_extra_arg', and we use - casts to the prototypeless function type in all assignments, - but having prototypes here quiets -Wstrict-prototypes. */ - struct _obstack_chunk *(*chunkfun) (void *, long); - void (*freefun) (void *, struct _obstack_chunk *); + _OBSTACK_SIZE_T alignment_mask; /* Mask of alignment for each object. */ + + /* These prototypes vary based on 'use_extra_arg'. */ + union + { + void *(*plain) (size_t); + void *(*extra) (void *, size_t); + } chunkfun; + union + { + void (*plain) (void *); + void (*extra) (void *, void *); + } freefun; + void *extra_arg; /* first arg for chunk alloc/dealloc funcs */ - unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg */ - unsigned maybe_empty_object:1;/* There is a possibility that the current - chunk contains a zero-length object. This - prevents freeing the chunk if we allocate - a bigger chunk to replace it. */ - unsigned alloc_failed:1; /* No longer used, as we now call the failed - handler on error, but retained for binary - compatibility. */ + unsigned use_extra_arg : 1; /* chunk alloc/dealloc funcs take extra arg */ + unsigned maybe_empty_object : 1; /* There is a possibility that the current + chunk contains a zero-length object. This + prevents freeing the chunk if we allocate + a bigger chunk to replace it. */ + unsigned alloc_failed : 1; /* No longer used, as we now call the failed + handler on error, but retained for binary + compatibility. */ }; /* Declare the external functions we use; they are in obstack.c. */ -extern void _obstack_newchunk (struct obstack *, int); -extern int _obstack_begin (struct obstack *, int, int, - void *(*) (long), void (*) (void *)); -extern int _obstack_begin_1 (struct obstack *, int, int, - void *(*) (void *, long), +extern void _obstack_newchunk (struct obstack *, _OBSTACK_SIZE_T); +extern void _obstack_free (struct obstack *, void *); +extern int _obstack_begin (struct obstack *, + _OBSTACK_SIZE_T, _OBSTACK_SIZE_T, + void *(*) (size_t), void (*) (void *)); +extern int _obstack_begin_1 (struct obstack *, + _OBSTACK_SIZE_T, _OBSTACK_SIZE_T, + void *(*) (void *, size_t), void (*) (void *, void *), void *); -extern int _obstack_memory_used (struct obstack *) _GL_ATTRIBUTE_PURE; +extern _OBSTACK_SIZE_T _obstack_memory_used (struct obstack *) + __attribute_pure__; -/* The default name of the function for freeing a chunk is 'obstack_free', - but gnulib users can override this by defining '__obstack_free'. */ -#ifndef __obstack_free -# define __obstack_free obstack_free -#endif -extern void __obstack_free (struct obstack *obstack, void *block); - /* Error handler called when 'obstack_chunk_alloc' failed to allocate more memory. This can be set to a user defined function which should either abort gracefully or use longjump - but shouldn't @@ -203,7 +216,7 @@ extern void (*obstack_alloc_failed_handler) (void); /* Exit value used when 'print_and_abort' is used. */ extern int obstack_exit_failure; - + /* Pointer to beginning of object being allocated or to be allocated next. Note that this might not be the final address of the object because a new chunk might be needed to hold the final size. */ @@ -216,50 +229,47 @@ extern int obstack_exit_failure; /* Pointer to next byte not yet allocated in current chunk. */ -#define obstack_next_free(h) ((h)->next_free) +#define obstack_next_free(h) ((void *) (h)->next_free) /* Mask specifying low bits that should be clear in address of an object. */ #define obstack_alignment_mask(h) ((h)->alignment_mask) /* To prevent prototype warnings provide complete argument list. */ -#define obstack_init(h) \ - _obstack_begin ((h), 0, 0, \ - (void *(*) (long)) obstack_chunk_alloc, \ - (void (*) (void *)) obstack_chunk_free) +#define obstack_init(h) \ + _obstack_begin ((h), 0, 0, \ + _OBSTACK_CAST (void *(*) (size_t), obstack_chunk_alloc), \ + _OBSTACK_CAST (void (*) (void *), obstack_chunk_free)) -#define obstack_begin(h, size) \ - _obstack_begin ((h), (size), 0, \ - (void *(*) (long)) obstack_chunk_alloc, \ - (void (*) (void *)) obstack_chunk_free) +#define obstack_begin(h, size) \ + _obstack_begin ((h), (size), 0, \ + _OBSTACK_CAST (void *(*) (size_t), obstack_chunk_alloc), \ + _OBSTACK_CAST (void (*) (void *), obstack_chunk_free)) -#define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \ - _obstack_begin ((h), (size), (alignment), \ - (void *(*) (long)) (chunkfun), \ - (void (*) (void *)) (freefun)) +#define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \ + _obstack_begin ((h), (size), (alignment), \ + _OBSTACK_CAST (void *(*) (size_t), chunkfun), \ + _OBSTACK_CAST (void (*) (void *), freefun)) #define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \ - _obstack_begin_1 ((h), (size), (alignment), \ - (void *(*) (void *, long)) (chunkfun), \ - (void (*) (void *, void *)) (freefun), (arg)) + _obstack_begin_1 ((h), (size), (alignment), \ + _OBSTACK_CAST (void *(*) (void *, size_t), chunkfun), \ + _OBSTACK_CAST (void (*) (void *, void *), freefun), arg) -#define obstack_chunkfun(h, newchunkfun) \ - ((h) -> chunkfun = (struct _obstack_chunk *(*)(void *, long)) (newchunkfun)) +#define obstack_chunkfun(h, newchunkfun) \ + ((void) ((h)->chunkfun.extra = (void *(*) (void *, size_t)) (newchunkfun))) -#define obstack_freefun(h, newfreefun) \ - ((h) -> freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun)) +#define obstack_freefun(h, newfreefun) \ + ((void) ((h)->freefun.extra = (void *(*) (void *, void *)) (newfreefun))) -#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = (achar)) +#define obstack_1grow_fast(h, achar) ((void) (*((h)->next_free)++ = (achar))) -#define obstack_blank_fast(h,n) ((h)->next_free += (n)) +#define obstack_blank_fast(h, n) ((void) ((h)->next_free += (n))) #define obstack_memory_used(h) _obstack_memory_used (h) - + #if defined __GNUC__ -/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and - does not implement __extension__. But that compiler doesn't define - __GNUC_MINOR__. */ -# if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__) +# if !defined __GNUC_MINOR__ || __GNUC__ * 1000 + __GNUC_MINOR__ < 2008 # define __extension__ # endif @@ -268,160 +278,161 @@ extern int obstack_exit_failure; without using a global variable. Also, we can avoid using the 'temp' slot, to make faster code. */ -# define obstack_object_size(OBSTACK) \ - __extension__ \ - ({ struct obstack const *__o = (OBSTACK); \ - (unsigned) (__o->next_free - __o->object_base); }) - -# define obstack_room(OBSTACK) \ - __extension__ \ - ({ struct obstack const *__o = (OBSTACK); \ - (unsigned) (__o->chunk_limit - __o->next_free); }) - -# define obstack_make_room(OBSTACK,length) \ -__extension__ \ -({ struct obstack *__o = (OBSTACK); \ - int __len = (length); \ - if (__o->chunk_limit - __o->next_free < __len) \ - _obstack_newchunk (__o, __len); \ - (void) 0; }) - -# define obstack_empty_p(OBSTACK) \ - __extension__ \ - ({ struct obstack const *__o = (OBSTACK); \ - (__o->chunk->prev == 0 \ - && __o->next_free == __PTR_ALIGN ((char *) __o->chunk, \ - __o->chunk->contents, \ - __o->alignment_mask)); }) - -# define obstack_grow(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__o = (OBSTACK); \ - int __len = (length); \ - if (__o->next_free + __len > __o->chunk_limit) \ - _obstack_newchunk (__o, __len); \ - memcpy (__o->next_free, where, __len); \ - __o->next_free += __len; \ - (void) 0; }) - -# define obstack_grow0(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__o = (OBSTACK); \ - int __len = (length); \ - if (__o->next_free + __len + 1 > __o->chunk_limit) \ - _obstack_newchunk (__o, __len + 1); \ - memcpy (__o->next_free, where, __len); \ - __o->next_free += __len; \ - *(__o->next_free)++ = 0; \ - (void) 0; }) - -# define obstack_1grow(OBSTACK,datum) \ -__extension__ \ -({ struct obstack *__o = (OBSTACK); \ - if (__o->next_free + 1 > __o->chunk_limit) \ - _obstack_newchunk (__o, 1); \ - obstack_1grow_fast (__o, datum); \ - (void) 0; }) +# define obstack_object_size(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o = (OBSTACK); \ + (_OBSTACK_SIZE_T) (__o->next_free - __o->object_base); }) + +/* The local variable is named __o1 to avoid a shadowed variable + warning when invoked from other obstack macros. */ +# define obstack_room(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o1 = (OBSTACK); \ + (_OBSTACK_SIZE_T) (__o1->chunk_limit - __o1->next_free); }) + +# define obstack_make_room(OBSTACK, length) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + _OBSTACK_SIZE_T __len = (length); \ + if (obstack_room (__o) < __len) \ + _obstack_newchunk (__o, __len); \ + (void) 0; }) + +# define obstack_empty_p(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o = (OBSTACK); \ + (__o->chunk->prev == 0 \ + && __o->next_free == __PTR_ALIGN ((char *) __o->chunk, \ + __o->chunk->contents, \ + __o->alignment_mask)); }) + +# define obstack_grow(OBSTACK, where, length) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + _OBSTACK_SIZE_T __len = (length); \ + if (obstack_room (__o) < __len) \ + _obstack_newchunk (__o, __len); \ + memcpy (__o->next_free, where, __len); \ + __o->next_free += __len; \ + (void) 0; }) + +# define obstack_grow0(OBSTACK, where, length) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + _OBSTACK_SIZE_T __len = (length); \ + if (obstack_room (__o) < __len + 1) \ + _obstack_newchunk (__o, __len + 1); \ + memcpy (__o->next_free, where, __len); \ + __o->next_free += __len; \ + *(__o->next_free)++ = 0; \ + (void) 0; }) + +# define obstack_1grow(OBSTACK, datum) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + if (obstack_room (__o) < 1) \ + _obstack_newchunk (__o, 1); \ + obstack_1grow_fast (__o, datum); }) /* These assume that the obstack alignment is good enough for pointers or ints, and that the data added so far to the current object shares that much alignment. */ -# define obstack_ptr_grow(OBSTACK,datum) \ -__extension__ \ -({ struct obstack *__o = (OBSTACK); \ - if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ - _obstack_newchunk (__o, sizeof (void *)); \ - obstack_ptr_grow_fast (__o, datum); }) \ - -# define obstack_int_grow(OBSTACK,datum) \ -__extension__ \ -({ struct obstack *__o = (OBSTACK); \ - if (__o->next_free + sizeof (int) > __o->chunk_limit) \ - _obstack_newchunk (__o, sizeof (int)); \ - obstack_int_grow_fast (__o, datum); }) - -# define obstack_ptr_grow_fast(OBSTACK,aptr) \ -__extension__ \ -({ struct obstack *__o1 = (OBSTACK); \ - void *__p1 = __o1->next_free; \ - *(const void **) __p1 = (aptr); \ - __o1->next_free += sizeof (const void *); \ - (void) 0; }) - -# define obstack_int_grow_fast(OBSTACK,aint) \ -__extension__ \ -({ struct obstack *__o1 = (OBSTACK); \ - void *__p1 = __o1->next_free; \ - *(int *) __p1 = (aint); \ - __o1->next_free += sizeof (int); \ - (void) 0; }) - -# define obstack_blank(OBSTACK,length) \ -__extension__ \ -({ struct obstack *__o = (OBSTACK); \ - int __len = (length); \ - if (__o->chunk_limit - __o->next_free < __len) \ - _obstack_newchunk (__o, __len); \ - obstack_blank_fast (__o, __len); \ - (void) 0; }) - -# define obstack_alloc(OBSTACK,length) \ -__extension__ \ -({ struct obstack *__h = (OBSTACK); \ - obstack_blank (__h, (length)); \ - obstack_finish (__h); }) - -# define obstack_copy(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__h = (OBSTACK); \ - obstack_grow (__h, (where), (length)); \ - obstack_finish (__h); }) - -# define obstack_copy0(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__h = (OBSTACK); \ - obstack_grow0 (__h, (where), (length)); \ - obstack_finish (__h); }) - -/* The local variable is named __o1 to avoid a name conflict - when obstack_blank is called. */ -# define obstack_finish(OBSTACK) \ -__extension__ \ -({ struct obstack *__o1 = (OBSTACK); \ - void *__value = (void *) __o1->object_base; \ - if (__o1->next_free == __value) \ - __o1->maybe_empty_object = 1; \ - __o1->next_free \ - = __PTR_ALIGN (__o1->object_base, __o1->next_free, \ - __o1->alignment_mask); \ - if (__o1->next_free - (char *)__o1->chunk \ - > __o1->chunk_limit - (char *)__o1->chunk) \ - __o1->next_free = __o1->chunk_limit; \ - __o1->object_base = __o1->next_free; \ - __value; }) - -# define obstack_free(OBSTACK, OBJ) \ -__extension__ \ -({ struct obstack *__o = (OBSTACK); \ - void *__obj = (OBJ); \ - if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) \ - __o->next_free = __o->object_base = (char *)__obj; \ - else (__obstack_free) (__o, __obj); }) - +# define obstack_ptr_grow(OBSTACK, datum) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + if (obstack_room (__o) < sizeof (void *)) \ + _obstack_newchunk (__o, sizeof (void *)); \ + obstack_ptr_grow_fast (__o, datum); }) + +# define obstack_int_grow(OBSTACK, datum) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + if (obstack_room (__o) < sizeof (int)) \ + _obstack_newchunk (__o, sizeof (int)); \ + obstack_int_grow_fast (__o, datum); }) + +# define obstack_ptr_grow_fast(OBSTACK, aptr) \ + __extension__ \ + ({ struct obstack *__o1 = (OBSTACK); \ + void *__p1 = __o1->next_free; \ + *(const void **) __p1 = (aptr); \ + __o1->next_free += sizeof (const void *); \ + (void) 0; }) + +# define obstack_int_grow_fast(OBSTACK, aint) \ + __extension__ \ + ({ struct obstack *__o1 = (OBSTACK); \ + void *__p1 = __o1->next_free; \ + *(int *) __p1 = (aint); \ + __o1->next_free += sizeof (int); \ + (void) 0; }) + +# define obstack_blank(OBSTACK, length) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + _OBSTACK_SIZE_T __len = (length); \ + if (obstack_room (__o) < __len) \ + _obstack_newchunk (__o, __len); \ + obstack_blank_fast (__o, __len); }) + +# define obstack_alloc(OBSTACK, length) \ + __extension__ \ + ({ struct obstack *__h = (OBSTACK); \ + obstack_blank (__h, (length)); \ + obstack_finish (__h); }) + +# define obstack_copy(OBSTACK, where, length) \ + __extension__ \ + ({ struct obstack *__h = (OBSTACK); \ + obstack_grow (__h, (where), (length)); \ + obstack_finish (__h); }) + +# define obstack_copy0(OBSTACK, where, length) \ + __extension__ \ + ({ struct obstack *__h = (OBSTACK); \ + obstack_grow0 (__h, (where), (length)); \ + obstack_finish (__h); }) + +/* The local variable is named __o1 to avoid a shadowed variable + warning when invoked from other obstack macros, typically obstack_free. */ +# define obstack_finish(OBSTACK) \ + __extension__ \ + ({ struct obstack *__o1 = (OBSTACK); \ + void *__value = (void *) __o1->object_base; \ + if (__o1->next_free == __value) \ + __o1->maybe_empty_object = 1; \ + __o1->next_free \ + = __PTR_ALIGN (__o1->object_base, __o1->next_free, \ + __o1->alignment_mask); \ + if ((size_t) (__o1->next_free - (char *) __o1->chunk) \ + > (size_t) (__o1->chunk_limit - (char *) __o1->chunk)) \ + __o1->next_free = __o1->chunk_limit; \ + __o1->object_base = __o1->next_free; \ + __value; }) + +# define obstack_free(OBSTACK, OBJ) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + void *__obj = (void *) (OBJ); \ + if (__obj > (void *) __o->chunk && __obj < (void *) __o->chunk_limit) \ + __o->next_free = __o->object_base = (char *) __obj; \ + else \ + _obstack_free (__o, __obj); }) + #else /* not __GNUC__ */ -# define obstack_object_size(h) \ - (unsigned) ((h)->next_free - (h)->object_base) +# define obstack_object_size(h) \ + ((_OBSTACK_SIZE_T) ((h)->next_free - (h)->object_base)) -# define obstack_room(h) \ - (unsigned) ((h)->chunk_limit - (h)->next_free) +# define obstack_room(h) \ + ((_OBSTACK_SIZE_T) ((h)->chunk_limit - (h)->next_free)) -# define obstack_empty_p(h) \ - ((h)->chunk->prev == 0 \ - && (h)->next_free == __PTR_ALIGN ((char *) (h)->chunk, \ - (h)->chunk->contents, \ - (h)->alignment_mask)) +# define obstack_empty_p(h) \ + ((h)->chunk->prev == 0 \ + && (h)->next_free == __PTR_ALIGN ((char *) (h)->chunk, \ + (h)->chunk->contents, \ + (h)->alignment_mask)) /* Note that the call to _obstack_newchunk is enclosed in (..., 0) so that we can avoid having void expressions @@ -429,83 +440,87 @@ __extension__ \ Casting the third operand to void was tried before, but some compilers won't accept it. */ -# define obstack_make_room(h,length) \ -( (h)->temp.tempint = (length), \ - (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0)) - -# define obstack_grow(h,where,length) \ -( (h)->temp.tempint = (length), \ - (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0), \ - memcpy ((h)->next_free, where, (h)->temp.tempint), \ - (h)->next_free += (h)->temp.tempint) - -# define obstack_grow0(h,where,length) \ -( (h)->temp.tempint = (length), \ - (((h)->next_free + (h)->temp.tempint + 1 > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), (h)->temp.tempint + 1), 0) : 0), \ - memcpy ((h)->next_free, where, (h)->temp.tempint), \ - (h)->next_free += (h)->temp.tempint, \ - *((h)->next_free)++ = 0) - -# define obstack_1grow(h,datum) \ -( (((h)->next_free + 1 > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), 1), 0) : 0), \ - obstack_1grow_fast (h, datum)) - -# define obstack_ptr_grow(h,datum) \ -( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ - obstack_ptr_grow_fast (h, datum)) - -# define obstack_int_grow(h,datum) \ -( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ - obstack_int_grow_fast (h, datum)) - -# define obstack_ptr_grow_fast(h,aptr) \ - (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr)) - -# define obstack_int_grow_fast(h,aint) \ - (((int *) ((h)->next_free += sizeof (int)))[-1] = (aint)) - -# define obstack_blank(h,length) \ -( (h)->temp.tempint = (length), \ - (((h)->chunk_limit - (h)->next_free < (h)->temp.tempint) \ - ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0), \ - obstack_blank_fast (h, (h)->temp.tempint)) - -# define obstack_alloc(h,length) \ - (obstack_blank ((h), (length)), obstack_finish ((h))) - -# define obstack_copy(h,where,length) \ - (obstack_grow ((h), (where), (length)), obstack_finish ((h))) - -# define obstack_copy0(h,where,length) \ - (obstack_grow0 ((h), (where), (length)), obstack_finish ((h))) - -# define obstack_finish(h) \ -( ((h)->next_free == (h)->object_base \ - ? (((h)->maybe_empty_object = 1), 0) \ - : 0), \ - (h)->temp.tempptr = (h)->object_base, \ - (h)->next_free \ - = __PTR_ALIGN ((h)->object_base, (h)->next_free, \ - (h)->alignment_mask), \ - (((h)->next_free - (char *) (h)->chunk \ - > (h)->chunk_limit - (char *) (h)->chunk) \ - ? ((h)->next_free = (h)->chunk_limit) : 0), \ - (h)->object_base = (h)->next_free, \ - (h)->temp.tempptr) - -# define obstack_free(h,obj) \ -( (h)->temp.tempint = (char *) (obj) - (char *) (h)->chunk, \ - ((((h)->temp.tempint > 0 \ - && (h)->temp.tempint < (h)->chunk_limit - (char *) (h)->chunk)) \ - ? (void) ((h)->next_free = (h)->object_base \ - = (h)->temp.tempint + (char *) (h)->chunk) \ - : (__obstack_free) (h, (h)->temp.tempint + (char *) (h)->chunk))) +# define obstack_make_room(h, length) \ + ((h)->temp.i = (length), \ + ((obstack_room (h) < (h)->temp.i) \ + ? (_obstack_newchunk (h, (h)->temp.i), 0) : 0), \ + (void) 0) + +# define obstack_grow(h, where, length) \ + ((h)->temp.i = (length), \ + ((obstack_room (h) < (h)->temp.i) \ + ? (_obstack_newchunk ((h), (h)->temp.i), 0) : 0), \ + memcpy ((h)->next_free, where, (h)->temp.i), \ + (h)->next_free += (h)->temp.i, \ + (void) 0) + +# define obstack_grow0(h, where, length) \ + ((h)->temp.i = (length), \ + ((obstack_room (h) < (h)->temp.i + 1) \ + ? (_obstack_newchunk ((h), (h)->temp.i + 1), 0) : 0), \ + memcpy ((h)->next_free, where, (h)->temp.i), \ + (h)->next_free += (h)->temp.i, \ + *((h)->next_free)++ = 0, \ + (void) 0) + +# define obstack_1grow(h, datum) \ + (((obstack_room (h) < 1) \ + ? (_obstack_newchunk ((h), 1), 0) : 0), \ + obstack_1grow_fast (h, datum)) + +# define obstack_ptr_grow(h, datum) \ + (((obstack_room (h) < sizeof (char *)) \ + ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ + obstack_ptr_grow_fast (h, datum)) + +# define obstack_int_grow(h, datum) \ + (((obstack_room (h) < sizeof (int)) \ + ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ + obstack_int_grow_fast (h, datum)) + +# define obstack_ptr_grow_fast(h, aptr) \ + (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr), \ + (void) 0) + +# define obstack_int_grow_fast(h, aint) \ + (((int *) ((h)->next_free += sizeof (int)))[-1] = (aint), \ + (void) 0) + +# define obstack_blank(h, length) \ + ((h)->temp.i = (length), \ + ((obstack_room (h) < (h)->temp.i) \ + ? (_obstack_newchunk ((h), (h)->temp.i), 0) : 0), \ + obstack_blank_fast (h, (h)->temp.i)) + +# define obstack_alloc(h, length) \ + (obstack_blank ((h), (length)), obstack_finish ((h))) + +# define obstack_copy(h, where, length) \ + (obstack_grow ((h), (where), (length)), obstack_finish ((h))) + +# define obstack_copy0(h, where, length) \ + (obstack_grow0 ((h), (where), (length)), obstack_finish ((h))) + +# define obstack_finish(h) \ + (((h)->next_free == (h)->object_base \ + ? (((h)->maybe_empty_object = 1), 0) \ + : 0), \ + (h)->temp.p = (h)->object_base, \ + (h)->next_free \ + = __PTR_ALIGN ((h)->object_base, (h)->next_free, \ + (h)->alignment_mask), \ + (((size_t) ((h)->next_free - (char *) (h)->chunk) \ + > (size_t) ((h)->chunk_limit - (char *) (h)->chunk)) \ + ? ((h)->next_free = (h)->chunk_limit) : 0), \ + (h)->object_base = (h)->next_free, \ + (h)->temp.p) + +# define obstack_free(h, obj) \ + ((h)->temp.p = (void *) (obj), \ + (((h)->temp.p > (void *) (h)->chunk \ + && (h)->temp.p < (void *) (h)->chunk_limit) \ + ? (void) ((h)->next_free = (h)->object_base = (char *) (h)->temp.p) \ + : _obstack_free ((h), (h)->temp.p))) #endif /* not __GNUC__ */ @@ -513,4 +528,4 @@ __extension__ \ } /* C++ */ #endif -#endif /* obstack.h */ +#endif /* _OBSTACK_H */ diff --git a/gnu/offtostr.c b/gnu/offtostr.c index 8190d7a7..96082aaf 100644 --- a/gnu/offtostr.c +++ b/gnu/offtostr.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #define anytostr offtostr #define inttype off_t #include "anytostr.c" diff --git a/gnu/open.c b/gnu/open.c index 06e60205..95c78114 100644 --- a/gnu/open.c +++ b/gnu/open.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Open a descriptor to a file. - Copyright (C) 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2007-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/openat-die.c b/gnu/openat-die.c index 747ec392..4accca0b 100644 --- a/gnu/openat-die.c +++ b/gnu/openat-die.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Report a save- or restore-cwd failure in our openat replacement and then exit. - Copyright (C) 2005-2006, 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -32,7 +30,7 @@ #include "gettext.h" #define _(msgid) gettext (msgid) -void +_Noreturn void openat_save_fail (int errnum) { #ifndef GNULIB_LIBPOSIX @@ -51,7 +49,7 @@ openat_save_fail (int errnum) during an openat emulation. The caller must ensure that fd 2 is not a just-opened fd, even when openat_safer is not in use. */ -void +_Noreturn void openat_restore_fail (int errnum) { #ifndef GNULIB_LIBPOSIX diff --git a/gnu/openat-priv.h b/gnu/openat-priv.h index d62b53c9..f5a36905 100644 --- a/gnu/openat-priv.h +++ b/gnu/openat-priv.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Internals for openat-like functions. - Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/openat-proc.c b/gnu/openat-proc.c index b7bf4eab..4e1d3419 100644 --- a/gnu/openat-proc.c +++ b/gnu/openat-proc.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create /proc/self/fd-related names for subfiles of open directories. - Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,14 +32,6 @@ #include "intprops.h" -/* The results of open() in this file are not used with fchdir, - and we do not leak fds to any single-threaded code that could use stdio, - therefore save some unnecessary work in fchdir.c. - FIXME - if the kernel ever adds support for multi-thread safety for - avoiding standard fds, then we should use open_safer. */ -#undef open -#undef close - #define PROC_SELF_FD_FORMAT "/proc/self/fd/%d/%s" #define PROC_SELF_FD_NAME_SIZE_BOUND(len) \ diff --git a/gnu/openat.c b/gnu/openat.c index c044dfd0..d1de8b9e 100644 --- a/gnu/openat.c +++ b/gnu/openat.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* provide a replacement openat function - Copyright (C) 2004-2014 Free Software Foundation, Inc. + Copyright (C) 2004-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/openat.h b/gnu/openat.h index ada744a9..f148adfa 100644 --- a/gnu/openat.h +++ b/gnu/openat.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* provide a replacement openat function - Copyright (C) 2004-2006, 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2004-2006, 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/opendir-safer.c b/gnu/opendir-safer.c index e562751d..9bbcda85 100644 --- a/gnu/opendir-safer.c +++ b/gnu/opendir-safer.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Invoke opendir, but avoid some glitches. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/opendir.c b/gnu/opendir.c index 40f06ddf..9f531103 100644 --- a/gnu/opendir.c +++ b/gnu/opendir.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Start reading the entries of a directory. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/parse-datetime.c b/gnu/parse-datetime.c index 3663bd97..21317c3c 100644 --- a/gnu/parse-datetime.c +++ b/gnu/parse-datetime.c @@ -70,7 +70,7 @@ /* Parse a string into an internal time stamp. - Copyright (C) 1999-2000, 2002-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2000, 2002-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -3024,7 +3024,7 @@ lookup_word (parser_control const *pc, char *word) } static int -yylex (YYSTYPE *lvalp, parser_control *pc) +yylex (union YYSTYPE *lvalp, parser_control *pc) { unsigned char c; size_t count; @@ -3154,7 +3154,7 @@ yylex (YYSTYPE *lvalp, parser_control *pc) do { - if (p - buff < sizeof buff - 1) + if (p < buff + sizeof buff - 1) *p++ = c; c = *++pc->input; } diff --git a/gnu/parse-datetime.h b/gnu/parse-datetime.h index 805fc788..443edb94 100644 --- a/gnu/parse-datetime.h +++ b/gnu/parse-datetime.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Parse a string into an internal time stamp. - Copyright (C) 1995, 1997-1998, 2003-2004, 2007, 2009-2014 Free Software + Copyright (C) 1995, 1997-1998, 2003-2004, 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/parse-datetime.y b/gnu/parse-datetime.y index 0ba0a525..1b1fec75 100644 --- a/gnu/parse-datetime.y +++ b/gnu/parse-datetime.y @@ -1,7 +1,7 @@ %{ /* Parse a string into an internal time stamp. - Copyright (C) 1999-2000, 2002-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2000, 2002-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1031,7 +1031,7 @@ lookup_word (parser_control const *pc, char *word) } static int -yylex (YYSTYPE *lvalp, parser_control *pc) +yylex (union YYSTYPE *lvalp, parser_control *pc) { unsigned char c; size_t count; @@ -1161,7 +1161,7 @@ yylex (YYSTYPE *lvalp, parser_control *pc) do { - if (p - buff < sizeof buff - 1) + if (p < buff + sizeof buff - 1) *p++ = c; c = *++pc->input; } diff --git a/gnu/pathmax.h b/gnu/pathmax.h index ebd72f8b..2f3b64f4 100644 --- a/gnu/pathmax.h +++ b/gnu/pathmax.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Define PATH_MAX somehow. Requires sys/types.h. - Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2014 Free Software + Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify diff --git a/gnu/pipe-safer.c b/gnu/pipe-safer.c index e71f828f..91b0fe77 100644 --- a/gnu/pipe-safer.c +++ b/gnu/pipe-safer.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Invoke pipe, but avoid some glitches. - Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/printf-args.c b/gnu/printf-args.c index 0fd27831..da17efbd 100644 --- a/gnu/printf-args.c +++ b/gnu/printf-args.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Decomposed printf argument list. - Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2014 Free Software + Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify diff --git a/gnu/printf-args.h b/gnu/printf-args.h index a8676918..387976cc 100644 --- a/gnu/printf-args.h +++ b/gnu/printf-args.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Decomposed printf argument list. - Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2014 Free Software + Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify diff --git a/gnu/printf-parse.c b/gnu/printf-parse.c index 4aebe256..40d0a226 100644 --- a/gnu/printf-parse.c +++ b/gnu/printf-parse.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Formatted output to strings. - Copyright (C) 1999-2000, 2002-2003, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2000, 2002-2003, 2006-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/printf-parse.h b/gnu/printf-parse.h index a22ba144..fda6704f 100644 --- a/gnu/printf-parse.h +++ b/gnu/printf-parse.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Parse printf format string. - Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2014 Free Software + Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify diff --git a/gnu/priv-set.c b/gnu/priv-set.c index 223af71a..6ea070ac 100644 --- a/gnu/priv-set.c +++ b/gnu/priv-set.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Query, remove, or restore a Solaris privilege. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/priv-set.h b/gnu/priv-set.h index be59285e..b71d4180 100644 --- a/gnu/priv-set.h +++ b/gnu/priv-set.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Query, remove, or restore a Solaris privilege. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/progname.c b/gnu/progname.c index 863147a2..fe93bcaf 100644 --- a/gnu/progname.c +++ b/gnu/progname.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Program name management. - Copyright (C) 2001-2003, 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software: you can redistribute it and/or modify diff --git a/gnu/progname.h b/gnu/progname.h index 39d1ea45..d1e034f9 100644 --- a/gnu/progname.h +++ b/gnu/progname.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Program name management. - Copyright (C) 2001-2004, 2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006, 2009-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software: you can redistribute it and/or modify diff --git a/gnu/quote.h b/gnu/quote.h index f84e4fd7..28c05fdd 100644 --- a/gnu/quote.h +++ b/gnu/quote.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* quote.h - prototypes for quote.c - Copyright (C) 1998-2001, 2003, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1998-2001, 2003, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/quotearg.c b/gnu/quotearg.c index 8aa2ed5f..9f916592 100644 --- a/gnu/quotearg.c +++ b/gnu/quotearg.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* quotearg.c - quote arguments for output - Copyright (C) 1998-2002, 2004-2014 Free Software Foundation, Inc. + Copyright (C) 1998-2002, 2004-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -180,7 +178,7 @@ set_custom_quoting (struct quoting_options *o, static struct quoting_options /* NOT PURE!! */ quoting_options_from_style (enum quoting_style style) { - struct quoting_options o = { 0, 0, { 0 }, NULL, NULL }; + struct quoting_options o = { literal_quoting_style, 0, { 0 }, NULL, NULL }; if (style == custom_quoting_style) abort (); o.style = style; diff --git a/gnu/quotearg.h b/gnu/quotearg.h index f9e58dd2..d0ccd8be 100644 --- a/gnu/quotearg.h +++ b/gnu/quotearg.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* quotearg.h - quote arguments for output - Copyright (C) 1998-2002, 2004, 2006, 2008-2014 Free Software Foundation, + Copyright (C) 1998-2002, 2004, 2006, 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/raise.c b/gnu/raise.c index 97fa3aa9..d6ba2a17 100644 --- a/gnu/raise.c +++ b/gnu/raise.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide a non-threads replacement for the POSIX raise function. - Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/rawmemchr.c b/gnu/rawmemchr.c index 9775af3f..a6380ba8 100644 --- a/gnu/rawmemchr.c +++ b/gnu/rawmemchr.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Searching in a string. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/read.c b/gnu/read.c index 0ccc1e42..3d8eefa8 100644 --- a/gnu/read.c +++ b/gnu/read.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* POSIX compatible read() function. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify diff --git a/gnu/readdir.c b/gnu/readdir.c index ec01463e..8646aac4 100644 --- a/gnu/readdir.c +++ b/gnu/readdir.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Read the next entry of a directory. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/readlink.c b/gnu/readlink.c index d0fe2cf0..965c3e25 100644 --- a/gnu/readlink.c +++ b/gnu/readlink.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Stub for readlink(). - Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/readlinkat.c b/gnu/readlinkat.c index 83355ba1..c91cf0e8 100644 --- a/gnu/readlinkat.c +++ b/gnu/readlinkat.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Read a symlink relative to an open directory. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,7 +18,37 @@ #include +#include #include +#include +#include + +#if HAVE_READLINKAT + +# undef readlinkat + +ssize_t +rpl_readlinkat (int fd, char const *file, char *buf, size_t len) +{ +# if READLINK_TRAILING_SLASH_BUG + size_t file_len = strlen (file); + if (file_len && file[file_len - 1] == '/') + { + /* Even if FILE without the slash is a symlink to a directory, + both lstat() and stat() must resolve the trailing slash to + the directory rather than the symlink. We can therefore + safely use stat() to distinguish between EINVAL and + ENOTDIR/ENOENT, avoiding extra overhead of rpl_lstat(). */ + struct stat st; + if (stat (file, &st) == 0) + errno = EINVAL; + return -1; + } +# endif /* READLINK_TRAILING_SLASH_BUG */ + return readlinkat (fd, file, buf, len); +} + +#else /* Gnulib provides a readlink stub for mingw; use it for distinction between EINVAL and ENOENT, rather than always failing with ENOSYS. */ @@ -36,14 +64,16 @@ then readlink/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. */ -#define AT_FUNC_NAME readlinkat -#define AT_FUNC_F1 readlink -#define AT_FUNC_POST_FILE_PARAM_DECLS , char *buf, size_t len -#define AT_FUNC_POST_FILE_ARGS , buf, len -#define AT_FUNC_RESULT ssize_t -#include "at-func.c" -#undef AT_FUNC_NAME -#undef AT_FUNC_F1 -#undef AT_FUNC_POST_FILE_PARAM_DECLS -#undef AT_FUNC_POST_FILE_ARGS -#undef AT_FUNC_RESULT +# define AT_FUNC_NAME readlinkat +# define AT_FUNC_F1 readlink +# define AT_FUNC_POST_FILE_PARAM_DECLS , char *buf, size_t len +# define AT_FUNC_POST_FILE_ARGS , buf, len +# define AT_FUNC_RESULT ssize_t +# include "at-func.c" +# undef AT_FUNC_NAME +# undef AT_FUNC_F1 +# undef AT_FUNC_POST_FILE_PARAM_DECLS +# undef AT_FUNC_POST_FILE_ARGS +# undef AT_FUNC_RESULT + +#endif diff --git a/gnu/realloc.c b/gnu/realloc.c index 655dc111..068b081f 100644 --- a/gnu/realloc.c +++ b/gnu/realloc.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* realloc() function that is glibc compatible. - Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2014 Free Software + Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/ref-add.sin b/gnu/ref-add.sin index 0e140229..6cbe5b54 100644 --- a/gnu/ref-add.sin +++ b/gnu/ref-add.sin @@ -1,6 +1,6 @@ # Add this package to a list of references stored in a text file. # -# Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/gnu/ref-del.sin b/gnu/ref-del.sin index 2dbcf7b2..f50cf0aa 100644 --- a/gnu/ref-del.sin +++ b/gnu/ref-del.sin @@ -1,6 +1,6 @@ # Remove this package from a list of references stored in a text file. # -# Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/gnu/regcomp.c b/gnu/regcomp.c index 659aff52..c965c80d 100644 --- a/gnu/regcomp.c +++ b/gnu/regcomp.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . @@ -2201,7 +2199,11 @@ parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, { branch = parse_branch (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && branch == NULL, 0)) - return NULL; + { + if (tree != NULL) + postorder (tree, free_tree, NULL); + return NULL; + } } else branch = NULL; @@ -2462,14 +2464,22 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token, while (token->type == OP_DUP_ASTERISK || token->type == OP_DUP_PLUS || token->type == OP_DUP_QUESTION || token->type == OP_OPEN_DUP_NUM) { - tree = parse_dup_op (tree, regexp, dfa, token, syntax, err); - if (BE (*err != REG_NOERROR && tree == NULL, 0)) - return NULL; + bin_tree_t *dup_tree = parse_dup_op (tree, regexp, dfa, token, + syntax, err); + if (BE (*err != REG_NOERROR && dup_tree == NULL, 0)) + { + if (tree != NULL) + postorder (tree, free_tree, NULL); + return NULL; + } + tree = dup_tree; /* In BRE consecutive duplications are not allowed. */ if ((syntax & RE_CONTEXT_INVALID_DUP) && (token->type == OP_DUP_ASTERISK || token->type == OP_OPEN_DUP_NUM)) { + if (tree != NULL) + postorder (tree, free_tree, NULL); *err = REG_BADRPT; return NULL; } @@ -2625,6 +2635,8 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa, /* Duplicate ELEM before it is marked optional. */ elem = duplicate_tree (elem, dfa); + if (BE (elem == NULL, 0)) + goto parse_dup_op_espace; old_tree = tree; } else diff --git a/gnu/regex.c b/gnu/regex.c index 0b1a6515..6d0ae882 100644 --- a/gnu/regex.c +++ b/gnu/regex.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . diff --git a/gnu/regex.h b/gnu/regex.h index 5bb06aca..f7de3943 100644 --- a/gnu/regex.h +++ b/gnu/regex.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Definitions for data structures and routines for the regular expression library. - Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2014 Free Software + Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -246,19 +244,16 @@ extern reg_syntax_t re_syntax_options; | RE_INVALID_INTERVAL_ORD) # define RE_SYNTAX_GREP \ - (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ - | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \ - | RE_NEWLINE_ALT) + ((RE_SYNTAX_POSIX_BASIC | RE_NEWLINE_ALT) \ + & ~(RE_CONTEXT_INVALID_DUP | RE_DOT_NOT_NULL)) # define RE_SYNTAX_EGREP \ - (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \ - | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \ - | RE_NEWLINE_ALT | RE_NO_BK_PARENS \ - | RE_NO_BK_VBAR) + ((RE_SYNTAX_POSIX_EXTENDED | RE_INVALID_INTERVAL_ORD | RE_NEWLINE_ALT) \ + & ~(RE_CONTEXT_INVALID_OPS | RE_DOT_NOT_NULL)) +/* POSIX grep -E behavior is no longer incompatible with GNU. */ # define RE_SYNTAX_POSIX_EGREP \ - (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES \ - | RE_INVALID_INTERVAL_ORD) + RE_SYNTAX_EGREP /* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */ # define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC @@ -610,7 +605,7 @@ extern void re_set_registers (struct re_pattern_buffer *__buffer, regoff_t *__starts, regoff_t *__ends); #endif /* Use GNU */ -#if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_BSD) +#if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_MISC) # ifndef _CRAY /* 4.2 bsd compatibility. */ extern char *re_comp (const char *); diff --git a/gnu/regex_internal.c b/gnu/regex_internal.c index 056bf728..47f1ccb7 100644 --- a/gnu/regex_internal.c +++ b/gnu/regex_internal.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . @@ -679,7 +677,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) pstr->valid_len - offset); pstr->valid_len -= offset; pstr->valid_raw_len -= offset; -#if DEBUG +#if defined DEBUG && DEBUG assert (pstr->valid_len > 0); #endif } @@ -938,7 +936,7 @@ re_string_context_at (const re_string_t *input, Idx idx, int eflags) Idx wc_idx = idx; while(input->wcs[wc_idx] == WEOF) { -#ifdef DEBUG +#if defined DEBUG && DEBUG /* It must not happen. */ assert (REG_VALID_INDEX (wc_idx)); #endif diff --git a/gnu/regex_internal.h b/gnu/regex_internal.h index 32ec0471..bf6b83b8 100644 --- a/gnu/regex_internal.h +++ b/gnu/regex_internal.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . @@ -42,7 +40,7 @@ # define lock_fini(lock) 0 # define lock_lock(lock) __libc_lock_lock (lock) # define lock_unlock(lock) __libc_lock_unlock (lock) -#elif defined GNULIB_LOCK +#elif defined GNULIB_LOCK && !defined USE_UNLOCKED_IO # include "glthread/lock.h" /* Use gl_lock_define if empty macro arguments are known to work. Otherwise, fall back on less-portable substitutes. */ @@ -64,7 +62,7 @@ # define lock_fini(lock) glthread_lock_destroy (&(lock)) # define lock_lock(lock) glthread_lock_lock (&(lock)) # define lock_unlock(lock) glthread_lock_unlock (&(lock)) -#elif defined GNULIB_PTHREAD +#elif defined GNULIB_PTHREAD && !defined USE_UNLOCKED_IO # include # define lock_define(name) pthread_mutex_t name; # define lock_init(lock) pthread_mutex_init (&(lock), 0) diff --git a/gnu/regexec.c b/gnu/regexec.c index 168ad786..85de71d7 100644 --- a/gnu/regexec.c +++ b/gnu/regexec.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . diff --git a/gnu/rename.c b/gnu/rename.c index 025f882c..43be743d 100644 --- a/gnu/rename.c +++ b/gnu/rename.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Work around rename bugs in some systems. - Copyright (C) 2001-2003, 2005-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -287,7 +285,7 @@ rpl_rename (char const *src, char const *dst) char *dst_temp = (char *) dst; bool src_slash; bool dst_slash; - bool dst_exists; + bool dst_exists _GL_UNUSED; int ret_val = -1; int rename_errno = ENOTDIR; struct stat src_st; @@ -464,7 +462,9 @@ rpl_rename (char const *src, char const *dst) ret_val = rename (src_temp, dst_temp); rename_errno = errno; - out: + + out: _GL_UNUSED_LABEL; + if (src_temp != src) free (src_temp); if (dst_temp != dst) diff --git a/gnu/renameat.c b/gnu/renameat.c index 1042a55e..fa416f00 100644 --- a/gnu/renameat.c +++ b/gnu/renameat.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Rename a file relative to open directories. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/rewinddir.c b/gnu/rewinddir.c index 8d8950f6..8e3b4dd9 100644 --- a/gnu/rewinddir.c +++ b/gnu/rewinddir.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Restart reading the entries of a directory from the beginning. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/rmdir.c b/gnu/rmdir.c index 3b1e19fa..ae21d541 100644 --- a/gnu/rmdir.c +++ b/gnu/rmdir.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Work around rmdir bugs. - Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2014 Free Software + Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/root-uid.h b/gnu/root-uid.h index d05bdd46..d263f4da 100644 --- a/gnu/root-uid.h +++ b/gnu/root-uid.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* The user ID that always has appropriate privileges in the POSIX sense. - Copyright 2012-2014 Free Software Foundation, Inc. + Copyright 2012-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/rpmatch.c b/gnu/rpmatch.c index 04caae20..b2416047 100644 --- a/gnu/rpmatch.c +++ b/gnu/rpmatch.c @@ -1,9 +1,7 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Determine whether string value is affirmation or negative response according to current locale's data. - Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2014 Free Software + Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/safe-read.c b/gnu/safe-read.c index efc7467f..dbb63380 100644 --- a/gnu/safe-read.c +++ b/gnu/safe-read.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An interface to read and write that retries after interrupts. - Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2014 Free Software + Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/safe-read.h b/gnu/safe-read.h index 11139493..b5d408ac 100644 --- a/gnu/safe-read.h +++ b/gnu/safe-read.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An interface to read() that retries after interrupts. - Copyright (C) 2002, 2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2002, 2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/safe-write.c b/gnu/safe-write.c index c5cc2099..4c178f52 100644 --- a/gnu/safe-write.c +++ b/gnu/safe-write.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An interface to write that retries after interrupts. - Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/safe-write.h b/gnu/safe-write.h index 8fcea322..86a32b2a 100644 --- a/gnu/safe-write.h +++ b/gnu/safe-write.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An interface to write() that retries after interrupts. - Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/same-inode.h b/gnu/same-inode.h index 25cb2ca0..ecc3049d 100644 --- a/gnu/same-inode.h +++ b/gnu/same-inode.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Determine whether two stat buffers refer to the same file. - Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/save-cwd.c b/gnu/save-cwd.c index b5a028bc..159d8a89 100644 --- a/gnu/save-cwd.c +++ b/gnu/save-cwd.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* save-cwd.c -- Save and restore current working directory. - Copyright (C) 1995, 1997-1998, 2003-2006, 2009-2014 Free Software + Copyright (C) 1995, 1997-1998, 2003-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/save-cwd.h b/gnu/save-cwd.h index 5d8e4fa8..890f7fba 100644 --- a/gnu/save-cwd.h +++ b/gnu/save-cwd.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Save and restore current working directory. - Copyright (C) 1995, 1997-1998, 2003, 2009-2014 Free Software Foundation, + Copyright (C) 1995, 1997-1998, 2003, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/savedir.c b/gnu/savedir.c index 8657bfdd..61b0fa3c 100644 --- a/gnu/savedir.c +++ b/gnu/savedir.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* savedir.c -- save the list of files in a directory in a string - Copyright (C) 1990, 1997-2001, 2003-2006, 2009-2014 Free Software + Copyright (C) 1990, 1997-2001, 2003-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -163,7 +161,8 @@ streamsavedir (DIR *dirp, enum savedir_option option) { size_t i; - qsort (entries, entries_used, sizeof *entries, cmp); + if (entries_used) + qsort (entries, entries_used, sizeof *entries, cmp); name_space = xmalloc (used + 1); used = 0; for (i = 0; i < entries_used; i++) diff --git a/gnu/savedir.h b/gnu/savedir.h index 5b53e651..70588aa8 100644 --- a/gnu/savedir.h +++ b/gnu/savedir.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Save the list of files in a directory in a string. - Copyright (C) 1997, 1999, 2001, 2003, 2005, 2009-2014 Free Software + Copyright (C) 1997, 1999, 2001, 2003, 2005, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/se-context.c b/gnu/se-context.c index 7ef4d972..2e5aa131 100644 --- a/gnu/se-context.c +++ b/gnu/se-context.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include #define SE_CONTEXT_INLINE _GL_EXTERN_INLINE #include diff --git a/gnu/se-context.in.h b/gnu/se-context.in.h index ebe72775..c3890a2b 100644 --- a/gnu/se-context.in.h +++ b/gnu/se-context.in.h @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #ifndef SELINUX_CONTEXT_H # define SELINUX_CONTEXT_H diff --git a/gnu/se-selinux.c b/gnu/se-selinux.c index bdf696b3..ee4e57fc 100644 --- a/gnu/se-selinux.c +++ b/gnu/se-selinux.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include #define SE_SELINUX_INLINE _GL_EXTERN_INLINE #include diff --git a/gnu/se-selinux.in.h b/gnu/se-selinux.in.h index e798e1e7..5d8f9504 100644 --- a/gnu/se-selinux.in.h +++ b/gnu/se-selinux.in.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Replacement for platforms that lack it. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/secure_getenv.c b/gnu/secure_getenv.c index b8920c11..31aad1fd 100644 --- a/gnu/secure_getenv.c +++ b/gnu/secure_getenv.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Look up an environment variable more securely. - Copyright 2013-2014 Free Software Foundation, Inc. + Copyright 2013-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published diff --git a/gnu/selinux-at.c b/gnu/selinux-at.c index da998cd7..fbbbf5d3 100644 --- a/gnu/selinux-at.c +++ b/gnu/selinux-at.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* openat-style fd-relative functions for SE Linux - Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/selinux-at.h b/gnu/selinux-at.h index 1808e357..93340eec 100644 --- a/gnu/selinux-at.h +++ b/gnu/selinux-at.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Prototypes for openat-style fd-relative SELinux functions - Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/set-permissions.c b/gnu/set-permissions.c new file mode 100644 index 00000000..1aa5b494 --- /dev/null +++ b/gnu/set-permissions.c @@ -0,0 +1,846 @@ +/* set-permissions.c - set permissions of a file + + Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */ + +#include + +#include "acl.h" + +#include "acl-internal.h" + +#if USE_ACL +# if ! defined HAVE_ACL_FROM_MODE && defined HAVE_ACL_FROM_TEXT /* FreeBSD, IRIX, Tru64 */ +# if HAVE_ACL_GET_FILE && !HAVE_ACL_TYPE_EXTENDED + +static acl_t +acl_from_mode (mode_t mode) +{ +# if HAVE_ACL_FREE_TEXT /* Tru64 */ + char acl_text[] = "u::---,g::---,o::---,"; +# else /* FreeBSD, IRIX */ + char acl_text[] = "u::---,g::---,o::---"; +# endif + + if (mode & S_IRUSR) acl_text[ 3] = 'r'; + if (mode & S_IWUSR) acl_text[ 4] = 'w'; + if (mode & S_IXUSR) acl_text[ 5] = 'x'; + if (mode & S_IRGRP) acl_text[10] = 'r'; + if (mode & S_IWGRP) acl_text[11] = 'w'; + if (mode & S_IXGRP) acl_text[12] = 'x'; + if (mode & S_IROTH) acl_text[17] = 'r'; + if (mode & S_IWOTH) acl_text[18] = 'w'; + if (mode & S_IXOTH) acl_text[19] = 'x'; + + return acl_from_text (acl_text); +} +# endif +# endif + +# if HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ +static int +set_acls_from_mode (const char *name, int desc, mode_t mode, bool *must_chmod) +{ +# ifdef ACE_GETACL + /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4 + file systems (whereas the other ones are used in UFS file systems). */ + + /* The flags in the ace_t structure changed in a binary incompatible way + when ACL_NO_TRIVIAL etc. were introduced in version 1.15. + How to distinguish the two conventions at runtime? + We fetch the existing ACL. In the old convention, usually three ACEs have + a_flags = ACE_OWNER / ACE_GROUP / ACE_OTHER, in the range 0x0100..0x0400. + In the new convention, these values are not used. */ + int convention; + + { + /* Initially, try to read the entries into a stack-allocated buffer. + Use malloc if it does not fit. */ + enum + { + alloc_init = 4000 / sizeof (ace_t), /* >= 3 */ + alloc_max = MIN (INT_MAX, SIZE_MAX / sizeof (ace_t)) + }; + ace_t buf[alloc_init]; + size_t alloc = alloc_init; + ace_t *entries = buf; + ace_t *malloced = NULL; + int count; + + for (;;) + { + count = (desc != -1 + ? facl (desc, ACE_GETACL, alloc, entries) + : acl (name, ACE_GETACL, alloc, entries)); + if (count < 0 && errno == ENOSPC) + { + /* Increase the size of the buffer. */ + free (malloced); + if (alloc > alloc_max / 2) + { + errno = ENOMEM; + return -1; + } + alloc = 2 * alloc; /* <= alloc_max */ + entries = malloced = (ace_t *) malloc (alloc * sizeof (ace_t)); + if (entries == NULL) + { + errno = ENOMEM; + return -1; + } + continue; + } + break; + } + + if (count <= 0) + convention = -1; + else + { + int i; + + convention = 0; + for (i = 0; i < count; i++) + if (entries[i].a_flags & (OLD_ACE_OWNER | OLD_ACE_GROUP | OLD_ACE_OTHER)) + { + convention = 1; + break; + } + } + free (malloced); + } + + if (convention >= 0) + { + ace_t entries[6]; + int count; + int ret; + + if (convention) + { + /* Running on Solaris 10. */ + entries[0].a_type = OLD_ALLOW; + entries[0].a_flags = OLD_ACE_OWNER; + entries[0].a_who = 0; /* irrelevant */ + entries[0].a_access_mask = (mode >> 6) & 7; + entries[1].a_type = OLD_ALLOW; + entries[1].a_flags = OLD_ACE_GROUP; + entries[1].a_who = 0; /* irrelevant */ + entries[1].a_access_mask = (mode >> 3) & 7; + entries[2].a_type = OLD_ALLOW; + entries[2].a_flags = OLD_ACE_OTHER; + entries[2].a_who = 0; + entries[2].a_access_mask = mode & 7; + count = 3; + } + else + { + /* Running on Solaris 10 (newer version) or Solaris 11. + The details here were found through "/bin/ls -lvd somefiles". */ + entries[0].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE; + entries[0].a_flags = NEW_ACE_OWNER; + entries[0].a_who = 0; /* irrelevant */ + entries[0].a_access_mask = 0; + entries[1].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE; + entries[1].a_flags = NEW_ACE_OWNER; + entries[1].a_who = 0; /* irrelevant */ + entries[1].a_access_mask = NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER; + if (mode & 0400) + entries[1].a_access_mask |= NEW_ACE_READ_DATA; + else + entries[0].a_access_mask |= NEW_ACE_READ_DATA; + if (mode & 0200) + entries[1].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + else + entries[0].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + if (mode & 0100) + entries[1].a_access_mask |= NEW_ACE_EXECUTE; + else + entries[0].a_access_mask |= NEW_ACE_EXECUTE; + entries[2].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE; + entries[2].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP; + entries[2].a_who = 0; /* irrelevant */ + entries[2].a_access_mask = 0; + entries[3].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE; + entries[3].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP; + entries[3].a_who = 0; /* irrelevant */ + entries[3].a_access_mask = 0; + if (mode & 0040) + entries[3].a_access_mask |= NEW_ACE_READ_DATA; + else + entries[2].a_access_mask |= NEW_ACE_READ_DATA; + if (mode & 0020) + entries[3].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + else + entries[2].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + if (mode & 0010) + entries[3].a_access_mask |= NEW_ACE_EXECUTE; + else + entries[2].a_access_mask |= NEW_ACE_EXECUTE; + entries[4].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE; + entries[4].a_flags = NEW_ACE_EVERYONE; + entries[4].a_who = 0; + entries[4].a_access_mask = NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER; + entries[5].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE; + entries[5].a_flags = NEW_ACE_EVERYONE; + entries[5].a_who = 0; + entries[5].a_access_mask = NEW_ACE_READ_NAMED_ATTRS + | NEW_ACE_READ_ATTRIBUTES + | NEW_ACE_READ_ACL + | NEW_ACE_SYNCHRONIZE; + if (mode & 0004) + entries[5].a_access_mask |= NEW_ACE_READ_DATA; + else + entries[4].a_access_mask |= NEW_ACE_READ_DATA; + if (mode & 0002) + entries[5].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + else + entries[4].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + if (mode & 0001) + entries[5].a_access_mask |= NEW_ACE_EXECUTE; + else + entries[4].a_access_mask |= NEW_ACE_EXECUTE; + count = 6; + } + if (desc != -1) + ret = facl (desc, ACE_SETACL, count, entries); + else + ret = acl (name, ACE_SETACL, count, entries); + if (ret < 0 && errno != EINVAL && errno != ENOTSUP) + { + if (errno == ENOSYS) + { + *must_chmod = true; + return 0; + } + return -1; + } + if (ret == 0) + return 0; + } +# endif + + { + aclent_t entries[3]; + int ret; + + entries[0].a_type = USER_OBJ; + entries[0].a_id = 0; /* irrelevant */ + entries[0].a_perm = (mode >> 6) & 7; + entries[1].a_type = GROUP_OBJ; + entries[1].a_id = 0; /* irrelevant */ + entries[1].a_perm = (mode >> 3) & 7; + entries[2].a_type = OTHER_OBJ; + entries[2].a_id = 0; + entries[2].a_perm = mode & 7; + + if (desc != -1) + ret = facl (desc, SETACL, + sizeof (entries) / sizeof (aclent_t), entries); + else + ret = acl (name, SETACL, + sizeof (entries) / sizeof (aclent_t), entries); + if (ret < 0) + { + if (errno == ENOSYS || errno == EOPNOTSUPP) + { + *must_chmod = true; + return 0; + } + return -1; + } + } +} + +# elif HAVE_GETACL /* HP-UX */ +static int +context_acl_from_mode (struct permission_context *ctx, const char *name, int desc) +{ + struct stat statbuf; + int ret; + + if (desc != -1) + ret = fstat (desc, &statbuf); + else + ret = stat (name, &statbuf); + if (ret < 0) + return -1; + + ctx->entries[0].uid = statbuf.st_uid; + ctx->entries[0].gid = ACL_NSGROUP; + ctx->entries[0].mode = (ctx->mode >> 6) & 7; + ctx->entries[1].uid = ACL_NSUSER; + ctx->entries[1].gid = statbuf.st_gid; + ctx->entries[1].mode = (ctx->mode >> 3) & 7; + ctx->entries[2].uid = ACL_NSUSER; + ctx->entries[2].gid = ACL_NSGROUP; + ctx->entries[2].mode = ctx->mode & 7; + ctx->count = 3; + return 0; +} + +# if HAVE_ACLV_H /* HP-UX >= 11.11 */ +static int +context_aclv_from_mode (struct permission_context *ctx) +{ + int ret; + + ctx->aclv_entries[0].a_type = USER_OBJ; + ctx->aclv_entries[0].a_id = 0; /* irrelevant */ + ctx->aclv_entries[0].a_perm = (ctx->mode >> 6) & 7; + ctx->aclv_entries[1].a_type = GROUP_OBJ; + ctx->aclv_entries[1].a_id = 0; /* irrelevant */ + ctx->aclv_entries[1].a_perm = (ctx->mode >> 3) & 7; + ctx->aclv_entries[2].a_type = CLASS_OBJ; + ctx->aclv_entries[2].a_id = 0; + ctx->aclv_entries[2].a_perm = (ctx->mode >> 3) & 7; + ctx->aclv_entries[3].a_type = OTHER_OBJ; + ctx->aclv_entries[3].a_id = 0; + ctx->aclv_entries[3].a_perm = ctx->mode & 7; + ctx->aclv_count = 4; + + ret = aclsort (ctx->aclv_count, 1, ctx->aclv_entries); + if (ret > 0) + abort (); + return ret; +} +# endif + +# elif HAVE_ACLX_GET && defined ACL_AIX_WIP /* AIX */ +static int +set_acls_from_mode (const char *name, int desc, mode_t mode, bool *must_chmod) +{ + acl_type_list_t types; + size_t types_size = sizeof (types); + acl_type_t type; + + if (aclx_gettypes (name, &types, &types_size) < 0 + || types.num_entries == 0) + { + *must_chmod = true; + return 0; + } + + /* XXX Do we need to clear all types of ACLs for the given file, or is it + sufficient to clear the first one? */ + type = types.entries[0]; + if (type.u64 == ACL_AIXC) + { + union { struct acl a; char room[128]; } u; + int ret; + + u.a.acl_len = (char *) &u.a.acl_ext[0] - (char *) &u.a; /* no entries */ + u.a.acl_mode = mode & ~(S_IXACL | 0777); + u.a.u_access = (mode >> 6) & 7; + u.a.g_access = (mode >> 3) & 7; + u.a.o_access = mode & 7; + + if (desc != -1) + ret = aclx_fput (desc, SET_ACL | SET_MODE_S_BITS, + type, &u.a, u.a.acl_len, mode); + else + ret = aclx_put (name, SET_ACL | SET_MODE_S_BITS, + type, &u.a, u.a.acl_len, mode); + if (!(ret < 0 && errno == ENOSYS)) + return ret; + } + else if (type.u64 == ACL_NFS4) + { + union { nfs4_acl_int_t a; char room[128]; } u; + nfs4_ace_int_t *ace; + int ret; + + u.a.aclVersion = NFS4_ACL_INT_STRUCT_VERSION; + u.a.aclEntryN = 0; + ace = &u.a.aclEntry[0]; + { + ace->flags = ACE4_ID_SPECIAL; + ace->aceWho.special_whoid = ACE4_WHO_OWNER; + ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE; + ace->aceFlags = 0; + ace->aceMask = + (mode & 0400 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0) + | (mode & 0200 + ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA + | ACE4_ADD_SUBDIRECTORY + : 0) + | (mode & 0100 ? ACE4_EXECUTE : 0); + ace->aceWhoString[0] = '\0'; + ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace; + ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4]; + u.a.aclEntryN++; + } + { + ace->flags = ACE4_ID_SPECIAL; + ace->aceWho.special_whoid = ACE4_WHO_GROUP; + ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE; + ace->aceFlags = 0; + ace->aceMask = + (mode & 0040 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0) + | (mode & 0020 + ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA + | ACE4_ADD_SUBDIRECTORY + : 0) + | (mode & 0010 ? ACE4_EXECUTE : 0); + ace->aceWhoString[0] = '\0'; + ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace; + ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4]; + u.a.aclEntryN++; + } + { + ace->flags = ACE4_ID_SPECIAL; + ace->aceWho.special_whoid = ACE4_WHO_EVERYONE; + ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE; + ace->aceFlags = 0; + ace->aceMask = + (mode & 0004 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0) + | (mode & 0002 + ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA + | ACE4_ADD_SUBDIRECTORY + : 0) + | (mode & 0001 ? ACE4_EXECUTE : 0); + ace->aceWhoString[0] = '\0'; + ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace; + ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4]; + u.a.aclEntryN++; + } + u.a.aclLength = (char *) ace - (char *) &u.a; + + if (desc != -1) + ret = aclx_fput (desc, SET_ACL | SET_MODE_S_BITS, + type, &u.a, u.a.aclLength, mode); + else + ret = aclx_put (name, SET_ACL | SET_MODE_S_BITS, + type, &u.a, u.a.aclLength, mode); + if (!(ret < 0 && errno == ENOSYS)) + return ret; + } + + *must_chmod = true; + return 0; +} + +# elif HAVE_STATACL /* older AIX */ +static int +context_acl_from_mode (struct permission_context *ctx) +{ + ctx->u.a.acl_len = (char *) &ctx->u.a.acl_ext[0] - (char *) &ctx->u.a; /* no entries */ + ctx->u.a.acl_mode = ctx->mode & ~(S_IXACL | 0777); + ctx->u.a.u_access = (ctx->mode >> 6) & 7; + ctx->u.a.g_access = (ctx->mode >> 3) & 7; + ctx->u.a.o_access = ctx->mode & 7; + ctx->have_u = true; + return 0; +} + +# elif HAVE_ACLSORT /* NonStop Kernel */ +static int +context_acl_from_mode (struct permission_context *ctx) +{ + int ret; + + ctx->entries[0].a_type = USER_OBJ; + ctx->entries[0].a_id = 0; /* irrelevant */ + ctx->entries[0].a_perm = (ctx->mode >> 6) & 7; + ctx->entries[1].a_type = GROUP_OBJ; + ctx->entries[1].a_id = 0; /* irrelevant */ + ctx->entries[1].a_perm = (ctx->mode >> 3) & 7; + ctx->entries[2].a_type = CLASS_OBJ; + ctx->entries[2].a_id = 0; + ctx->entries[2].a_perm = (ctx->mode >> 3) & 7; + ctx->entries[3].a_type = OTHER_OBJ; + ctx->entries[3].a_id = 0; + ctx->entries[3].a_perm = ctx->mode & 7; + ctx->count = 4; + + ret = aclsort (ctx->count, 1, entries); + if (ret > 0) + abort (); + return ret; +} +# endif + +static int +set_acls (struct permission_context *ctx, const char *name, int desc, + int from_mode, bool *must_chmod, bool *acls_set) +{ + int ret = 0; + +# if HAVE_ACL_GET_FILE + /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */ + /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ +# if !HAVE_ACL_TYPE_EXTENDED + /* Linux, FreeBSD, IRIX, Tru64 */ + +# ifndef HAVE_ACL_FROM_TEXT +# error Must have acl_from_text (see POSIX 1003.1e draft 17). +# endif +# ifndef HAVE_ACL_DELETE_DEF_FILE +# error Must have acl_delete_def_file (see POSIX 1003.1e draft 17). +# endif + + if (! ctx->acls_not_supported) + { + if (ret == 0 && from_mode) + { + if (ctx->acl) + acl_free (ctx->acl); + ctx->acl = acl_from_mode (ctx->mode); + if (ctx->acl == NULL) + ret = -1; + } + + if (ret == 0 && ctx->acl) + { + if (HAVE_ACL_SET_FD && desc != -1) + ret = acl_set_fd (desc, ctx->acl); + else + ret = acl_set_file (name, ACL_TYPE_ACCESS, ctx->acl); + if (ret != 0) + { + if (! acl_errno_valid (errno)) + { + ctx->acls_not_supported = true; + if (from_mode || acl_access_nontrivial (ctx->acl) == 0) + ret = 0; + } + } + else + { + *acls_set = true; + if (S_ISDIR(ctx->mode)) + { + if (! from_mode && ctx->default_acl && + acl_default_nontrivial (ctx->default_acl)) + ret = acl_set_file (name, ACL_TYPE_DEFAULT, + ctx->default_acl); + else + ret = acl_delete_def_file (name); + } + } + } + } + +# if HAVE_ACL_TYPE_NFS4 /* FreeBSD */ + + /* File systems either support POSIX ACLs (for example, ufs) or NFS4 ACLs + (for example, zfs). */ + + /* TODO: Implement setting ACLs once get_permissions() reads them. */ + +# endif + +# else /* HAVE_ACL_TYPE_EXTENDED */ + /* Mac OS X */ + + /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS) + and acl_get_file (name, ACL_TYPE_DEFAULT) + always return NULL / EINVAL. You have to use + acl_get_file (name, ACL_TYPE_EXTENDED) + or acl_get_fd (open (name, ...)) + to retrieve an ACL. + On the other hand, + acl_set_file (name, ACL_TYPE_ACCESS, acl) + and acl_set_file (name, ACL_TYPE_DEFAULT, acl) + have the same effect as + acl_set_file (name, ACL_TYPE_EXTENDED, acl): + Each of these calls sets the file's ACL. */ + + if (ctx->acl == NULL) + { + acl_t acl; + + /* Remove ACLs if the file has ACLs. */ + if (HAVE_ACL_GET_FD && desc != -1) + acl = acl_get_fd (desc); + else + acl = acl_get_file (name, ACL_TYPE_EXTENDED); + if (acl) + { + acl_free (acl); + + acl = acl_init (0); + if (acl) + { + if (HAVE_ACL_SET_FD && desc != -1) + ret = acl_set_fd (desc, acl); + else + ret = acl_set_file (name, ACL_TYPE_EXTENDED, acl); + acl_free (acl); + } + else + ret = -1; + } + } + else + { + if (HAVE_ACL_SET_FD && desc != -1) + ret = acl_set_fd (desc, ctx->acl); + else + ret = acl_set_file (name, ACL_TYPE_EXTENDED, ctx->acl); + if (ret != 0) + { + if (! acl_errno_valid (errno) + && ! acl_extended_nontrivial (ctx->acl)) + ret = 0; + } + } + *acls_set = true; + +# endif + +# elif defined GETACL /* Solaris, Cygwin, not HP-UX */ + + /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions + of Unixware. The acl() call returns the access and default ACL both + at once. */ + + /* If both ace_entries and entries are available, try SETACL before + ACE_SETACL, because SETACL cannot fail with ENOTSUP whereas ACE_SETACL + can. */ + + if (from_mode) + return set_acls_from_mode (name, desc, ctx->mode, must_chmod); + + if (ret == 0 && ctx->count) + { + if (desc != -1) + ret = facl (desc, SETACL, ctx->count, ctx->entries); + else + ret = acl (name, SETACL, ctx->count, ctx->entries); + if (ret < 0) + { + if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL) + && acl_nontrivial (ctx->count, ctx->entries) == 0) + ret = 0; + } + else + *acls_set = true; + } + +# ifdef ACE_GETACL + if (ret == 0 && ctx->ace_count) + { + if (desc != -1) + ret = facl (desc, ACE_SETACL, ctx->ace_count, ctx->ace_entries); + else + ret = acl (name, ACE_SETACL, ctx->ace_count, ctx->ace_entries); + if (ret < 0) + { + if ((errno == ENOSYS || errno == EINVAL || errno == ENOTSUP) + && acl_ace_nontrivial (ctx->ace_count, ctx->ace_entries) == 0) + ret = 0; + } + else + *acls_set = true; + } +# endif + +# elif HAVE_GETACL /* HP-UX */ + + if (from_mode) + ret = context_acl_from_mode (ctx, name, desc); + + if (ret == 0 && ctx->count > 0) + { + if (desc != -1) + ret = fsetacl (desc, ctx->count, ctx->entries); + else + ret = setacl (name, ctx->count, ctx->entries); + if (ret < 0) + { + if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP) + && (from_mode || !acl_nontrivial (ctx->count, ctx->entries))) + ret = 0; + } + else + *acls_set = true; + } + +# if HAVE_ACLV_H + if (from_mode) + ret = context_aclv_from_mode (ctx); + + if (ret == 0 && ctx->aclv_count > 0) + { + ret = acl ((char *) name, ACL_SET, ctx->aclv_count, ctx->aclv_entries); + if (ret < 0) + { + if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL) + && (from_mode || !aclv_nontrivial (ctx->aclv_count, ctx->aclv_entries))) + ret = 0; + } + else + *acls_set = true; + } +# endif + +# elif HAVE_ACLX_GET && ACL_AIX_WIP /* AIX */ + + /* TODO: Implement setting ACLs once get_permissions() reads them. */ + + if (from_mode) + ret = set_acls_from_mode (name, desc, mode, must_chmod); + +# elif HAVE_STATACL /* older AIX */ + + if (from_mode) + ret = context_acl_from_mode (ctx); + + if (ret == 0 && ctx->have_u) + { + if (desc != -1) + ret = fchacl (desc, &ctx->u.a, ctx->u.a.acl_len); + else + ret = chacl ((char *) name, &ctx->u.a, ctx->u.a.acl_len); + if (ret < 0) + { + if (errno == ENOSYS && from_mode) + ret = 0; + } + else + *acls_set = true; + } + +# elif HAVE_ACLSORT /* NonStop Kernel */ + + if (from_mode) + ret = context_acl_from_mode (ctx); + + if (ret == 0 && ctx->count) + { + ret = acl ((char *) name, ACL_SET, ctx->count, ctx->entries); + if (ret != 0) + { + if (!acl_nontrivial (ctx->count, ctx->entries)) + ret = 0; + } + else + *acls_set = true; + } + +# else /* No ACLs */ + + /* Nothing to do. */ + +# endif + + return ret; +} +#endif + +/* If DESC is a valid file descriptor use fchmod to change the + file's mode to MODE on systems that have fchmod. On systems + that don't have fchmod and if DESC is invalid, use chmod on + NAME instead. + Return 0 if successful. Return -1 and set errno upon failure. */ + +int +chmod_or_fchmod (const char *name, int desc, mode_t mode) +{ + if (HAVE_FCHMOD && desc != -1) + return fchmod (desc, mode); + else + return chmod (name, mode); +} + +/* Set the permissions in CTX on a file. If DESC is a valid file descriptor, + use file descriptor operations, else use filename based operations on NAME. + If access control lists are not available, fchmod the target file to the + mode in CTX. Also sets the non-permission bits of the destination file + (S_ISUID, S_ISGID, S_ISVTX) to those from the mode in CTX if any are set. + Return 0 if successful. Return -1 and set errno upon failure. */ + +int +set_permissions (struct permission_context *ctx, const char *name, int desc) +{ + bool acls_set _GL_UNUSED = false; + bool early_chmod; + bool must_chmod = false; + int ret = 0; + +#if USE_ACL +# if HAVE_STATACL + /* older AIX */ + /* There is no need to call chmod_or_fchmod, since the mode + bits S_ISUID, S_ISGID, S_ISVTX are also stored in the ACL. */ + + early_chmod = false; +# else + /* All other platforms */ + /* On Cygwin, it is necessary to call chmod before acl, because + chmod can change the contents of the ACL (in ways that don't + change the allowed accesses, but still visible). */ + + early_chmod = (! MODE_INSIDE_ACL || (ctx->mode & (S_ISUID | S_ISGID | S_ISVTX))); +# endif +#else + /* No ACLs */ + + early_chmod = true; +#endif + + if (early_chmod) + { + ret = chmod_or_fchmod (name, desc, ctx->mode); + if (ret != 0) + return -1; + } + +#if USE_ACL + ret = set_acls (ctx, name, desc, false, &must_chmod, &acls_set); + if (! acls_set) + { + int saved_errno = ret ? errno : 0; + + /* If we can't set an acl which we expect to be able to set, try setting + the permissions to ctx->mode. Due to possible inherited permissions, + we cannot simply chmod. */ + + ret = set_acls (ctx, name, desc, true, &must_chmod, &acls_set); + if (! acls_set) + must_chmod = true; + + if (saved_errno) + { + errno = saved_errno; + ret = -1; + } + } +#endif + + if (must_chmod && ! early_chmod) + { + int saved_errno = ret ? errno : 0; + + ret = chmod_or_fchmod (name, desc, ctx->mode); + + if (saved_errno) + { + errno = saved_errno; + ret = -1; + } + } + + return ret; +} diff --git a/gnu/setenv.c b/gnu/setenv.c index bb458d62..6b16fd58 100644 --- a/gnu/setenv.c +++ b/gnu/setenv.c @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1992, 1995-2003, 2005-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995-2003, 2005-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify diff --git a/gnu/signal.in.h b/gnu/signal.in.h index 98c65670..265b72ab 100644 --- a/gnu/signal.in.h +++ b/gnu/signal.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A GNU-like . - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -57,11 +55,13 @@ #ifndef _@GUARD_PREFIX@_SIGNAL_H #define _@GUARD_PREFIX@_SIGNAL_H -/* Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6 declare - pthread_sigmask in , not in . +/* Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6, Android + declare pthread_sigmask in , not in . But avoid namespace pollution on glibc systems.*/ #if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \ - && ((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined __osf__ || defined __sun) \ + && ((defined __APPLE__ && defined __MACH__) \ + || defined __FreeBSD__ || defined __OpenBSD__ || defined __osf__ \ + || defined __sun || defined __ANDROID__) \ && ! defined __GLIBC__ # include #endif diff --git a/gnu/size_max.h b/gnu/size_max.h index a7734080..5a0568e5 100644 --- a/gnu/size_max.h +++ b/gnu/size_max.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* size_max.h -- declare SIZE_MAX through system headers - Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify diff --git a/gnu/sleep.c b/gnu/sleep.c index 32b151fd..b86ec6ff 100644 --- a/gnu/sleep.c +++ b/gnu/sleep.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Pausing execution of the current thread. - Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2007. This program is free software: you can redistribute it and/or modify diff --git a/gnu/snprintf.c b/gnu/snprintf.c index 28713ad7..11500cad 100644 --- a/gnu/snprintf.c +++ b/gnu/snprintf.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Formatted output to strings. - Copyright (C) 2004, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2006-2015 Free Software Foundation, Inc. Written by Simon Josefsson and Paul Eggert. This program is free software; you can redistribute it and/or modify diff --git a/gnu/stat-macros.h b/gnu/stat-macros.h index 00112cef..690216c7 100644 --- a/gnu/stat-macros.h +++ b/gnu/stat-macros.h @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* All the mode bits that can be affected by chmod. */ #define CHMOD_MODE_BITS \ (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO) diff --git a/gnu/stat-time.c b/gnu/stat-time.c index 45a4079d..81b83ddb 100644 --- a/gnu/stat-time.c +++ b/gnu/stat-time.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include #define _GL_STAT_TIME_INLINE _GL_EXTERN_INLINE #include "stat-time.h" diff --git a/gnu/stat-time.h b/gnu/stat-time.h index 8f18fd71..b67d1798 100644 --- a/gnu/stat-time.h +++ b/gnu/stat-time.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* stat-related time functions. - Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -56,7 +54,7 @@ _GL_INLINE_HEADER_BEGIN #endif /* Return the nanosecond component of *ST's access time. */ -_GL_STAT_TIME_INLINE long int +_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE get_stat_atime_ns (struct stat const *st) { # if defined STAT_TIMESPEC @@ -69,7 +67,7 @@ get_stat_atime_ns (struct stat const *st) } /* Return the nanosecond component of *ST's status change time. */ -_GL_STAT_TIME_INLINE long int +_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE get_stat_ctime_ns (struct stat const *st) { # if defined STAT_TIMESPEC @@ -82,7 +80,7 @@ get_stat_ctime_ns (struct stat const *st) } /* Return the nanosecond component of *ST's data modification time. */ -_GL_STAT_TIME_INLINE long int +_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE get_stat_mtime_ns (struct stat const *st) { # if defined STAT_TIMESPEC @@ -95,7 +93,7 @@ get_stat_mtime_ns (struct stat const *st) } /* Return the nanosecond component of *ST's birth time. */ -_GL_STAT_TIME_INLINE long int +_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE get_stat_birthtime_ns (struct stat const *st) { # if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC @@ -110,7 +108,7 @@ get_stat_birthtime_ns (struct stat const *st) } /* Return *ST's access time. */ -_GL_STAT_TIME_INLINE struct timespec +_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE get_stat_atime (struct stat const *st) { #ifdef STAT_TIMESPEC @@ -124,7 +122,7 @@ get_stat_atime (struct stat const *st) } /* Return *ST's status change time. */ -_GL_STAT_TIME_INLINE struct timespec +_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE get_stat_ctime (struct stat const *st) { #ifdef STAT_TIMESPEC @@ -138,7 +136,7 @@ get_stat_ctime (struct stat const *st) } /* Return *ST's data modification time. */ -_GL_STAT_TIME_INLINE struct timespec +_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE get_stat_mtime (struct stat const *st) { #ifdef STAT_TIMESPEC @@ -153,7 +151,7 @@ get_stat_mtime (struct stat const *st) /* Return *ST's birth time, if available; otherwise return a value with tv_sec and tv_nsec both equal to -1. */ -_GL_STAT_TIME_INLINE struct timespec +_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE get_stat_birthtime (struct stat const *st) { struct timespec t; diff --git a/gnu/stat.c b/gnu/stat.c index c5a36967..2209826f 100644 --- a/gnu/stat.c +++ b/gnu/stat.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Work around platform bugs in stat. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/statat.c b/gnu/statat.c index 556a9dca..8cdb17e4 100644 --- a/gnu/statat.c +++ b/gnu/statat.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include #define STATAT_INLINE _GL_EXTERN_INLINE #include "openat.h" diff --git a/gnu/stdalign.in.h b/gnu/stdalign.in.h index 6f1f4d54..c6115b6d 100644 --- a/gnu/stdalign.in.h +++ b/gnu/stdalign.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A substitute for ISO C11 . - Copyright 2011-2014 Free Software Foundation, Inc. + Copyright 2011-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -66,7 +64,9 @@ # define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) # endif #endif -#define alignof _Alignof +#if ! (defined __cplusplus && 201103 <= __cplusplus) +# define alignof _Alignof +#endif #define __alignof_is_defined 1 /* alignas (A), also known as _Alignas (A), aligns a variable or type @@ -97,15 +97,21 @@ #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 # if defined __cplusplus && 201103 <= __cplusplus # define _Alignas(a) alignas (a) -# elif (__GNUC__ || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \ +# elif ((defined __APPLE__ && defined __MACH__ \ + ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ + : __GNUC__) \ + || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \ || __ICC || 0x5110 <= __SUNPRO_C) # define _Alignas(a) __attribute__ ((__aligned__ (a))) # elif 1300 <= _MSC_VER # define _Alignas(a) __declspec (align (a)) # endif #endif -#if defined _Alignas || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__) +#if ((defined _Alignas && ! (defined __cplusplus && 201103 <= __cplusplus)) \ + || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__)) # define alignas _Alignas +#endif +#if defined alignas || (defined __cplusplus && 201103 <= __cplusplus) # define __alignas_is_defined 1 #endif diff --git a/gnu/stdarg.in.h b/gnu/stdarg.in.h index a1659870..5239f51a 100644 --- a/gnu/stdarg.in.h +++ b/gnu/stdarg.in.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Substitute for and wrapper around . - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/stdbool.in.h b/gnu/stdbool.in.h index 2f418ca2..64a17618 100644 --- a/gnu/stdbool.in.h +++ b/gnu/stdbool.in.h @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc. +/* Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software; you can redistribute it and/or modify diff --git a/gnu/stddef.in.h b/gnu/stddef.in.h index 597ae3ef..698307bc 100644 --- a/gnu/stddef.in.h +++ b/gnu/stddef.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A substitute for POSIX 2008 , for platforms that have issues. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -41,7 +39,6 @@ # if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T) # ifdef __need_wint_t -# undef _@GUARD_PREFIX@_STDDEF_H # define _GL_STDDEF_WINT_T # endif # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ @@ -56,33 +53,56 @@ # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ -# ifndef _@GUARD_PREFIX@_STDDEF_H -# define _@GUARD_PREFIX@_STDDEF_H - /* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */ -#if @REPLACE_NULL@ -# undef NULL -# ifdef __cplusplus +# if (@REPLACE_NULL@ \ + && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _GL_STDDEF_WINT_T)) +# undef NULL +# ifdef __cplusplus /* ISO C++ says that the macro NULL must expand to an integer constant expression, hence '((void *) 0)' is not allowed in C++. */ -# if __GNUG__ >= 3 +# if __GNUG__ >= 3 /* GNU C++ has a __null macro that behaves like an integer ('int' or 'long') but has the same size as a pointer. Use that, to avoid warnings. */ -# define NULL __null -# else -# define NULL 0L +# define NULL __null +# else +# define NULL 0L +# endif +# else +# define NULL ((void *) 0) +# endif # endif -# else -# define NULL ((void *) 0) -# endif -#endif + +# ifndef _@GUARD_PREFIX@_STDDEF_H +# define _@GUARD_PREFIX@_STDDEF_H /* Some platforms lack wchar_t. */ #if !@HAVE_WCHAR_T@ # define wchar_t int #endif +/* Some platforms lack max_align_t. */ +#if !@HAVE_MAX_ALIGN_T@ +/* On the x86, the maximum storage alignment of double, long, etc. is 4, + but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8, + and the C11 standard allows this. Work around this problem by + using __alignof__ (which returns 8 for double) rather than _Alignof + (which returns 4), and align each union member accordingly. */ +# ifdef __GNUC__ +# define _GL_STDDEF_ALIGNAS(type) \ + __attribute__ ((__aligned__ (__alignof__ (type)))) +# else +# define _GL_STDDEF_ALIGNAS(type) /* */ +# endif +typedef union +{ + char *__p _GL_STDDEF_ALIGNAS (char *); + double __d _GL_STDDEF_ALIGNAS (double); + long double __ld _GL_STDDEF_ALIGNAS (long double); + long int __i _GL_STDDEF_ALIGNAS (long int); +} max_align_t; +#endif + # endif /* _@GUARD_PREFIX@_STDDEF_H */ # endif /* _@GUARD_PREFIX@_STDDEF_H */ #endif /* __need_XXX */ diff --git a/gnu/stdint.in.h b/gnu/stdint.in.h index 5d30b76e..378de2ec 100644 --- a/gnu/stdint.in.h +++ b/gnu/stdint.in.h @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 2001-2002, 2004-2014 Free Software Foundation, Inc. +/* Copyright (C) 2001-2002, 2004-2015 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. This file is part of gnulib. diff --git a/gnu/stdio-impl.h b/gnu/stdio-impl.h index b65f6fd2..502d891b 100644 --- a/gnu/stdio-impl.h +++ b/gnu/stdio-impl.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Implementation details of FILE streams. - Copyright (C) 2007-2008, 2010-2014 Free Software Foundation, Inc. + Copyright (C) 2007-2008, 2010-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,7 +28,8 @@ #include /* For detecting Plan9. */ -#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ +#if defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ # if defined __DragonFly__ /* DragonFly */ /* See . */ @@ -68,7 +67,7 @@ /* More fields, not relevant here. */ }; # define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub -# else /* FreeBSD, NetBSD <= 1.5Z, DragonFly, Mac OS X, Cygwin */ +# else /* FreeBSD, NetBSD <= 1.5Z, DragonFly, Mac OS X, Cygwin, Android */ # define fp_ub fp_->_ub # endif diff --git a/gnu/stdio.in.h b/gnu/stdio.in.h index f715bdfc..ec438742 100644 --- a/gnu/stdio.in.h +++ b/gnu/stdio.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A GNU-like . - Copyright (C) 2004, 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2007-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -86,8 +84,13 @@ except that it indicates to GCC that the supported format string directives are the ones of the system printf(), rather than the ones standardized by ISO C99 and POSIX. */ -#define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \ +#if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU +# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \ + _GL_ATTRIBUTE_FORMAT_PRINTF (formatstring_parameter, first_argument) +#else +# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \ _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument)) +#endif /* _GL_ATTRIBUTE_FORMAT_SCANF indicates to GCC that the function takes a format string and arguments, @@ -720,11 +723,10 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " so any use of gets warrants an unconditional warning; besides, C11 removed it. */ #undef gets -#if HAVE_RAW_DECL_GETS +#if HAVE_RAW_DECL_GETS && !defined __cplusplus _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); #endif - #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ struct obstack; /* Grow an obstack with formatted output. Return the number of diff --git a/gnu/stdlib.in.h b/gnu/stdlib.in.h index 7f64d2f6..428a1191 100644 --- a/gnu/stdlib.in.h +++ b/gnu/stdlib.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A GNU-like . - Copyright (C) 1995, 2001-2004, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 1995, 2001-2004, 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -522,6 +520,29 @@ _GL_CXXALIAS_SYS (putenv, int, (char *string)); _GL_CXXALIASWARN (putenv); #endif +#if @GNULIB_QSORT_R@ +# if @REPLACE_QSORT_R@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef qsort_r +# define qsort_r rpl_qsort_r +# endif +_GL_FUNCDECL_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size, + int (*compare) (void const *, void const *, + void *), + void *arg) _GL_ARG_NONNULL ((1, 4))); +_GL_CXXALIAS_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size, + int (*compare) (void const *, void const *, + void *), + void *arg)); +# else +_GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size, + int (*compare) (void const *, void const *, + void *), + void *arg)); +# endif +_GL_CXXALIASWARN (qsort_r); +#endif + #if @GNULIB_RANDOM_R@ # if !@HAVE_RANDOM_R@ diff --git a/gnu/stpcpy.c b/gnu/stpcpy.c index 8013fb02..559d2f23 100644 --- a/gnu/stpcpy.c +++ b/gnu/stpcpy.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* stpcpy.c -- copy a string and return pointer to end of new string - Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2014 Free Software + Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2015 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. diff --git a/gnu/strcasecmp.c b/gnu/strcasecmp.c index dee5d381..d6e3c113 100644 --- a/gnu/strcasecmp.c +++ b/gnu/strcasecmp.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Case-insensitive string comparison function. - Copyright (C) 1998-1999, 2005-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2007, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/strchrnul.c b/gnu/strchrnul.c index 7ea2fca7..1000e83f 100644 --- a/gnu/strchrnul.c +++ b/gnu/strchrnul.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Searching in a string. - Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/strdup.c b/gnu/strdup.c index 614fe840..4fdd0bd9 100644 --- a/gnu/strdup.c +++ b/gnu/strdup.c @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2014 Free Software +/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/gnu/streq.h b/gnu/streq.h index e7ee9fcb..6107fc6b 100644 --- a/gnu/streq.h +++ b/gnu/streq.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Optimized string comparison. - Copyright (C) 2001-2002, 2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published diff --git a/gnu/strerror-override.c b/gnu/strerror-override.c index 5f129b8c..2bb4d745 100644 --- a/gnu/strerror-override.c +++ b/gnu/strerror-override.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* strerror-override.c --- POSIX compatible system error routine - Copyright (C) 2010-2014 Free Software Foundation, Inc. + Copyright (C) 2010-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/strerror-override.h b/gnu/strerror-override.h index f65c0b95..7af36dfd 100644 --- a/gnu/strerror-override.h +++ b/gnu/strerror-override.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* strerror-override.h --- POSIX compatible system error routine - Copyright (C) 2010-2014 Free Software Foundation, Inc. + Copyright (C) 2010-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/strerror.c b/gnu/strerror.c index 612b79c4..adba738b 100644 --- a/gnu/strerror.c +++ b/gnu/strerror.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* strerror.c --- POSIX compatible system error routine - Copyright (C) 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2007-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/strftime.c b/gnu/strftime.c index f451611e..d1ca346b 100644 --- a/gnu/strftime.c +++ b/gnu/strftime.c @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. @@ -32,6 +30,7 @@ # else # include "strftime.h" # endif +# include "time-internal.h" #endif #include @@ -123,22 +122,11 @@ extern char *tzname[]; #ifdef _LIBC +# define mktime_z(tz, tm) mktime (tm) # define tzname __tzname # define tzset __tzset #endif -#if !HAVE_TM_GMTOFF -/* Portable standalone applications should supply a "time.h" that - declares a POSIX-compliant localtime_r, for the benefit of older - implementations that lack localtime_r or have a nonstandard one. - See the gnulib time_r module for one way to implement this. */ -# undef __gmtime_r -# undef __localtime_r -# define __gmtime_r gmtime_r -# define __localtime_r localtime_r -#endif - - #ifndef FPRINTFTIME # define FPRINTFTIME 0 #endif @@ -387,12 +375,7 @@ iso_week_days (int yday, int wday) /* When compiling this file, GNU applications can #define my_strftime to a symbol (typically nstrftime) to get an extended strftime with - extra arguments UT and NS. Emacs is a special case for now, but - this Emacs-specific code can be removed once Emacs's config.h - defines my_strftime. */ -#if defined emacs && !defined my_strftime -# define my_strftime nstrftime -#endif + extra arguments TZ and NS. */ #if FPRINTFTIME # undef my_strftime @@ -400,8 +383,9 @@ iso_week_days (int yday, int wday) #endif #ifdef my_strftime -# define extra_args , ut, ns -# define extra_args_spec , int ut, int ns +# undef HAVE_TZSET +# define extra_args , tz, ns +# define extra_args_spec , timezone_t tz, int ns #else # if defined COMPILE_WIDE # define my_strftime wcsftime @@ -413,7 +397,7 @@ iso_week_days (int yday, int wday) # define extra_args # define extra_args_spec /* We don't have this information in general. */ -# define ut 0 +# define tz 1 # define ns 0 #endif @@ -456,6 +440,9 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s, # define aw_len STRLEN (a_wkday) # define am_len STRLEN (a_month) # define ap_len STRLEN (ampm) +#endif +#if HAVE_TZNAME + char **tzname_vec = tzname; #endif const char *zone; size_t i = 0; @@ -485,20 +472,29 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s, zone = (const char *) tp->tm_zone; #endif #if HAVE_TZNAME - if (ut) + if (!tz) { if (! (zone && *zone)) zone = "GMT"; } else { +# if !HAVE_TM_ZONE + /* Infer the zone name from *TZ instead of from TZNAME. */ + tzname_vec = tz->tzname_copy; +# endif /* POSIX.1 requires that local time zone information be used as though strftime called tzset. */ # if HAVE_TZSET tzset (); # endif } + /* The tzset() call might have changed the value. */ + if (!(zone && *zone) && tp->tm_isdst >= 0) + zone = tzname_vec[tp->tm_isdst != 0]; #endif + if (! zone) + zone = ""; if (hour12 > 12) hour12 -= 12; @@ -1146,7 +1142,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s, time_t t; ltm = *tp; - t = mktime (<m); + t = mktime_z (tz, <m); /* Generate string value for T using time_t arithmetic; this works even if sizeof (long) < sizeof (time_t). */ @@ -1321,14 +1317,6 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s, to_lowcase = true; } -#if HAVE_TZNAME - /* The tzset() call might have changed the value. */ - if (!(zone && *zone) && tp->tm_isdst >= 0) - zone = tzname[tp->tm_isdst != 0]; -#endif - if (! zone) - zone = ""; - #ifdef COMPILE_WIDE { /* The zone string is always given in multibyte form. We have @@ -1368,7 +1356,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s, #if HAVE_TM_GMTOFF diff = tp->tm_gmtoff; #else - if (ut) + if (!tz) diff = 0; else { @@ -1377,7 +1365,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s, time_t lt; ltm = *tp; - lt = mktime (<m); + lt = mktime_z (tz, <m); if (lt == (time_t) -1) { @@ -1386,7 +1374,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s, occurred. */ struct tm tm; - if (! __localtime_r (<, &tm) + if (! localtime_rz (tz, <, &tm) || ((ltm.tm_sec ^ tm.tm_sec) | (ltm.tm_min ^ tm.tm_min) | (ltm.tm_hour ^ tm.tm_hour) @@ -1396,7 +1384,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s, break; } - if (! __gmtime_r (<, >m)) + if (! localtime_rz (0, <, >m)) break; diff = tm_diff (<m, >m); @@ -1475,15 +1463,3 @@ my_strftime (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize) #if defined _LIBC && ! FPRINTFTIME libc_hidden_def (my_strftime) #endif - - -#if defined emacs && ! FPRINTFTIME -/* For Emacs we have a separate interface which corresponds to the normal - strftime function plus the ut argument, but without the ns argument. */ -size_t -emacs_strftimeu (char *s, size_t maxsize, const char *format, - const struct tm *tp, int ut) -{ - return my_strftime (s, maxsize, format, tp, ut, 0); -} -#endif diff --git a/gnu/strftime.h b/gnu/strftime.h index eaeabe88..2ce6cc57 100644 --- a/gnu/strftime.h +++ b/gnu/strftime.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* declarations for strftime.c - Copyright (C) 2002, 2004, 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,11 +23,10 @@ extern "C" { /* Just like strftime, but with two more arguments: POSIX requires that strftime use the local timezone information. - When __UTC is nonzero and tm->tm_zone is NULL or the empty string, - use UTC instead. Use __NS as the number of nanoseconds in the - %N directive. */ + Use the timezone __TZ instead. Use __NS as the number of + nanoseconds in the %N directive. */ size_t nstrftime (char *, size_t, char const *, struct tm const *, - int __utc, int __ns); + timezone_t __tz, int __ns); #ifdef __cplusplus } diff --git a/gnu/string.in.h b/gnu/string.in.h index 97197823..2abd6bc0 100644 --- a/gnu/string.in.h +++ b/gnu/string.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A GNU-like . - Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc. + Copyright (C) 1995-1996, 2001-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,16 +15,32 @@ You should have received a copy of the GNU General Public License along with this program; if not, see . */ -#ifndef _@GUARD_PREFIX@_STRING_H - #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ +#if defined _GL_ALREADY_INCLUDING_STRING_H +/* Special invocation convention: + - On OS X/NetBSD we have a sequence of nested includes + -> -> "string.h" + In this situation system _chk variants due to -D_FORTIFY_SOURCE + might be used after any replacements defined here. */ + +#@INCLUDE_NEXT@ @NEXT_STRING_H@ + +#else +/* Normal invocation convention. */ + +#ifndef _@GUARD_PREFIX@_STRING_H + +#define _GL_ALREADY_INCLUDING_STRING_H + /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STRING_H@ +#undef _GL_ALREADY_INCLUDING_STRING_H + #ifndef _@GUARD_PREFIX@_STRING_H #define _@GUARD_PREFIX@_STRING_H @@ -1029,3 +1043,4 @@ _GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - " #endif /* _@GUARD_PREFIX@_STRING_H */ #endif /* _@GUARD_PREFIX@_STRING_H */ +#endif diff --git a/gnu/strings.in.h b/gnu/strings.in.h index c3d4613e..cf83465d 100644 --- a/gnu/strings.in.h +++ b/gnu/strings.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A substitute . - Copyright (C) 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2007-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/stripslash.c b/gnu/stripslash.c index f9e7c139..12359cf7 100644 --- a/gnu/stripslash.c +++ b/gnu/stripslash.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* stripslash.c -- remove redundant trailing slashes from a file name - Copyright (C) 1990, 2001, 2003-2006, 2009-2014 Free Software Foundation, + Copyright (C) 1990, 2001, 2003-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/strncasecmp.c b/gnu/strncasecmp.c index b3f482c3..3d69f14a 100644 --- a/gnu/strncasecmp.c +++ b/gnu/strncasecmp.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* strncasecmp.c -- case insensitive string comparator - Copyright (C) 1998-1999, 2005-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2007, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/strndup.c b/gnu/strndup.c index 34fb360f..793d5990 100644 --- a/gnu/strndup.c +++ b/gnu/strndup.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A replacement function, for systems that lack strndup. - Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2014 Free Software + Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it diff --git a/gnu/strnlen.c b/gnu/strnlen.c index 09a7866a..79e250c4 100644 --- a/gnu/strnlen.c +++ b/gnu/strnlen.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Find the length of STRING, but scan at most MAXLEN characters. - Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify diff --git a/gnu/strnlen1.c b/gnu/strnlen1.c index 70a2ed16..48272a88 100644 --- a/gnu/strnlen1.c +++ b/gnu/strnlen1.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Find the length of STRING + 1, but scan at most MAXLEN bytes. - Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/strnlen1.h b/gnu/strnlen1.h index ae247a01..794e436e 100644 --- a/gnu/strnlen1.h +++ b/gnu/strnlen1.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Find the length of STRING + 1, but scan at most MAXLEN bytes. - Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/strtoimax.c b/gnu/strtoimax.c index 8e7dfbf2..8ff65cee 100644 --- a/gnu/strtoimax.c +++ b/gnu/strtoimax.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert string representation of a number into an intmax_t value. - Copyright (C) 1999, 2001-2004, 2006, 2009-2014 Free Software Foundation, + Copyright (C) 1999, 2001-2004, 2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/strtol.c b/gnu/strtol.c index 6e2fd82d..1bc14398 100644 --- a/gnu/strtol.c +++ b/gnu/strtol.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert string representation of a number into an integer value. - Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2014 Free Software + Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2015 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C diff --git a/gnu/strtoll.c b/gnu/strtoll.c index 04c95bc9..d7123491 100644 --- a/gnu/strtoll.c +++ b/gnu/strtoll.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Function to parse a 'long long int' from text. - Copyright (C) 1995-1997, 1999, 2001, 2009-2014 Free Software Foundation, + Copyright (C) 1995-1997, 1999, 2001, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/gnu/strtoul.c b/gnu/strtoul.c index eda4dd29..20517777 100644 --- a/gnu/strtoul.c +++ b/gnu/strtoul.c @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991, 1997, 2009-2014 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1997, 2009-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify diff --git a/gnu/strtoull.c b/gnu/strtoull.c index 3d3a7f00..5cd2554c 100644 --- a/gnu/strtoull.c +++ b/gnu/strtoull.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Function to parse an 'unsigned long long int' from text. - Copyright (C) 1995-1997, 1999, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1995-1997, 1999, 2009-2015 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. diff --git a/gnu/strtoumax.c b/gnu/strtoumax.c index 44a2f8bb..dc395d62 100644 --- a/gnu/strtoumax.c +++ b/gnu/strtoumax.c @@ -1,4 +1,2 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #define UNSIGNED 1 #include "strtoimax.c" diff --git a/gnu/symlink.c b/gnu/symlink.c index 10936d4c..14356c30 100644 --- a/gnu/symlink.c +++ b/gnu/symlink.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Stub for symlink(). - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/symlinkat.c b/gnu/symlinkat.c index e63bf472..84d55847 100644 --- a/gnu/symlinkat.c +++ b/gnu/symlinkat.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create a symlink relative to an open directory. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,13 +19,33 @@ #include #include +#include -#if !HAVE_SYMLINK +#if HAVE_SYMLINKAT +# undef symlinkat + +#include +#include + +/* Create a symlink, but reject trailing slash. */ +int +rpl_symlinkat (char const *contents, int fd, char const *name) +{ + size_t len = strlen (name); + if (len && name[len - 1] == '/') + { + struct stat st; + if (fstatat (fd, name, &st, 0) == 0) + errno = EEXIST; + return -1; + } + return symlinkat (contents, fd, name); +} + +#elif !HAVE_SYMLINK /* Mingw lacks symlink, and it is more efficient to provide a trivial wrapper than to go through at-func.c to call rpl_symlink. */ -# include - int symlinkat (char const *path1 _GL_UNUSED, int fd _GL_UNUSED, char const *path2 _GL_UNUSED) diff --git a/gnu/sys_stat.in.h b/gnu/sys_stat.in.h index 1cfcd83b..9f5e8536 100644 --- a/gnu/sys_stat.in.h +++ b/gnu/sys_stat.in.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide a more complete sys/stat header file. - Copyright (C) 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/sys_time.in.h b/gnu/sys_time.in.h index a8c28c0b..c556c5db 100644 --- a/gnu/sys_time.in.h +++ b/gnu/sys_time.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide a more complete sys/time.h. - Copyright (C) 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2007-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/sys_types.in.h b/gnu/sys_types.in.h index 593dce0a..814bc179 100644 --- a/gnu/sys_types.in.h +++ b/gnu/sys_types.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide a more complete sys/types.h. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/sysexits.in.h b/gnu/sysexits.in.h index a1ea3c62..7747817f 100644 --- a/gnu/sysexits.in.h +++ b/gnu/sysexits.in.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* exit() exit codes for some BSD system programs. - Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/tempname.c b/gnu/tempname.c index 8dbcb50c..69c572fb 100644 --- a/gnu/tempname.c +++ b/gnu/tempname.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* tempname.c - generate the name of a temporary file. - Copyright (C) 1991-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1991-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -64,6 +62,7 @@ # define struct_stat64 struct stat64 #else # define struct_stat64 struct stat +# define __try_tempname try_tempname # define __gen_tempname gen_tempname # define __getpid getpid # define __gettimeofday gettimeofday @@ -178,21 +177,9 @@ __path_search (char *tmpl, size_t tmpl_len, const char *dir, const char *pfx, static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; -/* Generate a temporary file name based on TMPL. TMPL must match the - rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix). - The name constructed does not exist at the time of the call to - __gen_tempname. TMPL is overwritten with the result. - - KIND may be one of: - __GT_NOCREATE: simply verify that the name does not exist - at the time of the call. - __GT_FILE: create the file using open(O_CREAT|O_EXCL) - and return a read-write fd. The file is mode 0600. - __GT_DIR: create a directory, which will be mode 0700. - - We use a clever algorithm to get hard-to-predict names. */ int -__gen_tempname (char *tmpl, int suffixlen, int flags, int kind) +__try_tempname (char *tmpl, int suffixlen, void *args, + int (*tryfunc) (char *, void *)) { int len; char *XXXXXX; @@ -201,7 +188,6 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind) unsigned int count; int fd = -1; int save_errno = errno; - struct_stat64 st; /* A lower bound on the number of temporary files to attempt to generate. The maximum total number of temporary file names that @@ -258,41 +244,7 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind) v /= 62; XXXXXX[5] = letters[v % 62]; - switch (kind) - { - case __GT_FILE: - fd = __open (tmpl, - (flags & ~O_ACCMODE) - | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); - break; - - case __GT_DIR: - fd = __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR); - break; - - case __GT_NOCREATE: - /* This case is backward from the other three. __gen_tempname - succeeds if __xstat fails because the name does not exist. - Note the continue to bypass the common logic at the bottom - of the loop. */ - if (__lxstat64 (_STAT_VER, tmpl, &st) < 0) - { - if (errno == ENOENT) - { - __set_errno (save_errno); - return 0; - } - else - /* Give up now. */ - return -1; - } - continue; - - default: - assert (! "invalid KIND in __gen_tempname"); - abort (); - } - + fd = tryfunc (tmpl, args); if (fd >= 0) { __set_errno (save_errno); @@ -306,3 +258,67 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind) __set_errno (EEXIST); return -1; } + +static int +try_file (char *tmpl, void *flags) +{ + int *openflags = flags; + return __open (tmpl, + (*openflags & ~O_ACCMODE) + | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); +} + +static int +try_dir (char *tmpl, void *flags _GL_UNUSED) +{ + return __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR); +} + +static int +try_nocreate (char *tmpl, void *flags _GL_UNUSED) +{ + struct_stat64 st; + + if (__lxstat64 (_STAT_VER, tmpl, &st) == 0) + __set_errno (EEXIST); + return errno == ENOENT ? 0 : -1; +} + +/* Generate a temporary file name based on TMPL. TMPL must match the + rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix). + The name constructed does not exist at the time of the call to + __gen_tempname. TMPL is overwritten with the result. + + KIND may be one of: + __GT_NOCREATE: simply verify that the name does not exist + at the time of the call. + __GT_FILE: create the file using open(O_CREAT|O_EXCL) + and return a read-write fd. The file is mode 0600. + __GT_DIR: create a directory, which will be mode 0700. + + We use a clever algorithm to get hard-to-predict names. */ +int +__gen_tempname (char *tmpl, int suffixlen, int flags, int kind) +{ + int (*tryfunc) (char *, void *); + + switch (kind) + { + case __GT_FILE: + tryfunc = try_file; + break; + + case __GT_DIR: + tryfunc = try_dir; + break; + + case __GT_NOCREATE: + tryfunc = try_nocreate; + break; + + default: + assert (! "invalid KIND in __gen_tempname"); + abort (); + } + return __try_tempname (tmpl, suffixlen, &flags, tryfunc); +} diff --git a/gnu/tempname.h b/gnu/tempname.h index f133161e..e6093607 100644 --- a/gnu/tempname.h +++ b/gnu/tempname.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create a temporary file or directory. - Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,6 +32,10 @@ # define GT_NOCREATE 2 # endif +#ifdef __cplusplus +extern "C" { +#endif + /* Generate a temporary file name based on TMPL. TMPL must match the rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix). The name constructed does not exist at the time of the call to @@ -49,4 +51,15 @@ We use a clever algorithm to get hard-to-predict names. */ extern int gen_tempname (char *tmpl, int suffixlen, int flags, int kind); +/* Similar to gen_tempname, but TRYFUNC is called for each temporary + name to try. If TRYFUNC returns a non-negative number, TRY_GEN_TEMPNAME + returns with this value. Otherwise, if errno is set to EEXIST, another + name is tried, or else TRY_GEN_TEMPNAME returns -1. */ +extern int try_tempname (char *tmpl, int suffixlen, void *args, + int (*tryfunc) (char *, void *)); + +#ifdef __cplusplus +} +#endif + #endif /* GL_TEMPNAME_H */ diff --git a/gnu/time-internal.h b/gnu/time-internal.h new file mode 100644 index 00000000..6bf3f8d3 --- /dev/null +++ b/gnu/time-internal.h @@ -0,0 +1,49 @@ +/* Time internal interface + + Copyright 2015 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, see . */ + +/* Written by Paul Eggert. */ + +/* A time zone rule. */ +struct tm_zone +{ + /* More abbreviations, should they be needed. Their TZ_IS_SET + members are zero. */ + struct tm_zone *next; + +#if HAVE_TZNAME && !HAVE_TM_ZONE + /* Copies of recent strings taken from tzname[0] and tzname[1]. + The copies are in ABBRS, so that they survive tzset. Null if unknown. */ + char *tzname_copy[2]; +#endif + + /* If nonzero, the rule represents the TZ environment variable set + to the first "abbreviation" (this may be the empty string). + Otherwise, it represents an unset TZ. */ + char tz_is_set; + + /* A sequence of null-terminated strings packed next to each other. + The strings are followed by an extra null byte. If TZ_IS_SET, + there must be at least one string and the first string (which is + actually a TZ environment value value) may be empty. Otherwise + all strings must be nonempty. + + Abbreviations are stored here because otherwise the values of + tm_zone and/or tzname would be dead after changing TZ and calling + tzset. Abbreviations never move once allocated, and are live + until tzfree is called. */ + char abbrs[FLEXIBLE_ARRAY_MEMBER]; +}; diff --git a/gnu/time.in.h b/gnu/time.in.h index 61429647..a90552ce 100644 --- a/gnu/time.in.h +++ b/gnu/time.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A more-standard . - Copyright (C) 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2007-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,11 +22,13 @@ /* Don't get in the way of glibc when it includes time.h merely to declare a few standard symbols, rather than to declare all the - symbols. Also, Solaris 8 eventually includes itself + symbols. (However, skip this for MinGW as it treats __need_time_t + incompatibly.) Also, Solaris 8 eventually includes itself recursively; if that is happening, just include the system without adding our own declarations. */ -#if (defined __need_time_t || defined __need_clock_t \ - || defined __need_timespec \ +#if (((defined __need_time_t || defined __need_clock_t \ + || defined __need_timespec) \ + && !defined __MINGW32__) \ || defined _@GUARD_PREFIX@_TIME_H) # @INCLUDE_NEXT@ @NEXT_TIME_H@ @@ -57,6 +57,8 @@ # include # elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ # include +# elif @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ +# include # else # ifdef __cplusplus @@ -231,6 +233,25 @@ _GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf, _GL_CXXALIASWARN (strptime); # endif +# if defined _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@ +typedef struct tm_zone *timezone_t; +_GL_FUNCDECL_SYS (tzalloc, timezone_t, (char const *__name)); +_GL_CXXALIAS_SYS (tzalloc, timezone_t, (char const *__name)); +_GL_FUNCDECL_SYS (tzfree, void, (timezone_t __tz)); +_GL_CXXALIAS_SYS (tzfree, void, (timezone_t __tz)); +_GL_FUNCDECL_SYS (localtime_rz, struct tm *, + (timezone_t __tz, time_t const *restrict __timer, + struct tm *restrict __result) _GL_ARG_NONNULL ((2, 3))); +_GL_CXXALIAS_SYS (localtime_rz, struct tm *, + (timezone_t __tz, time_t const *restrict __timer, + struct tm *restrict __result)); +_GL_FUNCDECL_SYS (mktime_z, time_t, + (timezone_t __tz, struct tm *restrict __result) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_SYS (mktime_z, time_t, + (timezone_t __tz, struct tm *restrict __result)); +# endif + /* Convert TM to a time_t value, assuming UTC. */ # if @GNULIB_TIMEGM@ # if @REPLACE_TIMEGM@ diff --git a/gnu/time_r.c b/gnu/time_r.c index 773a47ed..0b512de9 100644 --- a/gnu/time_r.c +++ b/gnu/time_r.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Reentrant time functions like localtime_r. - Copyright (C) 2003, 2006-2007, 2010-2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2006-2007, 2010-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/time_rz.c b/gnu/time_rz.c new file mode 100644 index 00000000..f94893aa --- /dev/null +++ b/gnu/time_rz.c @@ -0,0 +1,326 @@ +/* Time zone functions such as tzalloc and localtime_rz + + Copyright 2015 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, see . */ + +/* Written by Paul Eggert. */ + +/* Although this module is not thread-safe, any races should be fairly + rare and reasonably benign. For complete thread-safety, use a C + library with a working timezone_t type, so that this module is not + needed. */ + +#include + +#include + +#include +#include +#include +#include +#include + +#include "time-internal.h" + +#if !HAVE_TZSET +static void tzset (void) { } +#endif + +/* The approximate size to use for small allocation requests. This is + the largest "small" request for the GNU C library malloc. */ +enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 }; + +/* Minimum size of the ABBRS member of struct abbr. ABBRS is larger + only in the unlikely case where an abbreviation longer than this is + used. */ +enum { ABBR_SIZE_MIN = DEFAULT_MXFAST - offsetof (struct tm_zone, abbrs) }; + +static char const TZ[] = "TZ"; + +/* Magic cookie timezone_t value, for local time. It differs from + NULL and from all other timezone_t values. Only the address + matters; the pointer is never dereferenced. */ +static timezone_t const local_tz = (timezone_t) 1; + +#if HAVE_TM_ZONE || HAVE_TZNAME + +/* Return true if the values A and B differ according to the rules for + tm_isdst: A and B differ if one is zero and the other positive. */ +static bool +isdst_differ (int a, int b) +{ + return !a != !b && 0 <= a && 0 <= b; +} + +/* Return true if A and B are equal. */ +static int +equal_tm (const struct tm *a, const struct tm *b) +{ + return ! ((a->tm_sec ^ b->tm_sec) + | (a->tm_min ^ b->tm_min) + | (a->tm_hour ^ b->tm_hour) + | (a->tm_mday ^ b->tm_mday) + | (a->tm_mon ^ b->tm_mon) + | (a->tm_year ^ b->tm_year) + | isdst_differ (a->tm_isdst, b->tm_isdst)); +} + +#endif + +/* Copy to ABBRS the abbreviation at ABBR with size ABBR_SIZE (this + includes its trailing null byte). Append an extra null byte to + mark the end of ABBRS. */ +static void +extend_abbrs (char *abbrs, char const *abbr, size_t abbr_size) +{ + memcpy (abbrs, abbr, abbr_size); + abbrs[abbr_size] = '\0'; +} + +/* Return a newly allocated time zone for NAME, or NULL on failure. + As a special case, return a nonzero constant for wall clock time, a + constant that survives freeing. */ +timezone_t +tzalloc (char const *name) +{ + size_t name_size = name ? strlen (name) + 1 : 0; + size_t abbr_size = name_size < ABBR_SIZE_MIN ? ABBR_SIZE_MIN : name_size + 1; + timezone_t tz = malloc (offsetof (struct tm_zone, abbrs) + abbr_size); + if (tz) + { + tz->next = NULL; +#if HAVE_TZNAME && !HAVE_TM_ZONE + tz->tzname_copy[0] = tz->tzname_copy[1] = NULL; +#endif + tz->tz_is_set = !!name; + tz->abbrs[0] = '\0'; + if (name) + extend_abbrs (tz->abbrs, name, name_size); + } + return tz; +} + +/* Save into TZ any nontrivial time zone abbreviation used by TM, and + update *TM (if HAVE_TM_ZONE) or *TZ (if !HAVE_TM_ZONE && + HAVE_TZNAME) if they use the abbreviation. Return true if + successful, false (setting errno) otherwise. */ +static bool +save_abbr (timezone_t tz, struct tm *tm) +{ +#if HAVE_TM_ZONE || HAVE_TZNAME + char const *zone = NULL; + char *zone_copy = (char *) ""; + +# if HAVE_TZNAME + int tzname_index = -1; +# endif + +# if HAVE_TM_ZONE + zone = tm->tm_zone; +# endif + +# if HAVE_TZNAME + if (! (zone && *zone) && 0 <= tm->tm_isdst) + { + tzname_index = tm->tm_isdst != 0; + zone = tzname[tzname_index]; + } +# endif + + /* No need to replace null zones, or zones within the struct tm. */ + if (!zone || ((char *) tm <= zone && zone < (char *) (tm + 1))) + return true; + + if (*zone) + { + zone_copy = tz->abbrs; + + while (strcmp (zone_copy, zone) != 0) + { + if (! (*zone_copy || (zone_copy == tz->abbrs && tz->tz_is_set))) + { + size_t zone_size = strlen (zone) + 1; + if (zone_size < tz->abbrs + ABBR_SIZE_MIN - zone_copy) + extend_abbrs (zone_copy, zone, zone_size); + else + { + tz = tz->next = tzalloc (zone); + if (!tz) + return false; + tz->tz_is_set = 0; + zone_copy = tz->abbrs; + } + break; + } + + zone_copy += strlen (zone_copy) + 1; + if (!*zone_copy && tz->next) + { + tz = tz->next; + zone_copy = tz->abbrs; + } + } + } + + /* Replace the zone name so that its lifetime matches that of TZ. */ +# if HAVE_TM_ZONE + tm->tm_zone = zone_copy; +# else + if (0 <= tzname_index) + tz->tzname_copy[tzname_index] = zone_copy; +# endif +#endif + + return true; +} + +/* Free a time zone. */ +void +tzfree (timezone_t tz) +{ + if (tz != local_tz) + while (tz) + { + timezone_t next = tz->next; + free (tz); + tz = next; + } +} + +/* Get and set the TZ environment variable. These functions can be + overridden by programs like Emacs that manage their own environment. */ + +#ifndef getenv_TZ +static char * +getenv_TZ (void) +{ + return getenv (TZ); +} +#endif + +#ifndef setenv_TZ +static int +setenv_TZ (char const *tz) +{ + return tz ? setenv (TZ, tz, 1) : unsetenv (TZ); +} +#endif + +/* Change the environment to match the specified timezone_t value. + Return true if successful, false (setting errno) otherwise. */ +static bool +change_env (timezone_t tz) +{ + if (setenv_TZ (tz->tz_is_set ? tz->abbrs : NULL) != 0) + return false; + tzset (); + return true; +} + +/* Temporarily set the time zone to TZ, which must not be null. + Return LOCAL_TZ if the time zone setting is already correct. + Otherwise return a newly allocated time zone representing the old + setting, or NULL (setting errno) on failure. */ +static timezone_t +set_tz (timezone_t tz) +{ + char *env_tz = getenv_TZ (); + if (env_tz + ? tz->tz_is_set && strcmp (tz->abbrs, env_tz) == 0 + : !tz->tz_is_set) + return local_tz; + else + { + timezone_t old_tz = tzalloc (env_tz); + if (!old_tz) + return old_tz; + if (! change_env (tz)) + { + int saved_errno = errno; + tzfree (old_tz); + errno = saved_errno; + return NULL; + } + return old_tz; + } +} + +/* Restore an old setting returned by set_tz. It must not be null. + Return true (preserving errno) if successful, false (setting errno) + otherwise. */ +static bool +revert_tz (timezone_t tz) +{ + if (tz == local_tz) + return true; + else + { + int saved_errno = errno; + bool ok = change_env (tz); + if (!ok) + saved_errno = errno; + tzfree (tz); + errno = saved_errno; + return ok; + } +} + +/* Use time zone TZ to compute localtime_r (T, TM). */ +struct tm * +localtime_rz (timezone_t tz, time_t const *t, struct tm *tm) +{ + if (!tz) + return gmtime_r (t, tm); + else + { + timezone_t old_tz = set_tz (tz); + if (old_tz) + { + tm = localtime_r (t, tm); + if (tm && !save_abbr (tz, tm)) + tm = NULL; + if (revert_tz (old_tz)) + return tm; + } + return NULL; + } +} + +/* Use time zone TZ to compute mktime (TM). */ +time_t +mktime_z (timezone_t tz, struct tm *tm) +{ + if (!tz) + return timegm (tm); + else + { + timezone_t old_tz = set_tz (tz); + if (old_tz) + { + time_t t = mktime (tm); +#if HAVE_TM_ZONE || HAVE_TZNAME + time_t badtime = -1; + struct tm tm_1; + if ((t != badtime + || (localtime_r (&t, &tm_1) && equal_tm (tm, &tm_1))) + && !save_abbr (tz, tm)) + t = badtime; +#endif + if (revert_tz (old_tz)) + return t; + } + return -1; + } +} diff --git a/gnu/timegm.c b/gnu/timegm.c new file mode 100644 index 00000000..11c485ff --- /dev/null +++ b/gnu/timegm.c @@ -0,0 +1,38 @@ +/* Convert UTC calendar time to simple time. Like mktime but assumes UTC. + + Copyright (C) 1994, 1997, 2003-2004, 2006-2007, 2009-2015 Free Software + Foundation, Inc. This file is part of the GNU C Library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +#ifndef _LIBC +# include +#endif + +#include + +#ifndef _LIBC +# undef __gmtime_r +# define __gmtime_r gmtime_r +# define __mktime_internal mktime_internal +# include "mktime-internal.h" +#endif + +time_t +timegm (struct tm *tmp) +{ + static time_t gmtime_offset; + tmp->tm_isdst = 0; + return __mktime_internal (tmp, __gmtime_r, &gmtime_offset); +} diff --git a/gnu/timespec-sub.c b/gnu/timespec-sub.c new file mode 100644 index 00000000..c5743755 --- /dev/null +++ b/gnu/timespec-sub.c @@ -0,0 +1,68 @@ +/* Subtract two struct timespec values. + + Copyright (C) 2011-2015 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert. */ + +/* Return the difference between two timespec values A and B. On + overflow, return an extremal value. This assumes 0 <= tv_nsec < + TIMESPEC_RESOLUTION. */ + +#include +#include "timespec.h" + +#include "intprops.h" + +struct timespec +timespec_sub (struct timespec a, struct timespec b) +{ + time_t rs = a.tv_sec; + time_t bs = b.tv_sec; + int ns = a.tv_nsec - b.tv_nsec; + int rns = ns; + + if (ns < 0) + { + rns = ns + TIMESPEC_RESOLUTION; + if (rs == TYPE_MINIMUM (time_t)) + { + if (bs <= 0) + goto low_overflow; + bs--; + } + else + rs--; + } + + if (INT_SUBTRACT_OVERFLOW (rs, bs)) + { + if (rs < 0) + { + low_overflow: + rs = TYPE_MINIMUM (time_t); + rns = 0; + } + else + { + rs = TYPE_MAXIMUM (time_t); + rns = TIMESPEC_RESOLUTION - 1; + } + } + else + rs -= bs; + + return make_timespec (rs, rns); +} diff --git a/gnu/timespec.c b/gnu/timespec.c index 30572878..2b6098ed 100644 --- a/gnu/timespec.c +++ b/gnu/timespec.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include #define _GL_TIMESPEC_INLINE _GL_EXTERN_INLINE #include "timespec.h" diff --git a/gnu/timespec.h b/gnu/timespec.h index 1621d84d..9ec495a0 100644 --- a/gnu/timespec.h +++ b/gnu/timespec.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* timespec -- System time interface - Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2014 Free Software + Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -76,7 +74,7 @@ make_timespec (time_t s, long int ns) The (int) cast avoids a gcc -Wconversion warning. */ -_GL_TIMESPEC_INLINE int +_GL_TIMESPEC_INLINE int _GL_ATTRIBUTE_PURE timespec_cmp (struct timespec a, struct timespec b) { return (a.tv_sec < b.tv_sec ? -1 @@ -86,7 +84,7 @@ timespec_cmp (struct timespec a, struct timespec b) /* Return -1, 0, 1, depending on the sign of A. A.tv_nsec must be nonnegative. */ -_GL_TIMESPEC_INLINE int +_GL_TIMESPEC_INLINE int _GL_ATTRIBUTE_PURE timespec_sign (struct timespec a) { return a.tv_sec < 0 ? -1 : a.tv_sec || a.tv_nsec; diff --git a/gnu/uinttostr.c b/gnu/uinttostr.c index 70458ecc..48fd98f2 100644 --- a/gnu/uinttostr.c +++ b/gnu/uinttostr.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #define anytostr uinttostr #define inttype unsigned int #include "anytostr.c" diff --git a/gnu/umaxtostr.c b/gnu/umaxtostr.c index 6dad2166..f95bfc3e 100644 --- a/gnu/umaxtostr.c +++ b/gnu/umaxtostr.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #define anytostr umaxtostr #define inttype uintmax_t #include "anytostr.c" diff --git a/gnu/unistd--.h b/gnu/unistd--.h index 2a5c7e6c..ada1f6b7 100644 --- a/gnu/unistd--.h +++ b/gnu/unistd--.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Like unistd.h, but redefine some names to avoid glitches. - Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/unistd-safer.h b/gnu/unistd-safer.h index def53d7a..d4251b3e 100644 --- a/gnu/unistd-safer.h +++ b/gnu/unistd-safer.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Invoke unistd-like functions, but avoid some glitches. - Copyright (C) 2001, 2003, 2005, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001, 2003, 2005, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/unistd.c b/gnu/unistd.c index 329ff9b0..6c6a8e26 100644 --- a/gnu/unistd.c +++ b/gnu/unistd.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include #define _GL_UNISTD_INLINE _GL_EXTERN_INLINE #include "unistd.h" diff --git a/gnu/unistd.in.h b/gnu/unistd.in.h index c43d48c9..958fea2a 100644 --- a/gnu/unistd.in.h +++ b/gnu/unistd.in.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Substitute for and wrapper around . - Copyright (C) 2003-2014 Free Software Foundation, Inc. + Copyright (C) 2003-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -403,6 +401,12 @@ _GL_WARN_ON_USE (dup3, "dup3 is unportable - " /* Set of environment variables and values. An array of strings of the form "VARIABLE=VALUE", terminated with a NULL. */ # if defined __APPLE__ && defined __MACH__ +# include +# if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR +# define _GL_USE_CRT_EXTERNS +# endif +# endif +# ifdef _GL_USE_CRT_EXTERNS # include # define environ (*_NSGetEnviron ()) # else @@ -1289,13 +1293,24 @@ _GL_WARN_ON_USE (readlink, "readlink is unportable - " #if @GNULIB_READLINKAT@ -# if !@HAVE_READLINKAT@ +# if @REPLACE_READLINKAT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define readlinkat rpl_readlinkat +# endif +_GL_FUNCDECL_RPL (readlinkat, ssize_t, + (int fd, char const *file, char *buf, size_t len) + _GL_ARG_NONNULL ((2, 3))); +_GL_CXXALIAS_RPL (readlinkat, ssize_t, + (int fd, char const *file, char *buf, size_t len)); +# else +# if !@HAVE_READLINKAT@ _GL_FUNCDECL_SYS (readlinkat, ssize_t, (int fd, char const *file, char *buf, size_t len) _GL_ARG_NONNULL ((2, 3))); -# endif +# endif _GL_CXXALIAS_SYS (readlinkat, ssize_t, (int fd, char const *file, char *buf, size_t len)); +# endif _GL_CXXALIASWARN (readlinkat); #elif defined GNULIB_POSIXCHECK # undef readlinkat @@ -1409,13 +1424,25 @@ _GL_WARN_ON_USE (symlink, "symlink is not portable - " #if @GNULIB_SYMLINKAT@ -# if !@HAVE_SYMLINKAT@ +# if @REPLACE_SYMLINKAT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef symlinkat +# define symlinkat rpl_symlinkat +# endif +_GL_FUNCDECL_RPL (symlinkat, int, + (char const *contents, int fd, char const *file) + _GL_ARG_NONNULL ((1, 3))); +_GL_CXXALIAS_RPL (symlinkat, int, + (char const *contents, int fd, char const *file)); +# else +# if !@HAVE_SYMLINKAT@ _GL_FUNCDECL_SYS (symlinkat, int, (char const *contents, int fd, char const *file) _GL_ARG_NONNULL ((1, 3))); -# endif +# endif _GL_CXXALIAS_SYS (symlinkat, int, (char const *contents, int fd, char const *file)); +# endif _GL_CXXALIASWARN (symlinkat); #elif defined GNULIB_POSIXCHECK # undef symlinkat diff --git a/gnu/unitypes.in.h b/gnu/unitypes.in.h index 1a69a971..d3c47ae6 100644 --- a/gnu/unitypes.in.h +++ b/gnu/unitypes.in.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Elementary types and macros for the GNU UniString library. - Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published diff --git a/gnu/uniwidth.in.h b/gnu/uniwidth.in.h index 6da964b9..7694bebf 100644 --- a/gnu/uniwidth.in.h +++ b/gnu/uniwidth.in.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Display width functions. - Copyright (C) 2001-2002, 2005, 2007, 2009-2014 Free Software Foundation, + Copyright (C) 2001-2002, 2005, 2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it diff --git a/gnu/uniwidth/cjk.h b/gnu/uniwidth/cjk.h index ac1ec264..cdd9a555 100644 --- a/gnu/uniwidth/cjk.h +++ b/gnu/uniwidth/cjk.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Test for CJK encoding. - Copyright (C) 2001-2002, 2005-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2005-2007, 2009-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it diff --git a/gnu/uniwidth/width.c b/gnu/uniwidth/width.c index 967c081d..c7e03b2a 100644 --- a/gnu/uniwidth/width.c +++ b/gnu/uniwidth/width.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Determine display width of Unicode character. - Copyright (C) 2001-2002, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2006-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it @@ -34,7 +32,7 @@ * - Zero width characters; generated from * "grep '^[^;]*;ZERO WIDTH ' UnicodeData.txt" */ -static const unsigned char nonspacing_table_data[27*64] = { +static const unsigned char nonspacing_table_data[36*64] = { /* 0x0000-0x01ff */ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */ @@ -63,7 +61,7 @@ static const unsigned char nonspacing_table_data[27*64] = { 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, /* 0x0580-0x05bf */ 0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x05c0-0x05ff */ /* 0x0600-0x07ff */ - 0x0f, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */ + 0x3f, 0x00, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */ 0x00, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, /* 0x0640-0x067f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0680-0x06bf */ 0x00, 0x00, 0xc0, 0xbf, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */ @@ -75,7 +73,7 @@ static const unsigned char nonspacing_table_data[27*64] = { 0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08c0-0x08ff */ + 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */ 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0x0900-0x093f */ 0xfe, 0x21, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */ @@ -90,11 +88,11 @@ static const unsigned char nonspacing_table_data[27*64] = { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0b80-0x0bbf */ 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0bc0-0x0bff */ /* 0x0c00-0x0dff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x0c00-0x0c3f */ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x0c00-0x0c3f */ 0xc1, 0x3d, 0x60, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0c40-0x0c7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */ 0x00, 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0cc0-0x0cff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d00-0x0d3f */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d00-0x0d3f */ 0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0d40-0x0d7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d80-0x0dbf */ 0x00, 0x04, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0dc0-0x0dff */ @@ -135,7 +133,7 @@ static const unsigned char nonspacing_table_data[27*64] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x3f, /* 0x1780-0x17bf */ 0x40, 0xfe, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x17c0-0x17ff */ /* 0x1800-0x19ff */ - 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */ + 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1840-0x187f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18c0-0x18ff */ @@ -144,26 +142,26 @@ static const unsigned char nonspacing_table_data[27*64] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1980-0x19bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x19c0-0x19ff */ /* 0x1a00-0x1bff */ - 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */ + 0x00, 0x00, 0x80, 0x09, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */ 0x00, 0x00, 0x40, 0x7f, 0xe5, 0x1f, 0xf8, 0x9f, /* 0x1a40-0x1a7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1a80-0x1abf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, /* 0x1a80-0x1abf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ac0-0x1aff */ 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x17, /* 0x1b00-0x1b3f */ 0x04, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x1b40-0x1b7f */ - 0x03, 0x00, 0x00, 0x00, 0x3c, 0x03, 0x00, 0x00, /* 0x1b80-0x1bbf */ + 0x03, 0x00, 0x00, 0x00, 0x3c, 0x3b, 0x00, 0x00, /* 0x1b80-0x1bbf */ 0x00, 0x00, 0x00, 0x00, 0x40, 0xa3, 0x03, 0x00, /* 0x1bc0-0x1bff */ /* 0x1c00-0x1dff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xcf, 0x00, /* 0x1c00-0x1c3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c40-0x1c7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c80-0x1cbf */ - 0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x00, 0x00, /* 0x1cc0-0x1cff */ + 0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x10, 0x03, /* 0x1cc0-0x1cff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d00-0x1d3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d40-0x1d7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d80-0x1dbf */ - 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0xf0, /* 0x1dc0-0x1dff */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xf0, /* 0x1dc0-0x1dff */ /* 0x2000-0x21ff */ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x2000-0x203f */ - 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, /* 0x2040-0x207f */ + 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x00, 0x00, /* 0x2040-0x207f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2080-0x20bf */ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, /* 0x20c0-0x20ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2100-0x213f */ @@ -180,7 +178,7 @@ static const unsigned char nonspacing_table_data[27*64] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d80-0x2dbf */ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, /* 0x2dc0-0x2dff */ /* 0x3000-0x31ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, /* 0x3000-0x303f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x3000-0x303f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3040-0x307f */ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0x3080-0x30bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30c0-0x30ff */ @@ -190,8 +188,8 @@ static const unsigned char nonspacing_table_data[27*64] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x31c0-0x31ff */ /* 0xa600-0xa7ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa600-0xa63f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x30, /* 0xa640-0xa67f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf7, 0x3f, /* 0xa640-0xa67f */ + 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0xa6c0-0xa6ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa700-0xa73f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa740-0xa77f */ @@ -205,12 +203,12 @@ static const unsigned char nonspacing_table_data[27*64] = { 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, /* 0xa900-0xa93f */ 0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa940-0xa97f */ 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x13, /* 0xa980-0xa9bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */ + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */ /* 0xaa00-0xabff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x66, 0x00, /* 0xaa00-0xaa3f */ - 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaa40-0xaa7f */ + 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0xaa40-0xaa7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xc1, /* 0xaa80-0xaabf */ - 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaac0-0xaaff */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x00, /* 0xaac0-0xaaff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab00-0xab3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab40-0xab7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab80-0xabbf */ @@ -225,7 +223,7 @@ static const unsigned char nonspacing_table_data[27*64] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb80-0xfbbf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfbc0-0xfbff */ /* 0xfe00-0xffff */ - 0xff, 0xff, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, /* 0xfe00-0xfe3f */ + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, /* 0xfe00-0xfe3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe40-0xfe7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe80-0xfebf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0xfec0-0xfeff */ @@ -242,24 +240,87 @@ static const unsigned char nonspacing_table_data[27*64] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10140-0x1017f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10180-0x101bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, /* 0x101c0-0x101ff */ + /* 0x10200-0x103ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10200-0x1023f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10240-0x1027f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10280-0x102bf */ + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, /* 0x102c0-0x102ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10300-0x1033f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, /* 0x10340-0x1037f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10380-0x103bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x103c0-0x103ff */ /* 0x10a00-0x10bff */ 0x6e, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, /* 0x10a00-0x10a3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a40-0x10a7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a80-0x10abf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */ + 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b00-0x10b3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b40-0x10b7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b80-0x10bbf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10bc0-0x10bff */ /* 0x11000-0x111ff */ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11000-0x1103f */ - 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11040-0x1107f */ + 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x11040-0x1107f */ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x26, /* 0x11080-0x110bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11100-0x1113f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11140-0x1117f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11180-0x111bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */ + 0x07, 0x00, 0x00, 0x00, 0x80, 0xef, 0x1f, 0x00, /* 0x11100-0x1113f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, /* 0x11140-0x1117f */ + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, /* 0x11180-0x111bf */ + 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */ + /* 0x11200-0x113ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd3, 0x00, /* 0x11200-0x1123f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11240-0x1127f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11280-0x112bf */ + 0x00, 0x00, 0x00, 0x80, 0xf8, 0x07, 0x00, 0x00, /* 0x112c0-0x112ff */ + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x11300-0x1133f */ + 0x01, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x1f, 0x00, /* 0x11340-0x1137f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11380-0x113bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x113c0-0x113ff */ + /* 0x11400-0x115ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11400-0x1143f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11440-0x1147f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x85, /* 0x11480-0x114bf */ + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x114c0-0x114ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11500-0x1153f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11540-0x1157f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xb0, /* 0x11580-0x115bf */ + 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, /* 0x115c0-0x115ff */ + /* 0x11600-0x117ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xa7, /* 0x11600-0x1163f */ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11640-0x1167f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xbf, 0x00, /* 0x11680-0x116bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x116c0-0x116ff */ + 0x00, 0x00, 0x00, 0xe0, 0xbc, 0x0f, 0x00, 0x00, /* 0x11700-0x1173f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11740-0x1177f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11780-0x117bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x117c0-0x117ff */ + /* 0x16a00-0x16bff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a00-0x16a3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a40-0x16a7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a80-0x16abf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, /* 0x16ac0-0x16aff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, /* 0x16b00-0x16b3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b40-0x16b7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b80-0x16bbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16bc0-0x16bff */ + /* 0x16e00-0x16fff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e00-0x16e3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e40-0x16e7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e80-0x16ebf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16ec0-0x16eff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f00-0x16f3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f40-0x16f7f */ + 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f80-0x16fbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16fc0-0x16fff */ + /* 0x1bc00-0x1bdff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc00-0x1bc3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc40-0x1bc7f */ + 0x00, 0x00, 0x00, 0x60, 0x0f, 0x00, 0x00, 0x00, /* 0x1bc80-0x1bcbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bcc0-0x1bcff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd00-0x1bd3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd40-0x1bd7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd80-0x1bdbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bdc0-0x1bdff */ /* 0x1d000-0x1d1ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d000-0x1d03f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d040-0x1d07f */ @@ -277,9 +338,27 @@ static const unsigned char nonspacing_table_data[27*64] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d300-0x1d33f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d340-0x1d37f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d380-0x1d3bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0x1d3c0-0x1d3ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d3c0-0x1d3ff */ + /* 0x1da00-0x1dbff */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xf8, /* 0x1da00-0x1da3f */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x20, 0x00, /* 0x1da40-0x1da7f */ + 0x10, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0x00, 0x00, /* 0x1da80-0x1dabf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dac0-0x1daff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db00-0x1db3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db40-0x1db7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db80-0x1dbbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dbc0-0x1dbff */ + /* 0x1e800-0x1e9ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e800-0x1e83f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e840-0x1e87f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e880-0x1e8bf */ + 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e8c0-0x1e8ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e900-0x1e93f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e940-0x1e97f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e980-0x1e9bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0x1e9c0-0x1e9ff */ }; -static const signed char nonspacing_table_ind[240] = { +static const signed char nonspacing_table_ind[248] = { 0, 1, 2, 3, 4, 5, 6, 7, /* 0x0000-0x0fff */ 8, 9, -1, 10, 11, 12, 13, -1, /* 0x1000-0x1fff */ 14, -1, -1, -1, -1, -1, 15, -1, /* 0x2000-0x2fff */ @@ -296,20 +375,21 @@ static const signed char nonspacing_table_ind[240] = { -1, -1, -1, -1, -1, -1, -1, -1, /* 0xd000-0xdfff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xe000-0xefff */ -1, -1, -1, -1, -1, 20, -1, 21, /* 0xf000-0xffff */ - 22, -1, -1, -1, -1, 23, -1, -1, /* 0x10000-0x10fff */ - 24, -1, -1, -1, -1, -1, -1, -1, /* 0x11000-0x11fff */ + 22, 23, -1, -1, -1, 24, -1, -1, /* 0x10000-0x10fff */ + 25, 26, 27, 28, -1, -1, -1, -1, /* 0x11000-0x11fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x12000-0x12fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x13000-0x13fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x14000-0x14fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x15000-0x15fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x16000-0x16fff */ + -1, -1, -1, -1, -1, 29, -1, 30, /* 0x16000-0x16fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x17000-0x17fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x18000-0x18fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x19000-0x19fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1a000-0x1afff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1b000-0x1bfff */ + -1, -1, -1, -1, -1, -1, 31, -1, /* 0x1b000-0x1bfff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1c000-0x1cfff */ - 25, 26, -1, -1, -1, -1, -1, -1 /* 0x1d000-0x1dfff */ + 32, 33, -1, -1, -1, 34, -1, -1, /* 0x1d000-0x1dfff */ + -1, -1, -1, -1, 35, -1, -1, -1 /* 0x1e000-0x1efff */ }; /* Determine number of column positions required for UC. */ @@ -317,7 +397,7 @@ int uc_width (ucs4_t uc, const char *encoding) { /* Test for non-spacing or control character. */ - if ((uc >> 9) < 240) + if ((uc >> 9) < 248) { int ind = nonspacing_table_ind[uc >> 9]; if (ind >= 0) diff --git a/gnu/unlink.c b/gnu/unlink.c index abbc9862..e006273a 100644 --- a/gnu/unlink.c +++ b/gnu/unlink.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Work around unlink bugs. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/unlinkat.c b/gnu/unlinkat.c index 242ad493..af35256f 100644 --- a/gnu/unlinkat.c +++ b/gnu/unlinkat.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Work around unlinkat bugs on Solaris 9 and Hurd. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -37,9 +35,12 @@ # undef unlinkat -/* unlinkat without AT_REMOVEDIR does not honor trailing / on Solaris - 9. Solve it in a similar manner to unlink. Hurd has the same - issue. */ +/* unlinkat without AT_REMOVEDIR does not honor trailing / on Solaris 9. + Hurd has the same issue. + + unlinkat without AT_REMOVEDIR erroneously ignores ".." on Darwin 14. + + Solve these in a similar manner to unlink. */ int rpl_unlinkat (int fd, char const *name, int flag) @@ -80,7 +81,17 @@ rpl_unlinkat (int fd, char const *name, int flag) } } if (!result) - result = unlinkat (fd, name, flag); + { +# if UNLINK_PARENT_BUG + if (len >= 2 && name[len - 1] == '.' && name[len - 2] == '.' + && (len == 2 || ISSLASH (name[len - 3]))) + { + errno = EISDIR; /* could also use EPERM */ + return -1; + } +# endif + result = unlinkat (fd, name, flag); + } return result; } diff --git a/gnu/unlinkdir.c b/gnu/unlinkdir.c index fa0e1a4a..976b9123 100644 --- a/gnu/unlinkdir.c +++ b/gnu/unlinkdir.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* unlinkdir.c - determine whether we can unlink directories - Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/unlinkdir.h b/gnu/unlinkdir.h index a1bb30d5..9a9f5fb3 100644 --- a/gnu/unlinkdir.h +++ b/gnu/unlinkdir.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* unlinkdir.h - determine (and maybe change) whether we can unlink directories - Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/unlocked-io.h b/gnu/unlocked-io.h index 94d89f4b..06ffac61 100644 --- a/gnu/unlocked-io.h +++ b/gnu/unlocked-io.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Prefer faster, non-thread-safe stdio functions if available. - Copyright (C) 2001-2004, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/unsetenv.c b/gnu/unsetenv.c index d68c1592..87f41d59 100644 --- a/gnu/unsetenv.c +++ b/gnu/unsetenv.c @@ -1,6 +1,4 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1992, 1995-2002, 2005-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995-2002, 2005-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify diff --git a/gnu/utimens.c b/gnu/utimens.c index 116070cd..7386dcf2 100644 --- a/gnu/utimens.c +++ b/gnu/utimens.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Set file access and modification times. - Copyright (C) 2003-2014 Free Software Foundation, Inc. + Copyright (C) 2003-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -26,7 +24,6 @@ #define _GL_UTIMENS_INLINE _GL_EXTERN_INLINE #include "utimens.h" -#include #include #include #include @@ -89,7 +86,6 @@ validate_timespec (struct timespec timespec[2]) { int result = 0; int utime_omit_count = 0; - assert (timespec); if ((timespec[0].tv_nsec != UTIME_NOW && timespec[0].tv_nsec != UTIME_OMIT && ! (0 <= timespec[0].tv_nsec diff --git a/gnu/utimens.h b/gnu/utimens.h index d9965a86..cbd06cc7 100644 --- a/gnu/utimens.h +++ b/gnu/utimens.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Set file access and modification times. - Copyright 2012-2014 Free Software Foundation, Inc. + Copyright 2012-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/gnu/utimensat.c b/gnu/utimensat.c index 9a881983..59839d40 100644 --- a/gnu/utimensat.c +++ b/gnu/utimensat.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Set the access and modification time of a file relative to directory fd. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/vasnprintf.c b/gnu/vasnprintf.c index c959c54e..88332f0b 100644 --- a/gnu/vasnprintf.c +++ b/gnu/vasnprintf.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* vsprintf with automatic memory allocation. - Copyright (C) 1999, 2002-2014 Free Software Foundation, Inc. + Copyright (C) 1999, 2002-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1888,7 +1886,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, else { do - result[length++] = (unsigned char) *cp++; + result[length++] = *cp++; while (--n > 0); } } @@ -1959,15 +1957,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; + width = arg; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; - width = (unsigned int) (-arg); + width = -width; } - else - width = arg; } else { @@ -2075,8 +2072,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, characters = 0; } - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) + if (characters < width && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); @@ -2129,8 +2125,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, } # endif - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) + if (characters < width && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); @@ -2203,8 +2198,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, characters = 0; } - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) + if (characters < width && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); @@ -2257,8 +2251,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, } # endif - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) + if (characters < width && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); @@ -2331,8 +2324,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, characters = 0; } - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) + if (characters < width && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); @@ -2385,8 +2377,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, } # endif - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) + if (characters < width && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); @@ -2437,15 +2428,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; + width = arg; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; - width = (unsigned int) (-arg); + width = -width; } - else - width = arg; } else { @@ -2575,8 +2565,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, characters = 0; } - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) + if (characters < width && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); @@ -2637,8 +2626,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, } } - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) + if (characters < width && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); @@ -2829,8 +2817,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, /* w doesn't matter. */ w = 0; - if (has_width && width > w - && !(dp->flags & FLAG_LEFT)) + if (w < width && !(dp->flags & FLAG_LEFT)) { size_t n = width - w; ENSURE_ALLOCATION (xsum (length, n)); @@ -2913,8 +2900,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, length += tmpdst_len; # endif - if (has_width && width > w - && (dp->flags & FLAG_LEFT)) + if (w < width && (dp->flags & FLAG_LEFT)) { size_t n = width - w; ENSURE_ALLOCATION (xsum (length, n)); @@ -2941,17 +2927,16 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, { arg_type type = a.arg[dp->arg_index].type; int flags = dp->flags; - int has_width; size_t width; int has_precision; size_t precision; size_t tmp_length; + size_t count; DCHAR_T tmpbuf[700]; DCHAR_T *tmp; DCHAR_T *pad_ptr; DCHAR_T *p; - has_width = 0; width = 0; if (dp->width_start != dp->width_end) { @@ -2962,15 +2947,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; + width = arg; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; - width = (unsigned int) (-arg); + width = -width; } - else - width = arg; } else { @@ -2980,7 +2964,6 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } - has_width = 1; } has_precision = 0; @@ -3356,11 +3339,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, abort (); # endif } + /* The generated string now extends from tmp to p, with the zero padding insertion point being at pad_ptr. */ - if (has_width && p - tmp < width) + count = p - tmp; + + if (count < width) { - size_t pad = width - (p - tmp); + size_t pad = width - count; DCHAR_T *end = p + pad; if (flags & FLAG_LEFT) @@ -3393,28 +3379,26 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, p = end; } - { - size_t count = p - tmp; + count = p - tmp; - if (count >= tmp_length) - /* tmp_length was incorrectly calculated - fix the - code above! */ - abort (); + if (count >= tmp_length) + /* tmp_length was incorrectly calculated - fix the + code above! */ + abort (); - /* Make room for the result. */ - if (count >= allocated - length) - { - size_t n = xsum (length, count); + /* Make room for the result. */ + if (count >= allocated - length) + { + size_t n = xsum (length, count); - ENSURE_ALLOCATION (n); - } + ENSURE_ALLOCATION (n); + } - /* Append the result. */ - memcpy (result + length, tmp, count * sizeof (DCHAR_T)); - if (tmp != tmpbuf) - free (tmp); - length += count; - } + /* Append the result. */ + memcpy (result + length, tmp, count * sizeof (DCHAR_T)); + if (tmp != tmpbuf) + free (tmp); + length += count; } #endif #if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL @@ -3448,8 +3432,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, arg_type type = a.arg[dp->arg_index].type; # endif int flags = dp->flags; - int has_width; size_t width; + size_t count; int has_precision; size_t precision; size_t tmp_length; @@ -3458,7 +3442,6 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, DCHAR_T *pad_ptr; DCHAR_T *p; - has_width = 0; width = 0; if (dp->width_start != dp->width_end) { @@ -3469,15 +3452,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; + width = arg; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; - width = (unsigned int) (-arg); + width = -width; } - else - width = arg; } else { @@ -3487,7 +3469,6 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } - has_width = 1; } has_precision = 0; @@ -3927,9 +3908,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, digits without trailing zeroes. */ if (exponent >= 0) { - size_t count = exponent + 1; + size_t ecount = exponent + 1; /* Note: count <= precision = ndigits. */ - for (; count > 0; count--) + for (; ecount > 0; ecount--) *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { @@ -3943,10 +3924,10 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, } else { - size_t count = -exponent - 1; + size_t ecount = -exponent - 1; *p++ = '0'; *p++ = decimal_point_char (); - for (; count > 0; count--) + for (; ecount > 0; ecount--) *p++ = '0'; while (ndigits > nzeroes) { @@ -4397,9 +4378,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, digits without trailing zeroes. */ if (exponent >= 0) { - size_t count = exponent + 1; - /* Note: count <= precision = ndigits. */ - for (; count > 0; count--) + size_t ecount = exponent + 1; + /* Note: ecount <= precision = ndigits. */ + for (; ecount > 0; ecount--) *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { @@ -4413,10 +4394,10 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, } else { - size_t count = -exponent - 1; + size_t ecount = -exponent - 1; *p++ = '0'; *p++ = decimal_point_char (); - for (; count > 0; count--) + for (; ecount > 0; ecount--) *p++ = '0'; while (ndigits > nzeroes) { @@ -4544,9 +4525,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, /* The generated string now extends from tmp to p, with the zero padding insertion point being at pad_ptr. */ - if (has_width && p - tmp < width) + count = p - tmp; + + if (count < width) { - size_t pad = width - (p - tmp); + size_t pad = width - count; DCHAR_T *end = p + pad; if (flags & FLAG_LEFT) @@ -4579,36 +4562,36 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, p = end; } - { - size_t count = p - tmp; + count = p - tmp; - if (count >= tmp_length) - /* tmp_length was incorrectly calculated - fix the - code above! */ - abort (); + if (count >= tmp_length) + /* tmp_length was incorrectly calculated - fix the + code above! */ + abort (); - /* Make room for the result. */ - if (count >= allocated - length) - { - size_t n = xsum (length, count); + /* Make room for the result. */ + if (count >= allocated - length) + { + size_t n = xsum (length, count); - ENSURE_ALLOCATION (n); - } + ENSURE_ALLOCATION (n); + } - /* Append the result. */ - memcpy (result + length, tmp, count * sizeof (DCHAR_T)); - if (tmp != tmpbuf) - free (tmp); - length += count; - } + /* Append the result. */ + memcpy (result + length, tmp, count * sizeof (DCHAR_T)); + if (tmp != tmpbuf) + free (tmp); + length += count; } #endif else { arg_type type = a.arg[dp->arg_index].type; int flags = dp->flags; -#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION +#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION int has_width; +#endif +#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION size_t width; #endif #if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || NEED_PRINTF_UNBOUNDED_PRECISION @@ -4637,8 +4620,10 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, TCHAR_T *tmp; #endif -#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION +#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION has_width = 0; +#endif +#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION width = 0; if (dp->width_start != dp->width_end) { @@ -4649,15 +4634,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; + width = arg; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; - width = (unsigned int) (-arg); + width = -width; } - else - width = arg; } else { @@ -4667,7 +4651,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } +#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION has_width = 1; +#endif } #endif @@ -4807,7 +4793,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, { const FCHAR_T *mp = dp->width_start; do - *fbp++ = (unsigned char) *mp++; + *fbp++ = *mp++; while (--n > 0); } } @@ -4828,7 +4814,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, { const FCHAR_T *mp = dp->precision_start; do - *fbp++ = (unsigned char) *mp++; + *fbp++ = *mp++; while (--n > 0); } } @@ -5155,7 +5141,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, size_t tmp_length = MAX_ROOM_NEEDED (&a, dp->arg_index, dp->conversion, type, flags, - has_width ? width : 0, + width, has_precision, precision, pad_ourselves); @@ -5193,18 +5179,21 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, /* SNPRINTF or sprintf failed. Save and use the errno that it has set, if any. */ int saved_errno = errno; + if (saved_errno == 0) + { + if (dp->conversion == 'c' || dp->conversion == 's') + saved_errno = EILSEQ; + else + saved_errno = EINVAL; + } if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); - errno = - (saved_errno != 0 - ? saved_errno - : (dp->conversion == 'c' || dp->conversion == 's' - ? EILSEQ - : EINVAL)); + + errno = saved_errno; return NULL; } @@ -5393,7 +5382,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, tmpsrc += count; tmpdst += count; for (n = count; n > 0; n--) - *--tmpdst = (unsigned char) *--tmpsrc; + *--tmpdst = *--tmpsrc; } } #endif diff --git a/gnu/vasnprintf.h b/gnu/vasnprintf.h index 7b930404..3494eef3 100644 --- a/gnu/vasnprintf.h +++ b/gnu/vasnprintf.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* vsprintf with automatic memory allocation. - Copyright (C) 2002-2004, 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2004, 2007-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/vasprintf.c b/gnu/vasprintf.c index 7882c950..5dd4abd4 100644 --- a/gnu/vasprintf.c +++ b/gnu/vasprintf.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Formatted output to strings. - Copyright (C) 1999, 2002, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2006-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/verify.h b/gnu/verify.h index ec515b3f..60eba498 100644 --- a/gnu/verify.h +++ b/gnu/verify.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Compile-time assert-like macros. - Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/version-etc-fsf.c b/gnu/version-etc-fsf.c index 99d048e8..ad78d0d7 100644 --- a/gnu/version-etc-fsf.c +++ b/gnu/version-etc-fsf.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Variable with FSF copyright information, for version-etc. - Copyright (C) 1999-2006, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/version-etc.c b/gnu/version-etc.c index 094d9924..a93b008d 100644 --- a/gnu/version-etc.c +++ b/gnu/version-etc.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Print --version and bug-reporting information in a consistent format. - Copyright (C) 1999-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,7 +38,7 @@ # define PACKAGE PACKAGE_TARNAME #endif -enum { COPYRIGHT_YEAR = 2014 }; +enum { COPYRIGHT_YEAR = 2015 }; /* The three functions below display the --version information the standard way. diff --git a/gnu/version-etc.h b/gnu/version-etc.h index a5ddc225..408581e3 100644 --- a/gnu/version-etc.h +++ b/gnu/version-etc.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Print --version and bug-reporting information in a consistent format. - Copyright (C) 1999, 2003, 2005, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1999, 2003, 2005, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/vsnprintf.c b/gnu/vsnprintf.c index 7074150b..d2ebed9a 100644 --- a/gnu/vsnprintf.c +++ b/gnu/vsnprintf.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Formatted output to strings. - Copyright (C) 2004, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2004, 2006-2015 Free Software Foundation, Inc. Written by Simon Josefsson and Yoann Vandoorselaere . This program is free software; you can redistribute it and/or modify diff --git a/gnu/wchar.in.h b/gnu/wchar.in.h index 59171b6b..684299f7 100644 --- a/gnu/wchar.in.h +++ b/gnu/wchar.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A substitute for ISO C99 , for platforms that have issues. - Copyright (C) 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2007-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -32,9 +30,14 @@ #endif @PRAGMA_COLUMNS@ -#if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H +#if (((defined __need_mbstate_t || defined __need_wint_t) \ + && !defined __MINGW32__) \ + || (defined __hpux \ + && ((defined _INTTYPES_INCLUDED && !defined strtoimax) \ + || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) \ + || defined _GL_ALREADY_INCLUDING_WCHAR_H) /* Special invocation convention: - - Inside glibc and uClibc header files. + - Inside glibc and uClibc header files, but not MinGW. - On HP-UX 11.00 we have a sequence of nested includes -> -> , and the latter includes , once indirectly -> -> -> diff --git a/gnu/wcrtomb.c b/gnu/wcrtomb.c index 0cd4cb9f..b38d2e0d 100644 --- a/gnu/wcrtomb.c +++ b/gnu/wcrtomb.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert wide character to multibyte character. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify diff --git a/gnu/wctype-h.c b/gnu/wctype-h.c index 8375a710..bb5f847e 100644 --- a/gnu/wctype-h.c +++ b/gnu/wctype-h.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Normally this would be wctype.c, but that name's already taken. */ #include #define _GL_WCTYPE_INLINE _GL_EXTERN_INLINE diff --git a/gnu/wctype.in.h b/gnu/wctype.in.h index 892e49e3..9050b7e5 100644 --- a/gnu/wctype.in.h +++ b/gnu/wctype.in.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A substitute for ISO C99 , for platforms that lack it. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/wcwidth.c b/gnu/wcwidth.c index 7863880b..d2b71189 100644 --- a/gnu/wcwidth.c +++ b/gnu/wcwidth.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Determine the number of screen columns needed for a character. - Copyright (C) 2006-2007, 2010-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2007, 2010-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/write.c b/gnu/write.c index 5b587382..ed2d3b7b 100644 --- a/gnu/write.c +++ b/gnu/write.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* POSIX compatible write() function. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify diff --git a/gnu/xalloc-die.c b/gnu/xalloc-die.c index 6699df2e..3cea6386 100644 --- a/gnu/xalloc-die.c +++ b/gnu/xalloc-die.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Report a memory allocation failure and exit. - Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2014 Free Software + Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/xalloc-oversized.h b/gnu/xalloc-oversized.h index 6e520972..f0e9778f 100644 --- a/gnu/xalloc-oversized.h +++ b/gnu/xalloc-oversized.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* xalloc-oversized.h -- memory allocation size checking - Copyright (C) 1990-2000, 2003-2004, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 1990-2000, 2003-2004, 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/xalloc.h b/gnu/xalloc.h index 3369977a..81ef680a 100644 --- a/gnu/xalloc.h +++ b/gnu/xalloc.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* xalloc.h -- malloc with out-of-memory checking - Copyright (C) 1990-2000, 2003-2004, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 1990-2000, 2003-2004, 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -43,7 +41,8 @@ extern "C" { # define _GL_ATTRIBUTE_MALLOC #endif -#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) +#if ! defined __clang__ && \ + (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) # define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) #else # define _GL_ATTRIBUTE_ALLOC_SIZE(args) @@ -66,7 +65,7 @@ void *xrealloc (void *p, size_t s) _GL_ATTRIBUTE_ALLOC_SIZE ((2)); void *x2realloc (void *p, size_t *pn); void *xmemdup (void const *p, size_t s) - _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((2)); + _GL_ATTRIBUTE_ALLOC_SIZE ((2)); char *xstrdup (char const *str) _GL_ATTRIBUTE_MALLOC; @@ -124,10 +123,9 @@ xnrealloc (void *p, size_t n, size_t s) /* If P is null, allocate a block of at least *PN such objects; otherwise, reallocate P so that it contains more than *PN objects - each of S bytes. *PN must be nonzero unless P is null, and S must - be nonzero. Set *PN to the new number of objects, and return the - pointer to the new block. *PN is never set to zero, and the - returned pointer is never null. + each of S bytes. S must be nonzero. Set *PN to the new number of + objects, and return the pointer to the new block. *PN is never set + to zero, and the returned pointer is never null. Repeated reallocations are guaranteed to make progress, either by allocating an initial block with a nonzero size, or by allocating a @@ -198,13 +196,13 @@ x2nrealloc (void *p, size_t *pn, size_t s) } else { - /* Set N = ceil (1.5 * N) so that progress is made if N == 1. + /* Set N = floor (1.5 * N) + 1 so that progress is made even if N == 0. Check for overflow, so that N * S stays in size_t range. - The check is slightly conservative, but an exact check isn't + The check may be slightly conservative, but an exact check isn't worth the trouble. */ if ((size_t) -1 / 3 * 2 / s <= n) xalloc_die (); - n += (n + 1) / 2; + n += n / 2 + 1; } *pn = n; @@ -261,5 +259,6 @@ xmemdup (T const *p, size_t s) #endif +_GL_INLINE_HEADER_END #endif /* !XALLOC_H_ */ diff --git a/gnu/xasprintf.c b/gnu/xasprintf.c index f8ded74e..f8eef978 100644 --- a/gnu/xasprintf.c +++ b/gnu/xasprintf.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* vasprintf and asprintf with out-of-memory checking. - Copyright (C) 1999, 2002-2004, 2006, 2009-2014 Free Software Foundation, + Copyright (C) 1999, 2002-2004, 2006, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/xgetcwd.c b/gnu/xgetcwd.c index 5dcb23ad..cbaf4d8d 100644 --- a/gnu/xgetcwd.c +++ b/gnu/xgetcwd.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* xgetcwd.c -- return current directory with unlimited length - Copyright (C) 2001, 2003-2004, 2006-2007, 2009-2014 Free Software + Copyright (C) 2001, 2003-2004, 2006-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/xgetcwd.h b/gnu/xgetcwd.h index 81b53cad..9c472349 100644 --- a/gnu/xgetcwd.h +++ b/gnu/xgetcwd.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* prototype for xgetcwd - Copyright (C) 1995, 2001, 2003, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 1995, 2001, 2003, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/xmalloc.c b/gnu/xmalloc.c index de7e43f0..e246559f 100644 --- a/gnu/xmalloc.c +++ b/gnu/xmalloc.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* xmalloc.c -- malloc with out of memory checking - Copyright (C) 1990-2000, 2002-2006, 2008-2014 Free Software Foundation, Inc. + Copyright (C) 1990-2000, 2002-2006, 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/xsize.c b/gnu/xsize.c index 00f7bbc9..4b4914c2 100644 --- a/gnu/xsize.c +++ b/gnu/xsize.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #include #define XSIZE_INLINE _GL_EXTERN_INLINE #include "xsize.h" diff --git a/gnu/xsize.h b/gnu/xsize.h index 3d9fd9af..b2a786a8 100644 --- a/gnu/xsize.h +++ b/gnu/xsize.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* xsize.h -- Checked size_t computations. - Copyright (C) 2003, 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2008-2015 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/xstrndup.c b/gnu/xstrndup.c index 9b7a3029..51831d8c 100644 --- a/gnu/xstrndup.c +++ b/gnu/xstrndup.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Duplicate a bounded initial segment of a string, with out-of-memory checking. - Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2006-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/xstrndup.h b/gnu/xstrndup.h index 092a8d56..d510bf37 100644 --- a/gnu/xstrndup.h +++ b/gnu/xstrndup.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Duplicate a bounded initial segment of a string, with out-of-memory checking. - Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/xstrtol-error.c b/gnu/xstrtol-error.c index 03a3a4df..6a2ebea0 100644 --- a/gnu/xstrtol-error.c +++ b/gnu/xstrtol-error.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A more useful interface to strtol. - Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2014 Free Software + Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/xstrtol.c b/gnu/xstrtol.c index c8d68af0..bd3ffeb2 100644 --- a/gnu/xstrtol.c +++ b/gnu/xstrtol.c @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A more useful interface to strtol. - Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2014 Free Software + Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -36,13 +34,13 @@ need stderr defined if assertion checking is enabled. */ #include -#include #include #include #include #include #include +#include "assure.h" #include "intprops.h" /* xstrtoll.c and xstrtoull.c, which include this file, require that @@ -95,10 +93,12 @@ __xstrtol (const char *s, char **ptr, int strtol_base, __strtol_t tmp; strtol_error err = LONGINT_OK; - assert (0 <= strtol_base && strtol_base <= 36); + assure (0 <= strtol_base && strtol_base <= 36); p = (ptr ? ptr : &t_ptr); + errno = 0; + if (! TYPE_SIGNED (__strtol_t)) { const char *q = s; @@ -109,7 +109,6 @@ __xstrtol (const char *s, char **ptr, int strtol_base, return LONGINT_INVALID; } - errno = 0; tmp = __strtol (s, p, strtol_base); if (*p == s) @@ -184,7 +183,7 @@ __xstrtol (const char *s, char **ptr, int strtol_base, break; case 'c': - overflow = 0; + overflow = LONGINT_OK; break; case 'E': /* exa or exbi */ diff --git a/gnu/xstrtol.h b/gnu/xstrtol.h index a0733746..19202dcd 100644 --- a/gnu/xstrtol.h +++ b/gnu/xstrtol.h @@ -1,8 +1,6 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A more useful interface to strtol. - Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2014 Free Software + Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/xstrtoul.c b/gnu/xstrtoul.c index 63968db7..285f7b96 100644 --- a/gnu/xstrtoul.c +++ b/gnu/xstrtoul.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #define __strtol strtoul #define __strtol_t unsigned long int #define __xstrtol xstrtoul diff --git a/gnu/xstrtoumax.c b/gnu/xstrtoumax.c index fce8d5fd..9a2349f0 100644 --- a/gnu/xstrtoumax.c +++ b/gnu/xstrtoumax.c @@ -1,5 +1,3 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #define __strtol strtoumax #define __strtol_t uintmax_t #define __xstrtol xstrtoumax diff --git a/gnu/xvasprintf.c b/gnu/xvasprintf.c index 31c96ab1..441ab598 100644 --- a/gnu/xvasprintf.c +++ b/gnu/xvasprintf.c @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* vasprintf and asprintf with out-of-memory checking. - Copyright (C) 1999, 2002-2004, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 1999, 2002-2004, 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gnu/xvasprintf.h b/gnu/xvasprintf.h index 1c197100..3b7f5ad8 100644 --- a/gnu/xvasprintf.h +++ b/gnu/xvasprintf.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* vasprintf and asprintf with out-of-memory checking. - Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lib/Makefile.am b/lib/Makefile.am index b2971a28..c7318d97 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -1,7 +1,7 @@ # Makefile for GNU tar library. -*- Makefile -*- -# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013-2014 Free -# Software Foundation, Inc. +# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013-2014, 2016 +# Free Software Foundation, Inc. # This file is part of GNU tar. @@ -41,7 +41,6 @@ noinst_HEADERS = \ libtar_a_SOURCES = \ paxerror.c paxexit-status.c paxlib.h paxnames.c \ - prepargs.c prepargs.h \ rtapelib.c \ rmt.h \ stdopen.c stdopen.h \ diff --git a/lib/Makefile.in b/lib/Makefile.in index 41a9acaf..77c68dd7 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -16,8 +16,8 @@ # Makefile for GNU tar library. -*- Makefile -*- -# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013-2014 Free -# Software Foundation, Inc. +# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013-2014, 2016 +# Free Software Foundation, Inc. # This file is part of GNU tar. @@ -127,10 +127,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ - $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ - $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \ + $(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \ + $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -145,10 +146,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ - $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \ - $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ @@ -170,14 +171,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ - $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ - $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix_openpt.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \ + $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/opendir.m4 \ + $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ + $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/ptsname.m4 \ - $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/raise.m4 \ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/read.m4 \ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \ @@ -213,24 +213,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ + $(top_srcdir)/m4/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ - $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkat.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/unlockpt.m4 \ - $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ - $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ - $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ - $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ - $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ - $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ - $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ - $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \ - $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \ - $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ + $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ + $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ + $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ + $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_h.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \ + $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wcwidth.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/write.m4 \ + $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ + $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -245,8 +245,8 @@ am__v_AR_1 = libtar_a_AR = $(AR) $(ARFLAGS) libtar_a_LIBADD = am_libtar_a_OBJECTS = paxerror.$(OBJEXT) paxexit-status.$(OBJEXT) \ - paxnames.$(OBJEXT) prepargs.$(OBJEXT) rtapelib.$(OBJEXT) \ - stdopen.$(OBJEXT) wordsplit.$(OBJEXT) xattr-at.$(OBJEXT) + paxnames.$(OBJEXT) rtapelib.$(OBJEXT) stdopen.$(OBJEXT) \ + wordsplit.$(OBJEXT) xattr-at.$(OBJEXT) libtar_a_OBJECTS = $(am_libtar_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -502,6 +502,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_QSORT_R = @GNULIB_QSORT_R@ GNULIB_RAISE = @GNULIB_RAISE@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ @@ -561,6 +562,7 @@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ +GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ @@ -713,6 +715,7 @@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ @@ -799,6 +802,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ @@ -872,6 +876,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_EACCESS = @LIB_EACCESS@ +LIB_HAS_ACL = @LIB_HAS_ACL@ LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ @@ -1037,10 +1042,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ +REPLACE_READLINKAT = @REPLACE_READLINKAT@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ @@ -1073,6 +1080,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ +REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ @@ -1115,6 +1123,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ +UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_ACL = @USE_ACL@ @@ -1205,7 +1214,6 @@ noinst_HEADERS = \ libtar_a_SOURCES = \ paxerror.c paxexit-status.c paxlib.h paxnames.c \ - prepargs.c prepargs.h \ rtapelib.c \ rmt.h \ stdopen.c stdopen.h \ @@ -1268,7 +1276,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paxerror.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paxexit-status.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paxnames.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prepargs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtapelib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdopen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wordsplit.Po@am__quote@ diff --git a/lib/attr-xattr.in.h b/lib/attr-xattr.in.h index 845ee881..679000b8 100644 --- a/lib/attr-xattr.in.h +++ b/lib/attr-xattr.in.h @@ -1,5 +1,5 @@ /* Replacement for platforms that lack it. - Copyright 2012-2014 Free Software Foundation, Inc. + Copyright 2012-2014, 2016 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lib/stdopen.c b/lib/stdopen.c index 71bdae41..24ac8e45 100644 --- a/lib/stdopen.c +++ b/lib/stdopen.c @@ -1,6 +1,6 @@ /* stdopen.c - ensure that the three standard file descriptors are in use - Copyright 2005, 2007, 2013-2014 Free Software Foundation, Inc. + Copyright 2005, 2007, 2013-2014, 2016 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lib/wordsplit.c b/lib/wordsplit.c index 21807cdb..06537858 100644 --- a/lib/wordsplit.c +++ b/lib/wordsplit.c @@ -1,5 +1,5 @@ /* wordsplit - a word splitter - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2014, 2016 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -61,7 +61,7 @@ _wsplt_alloc_die (struct wordsplit *wsp) abort (); } -static void __attribute__ ((__format__ (__printf__, 1, 2))) +static void __WORDSPLIT_ATTRIBUTE_FORMAT ((__printf__, 1, 2)) _wsplt_error (const char *fmt, ...) { va_list ap; @@ -221,7 +221,7 @@ struct wordsplit_node { struct wordsplit_node *prev; /* Previous element */ struct wordsplit_node *next; /* Next element */ - int flags; /* Node flags */ + unsigned flags; /* Node flags */ union { struct diff --git a/lib/wordsplit.h b/lib/wordsplit.h index d64cf2f7..e0d2559d 100644 --- a/lib/wordsplit.h +++ b/lib/wordsplit.h @@ -1,5 +1,5 @@ /* wordsplit - a word splitter - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2014, 2016 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -22,6 +22,12 @@ #include +#if 2 < __GNUC__ + (7 <= __GNUC_MINOR__) +# define __WORDSPLIT_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +#else +# define __WORDSPLIT_ATTRIBUTE_FORMAT(spec) /* empty */ +#endif + struct wordsplit { size_t ws_wordc; @@ -34,9 +40,9 @@ struct wordsplit const char *ws_escape; void (*ws_alloc_die) (struct wordsplit * wsp); void (*ws_error) (const char *, ...) - __attribute__ ((__format__ (__printf__, 1, 2))); + __WORDSPLIT_ATTRIBUTE_FORMAT ((__printf__, 1, 2)); void (*ws_debug) (const char *, ...) - __attribute__ ((__format__ (__printf__, 1, 2))); + __WORDSPLIT_ATTRIBUTE_FORMAT ((__printf__, 1, 2)); const char **ws_env; const char *(*ws_getvar) (const char *, size_t, void *); diff --git a/lib/xattr-at.c b/lib/xattr-at.c index 443ccae4..1bb48fa7 100644 --- a/lib/xattr-at.c +++ b/lib/xattr-at.c @@ -1,7 +1,7 @@ /* openat-style fd-relative functions for operating with extended file attributes. - Copyright 2012-2014 Free Software Foundation, Inc. + Copyright 2012-2014, 2016 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,6 +31,8 @@ #include "openat-priv.h" +#ifdef HAVE_XATTRS + /* setxattrat */ #define AT_FUNC_NAME setxattrat #define AT_FUNC_F1 setxattr @@ -108,3 +110,5 @@ #undef AT_FUNC_RESULT #undef AT_FUNC_POST_FILE_PARAM_DECLS #undef AT_FUNC_POST_FILE_ARGS + +#endif /* HAVE_XATTRS */ diff --git a/lib/xattr-at.h b/lib/xattr-at.h index 3c6eb726..30e52d73 100644 --- a/lib/xattr-at.h +++ b/lib/xattr-at.h @@ -1,7 +1,7 @@ /* Prototypes for openat-style fd-relative functions for operating with extended file attributes. - Copyright 2012-2014 Free Software Foundation, Inc. + Copyright 2012-2014, 2016 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/m4/00gnulib.m4 b/m4/00gnulib.m4 index 8eca5518..c7103ed5 100644 --- a/m4/00gnulib.m4 +++ b/m4/00gnulib.m4 @@ -1,5 +1,5 @@ # 00gnulib.m4 serial 3 -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/absolute-header.m4 b/m4/absolute-header.m4 index ce3e39e9..bc19dfc3 100644 --- a/m4/absolute-header.m4 +++ b/m4/absolute-header.m4 @@ -1,5 +1,5 @@ # absolute-header.m4 serial 16 -dnl Copyright (C) 2006-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/acl.m4 b/m4/acl.m4 index f02f69d2..75fc9ce4 100644 --- a/m4/acl.m4 +++ b/m4/acl.m4 @@ -1,30 +1,36 @@ # acl.m4 - check for access control list (ACL) primitives -# serial 17 +# serial 21 -# Copyright (C) 2002, 2004-2014 Free Software Foundation, Inc. +# Copyright (C) 2002, 2004-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert and Jim Meyering. -AC_DEFUN([gl_FUNC_ACL], +AC_DEFUN([gl_FUNC_ACL_ARG], [ + gl_need_lib_has_acl= AC_ARG_ENABLE([acl], AS_HELP_STRING([--disable-acl], [do not support ACLs]), , [enable_acl=auto]) +]) + +AC_DEFUN([gl_FUNC_ACL], +[ + AC_REQUIRE([gl_FUNC_ACL_ARG]) AC_CHECK_FUNCS_ONCE([fchmod]) LIB_ACL= use_acl=0 - if test "x$enable_acl" != "xno"; then + if test "$enable_acl" != no; then dnl On all platforms, the ACL related API is declared in . AC_CHECK_HEADERS([sys/acl.h]) if test $ac_cv_header_sys_acl_h = yes; then ac_save_LIBS=$LIBS - dnl Test for POSIX-draft-like API (Linux, FreeBSD, Mac OS X, IRIX, Tru64). - dnl -lacl is needed on Linux, -lpacl is needed on OSF/1. + dnl Test for POSIX-draft-like API (GNU/Linux, FreeBSD, Mac OS X, + dnl IRIX, Tru64). -lacl is needed on GNU/Linux, -lpacl on OSF/1. if test $use_acl = 0; then AC_SEARCH_LIBS([acl_get_file], [acl pacl], [if test "$ac_cv_search_acl_get_file" != "none required"; then @@ -40,7 +46,7 @@ AC_DEFUN([gl_FUNC_ACL], # If the acl_get_file bug is detected, don't enable the ACL support. gl_ACL_GET_FILE([use_acl=1], []) if test $use_acl = 1; then - dnl On Linux, additional API is declared in . + dnl On GNU/Linux, an additional API is declared in . AC_CHECK_HEADERS([acl/libacl.h]) AC_REPLACE_FUNCS([acl_entries]) AC_CACHE_CHECK([for ACL_FIRST_ENTRY], @@ -124,13 +130,15 @@ int type = ACL_TYPE_EXTENDED;]])], LIBS=$ac_save_LIBS fi - if test "x$enable_acl$use_acl" = "xyes0"; then + + if test "$enable_acl$use_acl" = yes0; then AC_MSG_ERROR([ACLs enabled but support not detected]) - elif test "x$enable_acl$use_acl" = "xauto0"; then + elif test "$enable_acl$use_acl" = auto0; then AC_MSG_WARN([libacl development library was not found or not usable.]) AC_MSG_WARN([AC_PACKAGE_NAME will be built without ACL support.]) fi fi + test $gl_need_lib_has_acl && LIB_HAS_ACL=$LIB_ACL AC_SUBST([LIB_ACL]) AC_DEFINE_UNQUOTED([USE_ACL], [$use_acl], [Define to nonzero if you want access control list support.]) @@ -139,7 +147,7 @@ int type = ACL_TYPE_EXTENDED;]])], ]) # gl_ACL_GET_FILE(IF-WORKS, IF-NOT) -# ------------------------------------- +# --------------------------------- # If 'acl_get_file' works (does not have a particular bug), # run IF-WORKS, otherwise, IF-NOT. # When building natively, test for a Darwin 8.7.0 bug, whereby acl_get_file @@ -166,3 +174,38 @@ AC_DEFUN([gl_ACL_GET_FILE], fi])]) AS_IF([test "$gl_cv_func_working_acl_get_file" != no], [$1], [$2]) ]) + +# On GNU/Linux, testing if a file has an acl can be done with the getxattr +# syscall which doesn't require linking against additional libraries. +AC_DEFUN([gl_FILE_HAS_ACL], +[ + AC_REQUIRE([gl_FUNC_ACL_ARG]) + if test "$enable_acl" != no; then + AC_CACHE_CHECK([for getxattr with XATTR_NAME_POSIX_ACL macros], + [gl_cv_getxattr_with_posix_acls], + [gl_cv_getxattr_with_posix_acls=no + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + #include + ]], + [[ssize_t a = getxattr (".", XATTR_NAME_POSIX_ACL_ACCESS, 0, 0); + ssize_t b = getxattr (".", XATTR_NAME_POSIX_ACL_DEFAULT, 0, 0); + return a < 0 || b < 0; + ]])], + [gl_cv_getxattr_with_posix_acls=yes])]) + fi + if test "$gl_cv_getxattr_with_posix_acls" = yes; then + LIB_HAS_ACL= + AC_DEFINE([GETXATTR_WITH_POSIX_ACLS], 1, + [Define to 1 if getxattr works with XATTR_NAME_POSIX_ACL_ACCESS + and XATTR_NAME_POSIX_ACL_DEFAULT.]) + else + dnl Set gl_need_lib_has_acl to a nonempty value, so that any + dnl later gl_FUNC_ACL call will set LIB_HAS_ACL=$LIB_ACL. + gl_need_lib_has_acl=1 + LIB_HAS_ACL=$LIB_ACL + fi + AC_SUBST([LIB_HAS_ACL]) +]) diff --git a/m4/alloca.m4 b/m4/alloca.m4 index d7bdea63..8408bed2 100644 --- a/m4/alloca.m4 +++ b/m4/alloca.m4 @@ -1,5 +1,5 @@ # alloca.m4 serial 14 -dnl Copyright (C) 2002-2004, 2006-2007, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2002-2004, 2006-2007, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/argp.m4 b/m4/argp.m4 index 723a7e61..e1ed4452 100644 --- a/m4/argp.m4 +++ b/m4/argp.m4 @@ -1,5 +1,5 @@ # argp.m4 serial 14 -dnl Copyright (C) 2003-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/backupfile.m4 b/m4/backupfile.m4 index 69249449..fe1a5ab0 100644 --- a/m4/backupfile.m4 +++ b/m4/backupfile.m4 @@ -1,5 +1,5 @@ # backupfile.m4 serial 14 -dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/bison.m4 b/m4/bison.m4 index c003367b..acfca780 100644 --- a/m4/bison.m4 +++ b/m4/bison.m4 @@ -1,6 +1,6 @@ # serial 7 -# Copyright (C) 2002, 2005, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2002, 2005, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/btowc.m4 b/m4/btowc.m4 index 99889445..c1da65d4 100644 --- a/m4/btowc.m4 +++ b/m4/btowc.m4 @@ -1,5 +1,5 @@ # btowc.m4 serial 10 -dnl Copyright (C) 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/canonicalize.m4 b/m4/canonicalize.m4 index ace45566..6d932fd1 100644 --- a/m4/canonicalize.m4 +++ b/m4/canonicalize.m4 @@ -1,6 +1,6 @@ # canonicalize.m4 serial 26 -dnl Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/chdir-long.m4 b/m4/chdir-long.m4 index 8ed436de..14485832 100644 --- a/m4/chdir-long.m4 +++ b/m4/chdir-long.m4 @@ -6,7 +6,7 @@ # never fails with ENAMETOOLONG. # Arrange to compile chdir-long.c only on systems that define PATH_MAX. -dnl Copyright (C) 2004-2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2004-2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/chown.m4 b/m4/chown.m4 index 2f7b6d7f..633ea3ab 100644 --- a/m4/chown.m4 +++ b/m4/chown.m4 @@ -1,7 +1,7 @@ # serial 27 # Determine whether we need the chown wrapper. -dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2014 Free Software +dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2015 Free Software dnl Foundation, Inc. dnl This file is free software; the Free Software Foundation diff --git a/m4/clock_time.m4 b/m4/clock_time.m4 index 6c4a637d..a903e582 100644 --- a/m4/clock_time.m4 +++ b/m4/clock_time.m4 @@ -1,5 +1,5 @@ # clock_time.m4 serial 10 -dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/close-stream.m4 b/m4/close-stream.m4 index 80cde85a..a7a2efee 100644 --- a/m4/close-stream.m4 +++ b/m4/close-stream.m4 @@ -1,5 +1,5 @@ #serial 4 -dnl Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/close.m4 b/m4/close.m4 index 68510c5c..d04aefbe 100644 --- a/m4/close.m4 +++ b/m4/close.m4 @@ -1,5 +1,5 @@ # close.m4 serial 8 -dnl Copyright (C) 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/closedir.m4 b/m4/closedir.m4 index d234a522..a4403b4a 100644 --- a/m4/closedir.m4 +++ b/m4/closedir.m4 @@ -1,5 +1,5 @@ # closedir.m4 serial 2 -dnl Copyright (C) 2011-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/closeout.m4 b/m4/closeout.m4 index 2f0c87e8..26b16e3a 100644 --- a/m4/closeout.m4 +++ b/m4/closeout.m4 @@ -1,5 +1,5 @@ # closeout.m4 serial 6 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/configmake.m4 b/m4/configmake.m4 index 0cd86cf9..49d3a13e 100644 --- a/m4/configmake.m4 +++ b/m4/configmake.m4 @@ -1,5 +1,5 @@ # configmake.m4 serial 2 -dnl Copyright (C) 2010-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2010-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/d-ino.m4 b/m4/d-ino.m4 index 5ccb733c..aa9b2437 100644 --- a/m4/d-ino.m4 +++ b/m4/d-ino.m4 @@ -5,7 +5,7 @@ dnl dnl Check whether struct dirent has a member named d_ino. dnl -# Copyright (C) 1997, 1999-2001, 2003-2004, 2006-2007, 2009-2014 Free Software +# Copyright (C) 1997, 1999-2001, 2003-2004, 2006-2007, 2009-2015 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation diff --git a/m4/dirent-safer.m4 b/m4/dirent-safer.m4 index 0a197fbc..20095750 100644 --- a/m4/dirent-safer.m4 +++ b/m4/dirent-safer.m4 @@ -1,5 +1,5 @@ #serial 2 -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/dirent_h.m4 b/m4/dirent_h.m4 index 3f2b16b1..7abd1d05 100644 --- a/m4/dirent_h.m4 +++ b/m4/dirent_h.m4 @@ -1,5 +1,5 @@ # dirent_h.m4 serial 16 -dnl Copyright (C) 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/dirfd.m4 b/m4/dirfd.m4 index b4227694..ce56cff6 100644 --- a/m4/dirfd.m4 +++ b/m4/dirfd.m4 @@ -2,7 +2,7 @@ dnl Find out how to get the file descriptor associated with an open DIR*. -# Copyright (C) 2001-2006, 2008-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2006, 2008-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/dirname.m4 b/m4/dirname.m4 index d2627b8a..2a0be516 100644 --- a/m4/dirname.m4 +++ b/m4/dirname.m4 @@ -1,5 +1,5 @@ #serial 10 -*- autoconf -*- -dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/double-slash-root.m4 b/m4/double-slash-root.m4 index 937f4bca..f307eb2f 100644 --- a/m4/double-slash-root.m4 +++ b/m4/double-slash-root.m4 @@ -1,5 +1,5 @@ # double-slash-root.m4 serial 4 -*- Autoconf -*- -dnl Copyright (C) 2006, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/dup.m4 b/m4/dup.m4 index 9393bc52..b67e5b7f 100644 --- a/m4/dup.m4 +++ b/m4/dup.m4 @@ -1,5 +1,5 @@ # dup.m4 serial 3 -dnl Copyright (C) 2011-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/dup2.m4 b/m4/dup2.m4 index 89638a0b..59028e09 100644 --- a/m4/dup2.m4 +++ b/m4/dup2.m4 @@ -1,5 +1,5 @@ -#serial 20 -dnl Copyright (C) 2002, 2005, 2007, 2009-2014 Free Software Foundation, Inc. +#serial 24 +dnl Copyright (C) 2002, 2005, 2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -19,33 +19,50 @@ AC_DEFUN([gl_FUNC_DUP2], if test $HAVE_DUP2 = 1; then AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works], [AC_RUN_IFELSE([ - AC_LANG_PROGRAM([[#include -#include -#include ]], - [int result = 0; -#ifdef FD_CLOEXEC - if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) - result |= 1; -#endif - if (dup2 (1, 1) == 0) - result |= 2; -#ifdef FD_CLOEXEC - if (fcntl (1, F_GETFD) != FD_CLOEXEC) - result |= 4; -#endif - close (0); - if (dup2 (0, 0) != -1) - result |= 8; - /* Many gnulib modules require POSIX conformance of EBADF. */ - if (dup2 (2, 1000000) == -1 && errno != EBADF) - result |= 16; - /* Flush out some cygwin core dumps. */ - if (dup2 (2, -1) != -1 || errno != EBADF) - result |= 32; - dup2 (2, 255); - dup2 (2, 256); - return result; - ]) + AC_LANG_PROGRAM( + [[#include + #include + #include + #include + #include + #ifndef RLIM_SAVED_CUR + # define RLIM_SAVED_CUR RLIM_INFINITY + #endif + #ifndef RLIM_SAVED_MAX + # define RLIM_SAVED_MAX RLIM_INFINITY + #endif + ]], + [[int result = 0; + int bad_fd = INT_MAX; + struct rlimit rlim; + if (getrlimit (RLIMIT_NOFILE, &rlim) == 0 + && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX + && rlim.rlim_cur != RLIM_INFINITY + && rlim.rlim_cur != RLIM_SAVED_MAX + && rlim.rlim_cur != RLIM_SAVED_CUR) + bad_fd = rlim.rlim_cur; + #ifdef FD_CLOEXEC + if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) + result |= 1; + #endif + if (dup2 (1, 1) != 1) + result |= 2; + #ifdef FD_CLOEXEC + if (fcntl (1, F_GETFD) != FD_CLOEXEC) + result |= 4; + #endif + close (0); + if (dup2 (0, 0) != -1) + result |= 8; + /* Many gnulib modules require POSIX conformance of EBADF. */ + if (dup2 (2, bad_fd) == -1 && errno != EBADF) + result |= 16; + /* Flush out some cygwin core dumps. */ + if (dup2 (2, -1) != -1 || errno != EBADF) + result |= 32; + dup2 (2, 255); + dup2 (2, 256); + return result;]]) ], [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no], [case "$host_os" in @@ -53,13 +70,14 @@ AC_DEFUN([gl_FUNC_DUP2], gl_cv_func_dup2_works="guessing no" ;; cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 gl_cv_func_dup2_works="guessing no" ;; - linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a - # closed fd may yield -EBADF instead of -1 / errno=EBADF. - gl_cv_func_dup2_works="guessing no" ;; - freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. + aix* | freebsd*) + # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE, + # not EBADF. gl_cv_func_dup2_works="guessing no" ;; haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. gl_cv_func_dup2_works="guessing no" ;; + *-android*) # implemented using dup3(), which fails if oldfd == newfd + gl_cv_func_dup2_works="guessing no" ;; *) gl_cv_func_dup2_works="guessing yes" ;; esac]) ]) diff --git a/m4/eealloc.m4 b/m4/eealloc.m4 index 8a51fe7c..322bdd50 100644 --- a/m4/eealloc.m4 +++ b/m4/eealloc.m4 @@ -1,5 +1,5 @@ # eealloc.m4 serial 3 -dnl Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/environ.m4 b/m4/environ.m4 index cfabe46f..4dbf9473 100644 --- a/m4/environ.m4 +++ b/m4/environ.m4 @@ -1,5 +1,5 @@ # environ.m4 serial 6 -dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/errno_h.m4 b/m4/errno_h.m4 index 4ee9e6a1..cfaa6876 100644 --- a/m4/errno_h.m4 +++ b/m4/errno_h.m4 @@ -1,5 +1,5 @@ # errno_h.m4 serial 12 -dnl Copyright (C) 2004, 2006, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2004, 2006, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/error.m4 b/m4/error.m4 index f08ae50f..b3bd7f6c 100644 --- a/m4/error.m4 +++ b/m4/error.m4 @@ -1,6 +1,6 @@ #serial 14 -# Copyright (C) 1996-1998, 2001-2004, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-1998, 2001-2004, 2009-2015 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/m4/euidaccess.m4 b/m4/euidaccess.m4 index 55393a45..e23e9c31 100644 --- a/m4/euidaccess.m4 +++ b/m4/euidaccess.m4 @@ -1,5 +1,5 @@ # euidaccess.m4 serial 15 -dnl Copyright (C) 2002-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/exponentd.m4 b/m4/exponentd.m4 index 7bee6357..84f1691a 100644 --- a/m4/exponentd.m4 +++ b/m4/exponentd.m4 @@ -1,5 +1,5 @@ # exponentd.m4 serial 3 -dnl Copyright (C) 2007-2008, 2010-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2008, 2010-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/extensions.m4 b/m4/extensions.m4 index 37f55ca3..35bc49c9 100644 --- a/m4/extensions.m4 +++ b/m4/extensions.m4 @@ -1,7 +1,7 @@ # serial 13 -*- Autoconf -*- # Enable extensions on systems that normally disable them. -# Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -68,6 +68,10 @@ dnl configure.ac when using autoheader 2.62. #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif +/* Use GNU style printf and scanf. */ +#ifndef __USE_MINGW_ANSI_STDIO +# undef __USE_MINGW_ANSI_STDIO +#endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS @@ -100,6 +104,7 @@ dnl configure.ac when using autoheader 2.62. AC_DEFINE([_ALL_SOURCE]) AC_DEFINE([_DARWIN_C_SOURCE]) AC_DEFINE([_GNU_SOURCE]) + AC_DEFINE([__USE_MINGW_ANSI_STDIO]) AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) AC_DEFINE([_TANDEM_SOURCE]) AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined], diff --git a/m4/extern-inline.m4 b/m4/extern-inline.m4 index 240150ef..72800650 100644 --- a/m4/extern-inline.m4 +++ b/m4/extern-inline.m4 @@ -1,6 +1,6 @@ dnl 'extern inline' a la ISO C99. -dnl Copyright 2012-2014 Free Software Foundation, Inc. +dnl Copyright 2012-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -19,13 +19,28 @@ AC_DEFUN([gl_EXTERN_INLINE], 'reference to static identifier "f" in extern inline function'. This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. - Suppress the use of extern inline on problematic Apple configurations. - OS X 10.8 and earlier mishandle it; see, e.g., - . + Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) + on configurations that mistakenly use 'static inline' to implement + functions or macros in standard C headers like . For example, + if isdigit is mistakenly implemented via a static inline function, + a program containing an extern inline function that calls isdigit + may not work since the C standard prohibits extern inline functions + from calling static functions. This bug is known to occur on: + + OS X 10.8 and earlier; see: + http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html + + DragonFly; see + http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log + + FreeBSD; see: + http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html + OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and for clang but remains for g++; see . - Perhaps Apple will fix this some day. */ -#if (defined __APPLE__ \ + Assume DragonFly and FreeBSD will be similar. */ +#if (((defined __APPLE__ && defined __MACH__) \ + || defined __DragonFly__ || defined __FreeBSD__) \ && (defined __header_inline \ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ && ! defined __clang__) \ @@ -33,19 +48,19 @@ AC_DEFUN([gl_EXTERN_INLINE], && (defined __GNUC__ || defined __cplusplus)) \ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ && defined __GNUC__ && ! defined __cplusplus)))) -# define _GL_EXTERN_INLINE_APPLE_BUG +# define _GL_EXTERN_INLINE_STDHEADER_BUG #endif #if ((__GNUC__ \ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ : (199901L <= __STDC_VERSION__ \ && !defined __HP_cc \ && !(defined __SUNPRO_C && __STDC__))) \ - && !defined _GL_EXTERN_INLINE_APPLE_BUG) + && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) # define _GL_INLINE inline # define _GL_EXTERN_INLINE extern inline # define _GL_EXTERN_INLINE_IN_USE #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ - && !defined _GL_EXTERN_INLINE_APPLE_BUG) + && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ # define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) @@ -59,17 +74,19 @@ AC_DEFUN([gl_EXTERN_INLINE], # define _GL_EXTERN_INLINE static _GL_UNUSED #endif -#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +/* In GCC 4.6 (inclusive) to 5.1 (exclusive), + suppress bogus "no previous prototype for 'FOO'" + and "no previous declaration for 'FOO'" diagnostics, + when FOO is an inline function in the header; see + and + . */ +#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__ # if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ # define _GL_INLINE_HEADER_CONST_PRAGMA # else # define _GL_INLINE_HEADER_CONST_PRAGMA \ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") # endif - /* Suppress GCC's bogus "no previous prototype for 'FOO'" - and "no previous declaration for 'FOO'" diagnostics, - when FOO is an inline function in the header; see - . */ # define _GL_INLINE_HEADER_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ diff --git a/m4/faccessat.m4 b/m4/faccessat.m4 index d9016bdf..941cb02d 100644 --- a/m4/faccessat.m4 +++ b/m4/faccessat.m4 @@ -1,7 +1,7 @@ # serial 6 # See if we need to provide faccessat replacement. -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/fchdir.m4 b/m4/fchdir.m4 index 9da16b03..3d2d97bd 100644 --- a/m4/fchdir.m4 +++ b/m4/fchdir.m4 @@ -1,5 +1,5 @@ # fchdir.m4 serial 21 -dnl Copyright (C) 2006-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/fchmodat.m4 b/m4/fchmodat.m4 index 28954c4e..b64ff5fd 100644 --- a/m4/fchmodat.m4 +++ b/m4/fchmodat.m4 @@ -1,5 +1,5 @@ # fchmodat.m4 serial 1 -dnl Copyright (C) 2004-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2004-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/fchownat.m4 b/m4/fchownat.m4 index 479b277a..f55d2d5f 100644 --- a/m4/fchownat.m4 +++ b/m4/fchownat.m4 @@ -1,5 +1,5 @@ # fchownat.m4 serial 1 -dnl Copyright (C) 2004-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2004-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/fcntl-o.m4 b/m4/fcntl-o.m4 index 43c93124..891a62fb 100644 --- a/m4/fcntl-o.m4 +++ b/m4/fcntl-o.m4 @@ -1,5 +1,5 @@ # fcntl-o.m4 serial 4 -dnl Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/fcntl.m4 b/m4/fcntl.m4 index 4a2771fa..76dd8671 100644 --- a/m4/fcntl.m4 +++ b/m4/fcntl.m4 @@ -1,5 +1,5 @@ -# fcntl.m4 serial 5 -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +# fcntl.m4 serial 8 +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -27,20 +27,40 @@ AC_DEFUN([gl_FUNC_FCNTL], dnl haiku alpha 2 F_DUPFD has wrong errno AC_CACHE_CHECK([whether fcntl handles F_DUPFD correctly], [gl_cv_func_fcntl_f_dupfd_works], - [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -#include -#include -]], [[int result = 0; - if (fcntl (0, F_DUPFD, -1) != -1) result |= 1; - if (errno != EINVAL) result |= 2; - return result; - ]])], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + #include + #include + #include + #ifndef RLIM_SAVED_CUR + # define RLIM_SAVED_CUR RLIM_INFINITY + #endif + #ifndef RLIM_SAVED_MAX + # define RLIM_SAVED_MAX RLIM_INFINITY + #endif + ]], + [[int result = 0; + int bad_fd = INT_MAX; + struct rlimit rlim; + if (getrlimit (RLIMIT_NOFILE, &rlim) == 0 + && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX + && rlim.rlim_cur != RLIM_INFINITY + && rlim.rlim_cur != RLIM_SAVED_MAX + && rlim.rlim_cur != RLIM_SAVED_CUR) + bad_fd = rlim.rlim_cur; + if (fcntl (0, F_DUPFD, -1) != -1) result |= 1; + if (errno != EINVAL) result |= 2; + if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4; + if (errno != EINVAL) result |= 8; + return result;]])], [gl_cv_func_fcntl_f_dupfd_works=yes], [gl_cv_func_fcntl_f_dupfd_works=no], - [# Guess that it works on glibc systems - case $host_os in #(( - *-gnu*) gl_cv_func_fcntl_f_dupfd_works="guessing yes";; - *) gl_cv_func_fcntl_f_dupfd_works="guessing no";; + [case $host_os in + aix* | cygwin* | haiku*) + gl_cv_func_fcntl_f_dupfd_works="guessing no" ;; + *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;; esac])]) case $gl_cv_func_fcntl_f_dupfd_works in *yes) ;; diff --git a/m4/fcntl_h.m4 b/m4/fcntl_h.m4 index fb2556d3..b279162a 100644 --- a/m4/fcntl_h.m4 +++ b/m4/fcntl_h.m4 @@ -1,6 +1,6 @@ # serial 15 # Configure fcntl.h. -dnl Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/fdopendir.m4 b/m4/fdopendir.m4 index a3e7849b..317eac94 100644 --- a/m4/fdopendir.m4 +++ b/m4/fdopendir.m4 @@ -1,7 +1,7 @@ # serial 10 # See if we need to provide fdopendir. -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/fileblocks.m4 b/m4/fileblocks.m4 index 2ec23e7d..be356ff9 100644 --- a/m4/fileblocks.m4 +++ b/m4/fileblocks.m4 @@ -1,5 +1,5 @@ # fileblocks.m4 serial 6 -dnl Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/filenamecat.m4 b/m4/filenamecat.m4 index 6c6656aa..bedb58d3 100644 --- a/m4/filenamecat.m4 +++ b/m4/filenamecat.m4 @@ -1,5 +1,5 @@ # filenamecat.m4 serial 11 -dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/flexmember.m4 b/m4/flexmember.m4 new file mode 100644 index 00000000..95500caf --- /dev/null +++ b/m4/flexmember.m4 @@ -0,0 +1,41 @@ +# serial 3 +# Check for flexible array member support. + +# Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Written by Paul Eggert. + +AC_DEFUN([AC_C_FLEXIBLE_ARRAY_MEMBER], +[ + AC_CACHE_CHECK([for flexible array member], + ac_cv_c_flexmember, + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + #include + struct s { int n; double d[]; };]], + [[int m = getchar (); + struct s *p = malloc (offsetof (struct s, d) + + m * sizeof (double)); + p->d[0] = 0.0; + return p->d != (double *) NULL;]])], + [ac_cv_c_flexmember=yes], + [ac_cv_c_flexmember=no])]) + if test $ac_cv_c_flexmember = yes; then + AC_DEFINE([FLEXIBLE_ARRAY_MEMBER], [], + [Define to nothing if C supports flexible array members, and to + 1 if it does not. That way, with a declaration like 'struct s + { int n; double d@<:@FLEXIBLE_ARRAY_MEMBER@:>@; };', the struct hack + can be used with pre-C99 compilers. + When computing the size of such an object, don't use 'sizeof (struct s)' + as it overestimates the size. Use 'offsetof (struct s, d)' instead. + Don't use 'offsetof (struct s, d@<:@0@:>@)', as this doesn't work with + MSVC and with C++ compilers.]) + else + AC_DEFINE([FLEXIBLE_ARRAY_MEMBER], [1]) + fi +]) diff --git a/m4/float_h.m4 b/m4/float_h.m4 index a27ef7f9..e4853f3b 100644 --- a/m4/float_h.m4 +++ b/m4/float_h.m4 @@ -1,5 +1,5 @@ # float_h.m4 serial 9 -dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/fnmatch.m4 b/m4/fnmatch.m4 index 9db4144b..c33792fe 100644 --- a/m4/fnmatch.m4 +++ b/m4/fnmatch.m4 @@ -1,6 +1,6 @@ # Check for fnmatch - serial 9. -# Copyright (C) 2000-2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2000-2007, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/fpending.m4 b/m4/fpending.m4 index c2d01ef0..4781db12 100644 --- a/m4/fpending.m4 +++ b/m4/fpending.m4 @@ -1,6 +1,6 @@ # serial 21 -# Copyright (C) 2000-2001, 2004-2014 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2004-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/fseek.m4 b/m4/fseek.m4 index a5ea41d0..fb29688a 100644 --- a/m4/fseek.m4 +++ b/m4/fseek.m4 @@ -1,5 +1,5 @@ # fseek.m4 serial 4 -dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/fseeko.m4 b/m4/fseeko.m4 index 4ccb57d0..84555e2c 100644 --- a/m4/fseeko.m4 +++ b/m4/fseeko.m4 @@ -1,5 +1,5 @@ # fseeko.m4 serial 17 -dnl Copyright (C) 2007-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/fstat.m4 b/m4/fstat.m4 index ddd3fb97..d6a92882 100644 --- a/m4/fstat.m4 +++ b/m4/fstat.m4 @@ -1,5 +1,5 @@ # fstat.m4 serial 4 -dnl Copyright (C) 2011-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/fstatat.m4 b/m4/fstatat.m4 index 548eb7b8..e5f9f900 100644 --- a/m4/fstatat.m4 +++ b/m4/fstatat.m4 @@ -1,5 +1,5 @@ # fstatat.m4 serial 3 -dnl Copyright (C) 2004-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2004-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/futimens.m4 b/m4/futimens.m4 index 39798137..b2f4da02 100644 --- a/m4/futimens.m4 +++ b/m4/futimens.m4 @@ -1,7 +1,7 @@ # serial 6 # See if we need to provide futimens replacement. -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/getcwd-abort-bug.m4 b/m4/getcwd-abort-bug.m4 index de69622f..1a023ccb 100644 --- a/m4/getcwd-abort-bug.m4 +++ b/m4/getcwd-abort-bug.m4 @@ -3,7 +3,7 @@ # name is unusually large. Any length between 4k and 16k trigger the bug # when using glibc-2.4.90-9 or older. -# Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/getcwd-path-max.m4 b/m4/getcwd-path-max.m4 index 6b49f1ab..4630a591 100644 --- a/m4/getcwd-path-max.m4 +++ b/m4/getcwd-path-max.m4 @@ -6,7 +6,7 @@ # I've heard that this is due to a Linux kernel bug, and that it has # been fixed between 2.4.21-pre3 and 2.4.21-pre4. -# Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -122,6 +122,8 @@ main () if (PATH_MAX <= cwd_len && cwd_len < PATH_MAX + DIR_NAME_SIZE) { + struct stat sb; + c = getcwd (buf, PATH_MAX); if (!c && errno == ENOENT) { @@ -138,6 +140,16 @@ main () fail = 21; break; } + + /* Our replacement needs to be able to stat() long ../../paths, + so generate a path larger than PATH_MAX to check, + avoiding the replacement if we can't stat(). */ + c = getcwd (buf, cwd_len + 1); + if (c && !AT_FDCWD && stat (c, &sb) != 0 && is_ENAMETOOLONG (errno)) + { + fail = 32; + break; + } } if (dotdot_max <= cwd_len - initial_cwd_len) @@ -194,6 +206,7 @@ main () [case $? in 10|11|12) gl_cv_func_getcwd_path_max='no, but it is partly working';; 31) gl_cv_func_getcwd_path_max='no, it has the AIX bug';; + 32) gl_cv_func_getcwd_path_max='yes, but with shorter paths';; *) gl_cv_func_getcwd_path_max=no;; esac], [case "$host_os" in diff --git a/m4/getcwd.m4 b/m4/getcwd.m4 index fc986cda..b9fbcec2 100644 --- a/m4/getcwd.m4 +++ b/m4/getcwd.m4 @@ -1,6 +1,6 @@ # getcwd.m4 - check for working getcwd that is compatible with glibc -# Copyright (C) 2001, 2003-2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003-2007, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -136,11 +136,16 @@ AC_DEFUN([gl_FUNC_GETCWD], [Define to 1 if getcwd works, except it sometimes fails when it shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT.]) ;; + "yes, but with shorter paths") + AC_DEFINE([HAVE_GETCWD_SHORTER], [1], + [Define to 1 if getcwd works, but with shorter paths + than is generally tested with the replacement.]) + ;; esac if { case "$gl_cv_func_getcwd_null" in *yes) false;; *) true;; esac; } \ || test $gl_cv_func_getcwd_posix_signature != yes \ - || test "$gl_cv_func_getcwd_path_max" != yes \ + || { case "$gl_cv_func_getcwd_path_max" in *yes*) false;; *) true;; esac; } \ || test $gl_abort_bug = yes; then REPLACE_GETCWD=1 fi diff --git a/m4/getdelim.m4 b/m4/getdelim.m4 index c7639941..af9b1faa 100644 --- a/m4/getdelim.m4 +++ b/m4/getdelim.m4 @@ -1,6 +1,6 @@ # getdelim.m4 serial 10 -dnl Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc. dnl dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/getdtablesize.m4 b/m4/getdtablesize.m4 index aa523b63..25e99689 100644 --- a/m4/getdtablesize.m4 +++ b/m4/getdtablesize.m4 @@ -1,5 +1,5 @@ -# getdtablesize.m4 serial 5 -dnl Copyright (C) 2008-2014 Free Software Foundation, Inc. +# getdtablesize.m4 serial 6 +dnl Copyright (C) 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,7 +9,9 @@ AC_DEFUN([gl_FUNC_GETDTABLESIZE], AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_FUNCS_ONCE([getdtablesize]) - if test $ac_cv_func_getdtablesize = yes; then + AC_CHECK_DECLS_ONCE([getdtablesize]) + if test $ac_cv_func_getdtablesize = yes && + test $ac_cv_have_decl_getdtablesize = yes; then # Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft limit # up to an unchangeable hard limit; all other platforms correctly # require setrlimit before getdtablesize() can report a larger value. diff --git a/m4/getgroups.m4 b/m4/getgroups.m4 index f05357d5..16e72c7b 100644 --- a/m4/getgroups.m4 +++ b/m4/getgroups.m4 @@ -3,7 +3,7 @@ dnl From Jim Meyering. dnl A wrapper around AC_FUNC_GETGROUPS. -# Copyright (C) 1996-1997, 1999-2004, 2008-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-1997, 1999-2004, 2008-2015 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/m4/getline.m4 b/m4/getline.m4 index 0330666b..a35f3a29 100644 --- a/m4/getline.m4 +++ b/m4/getline.m4 @@ -1,6 +1,6 @@ # getline.m4 serial 26 -dnl Copyright (C) 1998-2003, 2005-2007, 2009-2014 Free Software Foundation, +dnl Copyright (C) 1998-2003, 2005-2007, 2009-2015 Free Software Foundation, dnl Inc. dnl dnl This file is free software; the Free Software Foundation diff --git a/m4/getopt.m4 b/m4/getopt.m4 index f127028f..e76e501f 100644 --- a/m4/getopt.m4 +++ b/m4/getopt.m4 @@ -1,5 +1,5 @@ # getopt.m4 serial 44 -dnl Copyright (C) 2002-2006, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/getpagesize.m4 b/m4/getpagesize.m4 index ce506952..7057a21d 100644 --- a/m4/getpagesize.m4 +++ b/m4/getpagesize.m4 @@ -1,5 +1,5 @@ # getpagesize.m4 serial 9 -dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/gettext.m4 b/m4/gettext.m4 index 08e6b21f..be247bf7 100644 --- a/m4/gettext.m4 +++ b/m4/gettext.m4 @@ -399,4 +399,3 @@ AC_DEFUN([AM_GNU_GETTEXT_NEED], dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) - AC_DEFUN([gl_LOCK_EARLY], []) diff --git a/m4/gettime.m4 b/m4/gettime.m4 index c5ec2643..cd499ff5 100644 --- a/m4/gettime.m4 +++ b/m4/gettime.m4 @@ -1,5 +1,5 @@ # gettime.m4 serial 8 -dnl Copyright (C) 2002, 2004-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2004-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/gettimeofday.m4 b/m4/gettimeofday.m4 index 1c2d66ee..ce246e18 100644 --- a/m4/gettimeofday.m4 +++ b/m4/gettimeofday.m4 @@ -1,6 +1,6 @@ # serial 21 -# Copyright (C) 2001-2003, 2005, 2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2003, 2005, 2007, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/glibc21.m4 b/m4/glibc21.m4 index ab58b712..3a971c5a 100644 --- a/m4/glibc21.m4 +++ b/m4/glibc21.m4 @@ -1,5 +1,5 @@ # glibc21.m4 serial 5 -dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2014 Free Software Foundation, +dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4 index 20ce40e7..40e82f6e 100644 --- a/m4/gnulib-common.m4 +++ b/m4/gnulib-common.m4 @@ -1,5 +1,5 @@ -# gnulib-common.m4 serial 34 -dnl Copyright (C) 2007-2014 Free Software Foundation, Inc. +# gnulib-common.m4 serial 36 +dnl Copyright (C) 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -49,6 +49,16 @@ AC_DEFUN([gl_COMMON_BODY], [ is a misnomer outside of parameter lists. */ #define _UNUSED_PARAMETER_ _GL_UNUSED +/* gcc supports the "unused" attribute on possibly unused labels, and + g++ has since version 4.5. Note to support C++ as well as C, + _GL_UNUSED_LABEL should be used with a trailing ; */ +#if !defined __cplusplus || __GNUC__ > 4 \ + || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) +# define _GL_UNUSED_LABEL _GL_UNUSED +#else +# define _GL_UNUSED_LABEL +#endif + /* The __pure__ attribute was added in gcc 2.96. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) @@ -268,12 +278,12 @@ Amsterdam dnl but prefer ${host}-ar over ar (useful for cross-compiling). AC_CHECK_TOOL([AR], [ar], [ar]) if test -z "$ARFLAGS"; then - ARFLAGS='cru' + ARFLAGS='cr' fi fi else if test -z "$ARFLAGS"; then - ARFLAGS='cru' + ARFLAGS='cr' fi fi AC_SUBST([AR]) @@ -309,26 +319,28 @@ m4_ifdef([AC_PROG_MKDIR_P], [ ]) # AC_C_RESTRICT -# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, -# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ -# works. -# This definition can be removed once autoconf >= 2.62 can be assumed. -# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness. -m4_ifndef([AC_AUTOCONF_VERSION],[ +# This definition is copied from post-2.69 Autoconf and overrides the +# AC_C_RESTRICT macro from autoconf 2.60..2.69. It can be removed +# once autoconf >= 2.70 can be assumed. It's painful to check version +# numbers, and in practice this macro is more up-to-date than Autoconf +# is, so override Autoconf unconditionally. AC_DEFUN([AC_C_RESTRICT], [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], [ac_cv_c_restrict=no # The order here caters to the fact that C++ does not require restrict. for ac_kw in __restrict __restrict__ _Restrict restrict; do - AC_COMPILE_IFELSE([AC_LANG_PROGRAM( - [[typedef int * int_ptr; - int foo (int_ptr $ac_kw ip) { - return ip[0]; - }]], - [[int s[1]; - int * $ac_kw t = s; - t[0] = 0; - return foo(t)]])], + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[typedef int *int_ptr; + int foo (int_ptr $ac_kw ip) { return ip[0]; } + int bar (int [$ac_kw]); /* Catch GCC bug 14050. */ + int bar (int ip[$ac_kw]) { return ip[0]; } + ]], + [[int s[1]; + int *$ac_kw t = s; + t[0] = 0; + return foo (t) + bar (t); + ]])], [ac_cv_c_restrict=$ac_kw]) test "$ac_cv_c_restrict" != no && break done @@ -338,21 +350,21 @@ AC_DEFUN([AC_C_RESTRICT], nothing if this is not supported. Do not define if restrict is supported directly. */ #undef restrict -/* Work around a bug in Sun C++: it does not support _Restrict, even - though the corresponding Sun C compiler does, which causes - "#define restrict _Restrict" in the previous line. Perhaps some future - version of Sun C++ will work with _Restrict; if so, it'll probably - define __RESTRICT, just as Sun C does. */ +/* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the + previous line. Perhaps some future version of Sun C++ will work with + restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ #if defined __SUNPRO_CC && !defined __RESTRICT # define _Restrict +# define __restrict__ #endif]) case $ac_cv_c_restrict in restrict) ;; no) AC_DEFINE([restrict], []) ;; *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; esac -]) -]) +])# AC_C_RESTRICT # gl_BIGENDIAN # is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd. diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4 index 6d823741..954ffeb0 100644 --- a/m4/gnulib-comp.m4 +++ b/m4/gnulib-comp.m4 @@ -1,7 +1,5 @@ -# -*- buffer-read-only: t -*- vi: set ro: # DO NOT EDIT! GENERATED AUTOMATICALLY! -# DO NOT EDIT! GENERATED AUTOMATICALLY! -# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# Copyright (C) 2002-2015 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -42,15 +40,19 @@ AC_DEFUN([gl_EARLY], AC_REQUIRE([gl_PROG_AR_RANLIB]) AC_REQUIRE([AM_PROG_CC_C_O]) # Code from module absolute-header: - # Code from module acl: + # Code from module acl-permissions: + # Code from module alignof: # Code from module alloca: # Code from module alloca-opt: # Code from module allocator: # Code from module areadlink: + # Code from module areadlink-with-size: # Code from module areadlinkat: + # Code from module areadlinkat-with-size: # Code from module argmatch: # Code from module argp: # Code from module argp-version-etc: + # Code from module assure: # Code from module at-internal: # Code from module backupfile: # Code from module bitrotate: @@ -98,9 +100,11 @@ AC_DEFUN([gl_EARLY], # Code from module fd-hook: # Code from module fdopendir: # Code from module fdutimensat: + # Code from module file-has-acl: # Code from module fileblocks: # Code from module filename: # Code from module filenamecat-lgpl: + # Code from module flexmember: # Code from module float: # Code from module fnmatch: # Code from module fnmatch-gnu: @@ -136,7 +140,6 @@ AC_DEFUN([gl_EARLY], # Code from module inttostr: # Code from module inttypes: # Code from module inttypes-incomplete: - # Code from module isatty: # Code from module iswblank: # Code from module langinfo: # Code from module largefile: @@ -171,6 +174,7 @@ AC_DEFUN([gl_EARLY], # Code from module mkfifoat: # Code from module mknod: # Code from module mktime: + # Code from module mktime-internal: # Code from module modechange: # Code from module msvc-inval: # Code from module msvc-nothrow: @@ -185,12 +189,8 @@ AC_DEFUN([gl_EARLY], # Code from module opendir: # Code from module parse-datetime: # Code from module pathmax: - # Code from module posix_openpt: # Code from module priv-set: # Code from module progname: - # Code from module ptsname: - # Code from module ptsname_r: - # Code from module qacl: # Code from module quote: # Code from module quotearg: # Code from module quotearg-simple: @@ -271,8 +271,10 @@ AC_DEFUN([gl_EARLY], # Code from module tempname: # Code from module time: # Code from module time_r: + # Code from module time_rz: + # Code from module timegm: # Code from module timespec: - # Code from module ttyname_r: + # Code from module timespec-sub: # Code from module unistd: # Code from module unistd-safer: # Code from module unitypes: @@ -282,7 +284,6 @@ AC_DEFUN([gl_EARLY], # Code from module unlinkat: # Code from module unlinkdir: # Code from module unlocked-io: - # Code from module unlockpt: # Code from module unsetenv: # Code from module utimens: # Code from module utimensat: @@ -325,8 +326,10 @@ AC_DEFUN([gl_INIT], m4_pushdef([gl_LIBSOURCES_DIR], []) gl_COMMON gl_source_base='gnu' + gl_FUNC_ACL gl_FUNC_ALLOCA gl_MODULE_INDICATOR([areadlinkat]) + gl_MODULE_INDICATOR([areadlinkat-with-size]) gl_ARGP m4_ifdef([AM_XGETTEXT_OPTION], [AM_][XGETTEXT_OPTION([--flag=argp_error:2:c-format]) @@ -455,12 +458,14 @@ AC_DEFUN([gl_INIT], gl_DIRENT_MODULE_INDICATOR([fdopendir]) gl_MODULE_INDICATOR([fdopendir]) gl_MODULE_INDICATOR([fdutimensat]) + gl_FILE_HAS_ACL gl_FILEBLOCKS if test $ac_cv_member_struct_stat_st_blocks = no; then AC_LIBOBJ([fileblocks]) gl_PREREQ_FILEBLOCKS fi gl_FILE_NAME_CONCAT_LGPL + AC_C_FLEXIBLE_ARRAY_MEMBER gl_FLOAT_H if test $REPLACE_FLOAT_LDBL = 1; then AC_LIBOBJ([float]) @@ -590,12 +595,6 @@ AC_DEFUN([gl_INIT], gl_INTTOSTR gl_INTTYPES_H gl_INTTYPES_INCOMPLETE - gl_FUNC_ISATTY - if test $REPLACE_ISATTY = 1; then - AC_LIBOBJ([isatty]) - gl_PREREQ_ISATTY - fi - gl_UNISTD_MODULE_INDICATOR([isatty]) gl_FUNC_ISWBLANK if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then : @@ -621,8 +620,6 @@ AC_DEFUN([gl_INIT], gl_FUNC_LINKAT if test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1; then AC_LIBOBJ([linkat]) - fi - if test $HAVE_LINKAT = 0; then AC_LIBOBJ([at-func2]) fi gl_UNISTD_MODULE_INDICATOR([linkat]) @@ -745,6 +742,11 @@ AC_DEFUN([gl_INIT], gl_PREREQ_MKTIME fi gl_TIME_MODULE_INDICATOR([mktime]) + gl_FUNC_MKTIME_INTERNAL + if test $REPLACE_MKTIME = 1; then + AC_LIBOBJ([mktime]) + gl_PREREQ_MKTIME + fi gl_MODECHANGE gl_MSVC_INVAL if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then @@ -782,27 +784,9 @@ AC_DEFUN([gl_INIT], gl_DIRENT_MODULE_INDICATOR([opendir]) gl_PARSE_DATETIME gl_PATHMAX - gl_FUNC_POSIX_OPENPT - if test $HAVE_POSIX_OPENPT = 0; then - AC_LIBOBJ([posix_openpt]) - fi - gl_STDLIB_MODULE_INDICATOR([posix_openpt]) gl_PRIV_SET AC_CHECK_DECLS([program_invocation_name], [], [], [#include ]) AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include ]) - gl_FUNC_PTSNAME - if test $HAVE_PTSNAME = 0 || test $REPLACE_PTSNAME = 1; then - AC_LIBOBJ([ptsname]) - gl_PREREQ_PTSNAME - fi - gl_STDLIB_MODULE_INDICATOR([ptsname]) - gl_FUNC_PTSNAME_R - if test $HAVE_PTSNAME_R = 0 || test $REPLACE_PTSNAME_R = 1; then - AC_LIBOBJ([ptsname_r]) - gl_PREREQ_PTSNAME_R - fi - gl_STDLIB_MODULE_INDICATOR([ptsname_r]) - gl_FUNC_ACL gl_QUOTE gl_QUOTEARG gl_FUNC_RAISE @@ -835,7 +819,7 @@ AC_DEFUN([gl_INIT], fi gl_UNISTD_MODULE_INDICATOR([readlink]) gl_FUNC_READLINKAT - if test $HAVE_READLINKAT = 0; then + if test $HAVE_READLINKAT = 0 || test $REPLACE_READLINKAT = 1; then AC_LIBOBJ([readlinkat]) fi gl_UNISTD_MODULE_INDICATOR([readlinkat]) @@ -1018,7 +1002,7 @@ AC_DEFUN([gl_INIT], fi gl_UNISTD_MODULE_INDICATOR([symlink]) gl_FUNC_SYMLINKAT - if test $HAVE_SYMLINKAT = 0; then + if test $HAVE_SYMLINKAT = 0 || test $REPLACE_SYMLINKAT = 1; then AC_LIBOBJ([symlinkat]) fi gl_UNISTD_MODULE_INDICATOR([symlinkat]) @@ -1037,18 +1021,23 @@ AC_DEFUN([gl_INIT], gl_PREREQ_TIME_R fi gl_TIME_MODULE_INDICATOR([time_r]) - gl_TIMESPEC - gl_FUNC_TTYNAME_R - if test $HAVE_TTYNAME_R = 0 || test $REPLACE_TTYNAME_R = 1; then - AC_LIBOBJ([ttyname_r]) - gl_PREREQ_TTYNAME_R + gl_TIME_RZ + if test "$HAVE_TIMEZONE_T" = 0; then + AC_LIBOBJ([time_rz]) fi - gl_UNISTD_MODULE_INDICATOR([ttyname_r]) + gl_TIME_MODULE_INDICATOR([time_rz]) + gl_FUNC_TIMEGM + if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then + AC_LIBOBJ([timegm]) + gl_PREREQ_TIMEGM + fi + gl_TIME_MODULE_INDICATOR([timegm]) + gl_TIMESPEC gl_UNISTD_H gl_UNISTD_SAFER - gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h]) - gl_LIBUNISTRING_LIBHEADER([0.9], [uniwidth.h]) - gl_LIBUNISTRING_MODULE([0.9.4], [uniwidth/width]) + gl_LIBUNISTRING_LIBHEADER([0.9.4], [unitypes.h]) + gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwidth.h]) + gl_LIBUNISTRING_MODULE([0.9.6], [uniwidth/width]) gl_FUNC_UNLINK if test $REPLACE_UNLINK = 1; then AC_LIBOBJ([unlink]) @@ -1061,12 +1050,6 @@ AC_DEFUN([gl_INIT], gl_UNISTD_MODULE_INDICATOR([unlinkat]) gl_UNLINKDIR gl_FUNC_GLIBC_UNLOCKED_IO - gl_FUNC_UNLOCKPT - if test $HAVE_UNLOCKPT = 0; then - AC_LIBOBJ([unlockpt]) - gl_PREREQ_UNLOCKPT - fi - gl_STDLIB_MODULE_INDICATOR([unlockpt]) gl_FUNC_UNSETENV if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then AC_LIBOBJ([unsetenv]) @@ -1256,7 +1239,6 @@ AC_DEFUN([gltests_LIBSOURCES], [ # gnulib-tool and may be removed by future gnulib-tool invocations. AC_DEFUN([gl_FILE_LIST], [ build-aux/config.rpath - build-aux/git-log-fix build-aux/gitlog-to-changelog build-aux/snippet/_Noreturn.h build-aux/snippet/arg-nonnull.h @@ -1265,16 +1247,20 @@ AC_DEFUN([gl_FILE_LIST], [ build-aux/snippet/warn-on-use.h doc/parse-datetime.texi lib/acl-errno-valid.c + lib/acl-internal.c lib/acl-internal.h lib/acl.h lib/acl_entries.c + lib/alignof.h lib/alloca.c lib/alloca.in.h lib/allocator.c lib/allocator.h lib/anytostr.c + lib/areadlink-with-size.c lib/areadlink.c lib/areadlink.h + lib/areadlinkat-with-size.c lib/areadlinkat.c lib/argmatch.c lib/argmatch.h @@ -1295,6 +1281,7 @@ AC_DEFUN([gl_FILE_LIST], [ lib/argp.h lib/asnprintf.c lib/asprintf.c + lib/assure.h lib/at-func.c lib/at-func2.c lib/backupfile.c @@ -1327,7 +1314,6 @@ AC_DEFUN([gl_FILE_LIST], [ lib/closeout.c lib/closeout.h lib/config.charset - lib/copy-acl.c lib/dirent--.h lib/dirent-private.h lib/dirent-safer.h @@ -1382,6 +1368,7 @@ AC_DEFUN([gl_FILE_LIST], [ lib/full-write.c lib/full-write.h lib/futimens.c + lib/get-permissions.c lib/getcwd-lgpl.c lib/getcwd.c lib/getdelim.c @@ -1407,7 +1394,6 @@ AC_DEFUN([gl_FILE_LIST], [ lib/inttostr.c lib/inttostr.h lib/inttypes.in.h - lib/isatty.c lib/iswblank.c lib/itold.c lib/langinfo.in.h @@ -1471,7 +1457,6 @@ AC_DEFUN([gl_FILE_LIST], [ lib/parse-datetime.y lib/pathmax.h lib/pipe-safer.c - lib/posix_openpt.c lib/printf-args.c lib/printf-args.h lib/printf-parse.c @@ -1480,10 +1465,6 @@ AC_DEFUN([gl_FILE_LIST], [ lib/priv-set.h lib/progname.c lib/progname.h - lib/ptsname.c - lib/ptsname_r.c - lib/qcopy-acl.c - lib/qset-acl.c lib/quote.h lib/quotearg.c lib/quotearg.h @@ -1525,7 +1506,7 @@ AC_DEFUN([gl_FILE_LIST], [ lib/secure_getenv.c lib/selinux-at.c lib/selinux-at.h - lib/set-acl.c + lib/set-permissions.c lib/setenv.c lib/signal.in.h lib/size_max.h @@ -1577,11 +1558,14 @@ AC_DEFUN([gl_FILE_LIST], [ lib/sysexits.in.h lib/tempname.c lib/tempname.h + lib/time-internal.h lib/time.in.h lib/time_r.c + lib/time_rz.c + lib/timegm.c + lib/timespec-sub.c lib/timespec.c lib/timespec.h - lib/ttyname_r.c lib/uinttostr.c lib/umaxtostr.c lib/unistd--.h @@ -1597,7 +1581,6 @@ AC_DEFUN([gl_FILE_LIST], [ lib/unlinkdir.c lib/unlinkdir.h lib/unlocked-io.h - lib/unlockpt.c lib/unsetenv.c lib/utimens.c lib/utimens.h @@ -1678,6 +1661,7 @@ AC_DEFUN([gl_FILE_LIST], [ m4/fdopendir.m4 m4/fileblocks.m4 m4/filenamecat.m4 + m4/flexmember.m4 m4/float_h.m4 m4/fnmatch.m4 m4/fpending.m4 @@ -1715,7 +1699,6 @@ AC_DEFUN([gl_FILE_LIST], [ m4/inttypes-pri.m4 m4/inttypes.m4 m4/inttypes_h.m4 - m4/isatty.m4 m4/iswblank.m4 m4/langinfo_h.m4 m4/largefile.m4 @@ -1768,6 +1751,7 @@ AC_DEFUN([gl_FILE_LIST], [ m4/nl_langinfo.m4 m4/nls.m4 m4/nocrash.m4 + m4/obstack.m4 m4/off_t.m4 m4/open.m4 m4/openat.m4 @@ -1775,13 +1759,10 @@ AC_DEFUN([gl_FILE_LIST], [ m4/parse-datetime.m4 m4/pathmax.m4 m4/po.m4 - m4/posix_openpt.m4 m4/printf-posix.m4 m4/printf.m4 m4/priv-set.m4 m4/progtest.m4 - m4/ptsname.m4 - m4/ptsname_r.m4 m4/quote.m4 m4/quotearg.m4 m4/raise.m4 @@ -1847,9 +1828,10 @@ AC_DEFUN([gl_FILE_LIST], [ m4/threadlib.m4 m4/time_h.m4 m4/time_r.m4 + m4/time_rz.m4 + m4/timegm.m4 m4/timespec.m4 m4/tm_gmtoff.m4 - m4/ttyname_r.m4 m4/uintmax_t.m4 m4/unistd-safer.m4 m4/unistd_h.m4 @@ -1857,7 +1839,6 @@ AC_DEFUN([gl_FILE_LIST], [ m4/unlinkat.m4 m4/unlinkdir.m4 m4/unlocked-io.m4 - m4/unlockpt.m4 m4/utimbuf.m4 m4/utimens.m4 m4/utimensat.m4 diff --git a/m4/group-member.m4 b/m4/group-member.m4 index 11d55d6c..526a67a8 100644 --- a/m4/group-member.m4 +++ b/m4/group-member.m4 @@ -1,6 +1,6 @@ # serial 14 -# Copyright (C) 1999-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/m4/human.m4 b/m4/human.m4 index 840b0d4f..f1ace92d 100644 --- a/m4/human.m4 +++ b/m4/human.m4 @@ -1,5 +1,5 @@ #serial 11 -dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/iconv.m4 b/m4/iconv.m4 index 4b29c5f2..4e373631 100644 --- a/m4/iconv.m4 +++ b/m4/iconv.m4 @@ -1,4 +1,4 @@ -# iconv.m4 serial 18 (gettext-0.18.2) +# iconv.m4 serial 19 (gettext-0.18.2) dnl Copyright (C) 2000-2002, 2007-2014 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -72,27 +72,33 @@ AC_DEFUN([AM_ICONV_LINK], if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi - AC_RUN_IFELSE( - [AC_LANG_SOURCE([[ + am_cv_func_iconv_works=no + for ac_iconv_const in '' 'const'; do + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[ #include #include -int main () -{ - int result = 0; + +#ifndef ICONV_CONST +# define ICONV_CONST $ac_iconv_const +#endif + ]], + [[int result = 0; /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { - static const char input[] = "\342\202\254"; /* EURO SIGN */ + static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; - const char *inptr = input; + ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, - (char **) &inptr, &inbytesleft, + &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 1; @@ -105,14 +111,14 @@ int main () iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { - static const char input[] = "\263"; + static ICONV_CONST char input[] = "\263"; char buf[10]; - const char *inptr = input; + ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, - (char **) &inptr, &inbytesleft, + &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 2; @@ -124,14 +130,14 @@ int main () iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { - static const char input[] = "\304"; + static ICONV_CONST char input[] = "\304"; static char buf[2] = { (char)0xDE, (char)0xAD }; - const char *inptr = input; + ICONV_CONST char *inptr = input; size_t inbytesleft = 1; char *outptr = buf; size_t outbytesleft = 1; size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, + &inptr, &inbytesleft, &outptr, &outbytesleft); if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) result |= 4; @@ -144,14 +150,14 @@ int main () iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { - static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; - const char *inptr = input; + ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, + &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) result |= 8; @@ -171,17 +177,14 @@ int main () && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) result |= 16; return result; -}]])], - [am_cv_func_iconv_works=yes], - [am_cv_func_iconv_works=no], - [ -changequote(,)dnl - case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac -changequote([,])dnl - ]) +]])], + [am_cv_func_iconv_works=yes], , + [case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac]) + test "$am_cv_func_iconv_works" = no || break + done LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in diff --git a/m4/include_next.m4 b/m4/include_next.m4 index 69ad3dbb..233d254e 100644 --- a/m4/include_next.m4 +++ b/m4/include_next.m4 @@ -1,5 +1,5 @@ # include_next.m4 serial 23 -dnl Copyright (C) 2006-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/intmax_t.m4 b/m4/intmax_t.m4 index af5561e5..4bd8155c 100644 --- a/m4/intmax_t.m4 +++ b/m4/intmax_t.m4 @@ -1,5 +1,5 @@ # intmax_t.m4 serial 8 -dnl Copyright (C) 1997-2004, 2006-2007, 2009-2014 Free Software Foundation, +dnl Copyright (C) 1997-2004, 2006-2007, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/inttostr.m4 b/m4/inttostr.m4 index c48e9deb..b1842900 100644 --- a/m4/inttostr.m4 +++ b/m4/inttostr.m4 @@ -1,5 +1,5 @@ #serial 8 -dnl Copyright (C) 2004-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2004-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/inttypes-pri.m4 b/m4/inttypes-pri.m4 index 00251e1d..0884e71e 100644 --- a/m4/inttypes-pri.m4 +++ b/m4/inttypes-pri.m4 @@ -1,5 +1,5 @@ # inttypes-pri.m4 serial 7 (gettext-0.18.2) -dnl Copyright (C) 1997-2002, 2006, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 1997-2002, 2006, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/inttypes.m4 b/m4/inttypes.m4 index 2f9317d9..4209ffd1 100644 --- a/m4/inttypes.m4 +++ b/m4/inttypes.m4 @@ -1,5 +1,5 @@ # inttypes.m4 serial 26 -dnl Copyright (C) 2006-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/inttypes_h.m4 b/m4/inttypes_h.m4 index 87be9cfb..d0b5f5d9 100644 --- a/m4/inttypes_h.m4 +++ b/m4/inttypes_h.m4 @@ -1,5 +1,5 @@ # inttypes_h.m4 serial 10 -dnl Copyright (C) 1997-2004, 2006, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 1997-2004, 2006, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/iswblank.m4 b/m4/iswblank.m4 index a9ce0a3b..bb748081 100644 --- a/m4/iswblank.m4 +++ b/m4/iswblank.m4 @@ -1,5 +1,5 @@ # iswblank.m4 serial 4 -dnl Copyright (C) 2011-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/langinfo_h.m4 b/m4/langinfo_h.m4 index e8d78f9d..c3ecba66 100644 --- a/m4/langinfo_h.m4 +++ b/m4/langinfo_h.m4 @@ -1,5 +1,5 @@ # langinfo_h.m4 serial 7 -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/largefile.m4 b/m4/largefile.m4 index a1b564ad..b7a6c48b 100644 --- a/m4/largefile.m4 +++ b/m4/largefile.m4 @@ -1,6 +1,6 @@ # Enable large files on systems where this is not the default. -# Copyright 1992-1996, 1998-2014 Free Software Foundation, Inc. +# Copyright 1992-1996, 1998-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/lchown.m4 b/m4/lchown.m4 index 743ed5b0..e47b7793 100644 --- a/m4/lchown.m4 +++ b/m4/lchown.m4 @@ -1,7 +1,7 @@ # serial 17 # Determine whether we need the lchown wrapper. -dnl Copyright (C) 1998, 2001, 2003-2007, 2009-2014 Free Software Foundation, +dnl Copyright (C) 1998, 2001, 2003-2007, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 index ddc569f7..91ca9117 100644 --- a/m4/lib-ld.m4 +++ b/m4/lib-ld.m4 @@ -1,5 +1,5 @@ # lib-ld.m4 serial 6 -dnl Copyright (C) 1996-2003, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 1996-2003, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/lib-link.m4 b/m4/lib-link.m4 index 3522d994..d8d5d1f0 100644 --- a/m4/lib-link.m4 +++ b/m4/lib-link.m4 @@ -1,5 +1,5 @@ # lib-link.m4 serial 26 (gettext-0.18.2) -dnl Copyright (C) 2001-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4 index 31f49e40..0465f477 100644 --- a/m4/lib-prefix.m4 +++ b/m4/lib-prefix.m4 @@ -1,5 +1,5 @@ # lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2005, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/libunistring-base.m4 b/m4/libunistring-base.m4 index d0032671..cb8ae8ae 100644 --- a/m4/libunistring-base.m4 +++ b/m4/libunistring-base.m4 @@ -1,5 +1,5 @@ # libunistring-base.m4 serial 5 -dnl Copyright (C) 2010-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2010-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/link-follow.m4 b/m4/link-follow.m4 index 8b15585e..49899b21 100644 --- a/m4/link-follow.m4 +++ b/m4/link-follow.m4 @@ -2,7 +2,7 @@ dnl Run a program to determine whether link(2) follows symlinks. dnl Set LINK_FOLLOWS_SYMLINKS accordingly. -# Copyright (C) 1999-2001, 2004-2006, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2001, 2004-2006, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/link.m4 b/m4/link.m4 index e923d0d0..4778b332 100644 --- a/m4/link.m4 +++ b/m4/link.m4 @@ -1,5 +1,5 @@ # link.m4 serial 8 -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/linkat.m4 b/m4/linkat.m4 index 2da0e30c..9ed082db 100644 --- a/m4/linkat.m4 +++ b/m4/linkat.m4 @@ -1,7 +1,7 @@ -# serial 6 +# serial 7 # See if we need to provide linkat replacement. -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -20,26 +20,38 @@ AC_DEFUN([gl_FUNC_LINKAT], if test $ac_cv_func_linkat = no; then HAVE_LINKAT=0 else - AC_CACHE_CHECK([whether linkat(,AT_SYMLINK_FOLLOW) works], - [gl_cv_func_linkat_follow], - [rm -rf conftest.f1 conftest.f2 - touch conftest.f1 - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include -#include -#ifdef __linux__ -/* Linux added linkat in 2.6.16, but did not add AT_SYMLINK_FOLLOW - until 2.6.18. Always replace linkat to support older kernels. */ -choke me -#endif -]], [return linkat (AT_FDCWD, "conftest.f1", AT_FDCWD, "conftest.f2", - AT_SYMLINK_FOLLOW);])], - [gl_cv_func_linkat_follow=yes], - [gl_cv_func_linkat_follow="need runtime check"]) - rm -rf conftest.f1 conftest.f2]) + dnl OS X Yosemite has linkat() but it's not sufficient + dnl to our needs since it doesn't support creating + dnl hardlinks to symlinks. Therefore check for that + dnl capability before considering using the system version. + AC_CACHE_CHECK([whether linkat() can link symlinks], + [gl_cv_func_linkat_nofollow], + [rm -rf conftest.l1 conftest.l2 + ln -s target conftest.l1 + AC_RUN_IFELSE([AC_LANG_PROGRAM( + [[#include + #include + ]], + [return linkat (AT_FDCWD, "conftest.l1", AT_FDCWD, + "conftest.l2", 0); + ])], + [gl_cv_func_linkat_nofollow=yes], + [gl_cv_func_linkat_nofollow=no], + [case "$host_os" in + darwin*) gl_cv_func_linkat_nofollow="guessing no" ;; + *) gl_cv_func_linkat_nofollow="guessing yes" ;; + esac]) + + rm -rf conftest.l1 conftest.l2]) + + case $gl_cv_func_linkat_nofollow in + *no) LINKAT_SYMLINK_NOTSUP=1 ;; + *yes) LINKAT_SYMLINK_NOTSUP=0 ;; + esac + AC_CACHE_CHECK([whether linkat handles trailing slash correctly], [gl_cv_func_linkat_slash], - [rm -rf conftest.a conftest.b conftest.c conftest.d + [rm -rf conftest.a conftest.b conftest.c conftest.d conftest.e conftest.s AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include @@ -70,6 +82,16 @@ choke me if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.d/", AT_SYMLINK_FOLLOW) == 0) result |= 8; + + /* On OS X 10.10 a trailing "/" will cause the second path to be + dereferenced, and thus will succeed on a dangling symlink. */ + if (symlink ("conftest.e", "conftest.s") == 0) + { + if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.s/", + AT_SYMLINK_FOLLOW) == 0) + result |= 16; + } + return result; ]])], [gl_cv_func_linkat_slash=yes], @@ -80,16 +102,24 @@ choke me *) gl_cv_func_linkat_slash="guessing no";; esac ]) - rm -rf conftest.a conftest.b conftest.c conftest.d]) + rm -rf conftest.a conftest.b conftest.c conftest.d conftest.e conftest.s]) case "$gl_cv_func_linkat_slash" in *yes) gl_linkat_slash_bug=0 ;; *) gl_linkat_slash_bug=1 ;; esac - if test "$gl_cv_func_linkat_follow" != yes \ + + case "$gl_cv_func_linkat_nofollow" in + *yes) linkat_nofollow=yes ;; + *) linkat_nofollow=no ;; + esac + + if test "$linkat_nofollow" != yes \ || test $gl_linkat_slash_bug = 1; then REPLACE_LINKAT=1 AC_DEFINE_UNQUOTED([LINKAT_TRAILING_SLASH_BUG], [$gl_linkat_slash_bug], [Define to 1 if linkat fails to recognize a trailing slash.]) + AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP], + [Define to 1 if linkat can create hardlinks to symlinks]) fi fi ]) diff --git a/m4/localcharset.m4 b/m4/localcharset.m4 index ada2f01f..f03916c0 100644 --- a/m4/localcharset.m4 +++ b/m4/localcharset.m4 @@ -1,5 +1,5 @@ # localcharset.m4 serial 7 -dnl Copyright (C) 2002, 2004, 2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2004, 2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/locale-fr.m4 b/m4/locale-fr.m4 index 27db5ab8..92ff5525 100644 --- a/m4/locale-fr.m4 +++ b/m4/locale-fr.m4 @@ -1,5 +1,5 @@ # locale-fr.m4 serial 17 -dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2005-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/locale-ja.m4 b/m4/locale-ja.m4 index c88fe8b4..a3abef87 100644 --- a/m4/locale-ja.m4 +++ b/m4/locale-ja.m4 @@ -1,5 +1,5 @@ # locale-ja.m4 serial 12 -dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2005-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/locale-zh.m4 b/m4/locale-zh.m4 index d3b23474..c5c4ef65 100644 --- a/m4/locale-zh.m4 +++ b/m4/locale-zh.m4 @@ -1,5 +1,5 @@ # locale-zh.m4 serial 12 -dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2005-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/locale_h.m4 b/m4/locale_h.m4 index 28385884..0d7bb34a 100644 --- a/m4/locale_h.m4 +++ b/m4/locale_h.m4 @@ -1,5 +1,5 @@ # locale_h.m4 serial 19 -dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/localeconv.m4 b/m4/localeconv.m4 index 1fd29195..464e6308 100644 --- a/m4/localeconv.m4 +++ b/m4/localeconv.m4 @@ -1,5 +1,5 @@ # localeconv.m4 serial 1 -dnl Copyright (C) 2012-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2012-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/longlong.m4 b/m4/longlong.m4 index eefb37c4..d57bc700 100644 --- a/m4/longlong.m4 +++ b/m4/longlong.m4 @@ -1,5 +1,5 @@ # longlong.m4 serial 17 -dnl Copyright (C) 1999-2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 1999-2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/lseek.m4 b/m4/lseek.m4 index 0904d02d..f337abf1 100644 --- a/m4/lseek.m4 +++ b/m4/lseek.m4 @@ -1,5 +1,5 @@ # lseek.m4 serial 10 -dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/lstat.m4 b/m4/lstat.m4 index c5e72b81..adf752c0 100644 --- a/m4/lstat.m4 +++ b/m4/lstat.m4 @@ -1,6 +1,6 @@ -# serial 26 +# serial 27 -# Copyright (C) 1997-2001, 2003-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2001, 2003-2015 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -37,30 +37,28 @@ AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK], [gl_cv_func_lstat_dereferences_slashed_symlink], [rm -f conftest.sym conftest.file echo >conftest.file - if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then - AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [AC_INCLUDES_DEFAULT], - [[struct stat sbuf; - /* Linux will dereference the symlink and fail, as required by - POSIX. That is better in the sense that it means we will not - have to compile and use the lstat wrapper. */ - return lstat ("conftest.sym/", &sbuf) == 0; - ]])], - [gl_cv_func_lstat_dereferences_slashed_symlink=yes], - [gl_cv_func_lstat_dereferences_slashed_symlink=no], - [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; - esac - ]) - else - # If the 'ln -s' command failed, then we probably don't even - # have an lstat function. - gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" - fi + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [AC_INCLUDES_DEFAULT], + [[struct stat sbuf; + if (symlink ("conftest.file", "conftest.sym") != 0) + return 1; + /* Linux will dereference the symlink and fail, as required by + POSIX. That is better in the sense that it means we will not + have to compile and use the lstat wrapper. */ + return lstat ("conftest.sym/", &sbuf) == 0; + ]])], + [gl_cv_func_lstat_dereferences_slashed_symlink=yes], + [gl_cv_func_lstat_dereferences_slashed_symlink=no], + [case "$host_os" in + *-gnu*) + # Guess yes on glibc systems. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; + *) + # If we don't know, assume the worst. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; + esac + ]) rm -f conftest.sym conftest.file ]) case "$gl_cv_func_lstat_dereferences_slashed_symlink" in diff --git a/m4/malloc.m4 b/m4/malloc.m4 index 322ad6ef..31368ab9 100644 --- a/m4/malloc.m4 +++ b/m4/malloc.m4 @@ -1,5 +1,5 @@ # malloc.m4 serial 14 -dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/malloca.m4 b/m4/malloca.m4 index dcc1a084..72489517 100644 --- a/m4/malloca.m4 +++ b/m4/malloca.m4 @@ -1,5 +1,5 @@ # malloca.m4 serial 1 -dnl Copyright (C) 2003-2004, 2006-2007, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2003-2004, 2006-2007, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/manywarnings.m4 b/m4/manywarnings.m4 index e1cee6cf..b4e38d94 100644 --- a/m4/manywarnings.m4 +++ b/m4/manywarnings.m4 @@ -1,5 +1,5 @@ -# manywarnings.m4 serial 6 -dnl Copyright (C) 2008-2014 Free Software Foundation, Inc. +# manywarnings.m4 serial 7 +dnl Copyright (C) 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -93,6 +93,14 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC], fi # List all gcc warning categories. + # To compare this list to your installed GCC's, run this Bash command: + # + # comm -3 \ + # <(sed -n 's/^ *\(-[^ ]*\) .*/\1/p' manywarnings.m4 | sort) \ + # <(gcc --help=warnings | sed -n 's/^ \(-[^ ]*\) .*/\1/p' | sort | + # grep -v -x -f <( + # awk '/^[^#]/ {print $1}' ../build-aux/gcc-warning.spec)) + gl_manywarn_set= for gl_manywarn_item in \ -W \ @@ -100,20 +108,25 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC], -Waddress \ -Waggressive-loop-optimizations \ -Wall \ - -Warray-bounds \ -Wattributes \ -Wbad-function-cast \ + -Wbool-compare \ -Wbuiltin-macro-redefined \ -Wcast-align \ -Wchar-subscripts \ + -Wchkp \ -Wclobbered \ -Wcomment \ -Wcomments \ -Wcoverage-mismatch \ -Wcpp \ + -Wdate-time \ -Wdeprecated \ -Wdeprecated-declarations \ + -Wdesignated-init \ -Wdisabled-optimization \ + -Wdiscarded-array-qualifiers \ + -Wdiscarded-qualifiers \ -Wdiv-by-zero \ -Wdouble-promotion \ -Wempty-body \ @@ -124,6 +137,7 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC], -Wformat-extra-args \ -Wformat-nonliteral \ -Wformat-security \ + -Wformat-signedness \ -Wformat-y2k \ -Wformat-zero-length \ -Wfree-nonheap-object \ @@ -131,15 +145,19 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC], -Wimplicit \ -Wimplicit-function-declaration \ -Wimplicit-int \ + -Wincompatible-pointer-types \ -Winit-self \ -Winline \ + -Wint-conversion \ -Wint-to-pointer-cast \ -Winvalid-memory-model \ -Winvalid-pch \ -Wjump-misses-init \ + -Wlogical-not-parentheses \ -Wlogical-op \ -Wmain \ -Wmaybe-uninitialized \ + -Wmemset-transposed-args \ -Wmissing-braces \ -Wmissing-declarations \ -Wmissing-field-initializers \ @@ -150,9 +168,10 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC], -Wnarrowing \ -Wnested-externs \ -Wnonnull \ - -Wnormalized=nfc \ + -Wodr \ -Wold-style-declaration \ -Wold-style-definition \ + -Wopenmp-simd \ -Woverflow \ -Woverlength-strings \ -Woverride-init \ @@ -167,6 +186,9 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC], -Wreturn-type \ -Wsequence-point \ -Wshadow \ + -Wshift-count-negative \ + -Wshift-count-overflow \ + -Wsizeof-array-argument \ -Wsizeof-pointer-memaccess \ -Wstack-protector \ -Wstrict-aliasing \ @@ -176,7 +198,10 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC], -Wsuggest-attribute=format \ -Wsuggest-attribute=noreturn \ -Wsuggest-attribute=pure \ + -Wsuggest-final-methods \ + -Wsuggest-final-types \ -Wswitch \ + -Wswitch-bool \ -Wswitch-default \ -Wsync-nand \ -Wsystem-headers \ @@ -203,13 +228,27 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC], -Wvla \ -Wvolatile-register-var \ -Wwrite-strings \ - -fdiagnostics-show-option \ - -funit-at-a-time \ \ ; do gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" done + # gcc --help=warnings outputs an unusual form for these options; list + # them here so that the above 'comm' command doesn't report a false match. + gl_manywarn_set="$gl_manywarn_set -Warray-bounds=2" + gl_manywarn_set="$gl_manywarn_set -Wnormalized=nfc" + + # These are needed for older GCC versions. + if test -n "$GCC"; then + case `($CC --version) 2>/dev/null` in + 'gcc (GCC) '[[0-3]].* | \ + 'gcc (GCC) '4.[[0-7]].*) + gl_manywarn_set="$gl_manywarn_set -fdiagnostics-show-option" + gl_manywarn_set="$gl_manywarn_set -funit-at-a-time" + ;; + esac + fi + # Disable specific options as needed. if test "$gl_cv_cc_nomfi_needed" = yes; then gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" diff --git a/m4/mbchar.m4 b/m4/mbchar.m4 index e250ca83..3f721c9d 100644 --- a/m4/mbchar.m4 +++ b/m4/mbchar.m4 @@ -1,5 +1,5 @@ # mbchar.m4 serial 9 -dnl Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/mbiter.m4 b/m4/mbiter.m4 index 648bf45c..becf8a7c 100644 --- a/m4/mbiter.m4 +++ b/m4/mbiter.m4 @@ -1,5 +1,5 @@ # mbiter.m4 serial 7 -dnl Copyright (C) 2005, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/mbrtowc.m4 b/m4/mbrtowc.m4 index a9d15709..c0d751dc 100644 --- a/m4/mbrtowc.m4 +++ b/m4/mbrtowc.m4 @@ -1,5 +1,5 @@ -# mbrtowc.m4 serial 25 -dnl Copyright (C) 2001-2002, 2004-2005, 2008-2014 Free Software Foundation, +# mbrtowc.m4 serial 26 +dnl Copyright (C) 2001-2002, 2004-2005, 2008-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -39,6 +39,7 @@ AC_DEFUN([gl_FUNC_MBRTOWC], gl_MBRTOWC_NULL_ARG2 gl_MBRTOWC_RETVAL gl_MBRTOWC_NUL_RETVAL + gl_MBRTOWC_EMPTY_INPUT case "$gl_cv_func_mbrtowc_null_arg1" in *yes) ;; *) AC_DEFINE([MBRTOWC_NULL_ARG1_BUG], [1], @@ -67,6 +68,14 @@ AC_DEFUN([gl_FUNC_MBRTOWC], REPLACE_MBRTOWC=1 ;; esac + case "$gl_cv_func_mbrtowc_empty_input" in + *yes) ;; + *) AC_DEFINE([MBRTOWC_EMPTY_INPUT_BUG], [1], + [Define if the mbrtowc function does not return (size_t) -2 + for empty input.]) + REPLACE_MBRTOWC=1 + ;; + esac fi fi ]) @@ -533,6 +542,41 @@ int main () ]) ]) +dnl Test whether mbrtowc returns the correct value on empty input. + +AC_DEFUN([gl_MBRTOWC_EMPTY_INPUT], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether mbrtowc works on empty input], + [gl_cv_func_mbrtowc_empty_input], + [ + dnl Initial guess, used when cross-compiling or when no suitable locale + dnl is present. +changequote(,)dnl + case "$host_os" in + # Guess no on AIX and glibc systems. + aix* | *-gnu*) + gl_cv_func_mbrtowc_empty_input="guessing no" ;; + *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; + esac +changequote([,])dnl + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ + #include + static wchar_t wc; + static mbstate_t mbs; + int + main (void) + { + return mbrtowc (&wc, "", 0, &mbs) == (size_t) -2; + }]])], + [gl_cv_func_mbrtowc_empty_input=no], + [gl_cv_func_mbrtowc_empty_input=yes], + [:]) + ]) +]) + # Prerequisites of lib/mbrtowc.c. AC_DEFUN([gl_PREREQ_MBRTOWC], [ : diff --git a/m4/mbsinit.m4 b/m4/mbsinit.m4 index e1598a1d..61c40329 100644 --- a/m4/mbsinit.m4 +++ b/m4/mbsinit.m4 @@ -1,5 +1,5 @@ # mbsinit.m4 serial 8 -dnl Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2008, 2010-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/mbsrtowcs.m4 b/m4/mbsrtowcs.m4 index 6967f356..cea47e51 100644 --- a/m4/mbsrtowcs.m4 +++ b/m4/mbsrtowcs.m4 @@ -1,5 +1,5 @@ # mbsrtowcs.m4 serial 13 -dnl Copyright (C) 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/mbstate_t.m4 b/m4/mbstate_t.m4 index 068155a5..42ad6cd6 100644 --- a/m4/mbstate_t.m4 +++ b/m4/mbstate_t.m4 @@ -1,5 +1,5 @@ # mbstate_t.m4 serial 13 -dnl Copyright (C) 2000-2002, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2000-2002, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/mbtowc.m4 b/m4/mbtowc.m4 index cacfe161..88cdeeef 100644 --- a/m4/mbtowc.m4 +++ b/m4/mbtowc.m4 @@ -1,5 +1,5 @@ # mbtowc.m4 serial 2 -dnl Copyright (C) 2011-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/memchr.m4 b/m4/memchr.m4 index b9f126cf..cb958d86 100644 --- a/m4/memchr.m4 +++ b/m4/memchr.m4 @@ -1,5 +1,5 @@ # memchr.m4 serial 12 -dnl Copyright (C) 2002-2004, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2004, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/mempcpy.m4 b/m4/mempcpy.m4 index b6d0b141..aff590ef 100644 --- a/m4/mempcpy.m4 +++ b/m4/mempcpy.m4 @@ -1,5 +1,5 @@ # mempcpy.m4 serial 11 -dnl Copyright (C) 2003-2004, 2006-2007, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2003-2004, 2006-2007, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/memrchr.m4 b/m4/memrchr.m4 index 5dbe4d1e..f3f74b82 100644 --- a/m4/memrchr.m4 +++ b/m4/memrchr.m4 @@ -1,5 +1,5 @@ # memrchr.m4 serial 10 -dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2007, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/mkdir.m4 b/m4/mkdir.m4 index 51e78c13..3d9868df 100644 --- a/m4/mkdir.m4 +++ b/m4/mkdir.m4 @@ -1,6 +1,6 @@ # serial 11 -# Copyright (C) 2001, 2003-2004, 2006, 2008-2014 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003-2004, 2006, 2008-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/mkdirat.m4 b/m4/mkdirat.m4 index fe63b42c..0780b2b2 100644 --- a/m4/mkdirat.m4 +++ b/m4/mkdirat.m4 @@ -1,5 +1,5 @@ # mkdirat.m4 serial 1 -dnl Copyright (C) 2004-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2004-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/mkdtemp.m4 b/m4/mkdtemp.m4 index dcc2ac0a..fb3182d5 100644 --- a/m4/mkdtemp.m4 +++ b/m4/mkdtemp.m4 @@ -1,5 +1,5 @@ # mkdtemp.m4 serial 8 -dnl Copyright (C) 2001-2003, 2006-2007, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2001-2003, 2006-2007, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/mkfifo.m4 b/m4/mkfifo.m4 index 4328d8f6..7d67a297 100644 --- a/m4/mkfifo.m4 +++ b/m4/mkfifo.m4 @@ -1,7 +1,7 @@ # serial 4 # See if we need to provide mkfifo replacement. -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/mkfifoat.m4 b/m4/mkfifoat.m4 index 05f432fa..0906348f 100644 --- a/m4/mkfifoat.m4 +++ b/m4/mkfifoat.m4 @@ -1,7 +1,7 @@ # serial 3 # See if we need to provide mkfifoat/mknodat replacement. -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/mknod.m4 b/m4/mknod.m4 index 8475bc38..f6407a7a 100644 --- a/m4/mknod.m4 +++ b/m4/mknod.m4 @@ -1,7 +1,7 @@ # serial 5 # See if we need to provide mknod replacement. -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/mktime.m4 b/m4/mktime.m4 index e8d340ac..3f0e1eee 100644 --- a/m4/mktime.m4 +++ b/m4/mktime.m4 @@ -1,5 +1,5 @@ # serial 25 -dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2007, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/mmap-anon.m4 b/m4/mmap-anon.m4 index 94ae2e2f..92a88d05 100644 --- a/m4/mmap-anon.m4 +++ b/m4/mmap-anon.m4 @@ -1,5 +1,5 @@ # mmap-anon.m4 serial 10 -dnl Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2005, 2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/mode_t.m4 b/m4/mode_t.m4 index db6e192b..01badba7 100644 --- a/m4/mode_t.m4 +++ b/m4/mode_t.m4 @@ -1,5 +1,5 @@ # mode_t.m4 serial 2 -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/modechange.m4 b/m4/modechange.m4 index b89101e8..8a763c7d 100644 --- a/m4/modechange.m4 +++ b/m4/modechange.m4 @@ -1,5 +1,5 @@ # modechange.m4 serial 7 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/msvc-inval.m4 b/m4/msvc-inval.m4 index 7f26087e..9446fa58 100644 --- a/m4/msvc-inval.m4 +++ b/m4/msvc-inval.m4 @@ -1,5 +1,5 @@ # msvc-inval.m4 serial 1 -dnl Copyright (C) 2011-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/msvc-nothrow.m4 b/m4/msvc-nothrow.m4 index 9e32c171..5d72a042 100644 --- a/m4/msvc-nothrow.m4 +++ b/m4/msvc-nothrow.m4 @@ -1,5 +1,5 @@ # msvc-nothrow.m4 serial 1 -dnl Copyright (C) 2011-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/multiarch.m4 b/m4/multiarch.m4 index 2cb956de..fc575c1d 100644 --- a/m4/multiarch.m4 +++ b/m4/multiarch.m4 @@ -1,5 +1,5 @@ # multiarch.m4 serial 7 -dnl Copyright (C) 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/nl_langinfo.m4 b/m4/nl_langinfo.m4 index 6976e776..c8bf20fb 100644 --- a/m4/nl_langinfo.m4 +++ b/m4/nl_langinfo.m4 @@ -1,5 +1,5 @@ # nl_langinfo.m4 serial 5 -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/nocrash.m4 b/m4/nocrash.m4 index 5a5d77d6..56283180 100644 --- a/m4/nocrash.m4 +++ b/m4/nocrash.m4 @@ -1,5 +1,5 @@ # nocrash.m4 serial 4 -dnl Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/obstack.m4 b/m4/obstack.m4 new file mode 100644 index 00000000..92139219 --- /dev/null +++ b/m4/obstack.m4 @@ -0,0 +1,35 @@ +# See if we need to provide obstacks. + +dnl Copyright 1996-2015 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This replaces Autoconf's AC_FUNC_OBSTACK. +dnl The Autoconf version should be marked obsolete at some point. + +AC_DEFUN([AC_FUNC_OBSTACK], + [AC_LIBSOURCES([obstack.h, obstack.c])dnl + AC_CACHE_CHECK([for obstacks that work with any size object], + [ac_cv_func_obstack], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include "obstack.h" + void *obstack_chunk_alloc (size_t n) { return 0; } + void obstack_chunk_free (void *p) { } + /* Check that an internal function returns size_t, not int. */ + size_t _obstack_memory_used (struct obstack *); + ]], + [[struct obstack mem; + obstack_init (&mem); + obstack_free (&mem, 0); + ]])], + [ac_cv_func_obstack=yes], + [ac_cv_func_obstack=no])]) + if test "$ac_cv_func_obstack" = yes; then + AC_DEFINE([HAVE_OBSTACK], 1, + [Define to 1 if the system has obstacks that work with any size object.]) + else + AC_LIBOBJ([obstack]) + fi +]) diff --git a/m4/off_t.m4 b/m4/off_t.m4 index f5885b34..0eb14678 100644 --- a/m4/off_t.m4 +++ b/m4/off_t.m4 @@ -1,5 +1,5 @@ # off_t.m4 serial 1 -dnl Copyright (C) 2012-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2012-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/open.m4 b/m4/open.m4 index 68f116f0..2accbaa9 100644 --- a/m4/open.m4 +++ b/m4/open.m4 @@ -1,5 +1,5 @@ # open.m4 serial 14 -dnl Copyright (C) 2007-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/openat.m4 b/m4/openat.m4 index ad1d9d38..c928ff76 100644 --- a/m4/openat.m4 +++ b/m4/openat.m4 @@ -1,7 +1,7 @@ # serial 45 # See if we need to use our replacement for Solaris' openat et al functions. -dnl Copyright (C) 2004-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2004-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/opendir.m4 b/m4/opendir.m4 index fa29c643..cd83706a 100644 --- a/m4/opendir.m4 +++ b/m4/opendir.m4 @@ -1,5 +1,5 @@ # opendir.m4 serial 2 -dnl Copyright (C) 2011-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/parse-datetime.m4 b/m4/parse-datetime.m4 index 78730096..2fc15c62 100644 --- a/m4/parse-datetime.m4 +++ b/m4/parse-datetime.m4 @@ -1,5 +1,5 @@ # parse-datetime.m4 serial 21 -dnl Copyright (C) 2002-2006, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/pathmax.m4 b/m4/pathmax.m4 index 114f91f0..0e3db7a2 100644 --- a/m4/pathmax.m4 +++ b/m4/pathmax.m4 @@ -1,5 +1,5 @@ # pathmax.m4 serial 10 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/po.m4 b/m4/po.m4 index bd210c53..43012dca 100644 --- a/m4/po.m4 +++ b/m4/po.m4 @@ -1,4 +1,4 @@ -# po.m4 serial 21 (gettext-0.18.3) +# po.m4 serial 24 (gettext-0.19) dnl Copyright (C) 1995-2014 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -30,7 +30,7 @@ AC_DEFUN([AM_PO_SUBDIRS], dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. - AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) + AC_SUBST([GETTEXT_MACRO_VERSION], [0.19]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. diff --git a/m4/printf.m4 b/m4/printf.m4 index 9346ab04..d06746aa 100644 --- a/m4/printf.m4 +++ b/m4/printf.m4 @@ -1,5 +1,5 @@ -# printf.m4 serial 50 -dnl Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc. +# printf.m4 serial 52 +dnl Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -61,7 +61,7 @@ changequote(,)dnl # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";; + freebsd[1-4].*) gl_cv_func_printf_sizes_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";; @@ -220,7 +220,7 @@ changequote(,)dnl # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on FreeBSD >= 6. - freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";; + freebsd[1-5].*) gl_cv_func_printf_infinite="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";; @@ -328,7 +328,7 @@ int main () # ifdef WORDS_BIGENDIAN # define LDBL80_WORDS(exponent,manthi,mantlo) \ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ - ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ + ((unsigned int) (manthi) << 16) | ((unsigned int) (mantlo) >> 16), \ (unsigned int) (mantlo) << 16 \ } # else @@ -365,66 +365,51 @@ int main () { /* Pseudo-NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Lf", x.value) <= 0) result |= 4; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Le", x.value) <= 0) result |= 4; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Lg", x.value) <= 0) result |= 4; } { /* Pseudo-Infinity. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Lf", x.value) <= 0) result |= 8; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Le", x.value) <= 0) result |= 8; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Lg", x.value) <= 0) result |= 8; } { /* Pseudo-Zero. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Lf", x.value) <= 0) result |= 16; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Le", x.value) <= 0) result |= 16; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Lg", x.value) <= 0) result |= 16; } { /* Unnormalized number. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Lf", x.value) <= 0) result |= 32; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Le", x.value) <= 0) result |= 32; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Lg", x.value) <= 0) result |= 32; } { /* Pseudo-Denormal. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Lf", x.value) <= 0) result |= 64; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Le", x.value) <= 0) result |= 64; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) + if (sprintf (buf, "%Lg", x.value) <= 0) result |= 64; } #endif @@ -442,7 +427,7 @@ changequote(,)dnl # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on FreeBSD >= 6. - freebsd[1-5]*) gl_cv_func_printf_infinite_long_double="guessing no";; + freebsd[1-5].*) gl_cv_func_printf_infinite_long_double="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on HP-UX >= 11. hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";; @@ -588,7 +573,7 @@ changequote(,)dnl # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on FreeBSD >= 6. - freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";; + freebsd[1-5].*) gl_cv_func_printf_directive_f="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; @@ -1136,7 +1121,7 @@ changequote(,)dnl # Guess yes on glibc systems. *-gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; + freebsd[1-4].*) gl_cv_func_snprintf_truncation_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_truncation_c99="guessing no";; @@ -1235,7 +1220,7 @@ changequote(,)dnl # Guess yes on glibc systems. *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; + freebsd[1-4].*) gl_cv_func_snprintf_retval_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; @@ -1316,7 +1301,7 @@ changequote(,)dnl # Guess yes on glibc systems. *-gnu*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_snprintf_directive_n="guessing no";; + freebsd[1-4].*) gl_cv_func_snprintf_directive_n="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_directive_n="guessing no";; @@ -1458,7 +1443,7 @@ changequote(,)dnl # Guess yes on glibc systems. *-gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; + freebsd[1-4].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; diff --git a/m4/priv-set.m4 b/m4/priv-set.m4 index 6a1ed240..e834bc63 100644 --- a/m4/priv-set.m4 +++ b/m4/priv-set.m4 @@ -1,6 +1,6 @@ # serial 8 -# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2009-2015 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/m4/progtest.m4 b/m4/progtest.m4 index b499f79c..8706d526 100644 --- a/m4/progtest.m4 +++ b/m4/progtest.m4 @@ -1,5 +1,5 @@ # progtest.m4 serial 7 (gettext-0.18.2) -dnl Copyright (C) 1996-2003, 2005, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 1996-2003, 2005, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/quote.m4 b/m4/quote.m4 index 95b3e71b..af72e964 100644 --- a/m4/quote.m4 +++ b/m4/quote.m4 @@ -1,5 +1,5 @@ # quote.m4 serial 6 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/quotearg.m4 b/m4/quotearg.m4 index eaebbf63..985b30d0 100644 --- a/m4/quotearg.m4 +++ b/m4/quotearg.m4 @@ -1,5 +1,5 @@ # quotearg.m4 serial 9 -dnl Copyright (C) 2002, 2004-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2004-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/raise.m4 b/m4/raise.m4 index 8656578e..ed6aae03 100644 --- a/m4/raise.m4 +++ b/m4/raise.m4 @@ -1,5 +1,5 @@ # raise.m4 serial 3 -dnl Copyright (C) 2011-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/rawmemchr.m4 b/m4/rawmemchr.m4 index a35af402..88e815ea 100644 --- a/m4/rawmemchr.m4 +++ b/m4/rawmemchr.m4 @@ -1,5 +1,5 @@ # rawmemchr.m4 serial 2 -dnl Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/read.m4 b/m4/read.m4 index 176b0b04..9fdd7df1 100644 --- a/m4/read.m4 +++ b/m4/read.m4 @@ -1,5 +1,5 @@ # read.m4 serial 4 -dnl Copyright (C) 2011-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/readdir.m4 b/m4/readdir.m4 index bd7be5c3..8aa348ff 100644 --- a/m4/readdir.m4 +++ b/m4/readdir.m4 @@ -1,5 +1,5 @@ # readdir.m4 serial 1 -dnl Copyright (C) 2011-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/readlink.m4 b/m4/readlink.m4 index f9ce868c..88c9bfef 100644 --- a/m4/readlink.m4 +++ b/m4/readlink.m4 @@ -1,5 +1,5 @@ # readlink.m4 serial 12 -dnl Copyright (C) 2003, 2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/readlinkat.m4 b/m4/readlinkat.m4 index 65c0689c..3477602a 100644 --- a/m4/readlinkat.m4 +++ b/m4/readlinkat.m4 @@ -1,7 +1,7 @@ -# serial 3 +# serial 5 # See if we need to provide readlinkat replacement. -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -13,7 +13,30 @@ AC_DEFUN([gl_FUNC_READLINKAT], AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([readlinkat]) + AC_REQUIRE([gl_FUNC_READLINK]) if test $ac_cv_func_readlinkat = no; then HAVE_READLINKAT=0 + else + AC_CACHE_CHECK([whether readlinkat signature is correct], + [gl_cv_decl_readlinkat_works], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + /* Check whether original declaration has correct type. */ + ssize_t readlinkat (int, char const *, char *, size_t);]])], + [gl_cv_decl_readlinkat_works=yes], + [gl_cv_decl_readlinkat_works=no])]) + # Assume readinkat has the same trailing slash bug as readlink, + # as is the case on Mac Os X 10.10 + case "$gl_cv_func_readlink_works" in + *yes) + if test "$gl_cv_decl_readlinkat_works" != yes; then + REPLACE_READLINKAT=1 + fi + ;; + *) + REPLACE_READLINKAT=1 + ;; + esac fi ]) diff --git a/m4/realloc.m4 b/m4/realloc.m4 index f96537ba..0e1d3386 100644 --- a/m4/realloc.m4 +++ b/m4/realloc.m4 @@ -1,5 +1,5 @@ # realloc.m4 serial 13 -dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/regex.m4 b/m4/regex.m4 index 08bd46a9..0fa7455d 100644 --- a/m4/regex.m4 +++ b/m4/regex.m4 @@ -1,6 +1,6 @@ # serial 65 -# Copyright (C) 1996-2001, 2003-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/m4/rename.m4 b/m4/rename.m4 index ea577949..b5e43345 100644 --- a/m4/rename.m4 +++ b/m4/rename.m4 @@ -1,6 +1,6 @@ # serial 26 -# Copyright (C) 2001, 2003, 2005-2006, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005-2006, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/renameat.m4 b/m4/renameat.m4 index c248349a..943fe6bc 100644 --- a/m4/renameat.m4 +++ b/m4/renameat.m4 @@ -1,7 +1,7 @@ # serial 3 # See if we need to provide renameat replacement. -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/rewinddir.m4 b/m4/rewinddir.m4 index 06f54142..a189793e 100644 --- a/m4/rewinddir.m4 +++ b/m4/rewinddir.m4 @@ -1,5 +1,5 @@ # rewinddir.m4 serial 1 -dnl Copyright (C) 2011-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/rmdir.m4 b/m4/rmdir.m4 index db6a9399..09ed159e 100644 --- a/m4/rmdir.m4 +++ b/m4/rmdir.m4 @@ -1,5 +1,5 @@ # rmdir.m4 serial 13 -dnl Copyright (C) 2002, 2005, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2005, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/rpmatch.m4 b/m4/rpmatch.m4 index 6fd0f5df..541a3101 100644 --- a/m4/rpmatch.m4 +++ b/m4/rpmatch.m4 @@ -1,5 +1,5 @@ # rpmatch.m4 serial 10 -dnl Copyright (C) 2002-2003, 2007-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2003, 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/safe-read.m4 b/m4/safe-read.m4 index f0c42e08..697a07cf 100644 --- a/m4/safe-read.m4 +++ b/m4/safe-read.m4 @@ -1,5 +1,5 @@ # safe-read.m4 serial 6 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/safe-write.m4 b/m4/safe-write.m4 index 66648bbb..1cef87c5 100644 --- a/m4/safe-write.m4 +++ b/m4/safe-write.m4 @@ -1,5 +1,5 @@ # safe-write.m4 serial 4 -dnl Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/save-cwd.m4 b/m4/save-cwd.m4 index 68dd1c5c..8e61212f 100644 --- a/m4/save-cwd.m4 +++ b/m4/save-cwd.m4 @@ -1,5 +1,5 @@ # serial 10 -dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/savedir.m4 b/m4/savedir.m4 index 8f617db0..e51af103 100644 --- a/m4/savedir.m4 +++ b/m4/savedir.m4 @@ -1,5 +1,5 @@ # savedir.m4 serial 10 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/secure_getenv.m4 b/m4/secure_getenv.m4 index 149888df..6afe89fd 100644 --- a/m4/secure_getenv.m4 +++ b/m4/secure_getenv.m4 @@ -1,5 +1,5 @@ # Look up an environment variable more securely. -dnl Copyright 2013-2014 Free Software Foundation, Inc. +dnl Copyright 2013-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/selinux-context-h.m4 b/m4/selinux-context-h.m4 index 1e4bcfee..de9ea9aa 100644 --- a/m4/selinux-context-h.m4 +++ b/m4/selinux-context-h.m4 @@ -1,5 +1,5 @@ # serial 3 -*- Autoconf -*- -# Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/selinux-selinux-h.m4 b/m4/selinux-selinux-h.m4 index af0696cc..fd09b299 100644 --- a/m4/selinux-selinux-h.m4 +++ b/m4/selinux-selinux-h.m4 @@ -1,5 +1,5 @@ # serial 5 -*- Autoconf -*- -# Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/setenv.m4 b/m4/setenv.m4 index 0f46a7be..3aa38d89 100644 --- a/m4/setenv.m4 +++ b/m4/setenv.m4 @@ -1,5 +1,5 @@ # setenv.m4 serial 26 -dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/signal_h.m4 b/m4/signal_h.m4 index c8f664fb..f737c36b 100644 --- a/m4/signal_h.m4 +++ b/m4/signal_h.m4 @@ -1,5 +1,5 @@ # signal_h.m4 serial 18 -dnl Copyright (C) 2007-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/size_max.m4 b/m4/size_max.m4 index 7e192d5e..186e3fdd 100644 --- a/m4/size_max.m4 +++ b/m4/size_max.m4 @@ -1,5 +1,5 @@ # size_max.m4 serial 10 -dnl Copyright (C) 2003, 2005-2006, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2005-2006, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/sleep.m4 b/m4/sleep.m4 index 2f84da57..b789ac57 100644 --- a/m4/sleep.m4 +++ b/m4/sleep.m4 @@ -1,5 +1,5 @@ # sleep.m4 serial 7 -dnl Copyright (C) 2007-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/snprintf.m4 b/m4/snprintf.m4 index 888db35c..8ae70050 100644 --- a/m4/snprintf.m4 +++ b/m4/snprintf.m4 @@ -1,5 +1,5 @@ # snprintf.m4 serial 6 -dnl Copyright (C) 2002-2004, 2007-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2004, 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/ssize_t.m4 b/m4/ssize_t.m4 index fbe1d068..25bd4514 100644 --- a/m4/ssize_t.m4 +++ b/m4/ssize_t.m4 @@ -1,5 +1,5 @@ # ssize_t.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2001-2003, 2006, 2010-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2003, 2006, 2010-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/stat-time.m4 b/m4/stat-time.m4 index ea5c4fc5..9c8ceec1 100644 --- a/m4/stat-time.m4 +++ b/m4/stat-time.m4 @@ -1,6 +1,6 @@ # Checks for stat-related time functions. -# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2014 Free Software +# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2015 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation diff --git a/m4/stat.m4 b/m4/stat.m4 index 1ae327b3..d1b37689 100644 --- a/m4/stat.m4 +++ b/m4/stat.m4 @@ -1,6 +1,6 @@ # serial 11 -# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2009-2015 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/m4/stdalign.m4 b/m4/stdalign.m4 index 9efafe5c..033b0d39 100644 --- a/m4/stdalign.m4 +++ b/m4/stdalign.m4 @@ -1,6 +1,6 @@ # Check for stdalign.h that conforms to C11. -dnl Copyright 2011-2014 Free Software Foundation, Inc. +dnl Copyright 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -32,8 +32,12 @@ AC_DEFUN([gl_STDALIGN_H], /* Test _Alignas only on platforms where gnulib can help. */ #if \ ((defined __cplusplus && 201103 <= __cplusplus) \ - || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \ - || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) + || (defined __APPLE__ && defined __MACH__ \ + ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ + : __GNUC__) \ + || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \ + || __ICC || 0x5110 <= __SUNPRO_C \ + || 1300 <= _MSC_VER) struct alignas_test { char c; char alignas (8) alignas_8; }; char test_alignas[offsetof (struct alignas_test, alignas_8) == 8 ? 1 : -1]; diff --git a/m4/stdarg.m4 b/m4/stdarg.m4 index 732aa313..d208eb35 100644 --- a/m4/stdarg.m4 +++ b/m4/stdarg.m4 @@ -1,5 +1,5 @@ # stdarg.m4 serial 6 -dnl Copyright (C) 2006, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/stdbool.m4 b/m4/stdbool.m4 index 006ed52d..7273b822 100644 --- a/m4/stdbool.m4 +++ b/m4/stdbool.m4 @@ -1,6 +1,6 @@ # Check for stdbool.h that conforms to C99. -dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/stddef_h.m4 b/m4/stddef_h.m4 index c555e295..23105027 100644 --- a/m4/stddef_h.m4 +++ b/m4/stddef_h.m4 @@ -1,6 +1,6 @@ -dnl A placeholder for POSIX 2008 , for platforms that have issues. -# stddef_h.m4 serial 4 -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl A placeholder for , for platforms that have issues. +# stddef_h.m4 serial 5 +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,6 +10,9 @@ AC_DEFUN([gl_STDDEF_H], AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) AC_REQUIRE([gt_TYPE_WCHAR_T]) STDDEF_H= + AC_CHECK_TYPE([max_align_t], [], [HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h], + [[#include + ]]) if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 STDDEF_H=stddef.h @@ -43,5 +46,6 @@ AC_DEFUN([gl_STDDEF_H_DEFAULTS], [ dnl Assume proper GNU behavior unless another module says otherwise. REPLACE_NULL=0; AC_SUBST([REPLACE_NULL]) + HAVE_MAX_ALIGN_T=1; AC_SUBST([HAVE_MAX_ALIGN_T]) HAVE_WCHAR_T=1; AC_SUBST([HAVE_WCHAR_T]) ]) diff --git a/m4/stdint.m4 b/m4/stdint.m4 index 1981d9db..4011a494 100644 --- a/m4/stdint.m4 +++ b/m4/stdint.m4 @@ -1,5 +1,5 @@ # stdint.m4 serial 43 -dnl Copyright (C) 2001-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/stdint_h.m4 b/m4/stdint_h.m4 index 7fc2ce9a..5097c0b0 100644 --- a/m4/stdint_h.m4 +++ b/m4/stdint_h.m4 @@ -1,5 +1,5 @@ # stdint_h.m4 serial 9 -dnl Copyright (C) 1997-2004, 2006, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 1997-2004, 2006, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4 index d15913a3..f60cc215 100644 --- a/m4/stdio_h.m4 +++ b/m4/stdio_h.m4 @@ -1,14 +1,41 @@ -# stdio_h.m4 serial 43 -dnl Copyright (C) 2007-2014 Free Software Foundation, Inc. +# stdio_h.m4 serial 46 +dnl Copyright (C) 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_STDIO_H], [ + dnl For __USE_MINGW_ANSI_STDIO + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_NEXT_HEADERS([stdio.h]) + dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and + dnl inttypes.h behave like gnu instead of system; we must give our + dnl printf wrapper the right attribute to match. + AC_CACHE_CHECK([which flavor of printf attribute matches inttypes macros], + [gl_cv_func_printf_attribute_flavor], + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #define __STDC_FORMAT_MACROS 1 + #include + #include + /* For non-mingw systems, compilation will trivially succeed. + For mingw, compilation will succeed for older mingw (system + printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */ + #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) && \ + (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) + extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1]; + #endif + ]])], [gl_cv_func_printf_attribute_flavor=system], + [gl_cv_func_printf_attribute_flavor=gnu])]) + if test "$gl_cv_func_printf_attribute_flavor" = gnu; then + AC_DEFINE([GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU], [1], + [Define to 1 if printf and friends should be labeled with + attribute "__gnu_printf__" instead of "__printf__"]) + fi + dnl No need to create extra modules for these functions. Everyone who uses dnl likely needs them. GNULIB_FSCANF=1 diff --git a/m4/stdlib_h.m4 b/m4/stdlib_h.m4 index 03b448b9..0b4c623e 100644 --- a/m4/stdlib_h.m4 +++ b/m4/stdlib_h.m4 @@ -1,5 +1,5 @@ # stdlib_h.m4 serial 42 -dnl Copyright (C) 2007-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -55,6 +55,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME]) GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R]) GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) + GNULIB_QSORT_R=0; AC_SUBST([GNULIB_QSORT_R]) GNULIB_RANDOM=0; AC_SUBST([GNULIB_RANDOM]) GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) @@ -107,6 +108,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME]) REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R]) REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) + REPLACE_QSORT_R=0; AC_SUBST([REPLACE_QSORT_R]) REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC]) REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) diff --git a/m4/stpcpy.m4 b/m4/stpcpy.m4 index 966ba951..7e28beee 100644 --- a/m4/stpcpy.m4 +++ b/m4/stpcpy.m4 @@ -1,5 +1,5 @@ # stpcpy.m4 serial 8 -dnl Copyright (C) 2002, 2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/strcase.m4 b/m4/strcase.m4 index 66322b83..ece6722a 100644 --- a/m4/strcase.m4 +++ b/m4/strcase.m4 @@ -1,5 +1,5 @@ # strcase.m4 serial 11 -dnl Copyright (C) 2002, 2005-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2005-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/strchrnul.m4 b/m4/strchrnul.m4 index ca9c99c3..8c3d4cf4 100644 --- a/m4/strchrnul.m4 +++ b/m4/strchrnul.m4 @@ -1,5 +1,5 @@ # strchrnul.m4 serial 9 -dnl Copyright (C) 2003, 2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/strdup.m4 b/m4/strdup.m4 index 1681a30e..90ea29d2 100644 --- a/m4/strdup.m4 +++ b/m4/strdup.m4 @@ -1,6 +1,6 @@ # strdup.m4 serial 13 -dnl Copyright (C) 2002-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/strerror.m4 b/m4/strerror.m4 index 0763fe3b..75a17f20 100644 --- a/m4/strerror.m4 +++ b/m4/strerror.m4 @@ -1,5 +1,5 @@ # strerror.m4 serial 17 -dnl Copyright (C) 2002, 2007-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/strftime.m4 b/m4/strftime.m4 index 0ba3dd07..4557626a 100644 --- a/m4/strftime.m4 +++ b/m4/strftime.m4 @@ -1,6 +1,6 @@ # serial 33 -# Copyright (C) 1996-1997, 1999-2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-1997, 1999-2007, 2009-2015 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/m4/string_h.m4 b/m4/string_h.m4 index 64e683f9..55d09ef4 100644 --- a/m4/string_h.m4 +++ b/m4/string_h.m4 @@ -1,6 +1,6 @@ # Configure a GNU-like replacement for . -# Copyright (C) 2007-2014 Free Software Foundation, Inc. +# Copyright (C) 2007-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/strings_h.m4 b/m4/strings_h.m4 index 0eac17ca..28b754b6 100644 --- a/m4/strings_h.m4 +++ b/m4/strings_h.m4 @@ -1,7 +1,7 @@ # Configure a replacement for . # serial 6 -# Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/strndup.m4 b/m4/strndup.m4 index 55df0399..e6e2300d 100644 --- a/m4/strndup.m4 +++ b/m4/strndup.m4 @@ -1,5 +1,5 @@ # strndup.m4 serial 21 -dnl Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/strnlen.m4 b/m4/strnlen.m4 index 94317f8a..5f85d3fa 100644 --- a/m4/strnlen.m4 +++ b/m4/strnlen.m4 @@ -1,5 +1,5 @@ # strnlen.m4 serial 13 -dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2007, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/strtoimax.m4 b/m4/strtoimax.m4 index 71137816..fde732aa 100644 --- a/m4/strtoimax.m4 +++ b/m4/strtoimax.m4 @@ -1,5 +1,5 @@ # strtoimax.m4 serial 14 -dnl Copyright (C) 2002-2004, 2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2004, 2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/strtol.m4 b/m4/strtol.m4 index 9dd45468..e100efde 100644 --- a/m4/strtol.m4 +++ b/m4/strtol.m4 @@ -1,5 +1,5 @@ # strtol.m4 serial 6 -dnl Copyright (C) 2002-2003, 2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2003, 2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/strtoll.m4 b/m4/strtoll.m4 index 9f2a1777..666f44a6 100644 --- a/m4/strtoll.m4 +++ b/m4/strtoll.m4 @@ -1,5 +1,5 @@ # strtoll.m4 serial 7 -dnl Copyright (C) 2002, 2004, 2006, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2004, 2006, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/strtoul.m4 b/m4/strtoul.m4 index c7c0d246..5ae76dd8 100644 --- a/m4/strtoul.m4 +++ b/m4/strtoul.m4 @@ -1,5 +1,5 @@ # strtoul.m4 serial 5 -dnl Copyright (C) 2002, 2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/strtoull.m4 b/m4/strtoull.m4 index f4d5f616..4267bd72 100644 --- a/m4/strtoull.m4 +++ b/m4/strtoull.m4 @@ -1,5 +1,5 @@ # strtoull.m4 serial 7 -dnl Copyright (C) 2002, 2004, 2006, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2004, 2006, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/strtoumax.m4 b/m4/strtoumax.m4 index fc582fcf..5312ef4d 100644 --- a/m4/strtoumax.m4 +++ b/m4/strtoumax.m4 @@ -1,5 +1,5 @@ # strtoumax.m4 serial 12 -dnl Copyright (C) 2002-2004, 2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2004, 2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/symlink.m4 b/m4/symlink.m4 index de4924b4..a59e2f0d 100644 --- a/m4/symlink.m4 +++ b/m4/symlink.m4 @@ -1,7 +1,7 @@ # serial 6 # See if we need to provide symlink replacement. -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/symlinkat.m4 b/m4/symlinkat.m4 index db7ad487..fd975c89 100644 --- a/m4/symlinkat.m4 +++ b/m4/symlinkat.m4 @@ -1,7 +1,7 @@ -# serial 5 +# serial 6 # See if we need to provide symlinkat replacement. -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -16,5 +16,38 @@ AC_DEFUN([gl_FUNC_SYMLINKAT], AC_CHECK_FUNCS_ONCE([symlinkat]) if test $ac_cv_func_symlinkat = no; then HAVE_SYMLINKAT=0 + else + AC_CACHE_CHECK([whether symlinkat handles trailing slash correctly], + [gl_cv_func_symlinkat_works], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + ]], + [[int result = 0; + if (!symlinkat ("a", AT_FDCWD, "conftest.link/")) + result |= 1; + if (symlinkat ("conftest.f", AT_FDCWD, "conftest.lnk2")) + result |= 2; + else if (!symlinkat ("a", AT_FDCWD, "conftest.lnk2/")) + result |= 4; + return result; + ]])], + [gl_cv_func_symlinkat_works=yes], + [gl_cv_func_symlinkat_works=no], + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_symlinkat_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_symlinkat_works="guessing no" ;; + esac + ]) + rm -f conftest.f conftest.link conftest.lnk2]) + case "$gl_cv_func_symlinkat_works" in + *yes) ;; + *) + REPLACE_SYMLINKAT=1 + ;; + esac fi ]) diff --git a/m4/sys_socket_h.m4 b/m4/sys_socket_h.m4 index 114d8281..eaeabe7d 100644 --- a/m4/sys_socket_h.m4 +++ b/m4/sys_socket_h.m4 @@ -1,5 +1,5 @@ # sys_socket_h.m4 serial 23 -dnl Copyright (C) 2005-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2005-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/sys_stat_h.m4 b/m4/sys_stat_h.m4 index eaa7642b..6c909e81 100644 --- a/m4/sys_stat_h.m4 +++ b/m4/sys_stat_h.m4 @@ -1,5 +1,5 @@ # sys_stat_h.m4 serial 28 -*- Autoconf -*- -dnl Copyright (C) 2006-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/sys_time_h.m4 b/m4/sys_time_h.m4 index 5c79300f..28c8b1ac 100644 --- a/m4/sys_time_h.m4 +++ b/m4/sys_time_h.m4 @@ -1,7 +1,7 @@ # Configure a replacement for . # serial 8 -# Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -105,6 +105,7 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_DEFAULTS], HAVE_GETTIMEOFDAY=1; AC_SUBST([HAVE_GETTIMEOFDAY]) HAVE_STRUCT_TIMEVAL=1; AC_SUBST([HAVE_STRUCT_TIMEVAL]) HAVE_SYS_TIME_H=1; AC_SUBST([HAVE_SYS_TIME_H]) + HAVE_TIMEZONE_T=0; AC_SUBST([HAVE_TIMEZONE_T]) REPLACE_GETTIMEOFDAY=0; AC_SUBST([REPLACE_GETTIMEOFDAY]) REPLACE_STRUCT_TIMEVAL=0; AC_SUBST([REPLACE_STRUCT_TIMEVAL]) ]) diff --git a/m4/sys_types_h.m4 b/m4/sys_types_h.m4 index 9748905b..2232aece 100644 --- a/m4/sys_types_h.m4 +++ b/m4/sys_types_h.m4 @@ -1,5 +1,5 @@ # sys_types_h.m4 serial 5 -dnl Copyright (C) 2011-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/sysexits.m4 b/m4/sysexits.m4 index e2b0450b..7798c693 100644 --- a/m4/sysexits.m4 +++ b/m4/sysexits.m4 @@ -1,5 +1,5 @@ # sysexits.m4 serial 6 -dnl Copyright (C) 2003, 2005, 2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2005, 2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/tempname.m4 b/m4/tempname.m4 index 1594e1f5..b1694d68 100644 --- a/m4/tempname.m4 +++ b/m4/tempname.m4 @@ -1,6 +1,6 @@ #serial 5 -# Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/time_h.m4 b/m4/time_h.m4 index 9852778f..754b469a 100644 --- a/m4/time_h.m4 +++ b/m4/time_h.m4 @@ -1,8 +1,8 @@ # Configure a more-standard replacement for . -# Copyright (C) 2000-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc. -# serial 8 +# serial 9 # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -26,7 +26,7 @@ AC_DEFUN([gl_HEADER_TIME_H_BODY], ]) dnl Check whether 'struct timespec' is declared -dnl in time.h, sys/time.h, or pthread.h. +dnl in time.h, sys/time.h, pthread.h, or unistd.h. AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], [ @@ -44,6 +44,7 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], TIME_H_DEFINES_STRUCT_TIMESPEC=0 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0 + UNISTD_H_DEFINES_STRUCT_TIMESPEC=0 if test $gl_cv_sys_struct_timespec_in_time_h = yes; then TIME_H_DEFINES_STRUCT_TIMESPEC=1 else @@ -70,12 +71,26 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], [gl_cv_sys_struct_timespec_in_pthread_h=no])]) if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1 + else + AC_CACHE_CHECK([for struct timespec in ], + [gl_cv_sys_struct_timespec_in_unistd_h], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], + [gl_cv_sys_struct_timespec_in_unistd_h=yes], + [gl_cv_sys_struct_timespec_in_unistd_h=no])]) + if test $gl_cv_sys_struct_timespec_in_unistd_h = yes; then + UNISTD_H_DEFINES_STRUCT_TIMESPEC=1 + fi fi fi fi AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC]) AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC]) + AC_SUBST([UNISTD_H_DEFINES_STRUCT_TIMESPEC]) ]) AC_DEFUN([gl_TIME_MODULE_INDICATOR], @@ -94,6 +109,7 @@ AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS], GNULIB_STRPTIME=0; AC_SUBST([GNULIB_STRPTIME]) GNULIB_TIMEGM=0; AC_SUBST([GNULIB_TIMEGM]) GNULIB_TIME_R=0; AC_SUBST([GNULIB_TIME_R]) + GNULIB_TIME_RZ=0; AC_SUBST([GNULIB_TIME_RZ]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_LOCALTIME_R=1; AC_SUBST([HAVE_DECL_LOCALTIME_R]) HAVE_NANOSLEEP=1; AC_SUBST([HAVE_NANOSLEEP]) diff --git a/m4/time_r.m4 b/m4/time_r.m4 index 7e15600f..8df7e139 100644 --- a/m4/time_r.m4 +++ b/m4/time_r.m4 @@ -1,6 +1,6 @@ dnl Reentrant time functions: localtime_r, gmtime_r. -dnl Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2006-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/time_rz.m4 b/m4/time_rz.m4 new file mode 100644 index 00000000..0c1f2c37 --- /dev/null +++ b/m4/time_rz.m4 @@ -0,0 +1,21 @@ +dnl Time zone functions: tzalloc, localtime_rz, etc. + +dnl Copyright (C) 2015 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Written by Paul Eggert. + +AC_DEFUN([gl_TIME_RZ], +[ + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) + AC_REQUIRE([AC_STRUCT_TIMEZONE]) + AC_CHECK_FUNCS_ONCE([tzset]) + + AC_CHECK_TYPES([timezone_t], [], [], [[#include ]]) + if test "$ac_cv_type_timezone_t" = yes; then + HAVE_TIMEZONE_T=1 + fi +]) diff --git a/m4/timegm.m4 b/m4/timegm.m4 new file mode 100644 index 00000000..8e68b99b --- /dev/null +++ b/m4/timegm.m4 @@ -0,0 +1,26 @@ +# timegm.m4 serial 11 +dnl Copyright (C) 2003, 2007, 2009-2015 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_TIMEGM], +[ + AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_MKTIME]) + REPLACE_TIMEGM=0 + AC_CHECK_FUNCS_ONCE([timegm]) + if test $ac_cv_func_timegm = yes; then + if test $gl_cv_func_working_mktime = no; then + # Assume that timegm is buggy if mktime is. + REPLACE_TIMEGM=1 + fi + else + HAVE_TIMEGM=0 + fi +]) + +# Prerequisites of lib/timegm.c. +AC_DEFUN([gl_PREREQ_TIMEGM], [ + : +]) diff --git a/m4/timespec.m4 b/m4/timespec.m4 index 2ce654fe..06b3533e 100644 --- a/m4/timespec.m4 +++ b/m4/timespec.m4 @@ -1,6 +1,6 @@ #serial 15 -# Copyright (C) 2000-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/m4/tm_gmtoff.m4 b/m4/tm_gmtoff.m4 index 486351b4..71a88f92 100644 --- a/m4/tm_gmtoff.m4 +++ b/m4/tm_gmtoff.m4 @@ -1,5 +1,5 @@ # tm_gmtoff.m4 serial 3 -dnl Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/ulonglong.m4 b/m4/ulonglong.m4 new file mode 100644 index 00000000..9fae98e3 --- /dev/null +++ b/m4/ulonglong.m4 @@ -0,0 +1,48 @@ +# ulonglong.m4 serial 6 +dnl Copyright (C) 1999-2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert. + +# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. +# This fixes a bug in Autoconf 2.60, but can be removed once we +# assume 2.61 everywhere. + +# Note: If the type 'unsigned long long int' exists but is only 32 bits +# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT +# will not be defined. In this case you can treat 'unsigned long long int' +# like 'unsigned long int'. + +AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], +[ + AC_CACHE_CHECK([for unsigned long long int], + [ac_cv_type_unsigned_long_long_int], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[unsigned long long int ull = 18446744073709551615ULL; + typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63;]], + [[unsigned long long int ullmax = 18446744073709551615ull; + return (ull << 63 | ull >> 63 | ull << i | ull >> i + | ullmax / ull | ullmax % ull);]])], + [ac_cv_type_unsigned_long_long_int=yes], + [ac_cv_type_unsigned_long_long_int=no])]) + if test $ac_cv_type_unsigned_long_long_int = yes; then + AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1, + [Define to 1 if the system has the type `unsigned long long int'.]) + fi +]) + +# This macro is obsolescent and should go away soon. +AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG], +[ + AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) + ac_cv_type_unsigned_long_long=$ac_cv_type_unsigned_long_long_int + if test $ac_cv_type_unsigned_long_long = yes; then + AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, + [Define if you have the 'unsigned long long' type.]) + fi +]) diff --git a/m4/unistd-safer.m4 b/m4/unistd-safer.m4 index 96cb7df7..006bba24 100644 --- a/m4/unistd-safer.m4 +++ b/m4/unistd-safer.m4 @@ -1,5 +1,5 @@ #serial 9 -dnl Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4 index 1fa197e6..b3c581f7 100644 --- a/m4/unistd_h.m4 +++ b/m4/unistd_h.m4 @@ -1,5 +1,5 @@ -# unistd_h.m4 serial 67 -dnl Copyright (C) 2006-2014 Free Software Foundation, Inc. +# unistd_h.m4 serial 68 +dnl Copyright (C) 2006-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -173,9 +173,11 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) REPLACE_READ=0; AC_SUBST([REPLACE_READ]) REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) + REPLACE_READLINKAT=0; AC_SUBST([REPLACE_READLINKAT]) REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK]) + REPLACE_SYMLINKAT=0; AC_SUBST([REPLACE_SYMLINKAT]) REPLACE_TTYNAME_R=0; AC_SUBST([REPLACE_TTYNAME_R]) REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK]) REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT]) diff --git a/m4/unlink.m4 b/m4/unlink.m4 index 03cf8ae0..094d69a0 100644 --- a/m4/unlink.m4 +++ b/m4/unlink.m4 @@ -1,5 +1,5 @@ # unlink.m4 serial 11 -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/unlinkat.m4 b/m4/unlinkat.m4 index f5110aaa..be70c4fe 100644 --- a/m4/unlinkat.m4 +++ b/m4/unlinkat.m4 @@ -1,5 +1,5 @@ # unlinkat.m4 serial 2 -dnl Copyright (C) 2004-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2004-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -24,6 +24,7 @@ AC_DEFUN([gl_FUNC_UNLINKAT], ;; *) # GNU/Hurd has unlinkat, but it has the same bug as unlink. + # Darwin has unlinkat, but it has the same UNLINK_PARENT_BUG. if test $REPLACE_UNLINK = 1; then REPLACE_UNLINKAT=1 fi diff --git a/m4/unlinkdir.m4 b/m4/unlinkdir.m4 index 99797af5..964cc76b 100644 --- a/m4/unlinkdir.m4 +++ b/m4/unlinkdir.m4 @@ -1,6 +1,6 @@ # serial 7 -# Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/m4/unlocked-io.m4 b/m4/unlocked-io.m4 index 6a1dec27..e5a6f434 100644 --- a/m4/unlocked-io.m4 +++ b/m4/unlocked-io.m4 @@ -1,6 +1,6 @@ # unlocked-io.m4 serial 15 -# Copyright (C) 1998-2006, 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 1998-2006, 2009-2015 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/m4/utimbuf.m4 b/m4/utimbuf.m4 index 822a063c..7c33ae94 100644 --- a/m4/utimbuf.m4 +++ b/m4/utimbuf.m4 @@ -1,6 +1,6 @@ # serial 9 -# Copyright (C) 1998-2001, 2003-2004, 2007, 2009-2014 Free Software Foundation, +# Copyright (C) 1998-2001, 2003-2004, 2007, 2009-2015 Free Software Foundation, # Inc. # # This file is free software; the Free Software Foundation diff --git a/m4/utimens.m4 b/m4/utimens.m4 index c9c44cf2..b022cfdc 100644 --- a/m4/utimens.m4 +++ b/m4/utimens.m4 @@ -1,4 +1,4 @@ -dnl Copyright (C) 2003-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/utimensat.m4 b/m4/utimensat.m4 index 9cb97c98..9a80fa06 100644 --- a/m4/utimensat.m4 +++ b/m4/utimensat.m4 @@ -1,7 +1,7 @@ # serial 5 # See if we need to provide utimensat replacement. -dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/utimes.m4 b/m4/utimes.m4 index c3613578..e26a576b 100644 --- a/m4/utimes.m4 +++ b/m4/utimes.m4 @@ -1,7 +1,7 @@ # Detect some bugs in glibc's implementation of utimes. # serial 3 -dnl Copyright (C) 2003-2005, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003-2005, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/vasnprintf.m4 b/m4/vasnprintf.m4 index 106192ea..4708f2b8 100644 --- a/m4/vasnprintf.m4 +++ b/m4/vasnprintf.m4 @@ -1,5 +1,5 @@ # vasnprintf.m4 serial 36 -dnl Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/vasprintf.m4 b/m4/vasprintf.m4 index c76c99c3..b785dc32 100644 --- a/m4/vasprintf.m4 +++ b/m4/vasprintf.m4 @@ -1,5 +1,5 @@ # vasprintf.m4 serial 6 -dnl Copyright (C) 2002-2003, 2006-2007, 2009-2014 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2006-2007, 2009-2015 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/version-etc.m4 b/m4/version-etc.m4 index 667f9f82..a87ac980 100644 --- a/m4/version-etc.m4 +++ b/m4/version-etc.m4 @@ -1,5 +1,5 @@ # version-etc.m4 serial 1 -# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2009-2015 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/vsnprintf.m4 b/m4/vsnprintf.m4 index 07f739df..28be6fd1 100644 --- a/m4/vsnprintf.m4 +++ b/m4/vsnprintf.m4 @@ -1,5 +1,5 @@ # vsnprintf.m4 serial 6 -dnl Copyright (C) 2002-2004, 2007-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2004, 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/warn-on-use.m4 b/m4/warn-on-use.m4 index cc690f8e..1e98dc9b 100644 --- a/m4/warn-on-use.m4 +++ b/m4/warn-on-use.m4 @@ -1,5 +1,5 @@ # warn-on-use.m4 serial 5 -dnl Copyright (C) 2010-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2010-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/warnings.m4 b/m4/warnings.m4 index 43156f45..5ae01def 100644 --- a/m4/warnings.m4 +++ b/m4/warnings.m4 @@ -1,5 +1,5 @@ # warnings.m4 serial 11 -dnl Copyright (C) 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/wchar_h.m4 b/m4/wchar_h.m4 index 85db9528..9d1b0f8b 100644 --- a/m4/wchar_h.m4 +++ b/m4/wchar_h.m4 @@ -1,6 +1,6 @@ dnl A placeholder for ISO C99 , for platforms that have issues. -dnl Copyright (C) 2007-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/wchar_t.m4 b/m4/wchar_t.m4 index 839a04c1..dc964e67 100644 --- a/m4/wchar_t.m4 +++ b/m4/wchar_t.m4 @@ -1,5 +1,5 @@ # wchar_t.m4 serial 4 (gettext-0.18.2) -dnl Copyright (C) 2002-2003, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2003, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/wcrtomb.m4 b/m4/wcrtomb.m4 index 844ef6a8..7e3fe3f5 100644 --- a/m4/wcrtomb.m4 +++ b/m4/wcrtomb.m4 @@ -1,5 +1,5 @@ # wcrtomb.m4 serial 11 -dnl Copyright (C) 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/wctype_h.m4 b/m4/wctype_h.m4 index 3fac0ee0..95a4705b 100644 --- a/m4/wctype_h.m4 +++ b/m4/wctype_h.m4 @@ -2,7 +2,7 @@ dnl A placeholder for ISO C99 , for platforms that lack it. -dnl Copyright (C) 2006-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/wcwidth.m4 b/m4/wcwidth.m4 index f00a6cca..b11dc8db 100644 --- a/m4/wcwidth.m4 +++ b/m4/wcwidth.m4 @@ -1,5 +1,5 @@ # wcwidth.m4 serial 23 -dnl Copyright (C) 2006-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/wint_t.m4 b/m4/wint_t.m4 index 9b07b070..ca3fd449 100644 --- a/m4/wint_t.m4 +++ b/m4/wint_t.m4 @@ -1,5 +1,5 @@ # wint_t.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/write.m4 b/m4/write.m4 index 820dd4f7..ce7042ef 100644 --- a/m4/write.m4 +++ b/m4/write.m4 @@ -1,5 +1,5 @@ # write.m4 serial 5 -dnl Copyright (C) 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/xalloc.m4 b/m4/xalloc.m4 index b6a2257b..6dfcab3c 100644 --- a/m4/xalloc.m4 +++ b/m4/xalloc.m4 @@ -1,5 +1,5 @@ # xalloc.m4 serial 18 -dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/xgetcwd.m4 b/m4/xgetcwd.m4 index c6057fdc..968e9fd5 100644 --- a/m4/xgetcwd.m4 +++ b/m4/xgetcwd.m4 @@ -1,5 +1,5 @@ #serial 8 -dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/xsize.m4 b/m4/xsize.m4 index 3af23ec7..98faf7de 100644 --- a/m4/xsize.m4 +++ b/m4/xsize.m4 @@ -1,5 +1,5 @@ # xsize.m4 serial 5 -dnl Copyright (C) 2003-2004, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003-2004, 2008-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/xstrndup.m4 b/m4/xstrndup.m4 index 8521f0ed..296603be 100644 --- a/m4/xstrndup.m4 +++ b/m4/xstrndup.m4 @@ -1,5 +1,5 @@ # xstrndup.m4 serial 2 -dnl Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/xstrtol.m4 b/m4/xstrtol.m4 index 03419d81..fa6a2735 100644 --- a/m4/xstrtol.m4 +++ b/m4/xstrtol.m4 @@ -1,5 +1,5 @@ #serial 11 -dnl Copyright (C) 2002-2007, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/xvasprintf.m4 b/m4/xvasprintf.m4 index c2d3ec7f..715609a2 100644 --- a/m4/xvasprintf.m4 +++ b/m4/xvasprintf.m4 @@ -1,5 +1,5 @@ # xvasprintf.m4 serial 2 -dnl Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/po/Makefile.in.in b/po/Makefile.in.in index 82c71eb9..c36f1ad2 100644 --- a/po/Makefile.in.in +++ b/po/Makefile.in.in @@ -1,21 +1,19 @@ -# -*- buffer-read-only: t -*- vi: set ro: -# DO NOT EDIT! GENERATED AUTOMATICALLY! # Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper +# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper # -# This file can be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU General Public -# License but which still want to provide support for the GNU gettext -# functionality. -# Please note that the actual code of GNU gettext is covered by the GNU -# General Public License and is *not* in the public domain. +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without any warranty. # -# Origin: gettext-0.16 +# Origin: gettext-0.19.5 +GETTEXT_MACRO_VERSION = 0.19 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +SED = @SED@ SHELL = /bin/sh @SET_MAKE@ @@ -77,6 +75,16 @@ POTFILES = \ CATALOGS = @CATALOGS@ +POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot +POFILESDEPS_yes = $(POFILESDEPS_) +POFILESDEPS_no = +POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT)) + +DISTFILESDEPS_ = update-po +DISTFILESDEPS_yes = $(DISTFILESDEPS_) +DISTFILESDEPS_no = +DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO)) + # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: @@ -89,8 +97,8 @@ CATALOGS = @CATALOGS@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ - cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ @@ -102,6 +110,13 @@ all: all-@USE_NLS@ all-yes: stamp-po all-no: +# Ensure that the gettext macros and this Makefile.in.in are in sync. +CHECK_MACRO_VERSION = \ + test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ + || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ + exit 1; \ + } + # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that @@ -117,6 +132,7 @@ all-no: # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot + @$(CHECK_MACRO_VERSION) test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ @@ -131,17 +147,53 @@ stamp-po: $(srcdir)/$(DOMAIN).pot # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +# The determination of whether the package xyz is a GNU one is based on the +# heuristic whether some file in the top level directory mentions "GNU xyz". +# If GNU 'find' is available, we avoid grepping through monster files. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed + package_gnu="$(PACKAGE_GNU)"; \ + test -n "$$package_gnu" || { \ + if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \ + LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \ + -size -10000000c -exec grep 'GNU @PACKAGE@' \ + /dev/null '{}' ';' 2>/dev/null; \ + else \ + LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ + fi; \ + } | grep -v 'libtool:' >/dev/null; then \ + package_gnu=yes; \ + else \ + package_gnu=no; \ + fi; \ + }; \ + if test "$$package_gnu" = "yes"; then \ + package_prefix='GNU '; \ + else \ + package_prefix=''; \ + fi; \ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ - $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ - --files-from=$(srcdir)/POTFILES.in \ - --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --msgid-bugs-address="$$msgid_bugs_address" + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_prefix}@PACKAGE@" \ + --package-version='@VERSION@' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + esac test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ @@ -165,12 +217,20 @@ $(srcdir)/$(DOMAIN).pot: # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. -$(POFILES): $(srcdir)/$(DOMAIN).pot +$(POFILES): $(POFILESDEPS) @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ + test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ - cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ else \ $(MAKE) $${lang}.po-create; \ fi @@ -193,7 +253,6 @@ install-data: install-data-@USE_NLS@ fi install-data-no: all install-data-yes: all - $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ @@ -245,7 +304,6 @@ installdirs-data: installdirs-data-@USE_NLS@ fi installdirs-data-no: installdirs-data-yes: - $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ @@ -323,7 +381,7 @@ maintainer-clean: distclean distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: - $(MAKE) update-po + test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS) @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) @@ -371,9 +429,15 @@ update-po: Makefile tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ - if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ @@ -394,9 +458,13 @@ $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: +# Recreate Makefile by invoking config.status. Explicitly invoke the shell, +# because execution permission bits may not work on the current file system. +# Use @SHELL@, which is the shell determined by autoconf for the use by its +# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ - && $(SHELL) ./config.status $(subdir)/$@.in po-directories + && @SHELL@ ./config.status $(subdir)/$@.in po-directories force: diff --git a/po/Makevars b/po/Makevars index 6694b1cd..27b4a954 100644 --- a/po/Makevars +++ b/po/Makevars @@ -1,5 +1,3 @@ -# -*- buffer-read-only: t -*- vi: set ro: -# DO NOT EDIT! GENERATED AUTOMATICALLY! # Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. diff --git a/po/POTFILES.in b/po/POTFILES.in index d5439adc..6a14c17e 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,7 +1,7 @@ # List of files which contain translatable strings. -# Copyright 1996, 1999-2000, 2003-2005, 2007, 2013-2014 Free Software -# Foundation, Inc. +# Copyright 1996, 1999-2000, 2003-2005, 2007, 2013-2014, 2016 Free +# Software Foundation, Inc. # This file is part of GNU tar. diff --git a/po/bg.gmo b/po/bg.gmo index fc07246f0b93066b0815b667cfddc50b9bc66dfe..e3795a4b653271ce90e09bd0075aa4bec90fffa2 100644 GIT binary patch delta 8810 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 diff --git a/po/bg.po b/po/bg.po index fbb4ae2b..8a02bd06 100644 --- a/po/bg.po +++ b/po/bg.po @@ -9,12 +9,12 @@ # This file should be sent to translation@iro.umontreal.ca with the # following subject line: TP-Robot tar-1.16.bg.po # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: tar 1.16\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 2006-11-23 22:40+0200\n" "Last-Translator: Anton Zinoviev \n" "Language-Team: Bulgarian \n" @@ -24,46 +24,46 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "неправилен аргумент %s за %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "двусмислен аргумент %s за %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Допустими аргументи са:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: стойността %s е по-малка или равна на %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: параметърът ARGP_HELP_FMT изисква стойност" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: параметърът ARGP_HELP_FMT трябва да бъде положителен" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: непознат параметър ARGP_HELP_FMT" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Боклук в ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -71,145 +71,150 @@ msgstr "" "Аргументите, задължителните или незадължителни за дългите опции, са " "съответно задължителни или незадължителни и за кратките опции." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Използване:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " или: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [ОПЦИЯ...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Използвайте „%s --help“ or „%s --usage“ за повече информация.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "" "Съобщавайте за програмни грешки на %s.\n" "За грешки в българския превод на .\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Непозната системна грешка" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "показва тази справка" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "показва кратко съобщение за използването" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "ИМЕ" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "посочва името на програмата" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "СЕК" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "спира за СЕК секунди (подразбира се 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "показва версията на програмата" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ДЕФЕКТ В ПРОГРАМАТА) Не е известна версията!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Твърде много аргументи\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ДЕФЕКТ В ПРОГРАМАТА) Опцията би трябвало да е била разпозната!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: опцията „%s“ е двусмислена\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: опцията „-W %s“ е двусмислена\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: опцията „--%s“ не допуска аргумент\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: опцията „%c%s“ не допуска аргумент\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: опцията „%s“ изисква аргумент\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: непозната опция „--%s“\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: непозната опция „%c%s“\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: неправилна опция -- %c\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: опцията изисква аргумент -- %c\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: опцията „-W %s“ е двусмислена\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: опцията „-W %s“ не допуска аргумент\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: опцията „%s“ изисква аргумент\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "паметта е изчерпана" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "Не може да се смени работният каталог" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, fuzzy, c-format msgid "failed to return to initial working directory" msgstr "Не може да се запази работният каталог" @@ -235,11 +240,11 @@ msgstr "Не може да се запази работният каталог" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "„" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "“" @@ -249,7 +254,7 @@ msgstr "“" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[дДoOyY]" @@ -259,16 +264,16 @@ msgstr "^[дДoOyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[нНkKnN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -276,11 +281,11 @@ msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" @@ -394,24 +399,24 @@ msgstr "" "Съобщавайте за програмни грешки на %s.\n" "За грешки в българския превод на .\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "Съобщавайте за програмни грешки на %s.\n" "За грешки в българския превод на .\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" @@ -585,8 +590,8 @@ msgstr "Неочакван EOF" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "N" @@ -594,10 +599,11 @@ msgstr "N" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "ФАЙЛ" @@ -610,7 +616,7 @@ msgstr "" msgid "cannot open %s" msgstr "Не може да се отвори „%s“" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "твърде много аргументи" @@ -619,113 +625,113 @@ msgstr "твърде много аргументи" msgid "Garbage command" msgstr "Непозната команда" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Това не прилича на tar-архив" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Общо прочетени байтове" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Общо записани байтове" -#: src/buffer.c:577 +#: src/buffer.c:580 #, fuzzy msgid "Total bytes deleted" msgstr "Общо изтрити байтове: %s\n" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(канал)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Неправилна стойност на record_size" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Не е посочено име на архив" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Не може да се проверяват архиви на стандартните вход/изход" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Архивът е компресиран. Използвайте опцията %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Не може да се актуализират компресирани архиви" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "В началото на лентата, край на изпълнението" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Твърде много грешки, край на изпълнението" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Размер на записа = %lu блок" msgstr[1] "Размер на записа = %lu блока" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Неподравнен блок (%lu байт) в архива" msgstr[1] "Неподравнен блок (%lu байта) в архива" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Невъзможно е връщане назад в архивния файл; той може да е нечитаем без опция " "-i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek не завърши при граница на запис" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: съдържа неправилен номер на том" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Препълване на номера на том" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Подгответе том №%d за %s и натиснете return: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "EOF, когато се очакваше отговор от потребителя" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "ВНИМАНИЕ: Архивът е незавършен" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -737,66 +743,66 @@ msgstr "" " q Прекратява tar\n" " y или return Продължава изпълнението\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Поражда вторична командна обвивка\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Извежда този списък\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Няма повече томове; изход.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Не е посочено име на файл. Опитайте отново.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Неправилна команда. Използвайте ? за справка.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "командата %s не успя" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "%s не продължава с този том" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s вероятно продължава в този том: заглавният запис съдържа отрязано име" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "%s не продължава с този том" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s е грешен размер (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Този том е извън поредицата" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Архивът не е етикетиран да отговаря на %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Томът %s не съответства на %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -804,7 +810,7 @@ msgstr "" "%s: името на файла е твърде дълго, за да се побере в заглавен запис на " "многотомен ГНУ-архив и бе съкратено" -#: src/buffer.c:1917 +#: src/buffer.c:1949 #, fuzzy msgid "write did not end on a block boundary" msgstr "EOF на архив %s не е на границата на блок" @@ -816,20 +822,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Само %lu от %lu байт можаха да се прочетат" msgstr[1] "Само %lu от %lu байта можаха да се прочетат" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Съдържанието се различава" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Неочакван знак за край (EOF) в архива" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Файловите типове се различават" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Режимите за достъп се различават" @@ -845,7 +851,7 @@ msgstr "Групите се различават" msgid "Mod time differs" msgstr "Времената на промяна се различават" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Размерите се различават" @@ -854,142 +860,142 @@ msgstr "Размерите се различават" msgid "Not linked to %s" msgstr "Не е свързан с %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Символните връзки се различават" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Номерата на устройство се различават" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Проверка" -#: src/compare.c:473 +#: src/compare.c:477 #, fuzzy, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Непознат файлов тип „%c“, сравнява се като обикновен файл" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Архивът съдържа файлови имена, с отстранени префикси." -#: src/compare.c:535 +#: src/compare.c:539 #, fuzzy msgid "Archive contains transformed file names." msgstr "Архивът съдържа архаични заглавни записи по модул 64 (6 битови)" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Проверката може и да не открие оригиналните файлове." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "НЕУСПЕШНА ПРОВЕРКА: открита е %d неправилен заглавен запис" msgstr[1] "НЕУСПЕШНА ПРОВЕРКА: открити са %d неправилни заглавни записа" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Изолиран блок от нули при %s" -#: src/create.c:73 +#: src/create.c:74 #, fuzzy, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: каталогът е обозначен като кеш; не се архивира" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "" "стойността на %s е извън границите %s на диапазона %s..%s; замества се с %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "стойността %s е извън границите %s на диапазона %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Генерират се отрицателни осмични заглавни записи" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: файловото име е твърде дълго (максимум %d); не е архивирано" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: файловото име е твърде дълго (не може да се раздели); не е архивирано" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: името на символната връзка е твърде дълго; не е архивирано" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Файлът намаля с %s байт; допълва се с нула" msgstr[1] "%s: Файлът намаля с %s байта; допълва се с нули" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: файлът е в друга файлова система; не се архивира" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Непознат файлов тип; файлът се пренебрегва" -#: src/create.c:1551 +#: src/create.c:1569 #, fuzzy, c-format msgid "Missing links to %s." msgstr "Неархивирани връзки с %s.\n" -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: файлът не е променен; не се архивира" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: файлът е архив; не се архивира" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 #, fuzzy msgid "directory not dumped" msgstr "%s: каталогът е обозначен като кеш; не се архивира" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: файлът бе изменен по време на четене" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: гнездото се пренебрегва" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: пренебрегва се специалният файл тип door" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Пропуска се до следващия заглавен запис" @@ -1007,55 +1013,55 @@ msgstr "%s: записано е невероятно старо време %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: записано е време %s, което е %s сек. в бъдещето" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Неочаквана несъгласуваност при създаване на каталог" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" "%s: каталогът бе преименуван преди да може да се извлече състоянието му" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Продължаващи файлове се извличат като обикновени файлове" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Опитва се извличането на символни връзки като твърди" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Не може да се извлича -- файлът продължава с друг том" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Неочаквано дълъг заглавен запис" -#: src/extract.c:1542 +#: src/extract.c:1587 #, fuzzy, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Непознат файлов тип „%c“, извлича се като обикновен файл" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Текущият %s е по-нов или със същата възраст" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Не можа да се направи резервно копие на този файл" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Бе невъзможно %s да се преименува на %s" @@ -1106,129 +1112,130 @@ msgstr "Неправилен номер на i-възел" msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Неочакван край на snapshot-файл" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Липсва завършител на записа" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Грешен инкрементален файлов формат" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Неподдържана версия на инкрементален формат: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Лошо формиран dumpdir: очаква се „%c“, а вместо това има %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Лошо формиран dumpdir: „X“ е дублиран" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Лошо формиран dumpdir: празно име в „R“" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Лошо формиран dumpdir: „T“ не се предхожда от „R“" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Лошо формиран dumpdir: празно име в „T“" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Лошо формиран dumpdir: очаква се „%c“, вместо това данните свършват" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Лошо формиран dumpdir: „X“ никога не се използва" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Не може да се създаде временен каталог, използвайки шаблона %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Каталогът не се изчиства: не може да се достъпи" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: каталогът е на друго устройство: не се изчиства" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Изтрива се %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Не може да се изтрие" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Пропуска се" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "блок %s: ** Блок от знаци NUL **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "блок %s: ** Край на файла **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "блок %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Интервали в заглавен запис вместо числова стойност на %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1236,88 +1243,88 @@ msgstr "" "е допълнение до две" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Осмичната стойност %.*s в архива е извън диапазона за %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Архивът съдържа архаични заглавни записи по модул 64 (6 битови)" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" "Архивът е подписан с низ по модул 64 %s, който е е извън диапазона за %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Стойността по модул 256 в архива е извън диапазона %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Архивът съдържа %.*s, вместо това се очаква числова стойност на %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Стойността %s в архива е извън допустимия диапазон за %s (%s..%s)" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " връзка към %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " непознат файлов тип %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Дълга връзка--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Дълго име--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Заглавен запис на тома--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Продължава при байт %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Създава се каталог:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Преименува се %s на %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Не може да се преименува на %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Преименува се %s обратно на %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Файлът бе изтрит преди да бъде прочетен" @@ -1330,77 +1337,240 @@ msgstr "породен процес" msgid "interprocess channel" msgstr "междупроцесен канал" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Избор на локален файл:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"добавя посочения ФАЙЛ към архива (полезно е, ако името му започва с минус)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "КАТ" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "работи в каталога КАТ" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "взема имената за извличане или създаване от ФАЙЛ" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T чете имена, завършващи с нулев байт" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "" + +#: src/names.c:82 +#, fuzzy +msgid "unquote input file or member names (default)" +msgstr "декодира „\\“ във файловите имена на -T (подразб.)" + +#: src/names.c:84 +#, fuzzy +msgid "do not unquote input file or member names" +msgstr "не декодира „\\“ във файловите имена на -T" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "ОБРАЗЕЦ" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "без файловете, отговарящи на ОБРАЗЕЦ" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "пропуска файловете, отговарящи на образци в ФАЙЛ" + +#: src/names.c:95 +#, fuzzy +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "без каталози, обозначени като кеширащи" + +#: src/names.c:98 +#, fuzzy +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "без каталози, обозначени като кеширащи" + +#: src/names.c:101 +#, fuzzy +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "без каталози, обозначени като кеширащи" + +#: src/names.c:103 +#, fuzzy +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "без каталози, обозначени като кеширащи" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +#, fuzzy +msgid "exclude everything under directories containing FILE" +msgstr "без каталози, обозначени като кеширащи" + +#: src/names.c:114 +#, fuzzy +msgid "exclude directories containing FILE" +msgstr "без каталози, обозначени като кеширащи" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "влиза рекурсивно в подкаталозите (подразбира се)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "без автоматично влизане в подкаталозите" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Съпоставяне с файлови имена (влияе и на включващи, и на изключващи образци):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "съпоставянето с образците започва от началото на файловото име" + +#: src/names.c:134 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" +msgstr "съпоставянето започва след кой да е „/“ (подразбира се при изключване)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "пренебрегва разликата между големи/малки букви" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "отчита се разликата между малки и големи букви (подразбира се)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "ползва „*“ и „?“ (подразбира се за изключване)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "дословно низово сравнение" + +#: src/names.c:144 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" +msgstr "„/“ пасва с „*“ и „?“ (подразб. за изключване)" + +#: src/names.c:146 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "„/“ не пасва с „*“ и „?“" + +#: src/names.c:768 #, fuzzy msgid "command line" msgstr "командата %s не успя" -#: src/names.c:378 +#: src/names.c:786 #, fuzzy, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: файловият списък вече е прочетен" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, fuzzy, c-format msgid "cannot split string '%s': %s" msgstr "не може да се смени времето на „%s“" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: файловото име съдържа нулев байт" -#: src/names.c:824 +#: src/names.c:1242 #, fuzzy msgid "Pattern matching characters used in file names" msgstr "Във файловите имена са използвани „*“ и „?“. Моля," -#: src/names.c:826 +#: src/names.c:1244 #, fuzzy msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "използвайте --wildcards, за да позволите съпоставяне с образци," -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Не е открит в архива" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Необходимо срещане не е открито в архива" -#: src/names.c:879 +#: src/names.c:1297 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Архивът не е етикетиран да отговаря на %s" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "И двете опции „-%s“ и „-%s“ изискват стандартен вход" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Неправилен архивен формат" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Поискани са ГНУ-възможности при несъвместим архивен формат" -#: src/tar.c:264 +#: src/tar.c:265 #, fuzzy, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1408,7 +1578,7 @@ msgstr "" "Непознат начин за извеждане на спец. знаци „%s“. Използвайте „%s --quoting-" "style=help“, за да получите списък." -#: src/tar.c:378 +#: src/tar.c:354 #, fuzzy msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " @@ -1428,7 +1598,7 @@ msgstr "" "tar\n" " tar -xf архив.tar # Извлича от архив.tar всички файлове\n" -#: src/tar.c:387 +#: src/tar.c:363 #, fuzzy msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" @@ -1451,79 +1621,87 @@ msgstr "" "иначе\n" " never, simple винаги да се правят прости резервни копия\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Вид основно действие:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "изрежда съдържанието на архив" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "извлича файлове от архива" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "създава нов архив" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "намира разликите между архива и файловата система" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "добавя файлове в края на архив" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "добавя само файлове, по-нови от копието в архива" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "прибавя tar-файлове към архива" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "трие файлове от архива (не при магнитни ленти!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "проверява етикета на тома и завършва" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Модификатори на действието:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "работи ефективно с разредени файлове" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "ГОЛЯМ[.МАЛЪК]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "определя версията на формата разредени файлове (влече --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "със стар формат ГНУ за инкрементално архивиране" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "с новия формат на ГНУ за инкрем. архивиране" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "при нечитаеми файлове не завършва с грешка" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1535,141 +1713,150 @@ msgstr "" "list и когато списъкът от файлове е зададен или на командния ред, или с " "опция -T. Ако не е посочен N, се подразбира 1." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "архивът е с произволен достъп" -#: src/tar.c:467 +#: src/tar.c:445 #, fuzzy msgid "archive is not seekable" msgstr "архивът е с произволен достъп" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Регулиране заместването на файлове:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "след записа опитва да провери архива" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "изтрива файловете след като ги добави в архива" -#: src/tar.c:485 +#: src/tar.c:463 #, fuzzy msgid "don't replace existing files when extracting, treat them as errors" msgstr "при извличане не замества съществуващи файлове" -#: src/tar.c:488 +#: src/tar.c:466 #, fuzzy msgid "don't replace existing files when extracting, silently skip over them" msgstr "при извличане не замества съществуващи файлове" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "не замества съществуващи файлове, ако са по-нови от копията им в архива" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "при извличане замества съществуващи файлове" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "изтрива всеки файл преди да извлича върху него" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "изпразва йерархията преди извличане на каталог" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "запазва метаданните на съществуващи каталози" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "при извличане замества метаданните на съществуващи каталози (подразбира се)" -#: src/tar.c:504 +#: src/tar.c:482 #, fuzzy msgid "preserve existing symlinks to directories when extracting" msgstr "при извличане замества съществуващи файлове" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "КАТ" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Избор на изходен поток:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "извлича файловете на стандартния изход" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "КОМАНДА" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "подава с канал всеки извлечен файл към КОМАНДА" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "игнорира кода на завършване на породени процеси" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "счита за грешка всеки ненулев код на завършване на породен процес" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Подход спрямо файловите атрибути:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "прави ИМЕ да е собственик на добавените файлове" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "прави ИМЕ да бъде групата на добавените файлове" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "ДАТА-ИЛИ-ФАЙЛ" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "прави времето на промяна на добавяни файлове като ДАТА-ИЛИ-ФАЙЛ" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "ПРОМЕНИ" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "модифицира режима за достъп на добавени файлове" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "МЕТОД" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1679,33 +1866,33 @@ msgstr "" "времената след четене (при МЕТОД=„replace“, подразбира се), или не променя " "имената изобщо (МЕТОД=„system“)" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "не извлича времето на промяна на файловете" -#: src/tar.c:545 +#: src/tar.c:529 #, fuzzy msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "опитва да възстановява собствеността на файловете" -#: src/tar.c:547 +#: src/tar.c:531 #, fuzzy msgid "extract files as yourself (default for ordinary users)" msgstr "извлича файловете от ваше име" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "използва числа вместо имена за потребител и група" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "възстановява точно (без umask) режима на достъп (подразбира се при " "привилегирован потребител)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1713,16 +1900,12 @@ msgstr "" "прилага umask на потребителя при извличане на файлове (подразбира се при " "обикновен потребител)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "същото като едновременно -p и -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1730,188 +1913,188 @@ msgstr "" "забавя настройката на времето на промяна и режима за достъп на извличаните " "каталози докато извличането завърши" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "отменя ефекта на --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 #, fuzzy msgid "Handling of extended file attributes:" msgstr "Подход спрямо файловите атрибути:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Избор на устройство и смяна:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "АРХИВ" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "използва архивния файл или устройство АРХИВ" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "архивният файл е локален дори при двуеточие" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "използва посочената КОМАНДА вместо rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "използва посочената КОМАНДА вместо rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "посочва устройство и гъстота" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "създава/извежда/извлича многотомен архив" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "смяна на лентата след запис на 1024 x N байта" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "изпълнява скрипт в края на всяка лента (влече -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "ползва от и обновява във ФАЙЛ номера на тома" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Блокуване на устройството:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "БЛОКОВЕ" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "БЛОКОВЕ x 512 байта в секунда" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "прави N-байтови записи, кратно на 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "пренебрегва блоковете от нули и продължава" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "преформира при четене блоковете (канали 4.2BSD)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Избор на архивен формат:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "ФОРМАТ" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "създава архив с посочения формат" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "ФОРМАТ е някой от следните:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "стар формат tar, V7" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "формат на ГНУ при tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "формат на версия 1.13.x на tar на ГНУ" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "формат POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "формат POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "същото като pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "същото като --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "същото като --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "ключдума[[:]=стойност][,ключдума[[:]=стойност]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "управляващи ключови думи за pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "ТЕКСТ" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1919,190 +2102,85 @@ msgstr "" "създава архив с име на том ТЕКСТ; при извеждане или извличане сравнява името " "на тома с ТЕКСТ" -#: src/tar.c:684 +#: src/tar.c:666 #, fuzzy msgid "Compression options:" msgstr "Противоречащи си опции за компресиране" -#: src/tar.c:686 +#: src/tar.c:668 #, fuzzy msgid "use archive suffix to determine the compression program" msgstr "Не може да се пише към компресиращата програма" -#: src/tar.c:688 +#: src/tar.c:670 #, fuzzy msgid "do not use archive suffix to determine the compression program" msgstr "Не може да се пише към компресиращата програма" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "ПРОГ" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "прекарва архива през ПРОГ (трябва да приема -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Избор на локален файл:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"добавя посочения ФАЙЛ към архива (полезно е, ако името му започва с минус)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "работи в каталога КАТ" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "взема имената за извличане или създаване от ФАЙЛ" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T чете имена, завършващи с нулев байт" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "декодира „\\“ във файловите имена на -T (подразб.)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "не декодира „\\“ във файловите имена на -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "ОБРАЗЕЦ" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "без файловете, отговарящи на ОБРАЗЕЦ" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "пропуска файловете, отговарящи на образци в ФАЙЛ" - -#: src/tar.c:728 -#, fuzzy -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "без каталози, обозначени като кеширащи" - -#: src/tar.c:731 -#, fuzzy -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "без каталози, обозначени като кеширащи" - -#: src/tar.c:734 -#, fuzzy -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "без каталози, обозначени като кеширащи" - -#: src/tar.c:736 -#, fuzzy -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "без каталози, обозначени като кеширащи" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -#, fuzzy -msgid "exclude everything under directories containing FILE" -msgstr "без каталози, обозначени като кеширащи" - -#: src/tar.c:747 -#, fuzzy -msgid "exclude directories containing FILE" -msgstr "без каталози, обозначени като кеширащи" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "без автоматично влизане в подкаталозите" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "работи в рамките на локалната файлова система" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "влиза рекурсивно в подкаталозите (подразбира се)" - -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "не маха „/“ в началото на файлови имена" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "следва симв. връзки; архивира сочените файлове" -#: src/tar.c:765 +#: src/tar.c:697 #, fuzzy msgid "follow hard links; archive and dump the files they refer to" msgstr "следва симв. връзки; архивира сочените файлове" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "ЧЛЕН-ИМЕ" -#: src/tar.c:767 +#: src/tar.c:699 #, fuzzy msgid "begin at member MEMBER-NAME when reading the archive" msgstr "започва от файл с име ЧЛЕН-ИМЕ в архива" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "съхранява само файлове, по-нови от ДАТА-ИЛИ-ФАЙЛ" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "ДАТА" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "сравнява времето само ако данните са променени" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "МЕТОД" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "резервно копира съществуващи файлове с МЕТОД" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "НИЗ" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2111,101 +2189,61 @@ msgstr "" "освен ако не е бил сменен с променливата от обкръжението " "SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Промени на файловите имена:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "при извличане маха N начални каталози от файловите пътеки" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "ИЗРАЗ" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "преобразува файловите имена, използвайки посочения ИЗРАЗ за замяна на sed" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Съпоставяне с файлови имена (влияе и на включващи, и на изключващи образци):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "пренебрегва разликата между големи/малки букви" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "съпоставянето с образците започва от началото на файловото име" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "съпоставянето започва след кой да е „/“ (подразбира се при изключване)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "отчита се разликата между малки и големи букви (подразбира се)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "ползва „*“ и „?“ (подразбира се за изключване)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "дословно низово сравнение" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "„/“ не пасва с „*“ и „?“" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "„/“ пасва с „*“ и „?“ (подразб. за изключване)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Извеждане на информация:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "подробно изрежда обработените файлове" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "" -#: src/tar.c:819 +#: src/tar.c:729 #, fuzzy msgid "warning control" msgstr "Регулиране заместването на файлове:" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "извежда напредъка след всеки N-ти запис (подразбира се 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "съобщава, ако не всички твърди връзки са включени" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "СИГНАЛ" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2216,36 +2254,36 @@ msgstr "" "извежда текущите байтове при получаване на СИГНАЛ. Допустими СИГНАЛи са " "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2; имената без SIG също са позволени" -#: src/tar.c:834 +#: src/tar.c:744 #, fuzzy msgid "print file modification times in UTC" msgstr "извежда времената по Гринуич" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "изпраща подробния изход във ФАЙЛ" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "показва номера на блок в архива с всяко съобщение" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "изисква потвърждение за всяко действие" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "показва подразбираното от tar" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2253,32 +2291,32 @@ msgstr "" "при извеждане или извличане изрежда всеки каталог, който се пропуска по " "някаква причина" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "показва преобразуваните файлови имена в архива" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "НАЧИН" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "начин за цитиране на специални знаци; вж. по-долу за стойностите на НАЧИН" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "работи и със знаците от НИЗ като със специални" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "не работи със знаците от НИЗ като със специални" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Опции за съвместимост:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2286,56 +2324,63 @@ msgstr "" "при създаване е същото като --old-archive; при извличане е същото като --no-" "same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Други опции:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "забранява някои потенциално опасни опции" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, fuzzy, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s: Не може да се отиде на отместване %s във файла" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "Не може да се използва повече от една опция „-Acdtrux“" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Противоречащи си опции за компресиране" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Непознато име на сигнал: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Не е открит еталлонният файл за дата" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Използва се %s вместо непознатия файлов формат за дата %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, fuzzy, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Опция %s: Датата „%s“ се разглежда като %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "прекарва архива през gzip" -#: src/tar.c:1214 +#: src/tar.c:1137 #, fuzzy msgid "Valid arguments for the --quoting-style option are:" msgstr "Правилни аргументи за опциите --quoting-style са:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2343,193 +2388,204 @@ msgstr "" "\n" "*Този* tar подразбира следното:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 #, fuzzy msgid "Invalid owner or group ID" msgstr "Неправилен собственик" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Неправилен фактор за блокуване" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Неправилна дължина на лента" -#: src/tar.c:1521 +#: src/tar.c:1483 #, fuzzy msgid "Invalid incremental level value" msgstr "Грешен инкрементален файлов формат" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Повече от една ограничителна дата" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Неправилна версия на формат разредени файлове" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' не се поддържа на тази платформа" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "стойността на --checkpoint не е цяло число" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "На опция е подаден неправилен режим" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Неправилно число" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Неправилен размер на запис" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Размерът на запис трябва да е кратен на %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Неправилен брой елементи" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Позволява се само една опция --to-command" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Лошо образуван аргумент за гъстота: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, fuzzy, c-format msgid "Unknown density: '%c'" msgstr "Непозната гъстота: „%c“" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Опциите „-[0-7][lmh]“ не се поддържат от *този* tar" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Грешка при анализа на число до „%s“" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[ФАЙЛ]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Образецът %s не може да се използва" +msgid "non-option arguments in %s" +msgstr "неправилен аргумент %s за %s" + +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "не може да се смени времето на „%s“" -#: src/tar.c:2389 +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "Старата опция „%c“ изисква аргумент." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "без списък файлове опцията --occurrence е безсмислена" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "Използването на много архивни файлове изисква опция „-M“" -#: src/tar.c:2498 +#: src/tar.c:2412 #, fuzzy msgid "--level is meaningless without --listed-incremental" msgstr "без списък файлове опцията --occurrence е безсмислена" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Етикетът на тома е твърде дълъг (не повече от %lu байт)" msgstr[1] "%s: Етикетът на тома е твърде дълъг (не повече от %lu байта)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Не може да се проверяват многотомни архиви" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Не може да се проверяват компресирани архиви" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Не може да се използват многотомни компресирани архиви" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Не може да се съединяват компресирани архиви" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "" "опцията --pax-option може да се използва само при архиви във формат POSIX" -#: src/tar.c:2560 +#: src/tar.c:2486 #, fuzzy msgid "--acls can be used only on POSIX archives" msgstr "" "опцията --pax-option може да се използва само при архиви във формат POSIX" -#: src/tar.c:2565 +#: src/tar.c:2491 #, fuzzy msgid "--selinux can be used only on POSIX archives" msgstr "" "опцията --pax-option може да се използва само при архиви във формат POSIX" -#: src/tar.c:2570 +#: src/tar.c:2496 #, fuzzy msgid "--xattrs can be used only on POSIX archives" msgstr "" "опцията --pax-option може да се използва само при архиви във формат POSIX" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Страхлив отказ да се създава празен архив" -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Опциите „-Aru“ са несъвместими с „-f -“" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Трябва да посочите поне една от опциите „-Acdtrux“" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2587,7 +2643,7 @@ msgid "Ignoring unknown extended header keyword '%s'" msgstr "" "Пренебрегва се непознатата ключова дума „%s“ за разширен заглавен запис" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2596,28 +2652,28 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Разширеният заглавен запис %s=%s е извън диапазона %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Неправилно формиран разширен заглавен запис: неправилен %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Неправилно формиран разширен заглавен запис: прекомерен %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Лошо формиран разширен заглавен запис: неправилен %s; очаква се разделител %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" @@ -2659,7 +2715,7 @@ msgstr "Контролна точка при запис %u" msgid "Read checkpoint %u" msgstr "Контролна точка при четене %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2667,73 +2723,77 @@ msgstr "" "genfile борави с файловете с данни за тестовия пакет GNU paxutils.\n" "ОПЦИИТЕ са:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Опции за създаването на файл:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "РАЗМЕР" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Създава файл с посочения РАЗМЕР" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Запис във файл ИМЕ вместо на стандартния изход" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Чете файловите имена от ФАЙЛ" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T чете имена, завършващи с нулев байт" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "Попълва файла с посочения ОБРАЗЕЦ. ОБРАЗЕЦ може да бъде „default“ или „zeros“" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Размер на блок за разреден файл" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Генерира разреден файл. Останалата част от командния ред дава карта на файла." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "" -#: tests/genfile.c:145 +#: tests/genfile.c:149 #, fuzzy msgid "Seek to the given offset before writing data" msgstr "след записа опитва да провери архива" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Опции за файлови статистики:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Извежда съдържанието на структурата stat за всеки файл. По подразбиране " "ФОРМАТ е: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Опции за синхронизирано изпълнение:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 #, fuzzy msgid "OPTION" msgstr " [ОПЦИЯ...]" -#: tests/genfile.c:164 +#: tests/genfile.c:169 #, fuzzy msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " @@ -2742,21 +2802,21 @@ msgstr "" "Изпълнява посочената КОМАНДА. Полезно с --checkpoint и някоя от --cut, --" "append, --touch" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" "Изпълнява посоченото действие (вж. по-долу) до достигането на контролна " "точка N" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Посочва дата за следващата опция --touch" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Извежда изпълнените контролни точки и кода на завършване на КОМАНДА" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2764,7 +2824,7 @@ msgstr "" "Синхронизирано изпълнение на действията. Те се изпълняват когато се достигне " "контролната точка с номер, посочен с --checkpoint." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2772,165 +2832,158 @@ msgstr "" "Отсича ФАЙЛ до размера, определен с предхождаща опция --length (подразбира " "се 0)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Добавя РАЗМЕР байтове към ФАЙЛ. РАЗМЕРът се определя от предхождаща опция --" "length." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Обновява времето на достъп и промяна на FILE" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Изпълнява КОМАНДА" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Неправилен размер: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Номер извън допустимия диапазон: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Отрицателен размер: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "не успя stat(%s)" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Грешка при анализа на число до „%s“" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Непознат формат за дата" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[АРГУМ...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "Не може да се отвори „%s“" -#: tests/genfile.c:434 +#: tests/genfile.c:443 #, fuzzy msgid "cannot seek" msgstr "Не може да се изпълни %s" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "името на файла съдържа нулев байт" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "не може да се създават разредени файлове на стандартния изход, използвайте " "опцията --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "неправилна маска (до „%s“)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Непознато поле „%s“" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "не може да се смени времето на „%s“" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "Не може да се отвори „%s“" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, fuzzy, c-format msgid "command failed: %s" msgstr "командата %s не успя" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "Не може да се отвори „%s“" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Командата завърши успешно\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Командата завърши с код %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Командата бе прекратена със сигнал %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Командата бе спряна със сигнал %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Командата генерира core\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Командата бе прекратена\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat изисква файлови имена" -#~ msgid "sort names to extract to match archive" -#~ msgstr "файловете за извличане са сортирани според архива" - -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "не може да се използва --occurrence при пожелания начин на работа" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Не може да се съчетават --listed-incremental с --newer" +#~ msgid "same as both -p and -s" +#~ msgstr "същото като едновременно -p и -s" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: неправилна опция -- %c\n" @@ -3020,6 +3073,9 @@ msgstr "--stat изисква файлови имена" #~ msgid "suppress this warning." #~ msgstr "или --no-wildcards, за да не се извежда това предупреждение." +#~ msgid "sort names to extract to match archive" +#~ msgstr "файловете за извличане са сортирани според архива" + #~ msgid "filter the archive through bzip2" #~ msgstr "прекарва архива през bzip2" @@ -3033,6 +3089,12 @@ msgstr "--stat изисква файлови имена" #~ msgstr "" #~ "Внимание: опцията -I не се поддържа. Може би имате предвид -j или -T?" +#~ msgid "--occurrence cannot be used in the requested operation mode" +#~ msgstr "не може да се използва --occurrence при пожелания начин на работа" + +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "Не може да се съчетават --listed-incremental с --newer" + #~ msgid "Error exit delayed from previous errors" #~ msgstr "Изходът с грешка бе забавен поради предхождащи грешки" diff --git a/po/ca.gmo b/po/ca.gmo index aac37d05b372be74098f70909b48797ba340e3c2..e7b8938d3552821abc31667b8f181ccd775d723b 100644 GIT binary patch delta 20480 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 DhPEMP delta 12071 zcmaLdd3+7m|HtvUNl+5Rmc^E9Un3D>iy+Zhf*@imRUsEq5ltc`#Z{&Db(B(TX-l=W zT(oMZTGbXswNw{vRjXS27uDtadgqMq!ymuL?>zd+^L)7HtBHnD|H8&{9S)nvUUuTu zV>1k;cY`nmb%VDt43AH%(}9w><6kS(ze4nt$vIBq}}`BC)8W2h%Rj`Y>Kfm(#MTbM-}iKWOpI`%=`$AfX)-x^0ni)TA( zsLmnNX_ahgj7QC77Ha5cAPe4l14Ho?>V{Xa7~Vi#=RPK3Bnw3&n2QXKwG#QqI?bPk z+}|q2l4K~XI1I-OREH*E2(Cko!28Hfvd&`%EZW-Ks2i$7&!a}-E!2%ppgLA0-i%}r zRwA#DtV62Iq{|7aWG_=oHl2ScdB8ZYRHt zT4TlAnhr){dGa1@8UM;uJTz3rDOd&9VmaK8Zaj^;!EMwB1KXJqabs!ncE~?g5B_M; zEks>sAL=?6Faob*00t+RZCD|}YZg&;8Y*(2Ho7qZwOxi_1np<2KaiPouW=b<}nY>sa_8UaJljJ!vB92K}8p%gLvr zrs8GPg*H0vAEG*N9`&TZV=)ZuWI9p~HRMfD9UP4MZpcSH*iUdb||12;V}j z-cL{?an~`tvzdZ8$HA!g#58P%JFpI3MRurFKH2P^9$1%rKE~pEs5jvsSdaT#mAjZl z(E)SGpF!4@bqUq6I$h0sp*3nG`d|fjL68XJpRV{=d=wx$Q;uP1-aX?P2jZ^a_`9_kIZ4>fe>Q8&7U8d7&p^Tf?Ch`cXq zL^Dt$H5K(BD^OGN5!S|ASQ;yOQ<-ln^-)8%0@btK*bfh&o-n+Z`8sZk)yYSrMq(ib z<0dSJd+-T7iGkQ4jo$>=91BMd)xlL*9=-dh=m}4wE^rOYqJMAm1RT7}MBOkQV{sDd)x8}{;a${PDEg$Cs!-I8YoMky4)sDyLEUc*7JmP)qM{eh zPSp0hhw6FJL8iw|P;=SQaUg0DK7%81G3pKXFIL35Pw|zG?NL**5%u{mP`lv@Y7JEw z%=l~WIt=Cu1@o~D`cNIX>EsdVW}6K{O@$X5;}O*7?_w3KGo)}iSxMNDd?l&_mr!e= z%usWmSZqq3Gt_H_#W*~TEwQwBnE7C5tU<%Gj<2A$(|**@79VbgHU_nbx}n27h7nQc@vJ!GTWs9t8;t} zsw0On60c(|tUB7<=y7a7J{t8tS&ka9txkRf1IaI7CGG!TsFbE5AlnR0dDI1>umui4 z4b@_7g&Q#jf5IpX9b-nQBZiar$I_UKI{pF{K_3>yT^NrCur~L%{-L7%S&L2I2wUKj zI2<)4M^I0G9h+mh95aMnP>XF0#^55faP%mq_XLpBa4Ff~(AH+JRoI}vN3F6esJe9nz}klLt@^u{18z_K_U=i~Bc z8GrS#{y6h4PsXO?lTeGshvo4b48xnKZ5TM-tm;JUMm`udQtx0eoN?r3(T5H z!gl02SQmW-jK3Di1se23w=f(lJZI)K3U#3bY>XMGjx52BxEa;qyQp2za00J!dI1K05+1`i44z`%R9$fh`HQFy|B4Y9 z_JWzZ7N{54D2&1djt5ZZU&m;S;Av`L59B82p{R1_(HK&^) z?~m2V3s6J867}Lbi$(D&7QtJnk-LxDO|i_A&Yy`L@DR4g;xid(?r(LYqBok2)$jmn z2!B8gRoPi4Z-(mFFzk&hup{0?b+pxN)6r~fOTGZrp_5n@&tgry;~cLzhw;}9o}i*9 zn1sb}n&VvTLjDrg#fzvRE-}~qUWi9cl^1oLcQ6u9VH33GnKx-uY)Cp7b)C7W4(*)B z`0ImT(4e8ckD7|g^Uc0b#QNlYu_8`E?Shr4&+Ty9&tX^c+o&l_SYWP~gPNk3P&eL$ z0eA*W;<*Kke{m|8X;9B^pgIt-&}_#ftW7=;-S`4_!}X~Bd=pDx{YB;pV^LEx1WV(4 zsF65|n!3NR6~@@6J14fWy(Y z53n9qd)cg&E~w8>LXGem494TglzOf2sAyIGiIp&7naSf&HyDg%aWXbT8+F5D7>2*1 zZtS<*yjtsGBl1{miy2rE*Q4fqKbFGJu$cD$1uDAnPpCy@y<*RPIoHxM;@+8z$cu*rZ9SisW8Y)_ZA2@!3+AgOs z9v@&hwp?pE)C;w`N25A03HABq=*G2J6%XNKco8*)S1=U+MmT9|{)@nwv|lNgOb zZb>Q56i!4KId&iMGd`BLo^XXa4A;7cThw4DOSc`P#r0<$#gUxv&a)sFQ6?r16^;K z&(FdZ@0jzuqSnBCjKpK8 z2f2qD`s$m_^*W&*WF%??W}sd`>#*?O|F=_7kM>~^Jmz>3{m9Q^dpw7AvC0;+e>hH8ndhiuGq*pi&2ewwZtDYl?HoCt-06^qCQ< zfNt^_Y>B-v4dANOEyyo})(zt{O;g5AldU^JdWEkgf&=9L?XjmW!U zOPqjRaVKiT{k{9m>P|)7XaPpyZXAKXp`IY^fVuE=tW3TY+u?DH$I=JQ19U^(aJ-Xm zKwa+)Y7qw(H^&s9XD%vj7QFHY+y731ri~fgA9)bzv&9MoN$HMb5Rp+BdF7^X6 z5~Gpnw^loOpCe|9rlUHv7aMSY>vt+uX$b$2pU~I>E4%2_N9Nls@u>M8PsX|&pM|=B z57mJmQBxT9u^Fij*qnSk7LF9^Nsl}Jf?C9W$21aNUV~Js(a;k0!2zhbvT-nehS~*< zJ~4|g8FhRWw#ToqCRYB`yblu4O`d_e-ZU(Nd$A}U#x8ga8*qOsMHGsMXFFn&^`wP z2$qdC*k$fdm6b~9CGry|omK;726Yv^Y&H?6$@O1Ac*7Q!EsiO)Jx{$Cp~b7Bx!1aQ zK%AiMXRJb~oFVUrfx7=zwNU;bTpXxFT&G?GRX)SZPF?vx>KpJ+!jJlgg#L?JHjzoF z{6O@goVdS?7t(R2|_NqB=2vc!zk4Q0a{4oca{gRQMmLM>%ax zaV;^|$wN8Erv4;8k5_O#vQez&sI|5LpVR&yN-~S2J)!azF_HQ*oaeNuy$AK-#LLtN z5}#9VLxd75bpquX>fMP)%NHacD4h0f)c+;+6DKwQrKvo@!9Sf7mXbeOc9G<9Oz(i# zaU&5$JV~fb!Iz2sPClEq^VI*wAx>Ls3?z0CAL>I+Dg5t$Y)dPQ1G{kpzCy%MU+$b_ zqh25nOE)SNIcMs_2CPPW>EstUrt&8C!G8)f7A}q_ekU4n>?ibksa&R_@(a+iVhN$5FPu;9&uf+Q#?bN& zSu`<>XhPhftu@vm>QWy=#8aP)D(^X}o=&)(JXZ~ml#WjOB&Y50BcDs9ZJWMX9?)2s zqIoi>*6F-sfu^8tdpy4GO>?*t`f>o z>aB=U)Dv0R)_syC=#Tm6Ayi6|55{$<^1GuxGnM)&e3xiI)Fo9_Qwbt3ZmNZUt2*@>SdL@Goby-VEZY9ShIos(N_`|| z5)GX53a}Te;oDj1pJFgqHPZ` zf_eg8!VFBnPq8DuhJO*I^vzO0gUVimwGg%8Je=?!LZyUbKkQ$Hi* zLef5|4O|QZRN29ah2Gtxx7eY8B|H8o<;-{yNMTw;k36TQgj04Eb#{I-SHAW zENvcE9N)nfPW=l25ZbMmnn5vQPi4e_wV)7FY40#$x>@eSI7~~weWuJ^I>w7aU-(`1;zh?Jsv&0T;yVd@=?H&8EgmAlC zLRGtKLe-##?u^Xb^dX}>?#TAOkqIjT?7(~c+h52^&dcoh$ z=)24A+;5g|YX2I3zUYCU`K3iha(1pKC*R}F9+Q`uJ=&d_>(21#66txKjE3&9x%B0K zCq<6&=IGo!PkM%(Hh8sNEIrTOmj1oHVMsY&z)*L9?}Oog z`uT2+Ea9@FMtx+5WR3A1%F1>5R%FMyY}YfZeW^LsirIU|-?A?i-0%fY*y`t-d5Pnc5CcXi4{mv70`fqr(&>8Y+}_MGYQu}veRn@7ep zcgHko)g-n-bd%`l5(VHTJ5PPT2RB)bM?=lrjUzZ=W&%d(8<+10i z7-&~q8DWoHS>4WDSv`cQ^W>%v&CASB&xst7?M}}c!X(ci8@1)wDyqnPRsmH}CM8Lu<@TXJqDaYxki|sdmno| zDcNr3FL&&i?3}!G_o#Fx*^`q#H1n`;+n%reswCyQ^Kv|6J)_;DJh@ygGt0wj;8L}6 z5AC*J+25$#|JDBFjZoi%{X1NKNx8ml2j{qkchz-u(MOg9eRO9J$;}?+$xCnO<_<%% zv&Q7nm{BJ^bKK!=?qQy>^erbpGv|>{{lDwW4nDHhK6<1xBVw2Ru$gc6hoxL0?bEZy zXyk`xkM;~7o9Fc17kf0!rSnogexLzNK6c&DcmA`!{`SbvXSwq1yPvn#(Wa-y`>vh} za@jS{yyW}y%nX<9|7GVQqcl*y?q5c^?61B$;hT0op}4Q&Pn})9?U%~Ae8n&S=I1+h u, 2010, 2011. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar-1.26\n" +"Project-Id-Version: tar-1.28\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2011-03-19 11:52+0100\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2014-08-09 11:27+0100\n" "Last-Translator: Àngel Mompó \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n !=1\n" +"Plural-Forms: nplurals=2; plural=n !=1;\n" +"X-Generator: Poedit 1.5.4\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "el paràmetre %s no és vàlid per %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "el paràmetre %s és ambigu per %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Els paràmetres vàlids són:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: el valor de %s és més petit o igual que %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: El paràmetre ARGP_HELP_FMT necessita un valor" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: El paràmetre ARGP_HELP_FMT ha de ser positiu" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Paràmetre ARGP_HELP_FMT desconegut" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Hi ha brossa a ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -65,143 +66,148 @@ msgstr "" "Els paràmetres obligatoris o opcionals per les opcions llargues també ho són " "per les corresponents opcions curtes." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Ús:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " o: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [OPCIÓ...]" -#: gnu/argp-help.c:1686 -#, fuzzy, c-format +#: gnu/argp-help.c:1688 +#, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" -msgstr "Proveu «%s --help» o «%s --usage» per més informació.\n" +msgstr "Proveu «%s --help» o bé «%s --usage» per a més informació.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Informeu dels errors de programació a %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Error de sistema desconegut" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "dóna aquesta llista d'ajuda" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "dóna un missatge curt sobre utilització" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NOM" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "definiu el nom del programa" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEGS" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "es penja durant SECS segons (per defecte 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "mostra la versió del programa" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ERROR DE PROGRAMA) Versió desconeguda!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Massa paràmetres\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ERROR DE PROGRAMA) Hauria de conèixer l'opció!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "error d'escriptura" -#: gnu/getopt.c:549 gnu/getopt.c:578 -#, fuzzy, c-format +#: gnu/getopt.c:575 gnu/getopt.c:604 +#, c-format msgid "%s: option '%s' is ambiguous; possibilities:" -msgstr "%s: l'opció «%s» és ambigua\n" +msgstr "%s: l'opció «%s» és ambigua. Possibilitats:" + +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: l'opció «-W %s» és ambigua\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: l'opció «--%s» no permet cap paràmetre\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: l'opció «%c%s» no permet cap paràmetre\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: l'opció «--%s» necessita un paràmetre\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opció no reconeguda «--%s»\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opció no reconeguda «%c%s»\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opció invàlida -- «%c»\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: l'opció necessita un paràmetre -- «%c»\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: l'opció «-W %s» és ambigua\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: l'opció «-W %s» no permet cap paràmetre\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: l'opció «-W %s» necessita un paràmetre\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "memòria exhaurida" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "No es pot desar el directori de treball actual" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "No es pot tornar al directori de treball inicial" @@ -227,11 +233,11 @@ msgstr "No es pot tornar al directori de treball inicial" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "«" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "»" @@ -241,7 +247,7 @@ msgstr "»" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[sS]" @@ -251,16 +257,16 @@ msgstr "^[sS]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Empaquetat per %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Empaquetat per %s\n" @@ -268,11 +274,11 @@ msgstr "Empaquetat per %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "(C)" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -408,22 +414,22 @@ msgstr "" "\n" "Informeu dels errors a <%s>.\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Informeu %s errors a: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s pàgina inicial <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s pàgina inicial: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Ajuda general per quan es fa servir programari de GNU: " -msgstr "No se suporta la versió del format incremental: %" +msgstr "No s'admet la versió del format incremental: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Directori d'abocament mal format: s'esperava «%c» i s'ha trobat %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Directori d'abocament mal format: «X» duplicada" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Directori d'abocament mal format: nom buit a «R»" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Directori d'abocament mal format: «T» no està  precedit de «R»" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Directori d'abocament mal format: nom buit a «T»" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Directori d'abocament mal format: s'esperava «%c» però s'ha trobat el final " "de les dades" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Directori d'abocament mal format: no s'ha fet servir «X»" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "No es pot crear el directori temporal fent servir la plantilla %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: No es purga el directori: no se'n pot saber l'estat" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: el directori és en un dispositiu diferent: no es purga" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: S'elimina %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: No es pot esborrar" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: S'ometen" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloc %s: ** Bloc de NULs **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloc %s: ** Final del Fitxer **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "bloc %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Capçalera amb blancs on hi hauria d'haver un valor numèric %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1240,87 +1251,87 @@ msgstr "" "complement a dos" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "El valor octal de l'arxiu %.*s està fora del rang %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "L'arxiu conté capçaleres amb base 64 que estan esdevenint obsoletes" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "La cadena de signatura %s amb base 64 de l'arxiu està fora del rang %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "El valor amb base 256 de l'arxiu està fora del rang %s " #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "L'arxiu conté %.*s on hi hauria d'haver un valor numèric de tipus %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "El valor %s de l'arxiu està fora del rang %s %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " enllaç cap a %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " tipus de fitxer desconegut %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Enllaç llarg--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Nom Llarg--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Capçalera del volum--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Continua al byte %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Es crea el directori:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Es canvia el nom %s per %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: No es pot canviar el nom a %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Es torna a canviar el nom %s a %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: El fitxer s'ha esborrat abans de poder-lo llegir" @@ -1333,32 +1344,194 @@ msgstr "procés descendent" msgid "interprocess channel" msgstr "canal d'intercomunicació" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Selecció de fixter local:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "afegeix el FITXER a l'arxiu (útil si el nom comença per un guió)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "DIRECTORI" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "Canvia al directori DIRECTORI" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "obté els noms que cal extreure u crear del FITXER" + +#: src/names.c:77 #, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T llegeix els noms acabats en nul, desactivar-ho amb -C" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "deshabilita l'efecte de l'opció --null prèvia" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" +"treu les cometes dels noms dels membres o dels fitxers d'entrada (per " +"defecte)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" +"no treguis les cometes dels noms dels dels membres o dels fitxers d'entrada " +"(per defecte)" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "PATRÓ" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "exclou els fitxers que es donen com un PATRÓ" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "exclou els patrons que es llisten al FITXER" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"exclou el contingut dels directoris que continguin CACHEDIR.TAG, excepte el " +"propi fitxer d'etiquetes" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "exclou tot el que estigui als directoris que continguin CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "exclou els directoris que continguin CACHEDIR.TAG " + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"exclou el contingut dels directoris que contenen el FITXER, excepte el " +"FITXER mateix" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "si existeix, llegeix els patrons exclosos de cada directori del FITXER" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"si existeix, llegeix els patrons exclosos de cada directori i subdirectoris " +"del FITXER" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "exclou tot el que hi hagi al directori que contingui el FITXER" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "exclou els directoris que continguin el FITXER" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "exclou els directoris del sistema de control de versions" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "llegeix els patrons exclosos dels fitxers d'ignorat VCS" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "exclou els fitxers de còpia de seguretat i de blocat" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "incloure els subdirectoris (per defecte)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "no baixa automàticament als directoris" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"opcions de concordança de nom de fitxer (afecta tant als patrons de inclusió " +"com als d'exclusió):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "comprova els patrons del començament del nom del fitxer" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" +"comprova els patrons després de qualsevol «/» (per defecte a les exclusions) " + +#: src/names.c:136 +msgid "ignore case" +msgstr "ignora diferències majúscules/minúscules" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "comprova diferències majúscules/minúscules (per defecte)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "fa servir comodins (per defecte a les exclusions)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "concordància exacte a les cadenes" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "els comodins han de concordar amb «/» (per defecte a les exclusions)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "els comodins no concorden amb «/»" + +#: src/names.c:768 msgid "command line" -msgstr "L'ordre %s ha fallat" +msgstr "línia de comandes" -#: src/names.c:378 -#, fuzzy, c-format +#: src/names.c:786 +#, c-format msgid "%s: file list requested from %s already read from %s" -msgstr "%s: la llista de fitxers ja s'ha llegit" +msgstr "%s: la llista de fitxers demanada des de %s ja s'ha llegit des de %s" -#: src/names.c:448 src/checkpoint.c:274 -#, fuzzy, c-format +#: src/names.c:867 src/checkpoint.c:274 +#, c-format msgid "cannot split string '%s': %s" -msgstr "no es pot definir el temps de «%s»" +msgstr "no es pot dividir la cadena «%s»:%s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: la lectura del nom del fixter conté un caràcter nul" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "" "Caràcters de patró de coincidència que es fan servir en noms de fitxers" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1366,57 +1539,56 @@ msgstr "" "Feu servir --wildcards per habilitar els patrons de coincidència, o --no-" "wildcars per eliminar aquest avís." -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: No s'ha trobat a l'arxiu" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: No s'ha trobat cap coincidència a l'arxiu" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "L'etiqueta de l'arxiu no coincideix" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -"No podeu fer servir la opció -C als llistats de fitxer amb --listed-" +"No podeu fer servir l'opció -C als llistats de fitxer amb --listed-" "incremental" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Només podeu fer servit una opció -C amb --listed-incemental" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Ambdues opcions «-%s» i «-%s» necessiten la sortida estàndard" +msgstr "Ambdues opcions «-%s» i «-%s» volen l'entrada estàndard" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Format de fitxer invàlid" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "" "El format de l'arxiu és incompatible perquè requereix característiques de GNU" -#: src/tar.c:264 -#, fuzzy, c-format +#: src/tar.c:265 +#, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -"Estil de citació desconegut «%s». Feu servir «%s --quoting-style=help» per " +"L'estil de citació «%s» és desconegut. Proveu «%s --quoting-style=help» per " "obtenir-ne una llista." -#: src/tar.c:378 -#, fuzzy +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1426,17 +1598,16 @@ msgid "" " tar -tvf archive.tar # List all files in archive.tar verbosely.\n" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -"GNU `tar' desa molts fitxers agrupats en un sol arxiu de cinta o de disc, i " -"pot recuperar fitxers individuals de l'arxiu.\n" +"GNU «tar» agrupa diversos fitxers i els desa en un sol arxiu de cinta o de " +"disc, i pot recuperar fitxers individuals de l'arxiu.\n" "\n" "Exemples:\n" -" tar -cf arxiu.tar foo bar # Crea l'arxiu.tar dels fitxers foo i bar.\n" +" tar -cf arxiu.tar foo bar # Crea l'arxiu.tar amb els fitxers foo i bar.\n" " tar -tvf arxiu.tar # Fa una llista detallada dels fitxers que hi " "ha a l'arxiu.tar.\n" " tar -xf arxiu.tar # Extreu tots els fitxers de l'arxiu.tar.\n" -#: src/tar.c:387 -#, fuzzy +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1458,82 +1629,90 @@ msgstr "" "no simples\n" " never, simple fes sempre còpies de seguretat simples\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Mode d'operació principal:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "Llista els continguts d'un arxiu" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "extreu fitxers d'un arxiu" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "crea un arxiu nou" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "cerca diferències entre un arxiu i el sistema de fitxers" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "afegeix fitxers al final d'un arxiu" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "només afegeix els fitxers més nous que les còpies dins l'arxiu" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "afegeix fitxers tar a un arxiu" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "esborra de l'arxiu (excepte en cintes magnètiques!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "prova l'etiqueta de volum de l'arxiu i surt" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Modificadors d'operació:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "tracta fitxers dispersos de manera eficient" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MENOR]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "estableix la versió del format de dispersió que cal fer servir (implica --" "sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "tracta l'antic format incremental GNU de còpies de seguretat" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "tracta el nou format de còpies de seguretat incrementals de GNU" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "nivell de bolcat per l'arxiu llistat-incremental creat" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "" "no surtis si l'estat és diferent de zero quan trobis fitxers il·legibles " -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1545,145 +1724,155 @@ msgstr "" "extract o --list i quan es dona una llista de fitxers ja sigui a la línia de " "comandes com amb l'opció -T; ENA val 1 per defecte" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "l'arxiu pot buscar-se" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "L'arxiu no pot buscar-se" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "no comprovis el número de dispositiu quan creis arxius incrementals" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "comprova el número de dispositiu quan creis arxius incrementals (per defecte)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Control de sobreescriptura:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "intenta verificar l'arxiu després d'escriure'l" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "eliminar els fitxers després d'afegir-los a l'arxiu" -#: src/tar.c:485 -#, fuzzy +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" -msgstr "no reemplacis els fitxers existents quan els extreguis" +msgstr "" +"no reemplacis els fitxers existents quan els extreguis, tracta'ls com a " +"errors" -#: src/tar.c:488 -#, fuzzy +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" -msgstr "no reemplacis els fitxers existents quan els extreguis" +msgstr "" +"no reemplacis els fitxers existents quan els extreguis, salta-te'ls sense " +"dir res" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "no reemplacis els fitxers existents que siguin més nous que les còpies de " "l'arxiu" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "sobreescriu els fitxers existents quan els extreguis" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "elimina cada fitxer abans d'extreure-hi a sobre" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "buida les jerarquies abans d'extreure el directori" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "conserva les metadades dels directoris existents" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "sobreescriu les metadades dels directoris existents quan s'extreguin (per " "defecte)" -#: src/tar.c:504 -#, fuzzy +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" -msgstr "sobreescriu els fitxers existents quan els extreguis" +msgstr "conserva els enllaços simbòlics a directoris quan els extreguis" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "DIRECTORI" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "crea un subdirectori per evitar tenir fitxers extrets dispersats" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Selecciona la sortida del flux de dades:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "extreu els fitxers a la sortida estàndard" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "COMANDA" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "condueix els fitxers extrets a un altre programa" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "ignora els codis de sortida dels processos fill" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" "tracta els codis de sortida dels processos fills diferents de zero com a " "error" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Gestió dels atributs del fitxer:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "força NOM coma propietari dels fitxers afegits" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "força NOM com a grup pels fitxers afegits" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATA-O-FITXER" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "estableix mtime pels fitxers afegits des de DATA-O-FITXER" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "CANVIS" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "força CANVIS de mode (simbòlic) als fitxers que s'afegeixin" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "MÈTODE" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1693,11 +1882,11 @@ msgstr "" "hores després de llegir-los (MÈTODE='replace'; per defecte) o no posant " "primer les hores(MÈTODE='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "no extreguis la data de modificació dels fitxers" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1705,23 +1894,23 @@ msgstr "" "intenta extreure els fitxers amb el mateix propietari que existeix a l'arxiu " "(per defecte pel superusuari)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" "extreu el fitxer com a tu mateix com a propietari (per defecte pels usuaris " "ordinaris" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "fes servir sempre números pels noms de usuari/grup" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "extreu la informació dels permisos del fitxer (per defecte per al " "superusuari)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1729,16 +1918,14 @@ msgstr "" "fes servir els permisos especificats per l'usuari qua s'extreguin permisos " "de l'arxiu (per defecte per usuaris normals)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" +"els arguments dels membres es llisten en el mateix ordre que els fitxers de " +"l'arxiu" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "el mateix que per -p i -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1746,188 +1933,187 @@ msgstr "" "no modifiquis els temps i els permisos dels directoris extrets fins que " "s'acabi l'extracció" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "cancel·la l'efecte de l'opció --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "ORDRE" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "sentit d'ordenació dels directoris: cap (per defecte) o nom" -#: src/tar.c:578 -#, fuzzy +#: src/tar.c:560 msgid "Handling of extended file attributes:" -msgstr "Gestió dels atributs del fitxer:" +msgstr "Gestió dels atributs extesos del fitxer:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" -msgstr "" +msgstr "Habilita l'ús d'atributs extesos" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" -msgstr "" +msgstr "Deshabilita l'ús d'atributs extesos" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" -msgstr "" +msgstr "MÀSCARA" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" -msgstr "" +msgstr "especifica el patró inclòs per les claus de l'xattr" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" -msgstr "" +msgstr "especifica el patró exclòs per les claus de l'xattr" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" -msgstr "" +msgstr "Habilita l'ús del context SELinux" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" -msgstr "" +msgstr "Deshabilita l'ús del context SELinux" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" -msgstr "" +msgstr "Habilita l'ús dels POSIX ACLs" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" -msgstr "" +msgstr "Deshabilita l'ús dels POSIX ACLs" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Selecció i canvi de dispositiu:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARXIU" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "fes servir el fitxer o dispositiu ARXIU" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "l'arxiu és local encara que tingui dos punts" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "fes servir la COMANDA rmt en comtes de rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "fes servir la COMANDA remota en comptes de rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "especifica la unitat i la densitat" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "crea/llista/extreu arxius de múltiples volums" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "canvia la cinta després d'escriure NÚMERO x 1024 bytes" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "executa seqüència al final de cada cinta (implica -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "fes servir/actualitza el número de volum del FITXER" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Blocs als dispositius:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOCS" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOCS x 512 bytes per registre" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "NÚMERO de bytes per registre, múltiple de 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ignora els blocs posats a zero de l'arxiu (volen dir fi del fitxer)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "refés els blocs mentre els llegeixes (per conductes de 4.2BSD)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Selecció del format de l'arxiu: " -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "crea un arxiu del format especificat" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "El FORMAT és un dels següents" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "format tar de l'antiga versió 7" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "format GNU tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "format GNU tar 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "format POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "format POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "el mateix que pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "el mateix que --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "el mateix que --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "paraula clau[[:]=valor][,paraula clau[[:]=valor]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "controla les paraules clau de pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEXT" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1935,187 +2121,83 @@ msgstr "" "crea l'arxiu amb el nom de volum TEXT. Quan es llista/s'extreu, utilitza " "TEXT com a patró global de noms de volum" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Opcions de compressió:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "utilitza el sufix de l'arxiu per determinar el programa de compressió" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" "no fa servir el sufix de l'arxiu per determinar el programa de compressió" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROGRAMA" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "filtra mitjançant PROGRAMA (ha d'acceptar -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Selecció de fixter local:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "afegeix el FITXER a l'arxiu (útil si el nom comença per un guió)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "Canvia al directori DIRECTORI" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "obté els noms que cal extreure u crear del FITXER" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T llegeix els noms acabats en nul, desactivar-ho amb -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "deshabilita l'efecte del la opció --null prèvia" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "treu les cometes dels noms dels fitxers llegits amb -T (per defecte)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "no treguis les cometes dels noms dels fitxers llegits amb -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "PATRÓ" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "exclou els fitxers que es donen com un PATRÓ" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "exclou els patrons que es llisten al FITXER" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"exclou el contingut dels directoris que continguin CACHEDIR.TAG, excepte el " -"propi fitxer d'etiquetes" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "exclou tot el que estigui als directoris que continguin CACHEDIR.TAG" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "exclou els directoris que continguin CACHEDIR.TAG " - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"exclou el contingut dels directoris que contenen el FITXER, excepte el " -"FITXER mateix" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "exclou tot el que hi hagi al directori que contingui el FITXER" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "exclou els directoris que continguin el FITXER" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "exclou els directoris del sistema de control de versions" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "exclou els fitxers de còpia de seguretat i de blocat" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "no baixa automàticament als directoris" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "queda't al sistema de fitxers local quan creïs l'arxiu" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "incloure els subdirectoris (per defecte)" - -#: src/tar.c:761 -#, fuzzy +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" -msgstr "no treguis les primeres «/» dels noms dels fitxers" +msgstr "no treguis les «/» del començament dels noms dels fitxers" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "segueix els enllaços simbòlics; arxiva i aboca els fitxers als quals apunten" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "segueix els enllaços durs; arxiva i aboca els fitxers als quals es refereix" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "NOM-DEL-MEMBRE" -#: src/tar.c:767 -#, fuzzy +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" -msgstr "comença al membre NOM-DEL MEMBRE de l'arxiu" +msgstr "comença al membre NOM-DEL MEMBRE quan llegeixis l'arxiu" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "desa només els fitxers més nous que DATA-O-FITXER" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATA" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "compara la data i l'hora només quan les dades hagin canviat" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "CONTROL" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "" "fes una còpia de seguretat abans d'esborrar, tria el CONTROL de versions" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "CADENA" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2123,104 +2205,62 @@ msgstr "" "fa una còpia de seguretat abans d'esborrar, substitueix el sufix usual («~» " "si no s'ha definit la variable d'entorn SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Transformacions del nom del fitxer:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "treu NÚMERO components de la capçalera dels noms dels fitxers quan extreu" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "EXPRESSIÓ" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "fes servir l'EXPRESSIÓ de substitució sed per transformar els noms dels " "fitxers" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"opcions de concordança de nom de fitxer (afecta tant als patrons de inclusió " -"com als d'exclusió):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "ignora diferències majúscules/minúscules" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "comprova els patrons del començament del nom del fitxer" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" -"comprova els patrons després de qualsevol «/» (per defecte a les exclusions) " - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "comprova diferències majúscules/minúscules (per defecte)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "fa servir comodins (per defecte a les exclusions)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "concordància exacte a les cadenes" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "els comodins no han de concordar amb «/»" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "els comodins han de concordar amb «/» (per defecte a les exclusions)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Sortida informativa:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "llista els fitxers processats detalladament" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "PARAULA CLAU" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "control d'avisos" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "mostra els missatges de progres cada NÚMERO registres (per defecte 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "ACCIÓ" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "executa ACCIÓ a cada punt de comprovació" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "mostra un missatge si no s'aboquen tots els enllaços" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SENYAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2232,35 +2272,35 @@ msgstr "" "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2. També s'accepta els noms sense " "el prefix SIG" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "mostra l'hora de modificació del fitxer en UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "Mostra l'hora del fitxer amb alta precisió" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "envia la sortida detallada al FITXER" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "mostra el número de bloc de dins l'arxiu a cada missatge" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "demana la confirmació per cada acció" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "mostra els valors per defecte de tar" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" -msgstr "" +msgstr "mostra els intervals vàlids pels camps del fitxer instantània" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2268,33 +2308,33 @@ msgstr "" "quan es llisti o s'extregui, llista tots els directoris que no es " "corresponguin amb el criteri de cerca" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "mostra el nom del fitxer o de l'arxiu després de la transformació" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "ESTIL" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "estableix el nom de l'estil de citació; vegeu més avall una llista de valors " "vàlids per ESTIL" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "més caràcters de cometes des de CADENA" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "deshabilita els caràcters de cometa de la CADENA" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Opcions de compatibilitat:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2302,55 +2342,62 @@ msgstr "" "quan es crea, el mateix que --old-archive; quan s'extreu, el mateix que --no-" "same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Altres opcions:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "desactiva l'ús de certes opcions potencialment perjudicials" -#: src/tar.c:1010 -#, fuzzy +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "«%s» no es pot fer servir amb «%s»" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" -msgstr "No podeu especificar més d'un «-Acdtrux» o d'opció «--test-label»" +msgstr "" +"No podeu especificar més d'una opció «-Acdtrux», «--delete» o «--test-label»" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Opcions de compressió conflictives" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Nom del senyal desconegut: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "No s'ha trobat el fitxer de mostra de la data" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "S'està substituint %s pel format de data desconegut %s" -#: src/tar.c:1140 -#, fuzzy, c-format +#: src/tar.c:1066 +#, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Opció %s: S'està tractant la data «%s» com a %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "filtra l'arxiu a mitjançant %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" -msgstr "Les opcions vàlides per la opció --quoting-style són:" +msgstr "Les opcions vàlides per l'opció --quoting-style són:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2358,191 +2405,195 @@ msgstr "" "\n" "*Aquest* tar va per defecte en:\n" -#: src/tar.c:1330 -#, fuzzy +#: src/tar.c:1253 msgid "Invalid owner or group ID" -msgstr "Propietari invàlid" +msgstr "L'ID del grup o del propietari no és vàlid" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Factor de blocs invàlid" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Longitud de la cinta invàlida" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "valor invàlid del nivell d'increment" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Més d'una data del llindar" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" -msgstr "valor de la versió de la opció de dispersió invalid" +msgstr "valor de la versió de l'opció de dispersió invalid" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "No es permet l'ús de --atime-preserve=«system» en aquesta plataforma" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "El valor --checkpoint no és un enter" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Mode invàlid donat a les opcions" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Número invàlid" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"La opció --preserve es obsoleta, en comptes d'això feu servir --preserve-" -"permissions --preserve-order" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Mida del registre invàlida" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "La mida del registre ha de ser múltiple de %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Nombre d'elements invàlid" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Només es permet una opció --to-command" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Argument de densitat mal format: %s" -#: src/tar.c:2205 -#, fuzzy, c-format +#: src/tar.c:2052 +#, c-format msgid "Unknown density: '%c'" msgstr "Densitat desconeguda: «%c»" -#: src/tar.c:2222 -#, fuzzy, c-format +#: src/tar.c:2069 +#, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" -msgstr "Opcions «-[0-7][lmh]» no suportades per *aquest* tar" +msgstr "Les opcions «-[0-7][lmh]» no són compatibles amb *aquest* tar" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Error en analitzar el número prop de «%s»" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[FITXER]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "No s'ha pogut utilitzar el patró %s " +msgid "non-option arguments in %s" +msgstr "el paràmetre %s no és vàlid per %s" -#: src/tar.c:2389 +#: src/tar.c:2198 #, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "no es pot dividir la cadena «%s»:%s" + +#: src/tar.c:2293 +#, c-format msgid "Old option '%c' requires an argument." -msgstr "L'opció antiga «%c» requereix un argument." +msgstr "L'opció antiga «%c» necessita un argument." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" -msgstr "--occurrence no te sentit sense una llista de fitxers" +msgstr "--occurrence no té sentit sense una llista de fitxers" -#: src/tar.c:2490 -#, fuzzy +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" -msgstr "Per a múltiples arxius de fitxers es requereix l'opció «-M»" +msgstr "Per a múltiples arxius de fitxers es necessita l'opció «-M»" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--level no té sentit sense --listed-incremental" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: l'etiqueta del volum és massa llarga (el limit és %lu byte)" msgstr[1] "%s: l'etiqueta del volum és massa llarga (el limit és %lu bytes)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "No es poden verificar els arxius multi-volum" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "No es poden verificar els arxius comprimits" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "No es poden utilitzar arxius comprimits multi-volum" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "No es poden concatenar arxius comprimits" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option només es pot utilitzar en arxius POSIX" -#: src/tar.c:2560 -#, fuzzy +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" -msgstr "--pax-option només es pot utilitzar en arxius POSIX" +msgstr "--acls només es pot fer servir en arxius POSIX" -#: src/tar.c:2565 -#, fuzzy +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" -msgstr "--pax-option només es pot utilitzar en arxius POSIX" +msgstr "--selinux només es pot utilitzar en arxius POSIX" -#: src/tar.c:2570 -#, fuzzy +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" -msgstr "--pax-option només es pot utilitzar en arxius POSIX" +msgstr "--xattrs només es pot utilitzar en arxius POSIX" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"No es pot deduir el nom del directori de dalt de tot. Establiu-lo " +"explícitament amb l'opció --one-top-level=DIR" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "La llargada del volum no pot ser inferior que la mida del registre" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "S'està refusant covardament crear un arxiu buit" -#: src/tar.c:2669 -#, fuzzy +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" -msgstr "Les opcions «-Aru» son incompatibles amb «-f -»" +msgstr "Les opcions «-Aru» no són compatibles amb «-f -»" -#: src/tar.c:2766 -#, fuzzy +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" -msgstr "Heu d'especificar una opció «-Acdtrux» o «--test-label»" +msgstr "Heu d'especificar una opció «-Acdtrux», «--delete» o «--test-label»" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Se surt amb estat de fallida degut a errors prèvis" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "sentit d'ordenació dels directoris: cap (per defecte), nom o inode" #: src/update.c:87 #, c-format @@ -2592,11 +2643,11 @@ msgid "Malformed extended header: missing newline" msgstr "Capçalera estesa mal formada: falta el salt de línia" #: src/xheader.c:741 -#, fuzzy, c-format +#, c-format msgid "Ignoring unknown extended header keyword '%s'" msgstr "S'ignora la paraula clau desconeguda de la capçalera estesa «%s»" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2605,27 +2656,27 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "La capçalera estesa %s=%s està fora del rang %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Capçalera estesa mal formada: %s=%s invàlid" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Capçalera estesa mal formada: excedeix %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Capçalera estesa mal formada: %s invàlid, delimitador %c inesperat" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Capçalera estesa mal formada: %s invàlid: nombre de valors incorrecte" @@ -2666,7 +2717,7 @@ msgstr "Punt de comprovació d'escriptura %u" msgid "Read checkpoint %u" msgstr "Punt de comprovació de lectura %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2675,72 +2726,76 @@ msgstr "" "paxutils.\n" "Les OPCIONS són:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Opcions de creació de fitxers:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "MIDA" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Crea un fitxer de la MIDA indicada" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Escriu al fitxer amb NOM, en comptes de la sortida estàndard" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Llegeix els noms dels fitxers del FITXER" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T llegeix els noms acabats en nul" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "Omple el fitxer amb el PATRÓ indicat. El PATRÓ és «per defecte» o «zeros»" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Mida d'un bloc per fitxer dispers" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Genera un fitxer dispers. La resta de la línia de comandes indica el mapa " "del fitxer" -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "ÒFSET" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Cerca l'òfset donat abans d'escriure les dades" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Opcions de les estadístiques dels fitxers:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Mostra el contingut de l'estructura stat per cadascun dels fitxers indicats. " "El FORMAT per defecte és:" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Opcions d'execució sincrónica:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "OPCIÓ" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2748,22 +2803,22 @@ msgstr "" "Executa ARGS. Útil amb --checkpoint i i una entre --cut, --append, --touch, " "--unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" "Realitzar les accions donades (mirar avall) quan s'arrivi al punt de " "comprovació NÚMERO" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Defineix la data per a la següent opció --touch" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" "Mostra els punts de comprovació executats i l'estat de sortida de la COMANDA" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2771,176 +2826,172 @@ msgstr "" "Accions d'execució sincrónica. Aquestes son executades quan s'arriba al " "númerode punts de comprovació donat per --checkpoint" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" -"Talla el FITXER a la mida especificada amb la opció --length prèvia (o 0, si " +"Talla el FITXER a la mida especificada amb l'opció --length prèvia (o 0, si " "no s'ha especificat)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" -"Afegeix MIDA bytes al FITXER. MIDA s'ha especificat amb la opció --length " +"Afegeix MIDA bytes al FITXER. MIDA s'ha especificat amb l'opció --length " "prèvia." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Actualitza les hores d'accés i modificació del FITXER" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Executa COMANDA" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Desfés l'enllaç del FITXER" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Mida invàlida: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Número fora de l'abast permés: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Mida negativa: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "Ha fallat la petició d'stat(%s)" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "mida del fitxer sol·licitada %lu, actual %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "el fitxer creat no és dispers" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Error en analitzar el número prop de «%s»" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Format de data desconegut" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGS...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "no es pot obrir «%s»" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "no es pot cercar" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "el nom del fitxer conté un caràcter nul" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -"no es pot generar fitxers dispersos a la sortida estàndard, empreu la opció " +"no es poden generar fitxers dispersos a la sortida estàndard, empreu l'opció " "--file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "màscara incorrecta (prop de «%s»)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Camp desconegut «%s»" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "no es pot definir el temps de «%s»" -#: tests/genfile.c:692 -#, fuzzy, c-format +#: tests/genfile.c:760 +#, c-format msgid "cannot truncate `%s'" -msgstr "no es pot desfer l'enllaç «%s»" +msgstr "no es pot truncar «%s»" -#: tests/genfile.c:701 -#, fuzzy, c-format +#: tests/genfile.c:769 +#, c-format msgid "command failed: %s" -msgstr "L'ordre %s ha fallat" +msgstr "ha fallat la comanda: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "no es pot desfer l'enllaç «%s»" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "La comanda ha finalitzat amb èxit\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "La comanda ha fallat amb estat %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "La comanda ha finalitzat amb la senyal %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "La comanda ha parat amb la senyal %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "La comanda ha abocat l'ànima\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Comanda finalitzada\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat requereix noms de fitxers" -#~ msgid "sort names to extract to match archive" -#~ msgstr "ordena els noms a extreure per que coincideixin amb els de l'arxiu" +#~ msgid "same as both -p and -s" +#~ msgstr "el mateix que per -p i -s" -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" #~ msgstr "" -#~ "--occurrence no es pot utilitzar en el mode d'operació que ha requerit" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "No es pot combinar --listed-incremental amb --newer" - -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "--preserve-order no és compatible amb --listed-incremental" +#~ "L'opció --preserve es obsoleta, en comptes d'això feu servir --preserve-" +#~ "permissions --preserve-order" #~ msgid "Field too long while reading snapshot file" #~ msgstr "Camp massa llarg en llegir el fitxer d'instantània" @@ -2954,9 +3005,22 @@ msgstr "--stat requereix noms de fitxers" #~ msgid "Cannot get working directory" #~ msgstr "No es pot trobar el directori de treball" +#~ msgid "sort names to extract to match archive" +#~ msgstr "ordena els noms a extreure per que coincideixin amb els de l'arxiu" + #~ msgid "Invalid group" #~ msgstr "Grup invàlid" +#~ msgid "--occurrence cannot be used in the requested operation mode" +#~ msgstr "" +#~ "--occurrence no es pot utilitzar en el mode d'operació que ha requerit" + +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "No es pot combinar --listed-incremental amb --newer" + +#~ msgid "--preserve-order is not compatible with --listed-incremental" +#~ msgstr "--preserve-order no és compatible amb --listed-incremental" + #~ msgid "Extended header length is out of allowed range" #~ msgstr "Longitud de la capçalera estesa està fora del rang permès" diff --git a/po/cs.gmo b/po/cs.gmo index 26eba01a7fc916d76330af61e14e7cfa529abcd4..c0a5faef16b2e16214fb138c8ecf951f56865688 100644 GIT binary patch delta 15690 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 diff --git a/po/cs.po b/po/cs.po index 5ba69e48..611553f9 100644 --- a/po/cs.po +++ b/po/cs.po @@ -2,23 +2,24 @@ # Copyright (C) 1997 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. # Vladimir Michl , 1997. -# Petr Pisar , 2009, 2010, 2011, 2013. +# Petr Pisar , 2009, 2010, 2011, 2013, 2014, 2016. # # Pozor: program sám zalamuje dlouhé řádky, ale místo (Å¡irokých) znaků počítá # bajty. Proto je nutné dodržovat nezlomitelné mezery, které program rovněž # respektuje. # # extract → rozbalit (celý archiv), vybalit (některé soubory z archivu) +# member → prvek # tape → páska (rod ženský, vzor žena; ne pásek) # seek offset → pozice posunu (pásky) # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar 1.27\n" +"Project-Id-Version: tar 1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2013-10-07 19:06+0200\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-03-15 20:20+01:00\n" "Last-Translator: Petr Pisar \n" "Language-Team: Czech \n" "Language: cs\n" @@ -27,46 +28,46 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argument %s je pro %s neplatný" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argument %s není pro %s jednoznačný" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Platné argumenty jsou:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: hodnota %s je menší nebo rovna %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: parametr ARGP_HELP_FMT vyžaduje hodnotu" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: parametr ARGP_HELP_FMT musí být kladný" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Neznámý parametr ARGP_HELP_FMT" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Nepořádek v ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -74,146 +75,151 @@ msgstr "" "Povinné nebo volitelné argumenty dlouhých přepínačů jsou rovněž povinné\n" "nebo volitelné u odpovídajících krátkých přepínačů." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Použití:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr "nebo: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [PŘEPÍNAČ…]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Více informací získáte pomocí „%s --help“ nebo „%s --usage“.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "" "Chyby v programu oznamujte na adrese %s (anglicky), připomínky k překladu na " "adrese (česky).\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Neznámá systémová chyba" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "vypíše tuto nápovědu" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "vypíše stručný návod na použití" # JMÉNO jako v přísluÅ¡né položce nápovědy -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "JMÉNO" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "nastaví název programu" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEKUNDY" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "zastaví se na SEKUNDY sekund (implicitně 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "vypíše verzi programu" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(CHYBA PROGRAMU) Verze není známa!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: PříliÅ¡ mnoho argumentů\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(CHYBA PROGRAMU) Přepínač by měl být znám!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "chyba zápisu" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: přepínač „%s“ není jednoznačný; možnosti:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: přepínač „%s“ není jednoznačný\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: přepínač „--%s“ musí být zadán bez argumentu\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: přepínač „%c%s“ musí být zadán bez argumentu\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: přepínač „--%s“ vyžaduje argument\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: nerozpoznaný přepínač „--%s“\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: nerozpoznaný přepínač „%c%s“\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: neplatný přepínač -- „%c“\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: přepínač vyžaduje argument -- %c\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: přepínač „-W %s“ není jednoznačný\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: přepínač „-W %s“ musí být zadán bez argumentu\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: přepínač „-W %s“ vyžaduje argument\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "paměť vyčerpána" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "pracovní adresář nelze si nelze zapamatovat" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "do původního pracovního adresáře se nelze vrátit" @@ -239,11 +245,11 @@ msgstr "do původního pracovního adresáře se nelze vrátit" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "„" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "“" @@ -253,7 +259,7 @@ msgstr "“" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[aAyY].*" @@ -263,16 +269,16 @@ msgstr "^[aAyY].*" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN].*" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Zabaleno kým: %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Zabaleno kým: %s\n" @@ -280,11 +286,11 @@ msgstr "Zabaleno kým: %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -424,7 +430,7 @@ msgstr "" "připomínky k překladu na adrese \n" "(česky).\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" @@ -432,17 +438,17 @@ msgstr "" "Připomínky k překladu (česky) na: \n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Domovská stránka %s: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Domovská stránka programu %s: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Obecná pomoc při používání softwaru GNU: \n" @@ -519,21 +525,21 @@ msgstr[0] "%s: Zapsáno pouze %lu z %lu bajtu" msgstr[1] "%s: Zapsáno pouze %lu z %lu bajtů" msgstr[2] "%s: Zapsáno pouze %lu z %lu bajtů" -# member name je část cesty názvy souboru +# member names jsou názvy souborů v archivu #: lib/paxnames.c:140 #, c-format msgid "Removing leading `%s' from member names" -msgstr "Odstraňuje se úvodní „%s„ z názvů prvků" +msgstr "Odstraňuje se úvodní „%s“ z názvů prvků" #: lib/paxnames.c:141 #, c-format msgid "Removing leading `%s' from hard link targets" -msgstr "Odstraňuje se úvodní „%s„ z cílů pevného odkazu" +msgstr "Odstraňuje se úvodní „%s“ z cílů pevného odkazu" -# member name je část cesty názvy souboru +# member name je název souboru v archivu #: lib/paxnames.c:154 msgid "Substituting `.' for empty member name" -msgstr "Prázdný prvek názvu se nahradí „.“" +msgstr "Prázdný název prvku se nahradí „.“" #: lib/paxnames.c:155 msgid "Substituting `.' for empty hard link target" @@ -613,8 +619,8 @@ msgstr "Neočekávané argumenty" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Ovládá páskovou jednotku přijímaje příkazy ze vzdáleného procesu" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "ČÍSLO" @@ -622,10 +628,11 @@ msgstr "ČÍSLO" msgid "set debug level" msgstr "nastaví úroveň ladění" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "SOUBOR" @@ -638,7 +645,7 @@ msgstr "nastaví název souboru pro výstup ladění" msgid "cannot open %s" msgstr "„%s“ nelze otevřít" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "příliÅ¡ mnoho argumentů" @@ -647,67 +654,66 @@ msgstr "příliÅ¡ mnoho argumentů" msgid "Garbage command" msgstr "Neznámý příkaz" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Toto pravděpodobně není tar archiv" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Celkem přečteno bajtů" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Celkem zapsáno bajtů" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Celkem smazáno bajtů: %s\n" +msgstr "Celkem smazáno bajtů" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(roura)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "Čtení obsahu archivu z terminálu se zamítá (nechybí přepínač -f?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "Zápis obsahu archivu do terminálu se zamítá (nechybí přepínač -f?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Chybná hodnota pro velikost záznamu" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Název archivu nebyl zadán" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Stdin/Stdout archiv nelze ověřit" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Archiv je komprimován. Použijte přepínač %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Komprimovaný archiv nelze aktualizovat" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Páska na začátku, končím" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "PříliÅ¡ mnoho chyb, končím" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -715,7 +721,7 @@ msgstr[0] "Velikost záznamu = %'lu blok" msgstr[1] "Velikost záznamu = %'lu bloky" msgstr[2] "Velikost záznamu = %'lu bloků" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -723,37 +729,37 @@ msgstr[0] "Nezarovnaný blok (%'lu bajt) v archivu" msgstr[1] "Nezarovnaný blok (%'lu bajty) v archivu" msgstr[2] "Nezarovnaný blok (%'lu bajtů) v archivu" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "V archivu se nelze vrátit, bez -i může být nečitelný" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek se nezastavil na hranici záznamu" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: obsahuje neplatné číslo svazku" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "U čísla svazku nastalo přetečení" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Připravte svazek #%d pro archiv %s a stiskněte return:" -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Místo uživatelské odpovědi byl zadán konec souboru" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "VAROVÁNÍ: Archiv je nekompletní" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -764,65 +770,65 @@ msgstr "" " q Ukončit program tar\n" " y nebo odřádkování Pokračovat v operaci\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Vytvořit podshell\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Vypsat tuto nápovědu\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Není nový svazek; končím.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Název souboru nebyl zadán. Zkuste to znovu.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Neplatný vstup. Nápovědu obdržíte napsáním „?“ (otazníku).\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "příkaz %s selhal" -#: src/buffer.c:1491 -#, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s možná pokračuje na tomto svazku: hlavička obsahuje zkrácený název" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s nepokračuje na tomto svazku" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s možná pokračuje na tomto svazku: hlavička obsahuje zkrácený název" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s je Å¡patné délky (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Tento svazek není je mimo pořadí (%s − %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Pro vyhodnocení vzorku %s musí být archiv pojmenován" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Svazek %s neodpovídá vzorku %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -830,7 +836,7 @@ msgstr "" "%s: název souboru je příliÅ¡ dlouhý, aby byl uložen do vícesvazkové hlavičky " "GNU, bude zkrácen" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "zápis neskončil na konci hranice bloku" @@ -842,20 +848,20 @@ msgstr[0] "Bylo možné načíst pouze %'lu z %'lu bajtu" msgstr[1] "Bylo možné načíst pouze %'lu z %'lu bajtů" msgstr[2] "Bylo možné načíst pouze %'lu z %'lu bajtů" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Obsahy se liší" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Neočekávaný konec archivu" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Typ souboru se liší" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Práva se liší" @@ -871,7 +877,7 @@ msgstr "GID se liší" msgid "Mod time differs" msgstr "Čas poslední modifikace se liší" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Velikost se liší" @@ -880,37 +886,37 @@ msgstr "Velikost se liší" msgid "Not linked to %s" msgstr "Není odkazem na %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Symbolický odkaz se liší" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Číslo zařízení se liší" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Ověřuji " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Neznámý typ souboru „%c“, porovnáván jako normální soubor" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Archiv obsahuje názvy souborů, kterým byly odstraněny předpony." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Archiv obsahuje transformované názvy souborů." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Při kontrole může selhat nalezení původních souborů." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" @@ -918,46 +924,46 @@ msgstr[0] "SELHÁNÍ KONTROLY: zjiÅ¡těna %d chybná hlavička" msgstr[1] "SELHÁNÍ KONTROLY: zjiÅ¡těny %d chybné hlavičky" msgstr[2] "SELHÁNÍ KONTROLY: zjiÅ¡těno %d chybných hlaviček" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Osiřelý nulový blok na pozici %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: obsahuje značku keÅ¡e adresáře %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "hodnota %s typu %s je mimo rozsah %s..%s; nahrazuji za %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "hodnota %s typu %s je mimo rozsah %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Generuji záporné osmičkové hlavičky" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: název souboru je příliÅ¡ dlouhý (max. %d); nezpracován" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: název souboru je příliÅ¡ dlouhý (nelze jej rozdělit); nezpracován" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: název odkazu je příliÅ¡ dlouhý; nezpracován" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -965,55 +971,55 @@ msgstr[0] "%s: Soubor je kratší o %s bajt; Doplňuji nulami." msgstr[1] "%s: Soubor je kratší o %s bajty; Doplňuji nulami." msgstr[2] "%s: Soubor je kratší o %s bajtů; Doplňuji nulami." -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: soubor je na jiném souborovém systému; nearchivován" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "obsah nezpracován" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Neznámý typ souboru; soubor ignorován" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Chybí odkazy na %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: soubor není změněn; neaktualizován" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: soubor je archiv; nearchivován" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "adresář nezpracován" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: soubor byl během čtení změněn" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: soket ignorován" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: dveře ignorovány" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Přeskakuji na další hlavičku" @@ -1031,54 +1037,54 @@ msgstr "%s: nemožně stará časová značka %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: časová značka %s je %s s v budoucnosti" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Neočekávaná inkonzistence, při vytváření adresáře" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "%s: existující soubor se přeskakuje" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Adresář byl přejmenován dříve, než bylo možné získat jeho stav" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Souvisle uložené soubory rozbaluji jako obyčejné soubory" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Zkouším rozbalit symbolické odkazy jako pevné odkazy" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Nelze rozbalit – soubor je pokračováním jiného svazku" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Neočekávaná hlavička dlouhého názvu" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Neznámý typ souboru „%c“, rozbalen jako normální soubor" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Současný soubor %s je novější nebo stejně starý" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Tento soubor nebylo možné zálohovat" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "%s nelze přejmenovat na %s" @@ -1128,16 +1134,16 @@ msgstr "Neplatné číslo i-uzlu" msgid "%s: byte %s: %s %.*s... too long" msgstr "%s: bajt %s: %s %.*s… je příliÅ¡ dlouhý" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Neočekávaný konec souboru snímku" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "%s: bajt %s: %s %s je následován neplatným bajtem 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" @@ -1146,200 +1152,200 @@ msgstr "" "%s: bajt %s: (platný rozsah %s–%s)\n" "\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "%s: bajt %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "%s: bajt %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Chybí uzávěr záznamu" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Chybný formát přírůstkového souboru" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Nepodporovaná verze přírůstkového formátu: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "PoÅ¡kozený dumpdir: očekáváno „%c“, ale nalezeno %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "PoÅ¡kozený dumpdir: „X“ duplikováno" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "PoÅ¡kozený dumpdir: prázdný název v „R“" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "PoÅ¡kozený dumpdir: „R“ není před „T“" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "PoÅ¡kozený dumpdir: prázdný název v „T“" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "PoÅ¡kozený dumpdir: očekáváno „%c“, ale zjiÅ¡těn konec dat" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "PoÅ¡kozený dumpdir: „X“ nebylo nikdy použito" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Podle Å¡ablony %s nelze vytvořit dočasný adresář" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Adresář nebude vyčiÅ¡těn: nelze provést stat()" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: adresář je na jiném zařízení: nebude vyčiÅ¡těn" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Mažu %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Nelze smazat" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Vynechávám" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok NUL **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Konec souboru **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Mezery v hlavičce na místě, kde je očekávána číselná hodnota typu %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" "Osmičková hodnota %.*s typu %s je mimo rozsah; přiřazuji dvojkový complement" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Osmičková hodnota %.*s typu %s je mimo rozsah" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Archiv obsahuje zastaralé base-64 hlavičky" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Base-64 řetězec %s je mimo rozsah typu %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Hodnota base-256 je mimo rozsah typu %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Archiv obsahuje %.*s tam, kde je očekávána číselná hodnota typu %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Hodnota %s typu %s je mimo rozsah %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " odkaz na %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " neznámý souborový typ %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Dlouhý odkaz--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Dlouhý název--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Hlavička svazku--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Pokračováno od %s bajtu--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Vytvářím adresář:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Přejmenovávám %s na %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: nelze přejmenovat na %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Přejmenovávám %s zpět na %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Soubor smazán dříve než mohl být přečten" @@ -1352,30 +1358,186 @@ msgstr "potomek" msgid "interprocess channel" msgstr "meziprocesový kanál" -#: src/names.c:360 +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "Výběr názvu místního souboru:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"zadaný SOUBOR přidá do archivu (užitečné, začíná-li jeho název spojovníkem)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "ADRESÁŘ" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "změní adresář na ADRESÁŘ" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "seznam jmen souborů na rozbalení nebo zabalení získá ze SOUBORU" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T čte názvy zakončené nulovým znakem, zapne --verbatim-files-from" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "zruší účinek předchozího přepínače --null" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" +"odčiní citování (escapování) názvů vstupních souborů nebo prvků (implicitní)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "neodčiní citování (escapování) názvů vstupních souborů nebo prvků" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "-T čte názvy souborů doslovně (přepínače se nezpracovávají)" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "-T považuje názvy souborů začínající pomlčkou za přepínače (výchozí)" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "VZOR" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "vynechá soubory, které odpovídají VZORU" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "vynechá vzorky vyjmenované v SOUBORU" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"vynechá obsah adresářů obsahujících CACHEADR.ZNAČKA, kromě souboru značky " +"samotného" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "vynechá vÅ¡e pod adresáři obsahujícími CACHEADR.ZNAČKA" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "vynechá adresáře obsahující CACHEADR.ZNAČKA" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "vynechá obsah adresářů obsahujících SOUBOR, vyjma SOUBORU samotného" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "čte vzorky na vynechání pro každý adresář ze SOUBORU, pokud existuje" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"čte vzorky na vynechání pro každý adresář a jeho podadresáře ze SOUBORU, " +"pokud existuje" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "vynechá vÅ¡e pod adresáři obsahujícími SOUBOR" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "vynechá adresáře obsahující SOUBOR" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "vynechá adresáře systému správy verzí" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "čte vzorky na vynechání ze souboru ignorací verzovacího systému" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "vynechá soubory záloh a zámků" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "sestupuje rekurzivně do adresářů (implicitní)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "zabrání automatickému sestupu do adresářů" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Přepínače řídicí výběr souborů podle názvu (ovlivňuje vzory jak pro " +"vyloučení, tak pro zahrnutí)" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "vzory se testují název souboru od začátku" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "vzory se testují po každém „/“ (implicitní u vyloučení)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "ignoruje velikost písmen" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "testování je citlivé na velikost (implicitní)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "použije žolíkové znaky (implicitní u vyloučení)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "testuje se přesný řetězec" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "žolíkové znaky zahrnují „/“ (implicitní u vyloučení)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "žolíkové znaky nezahrnují „/“" + +#: src/names.c:768 msgid "command line" msgstr "příkazový řádek" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: seznam souborů požadovaný z %s již načten z %s" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "řetězec „%s“ nelze rozdělit: %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: načtený název souboru obsahuje nulový znak" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "V názvech souborů se nachází žolíkové znaky" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1383,47 +1545,47 @@ msgstr "" "Porovnávání proti žolíkových znaků zapněte pomocí --wildcards, nebo varování " "potlačte prostřednictvím --no-wildcards" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: V archivu nenalezen" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Požadovaný výskyt nebyl v archivu nalezen" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Název archivu se neodpovídá" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Použití přepínače -C uvnitř seznamu souborů není spolu s --listed-" "incremental dovoleno" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "S --listed-incremental je dovolen pouze jediný přepínač -C" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Oba dva přepínače „-%s“ a „-%s“ chtějí standardní vstup" +msgstr "Oba dva přepínače „%s“ a „%s“ chtějí standardní vstup" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Neplatný formát archivu" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "GNU rozšíření požadovány na nekompatibilním formátu archivu" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1431,7 +1593,7 @@ msgstr "" "Neznámý styl citování „%s“. Seznam stylů lze získat příkazem „%s --quoting-" "style=help“." -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1450,7 +1612,7 @@ msgstr "" "tar.\n" " tar -xf archiv.tar # Rozbalí vÅ¡echny soubory z archiv.tar.\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1472,79 +1634,87 @@ msgstr "" " existují, jinak tvoří jednoduché\n" " never, simple tvoří vždy jednoduché záložní kopie souborů\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Hlavní operační režim:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "vypíše obsah archivu" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "vybalí soubory z archivu" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "vytvoří nový archiv" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "hledá rozdíly mezi archivem a systémem souborů" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "připojí soubory na konec archivu" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "připojí jen takové soubory, které jsou novější nežli kopie v archivu" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "připojí k archivu tarové soubory" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "smaže z archivu (ne na magnetických páskách!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "otestuje jmenovku archivního svazku a skončí" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Operační modifikátory:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "zachází s řídkými soubory efektivně" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "TYP" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "technika rozpoznávání děr" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "HLAVNÍ[.VEDLEJŠÍ]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "nastaví verzi řídkého formátu (implikuje --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "zpracuje přírůstkové zálohy starého formátu GNU" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "zpracuje přírůstkové zálohy nového formátu GNU" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "úroveň výpisu pro vytvářený archiv s přírůstkovým seznamem" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "neskoční nenulovým kódem při nečitelných souborech" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1556,137 +1726,146 @@ msgstr "" "--list a jen když je zadán seznam souborů na příkazovém řádku nebo přes " "přepínač -T; implicitní ČÍSLO je 1" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "v archivu se lze posunovat" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "v archivu se lze posunovat" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "při vytváření přírůstkových archivů se nekontrolují čísla zařízení" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "při vytváření přírůstkových archivů se kontrolují čísla zařízení (implicitní)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Ovládání přepisování:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "pokusí se zkontrolovat archiv po té, co bude zapsán" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "odstraní soubory po té, co budou přidány do archivu" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "při rozbalovaní nenahrazuje existující soubory, považuje je za chyby" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "při rozbalovaní nenahrazuje existující soubory, potichu je přeskočí" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "nenahrazuje existující soubory, které jsou novější než jejich archivní kopie" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "při rozbalování existující soubory přepisuje" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "před vybalením každého souboru jej odstraní" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "před vybalením adresáře vytvoří prázdnou hierarchii" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "zachovává metadata existujících adresářů" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "při rozbalování přepisuje metadata existujících adresářů (implicitní)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "při rozbalování zachovává existující symbolické odkazy na adresáře" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "ADRESÁŘ" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "vytvoří podadresář, aby zabránil vzniku volných souborů" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Výběr výstupního proudu:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "soubory vybaluje na standardní výstup" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "PŘÍKAZ" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "vybalené soubory poÅ¡le rourou jinému programu" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "ignoruje návratový kód potomků" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "nenulový návratový kód potomků považuje za chybu" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Zacházení s atributy souborů:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "vynutí JMÉNO jako vlastníka vkládaných souborů" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "vynutí JMÉNO jako skupinu vkládaných souborů" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "použije SOUBOR k převodu UID a jmen vlastníků souborů" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "použije SOUBOR k převodu GID a jmen vlastníků souborů" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATUM_NEBO_SOUBOR" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "nastaví čas změny obsahu vkládaných souborů podle DATA_NEBO_SOUBORU" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "ZMĚNY" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "vynutí (symbolický) mód ZMĚN (přístupová práva) vkládaným souborům" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METODA" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1696,11 +1875,11 @@ msgstr "" "(METODA=„REPLACE“; implicitní), nebo nenastavením časů v prvním pořadí " "(METODA=„system“)" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "nevybaluje čas změny obsahu souboru" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1708,19 +1887,19 @@ msgstr "" "pokusí se vybalit soubory se stejným vlastníkem jako je uveden v archivu " "(výchozí pro superuživatele)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "rozbaluje soubory pod vaší identitou (výchozí pro běžného uživatele)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "pro jména uživatel/skupin vždy použije čísla" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "vybaluje informace o právech souborů (implicitní pro superuživatele)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1728,16 +1907,12 @@ msgstr "" "při vybalování práv z archivu použije uživatelovu umask (implicitní pro " "běžné uživatele)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "argumenty prvku se vypisují ve stejném pořadí jako soubory v archivu" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "stejné jako -p -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1745,187 +1920,187 @@ msgstr "" "pozdrží nastavení časů modifikace a práv rozbalovaných adresářů až do " "dokončení rozbalování" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "zruší účinek přepínače --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "POŘADÍ" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "pořadí řazení adresářů: none (žádné, výchozí) nebo name (název)" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Zacházení s rozšířenými atributy souborů:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Zapne podporu rozšířených atributů" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Vypne podporu rozšířených atributů" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "MASKA" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "určuje vzor klíčů rozšířených atributů k zahrnutí" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "určuje vzor klíčů rozšířených atributů k vyloučení" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "Zapne podporu pro kontext SELinuxu" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "Vypne podporu pro kontext SELinuxu" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "Zapne podporu pro posixové ACL" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "Vypne podporu pro posixové ACL" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Výběr a přepínání zařízení:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARCHIV" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "pro archiv požije soubor zařízení ARCHIV" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "soubor archivu je místní, i když obsahuje dvojtečku" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "namísto příkazu rmt použije PŘÍKAZ" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "namísto rsh použije PŘÍKAZ" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "určuje mechaniku a hustotu" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "vytvoří/vypíše/rozbalí vícesvazkový archiv" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "po zapsaní ČÍSLO × 1024 bajtů vymění pásku" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "na konci každé pásky spustí skript (implikuje -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "použije/aktualizuje číslo svazku v SOUBORU" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Bloky zařízení:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOKY" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOKÅ® × 512 bajtů na záznam" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "ČÍSLO bajtů na záznam, násobek 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "v archivu ignoruje vynulované bloky (znamená EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "předělat bloky v průběhu čtení (pro roury na BSD 4.2)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Výběr formátu archivu:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMÁT" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "vytvoří archiv daného formátu" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMÁT je jeden z následujících:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "starý formát taru V7" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "formát taru GNU <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "formát taru GNU 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "formát POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "formát POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "stejné jako pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "stejné jako --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "stejné jako --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "klíčové_slovo[[:]=hodnota][,klíčové_slovo[[:]=hodnota]]…" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "řídicí klíčová slova paxu" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEXT" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1933,185 +2108,83 @@ msgstr "" "vytvoří archiv s názvem svazku TEXT; při výpisu/rozbalení použije TEXT jako " "vzor se zástupnými symboly pro název svazku" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Přepínače komprese:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "kompresní program určí podle přípony archivu" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "kompresní program neurčí podle přípony archivu" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROGRAM" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "archiv protáhne PROGRAMEM (musí znát -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Výběr místního souboru:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"zadaný SOUBOR přidá do archivu (užitečné, začíná-li jeho název spojovníkem)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "změní adresář na ADRESÁŘ" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "seznam jmen souborů na rozbalení nebo zabalení získá ze SOUBORU" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T čte názvy zakončené nulovým znakem, vypne -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "zruší účinek předchozího přepínače --null" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "" -"odčiní citování (escapování) názvů souboru načtených přes -T (implicitní)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "nezruší citování (escapování) názvů souboru načtených přes -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "VZOR" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "vynechá soubory, které odpovídají VZORU" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "vynechá soubory vyjmenované v SOUBORU" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"vynechá obsah adresářů obsahujících CACHEADR.ZNAČKA, kromě souboru značky " -"samotného" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "vynechá vÅ¡e pod adresáři obsahujícími CACHEADR.ZNAČKA" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "vynechá adresáře obsahující CACHEADR.ZNAČKA" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "vynechá obsah adresářů obsahujících SOUBOR, vyjma SOUBORU samotného" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "vynechá vÅ¡e pod adresáři obsahujícími SOUBOR" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "vynechá adresáře obsahující SOUBOR" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "vynechá adresáře systému správy verzí" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "vynechá soubory záloh a zámků" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "zabrání automatickému sestupu do adresářů" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "při tvorbě archivu se zdrží v místním systému souborů" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "sestupuje rekurzivně do adresářů (implicitní)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "neodstraní z názvů souborů úvodní „/“" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "následuje symbolické odkazy; archivuje a vybaluje soubory, na které je " "odkazováno" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "následuje pevné odkazy; archivuje a vybaluje soubory, na které je odkazováno" # část cesty (adresář) -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "SLOŽKA_NÁZVU" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "čtení archivu začne na složce SLOŽKA_NÁZVU" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "ukládá jen soubory novější než DATUM_NEBO_SOUBOR" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATUM" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "při změně dat porovná datum i čas" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "STRATEGIE" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "před odstraněním vytvoří záložní kopii za použití STRATEGIE" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "ŘETĚZEC" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2119,97 +2192,59 @@ msgstr "" "před odstraněním vytvoří záložní kopii, potlačí obvyklou příponu („~“, není-" "li uvedeno jinak v proměnné prostředí SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Transformace názvů souborů:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "při rozbalování odřízne ČÍSLO úvodních složek z názvů souborů" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "VÝRAZ" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "názvy souborů transformuje pomocí nahrazovacího VÝRAZU sedu" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Přepínače řídicí výběr souborů podle názvu (ovlivňuje vzory jak pro " -"vyloučení, tak pro zahrnutí)" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "ignoruje velikost písmen" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "vzory se testují název souboru od začátku" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "vzory se testují po každém „/“ (implicitní u vyloučení)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "testování je citlivé na velikost (implicitní)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "použije žolíkové znaky (implicitní u vyloučení)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "testuje se přesný řetězec" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "žolíkové znaky nezahrnují „/“" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "žolíkové znaky zahrnují „/“ (implicitní u vyloučení)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Informativní výstup:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "vypisuje zpracovávané soubory" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "KLÍČOVÉ_SLOVO" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "řídí varování" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "zobrazuje zprávy o postupu každých ČÍSLO. záznam (implicitně 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "AKCE" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "v každém kontrolním bodu vykoná AKCI" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "hlásí, že nebyly zpracovány vÅ¡echny odkazy" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNÁL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2220,35 +2255,35 @@ msgstr "" "hlášení, až bude doručen SIGNÁL; Povolené signály jsou SIGHUP, SIGQUIT, " "SIGINT, SIGUSR1 a SIGUSR2; názvy bez předpony SIG jsou rovněž přípustné" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "časy změn obsahu souborů vypisuje v UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "časy souborů vypisuje v plném znění" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "informativní výstup poÅ¡le do SOUBORU" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "každou zprávu opatří číslem bloku uvnitř archivu" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "na každou akcí žádá potvrzení" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "zobrazí implicitní argumenty taru" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "zobrazí platné rozsahy pro položky souborů snímků" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2256,31 +2291,31 @@ msgstr "" "při vypisování nebo rozbalování zobrazí každý adresář, který neodpovídá " "vyhledávacím podmínkám" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "zobrazuje názvy souborů a archivů po transformaci" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STYL" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "nastaví styl citování názvů; platné hodnoty STYLÅ® nalezte níže" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "cituje navíc znaky z ŘETĚZCE" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "zakáže citování znaků z ŘETĚZCE" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Přepínače pro kompatibilitu" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2288,15 +2323,22 @@ msgstr "" "při vytváření archivu má stejný význam jako --old-archive, při rozbalování " "jako --no-same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Další přepínače:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "zakáže použití některých potenciálně nebezpečných přepínačů" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "Přepínač „%s“ nelze použít s „%s“" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" @@ -2304,40 +2346,40 @@ msgstr "" "Nemůže být zadán více jak jeden přepínač z „-Acdtrux“, „--delete“ nebo „--" "test-label“" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Odporující si kompresní přepínače" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Neznámý název signálu: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Soubor, ze kterého se má vzít datum a čas, nebyl nalezen" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Datum neznámého formátu %2$s nahrazuji %1$s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Přepínač %s: S datem „%s“ bude zacházeno jako s %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "archiv protáhne skrze filtr %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Pro přepínač --quoting-style jsou platné argumenty:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2345,115 +2387,120 @@ msgstr "" "\n" "Implicitní přepínače *tohoto* taru:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "Neplatné ID vlastníka nebo skupiny" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Neplatný počet bajtů na záznam" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Neplatná délka pásky" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Chybná hodnota úrovně přírůstku" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Více než jedeno počáteční datum" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Neplatná hodnota verze řídkého formátu" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' není na této platformě podporován" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "hodnota --checkpoint není celé číslo" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Zadána chybná práva" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Neplatné číslo" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"Přepínač --preserve je zastaralý, místo něj používejte --preserve-" -"permissions --preserve-order" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Chybná velikost záznamu" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Velikost záznamu musí být násobek %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Neplatný počet prvků" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Povolen je jen jeden přepínač --to-command" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Neplatný argument hustoty: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Neznámá hustota: „%c“" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Přepínače „-[0-7][lmh]“ nejsou *tímto* tarem podporovány" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: umístění chyby" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "Chyba při rozebírání %s" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[SOUBOR]…" -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Přepínač --%s nelze použít s %s" +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "nepřepínačový argument v %s" -#: src/tar.c:2389 +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "TAR_OPTIONS nelze rozdělit: %s" + +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "Starý přepínač „%c“ vyžaduje argument." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "bez seznamu souborů nemá --occurrence smysl" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Více archivačních souborů vyžaduje přepínač „-M“" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--level bez --listed-incremental postrádá smysl" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2461,70 +2508,78 @@ msgstr[0] "%s: Název svazku je příliÅ¡ dlouhý (limit je %'lu bajt)" msgstr[1] "%s: Název svazku je příliÅ¡ dlouhý (limit je %'lu bajty)" msgstr[2] "%s: Název svazku je příliÅ¡ dlouhý (limit je %'lu bajtů)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Vícesvazkový archiv není možné ověřit" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Komprimovaný archiv nelze ověřit" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Vícesvazkový komprimovaný archiv nelze vytvořit" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Komprimované archivy nelze zřetězit" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "Přepínač --pax-option lze použít jen na posixových archivech" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "Přepínač --acls lze použít jen na posixových archivech" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "Přepínač --selinux lze použít jen na posixových archivech" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "Přepínač --xattrs lze použít jen na posixových archivech" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Název vrcholového adresáře nelze odvodit; prosím, zadejte jej explicitně " +"pomocí --one-top-level=ADRESÁŘ" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Délka svazku nemůže být kratší než délka záznamu" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Vytvoření prázdného archivu odmítnuto." -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Přepínače „-Aru“ jsou neslučitelné s přepínačem „-f -“" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "Musíte zadat jeden z přepínačů „-Acdtrux“, „--delete“ nebo „--test-label“" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Končí se chybovým kódem, protože byly zaznamenány chyby" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" +"pořadí řazení adresářů: none (žádné, výchozí), name (název) nebo inode " +"(iuzel)" #: src/update.c:87 #, c-format @@ -2579,7 +2634,7 @@ msgstr "Chybná rozšířená hlavička: chybí odřádkování" msgid "Ignoring unknown extended header keyword '%s'" msgstr "Ignoruje se neznámé klíčové slovo „%s“ rozšířené hlavičky" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2588,27 +2643,27 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "%s=%s v rozšířené hlavičce je mimo rozsah %s–%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Chybná rozšířená hlavička: %s=%s není platné" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Chybná rozšířená hlavička: nadbytečná %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Chybná rozšířená hlavička: neplatný %s: neočekávaný oddělovač %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Chybná rozšířená hlavička: neplatný %s: lichý počet hodnot" @@ -2649,7 +2704,7 @@ msgstr "Kontrolní bod zápisu %u" msgid "Read checkpoint %u" msgstr "Kontrolní bod čtení %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2657,69 +2712,73 @@ msgstr "" "genfile pracuje s datovými soubory testovacího balíku GNU paxutils.\n" "PŘEPÍNAČE jsou:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Přepínače tvorby souboru:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "VELIKOST" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Vytvoří soubor zadané VELIKOSTI" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Místo na standardní výstup píše do souboru JMÉNO" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Názvy souborů čte ze SOUBORU" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T čte názvy zakončené nulovými znaky" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "Vyplní soubor zadaným VZOREM. VZOR je „default“ (výchozí) nebo „zeros“ (nuly)" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Velikost bloku pro řídké soubory" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "Vytvoří řídký soubor. Zbytek příkazové řádku definuje mapu souboru." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "POZICE" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Před zápisem dat se přesune na zadanou POZICI" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Přepínače statistiky souboru:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "U každého zadaného souboru vypíše obsah struktury stat. Implicitní FORMÁT je:" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Přepínače synchronního vykonávání:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "PŘEPÍNAČ" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2727,19 +2786,19 @@ msgstr "" "Provede ARGUMENTY. Užitečné s --checkpoint a jedním z --cut, --append, --" "touch, --unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "Provede zadanou akci (vizte níže) při dosažení kontrolního bodu ČÍSLO" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Nastaví datum pro následující přepínač --touch" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Zobrazuje prováděné kontrolní body a návratové kódy PŘÍKAZU" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2747,7 +2806,7 @@ msgstr "" "Synchronní vykonávání akcí. Tyto budou provedeny, když bude dosaženo číslo " "kontrolního bodu zadaného přepínačem --checkpoint." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2755,154 +2814,164 @@ msgstr "" "Zkrátí SOUBOR na velikost zadanou předchozím přepínačem --length (nebo na 0, " "není-li uveden)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "K SOUBORU připojí VELIKOST bajtů. VELIKOST se zadává předcházejícím " "přepínačem --length." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Aktualizuje časy přístupu a změny obsahu SOUBORU" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Vykoná PŘÍKAZ" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Smaže (unlink) SOUBOR" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Neplatná velikost: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Číslo je mimo povolený rozsah: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Záporná velikost: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) selhalo" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "požadovaná délka souboru %'lu, aktuální %'lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "vytvořený soubor není řídký" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Chyba při rozebírání čísla poblíž „%s“" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Neznámý formát data" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGUMENT…]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "„%s“ nelze otevřít" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "v souboru se nelze pohybovat" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "název souboru obsahuje nulový znak" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "na standardní výstup nelze generovat řídké soubory, použijte přepínač --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "nesprávná maska (poblíž „%s“)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Neznámá položka „%s“" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "Souboru „%s“ nelze nastavit čas" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "„%s“ nelze zkrátit" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "příkaz selhal: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "„%s“ nelze odstranit (unlink)" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Příkaz skončil úspěšně\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Příkaz selhal s kódem %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Příkaz skončil signálem %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Příkaz pozastaven signálem %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Příkaz skončil výpisem obrazu paměti\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Příkaz ukončen\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat potřebuje název souboru" +#~ msgid "same as both -p and -s" +#~ msgstr "stejné jako -p -s" + +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Přepínač --preserve je zastaralý, místo něj používejte --preserve-" +#~ "permissions --preserve-order" + #~ msgid "--occurrence cannot be used with %s" #~ msgstr "--occurrence nelze použít s %s" diff --git a/po/da.gmo b/po/da.gmo index f08185b483863b4ab58c0d49825d92871965902b..f7f725f1c08ccefc7164631bcb72a10f78a91125 100644 GIT binary patch delta 19710 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 X={c!6-mzD=xxC3gkN2}, 2001. # Keld Jørn Simonsen , 2000-2001,2009,2010. -# Keld Simonsen , 2010-2011. -#: src/create.c:1574 +# Keld Simonsen , 2010-2011, 2015. +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: GNU tar 1.26\n" +"Project-Id-Version: GNU tar 1.28\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2011-04-12 10:18+0100\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2015-04-26 10:18+0200\n" "Last-Translator: Keld Simonsen \n" "Language-Team: Danish \n" "Language: da\n" @@ -21,46 +21,46 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.0\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "ugyldigt argument %s for %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "flertydigt argument '%s' for %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Gyldige argumenter er:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s værdi er mindre eller lig med %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Parameter for ARGP_HELP_FMT kræver en værdi" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: Parameter fra ARGP_HELP_FMT skal være positiv." -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Ukendt ARGP_HELP_FMT-parameter" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Skidt i ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -68,143 +68,148 @@ msgstr "" "Obligatoriske eller valgfri argumenter til lange flag er også obligatoriske " "eller valgfri for alle tilsvarende korte flag." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Brug:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " eller: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [FLAG...]" -#: gnu/argp-help.c:1686 -#, fuzzy, c-format +#: gnu/argp-help.c:1688 +#, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Prøv '%s --help' eller '%s --usage' for mere information.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Rapportér fejl til %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Ukendt systemfejl" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "vis denne hjælpetekst" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "vis en kort hjælpemeddelelse" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NAVN" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "angiv progravnavnet" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEK" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "vent i SEK sekunder (standardværdi 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "vis programversion" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMFEJL) Ingen version kendt!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: For mange argumenter\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMFEJL) Flag burde være genkendt!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "skrivefejl" -#: gnu/getopt.c:549 gnu/getopt.c:578 -#, fuzzy, c-format +#: gnu/getopt.c:575 gnu/getopt.c:604 +#, c-format msgid "%s: option '%s' is ambiguous; possibilities:" -msgstr "%s: flag '%s' er flertydigt\n" +msgstr "%s: flag '%s' er flertydigt; muligheder:" + +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: flag '-W %s' er flertydigt\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: flag '--%s' tillader ikke et argument\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: flag '%c%s' tillader ikke et argument\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: flag '--%s' kræver et argument\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: ukendt flag '--%s'\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: ukendt flag '%c%s'\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ugyldigt flag -- '%c'\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: flag kræver et argument -- '%c'\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: flag '-W %s' er flertydigt\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: flag '-W %s' tillader ikke et argument\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: flag '-W %s' kræver et argument\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "hovedlager opbrugt" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "Kan ikke notere nuværende arbejdskatalog" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "Kan ikke gå tilbage til oprindeligt arbejdskatalog" @@ -230,11 +235,11 @@ msgstr "Kan ikke g #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "'" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "'" @@ -244,7 +249,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[jJyY]" @@ -254,16 +259,16 @@ msgstr "^[jJyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakket af %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Pakket af %s\n" @@ -271,11 +276,11 @@ msgstr "Pakket af %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -411,22 +416,22 @@ msgstr "" "\n" "Rapportér fejl til: %s\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Rapportér %s fejl til: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s hjemmeside: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s hjemmeside: .\n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Generel brugerhjælp for GNU-programmel: .\n" @@ -539,9 +544,9 @@ msgid "Cannot connect to %s: resolve failed" msgstr "Kan ikke opkoble til %s: navneopslag mislykkedes" #: lib/rtapelib.c:502 -#, fuzzy, c-format +#, c-format msgid "Cannot redirect files for remote shell" -msgstr "Kan ikke eksekvere fjern skál" +msgstr "Kan ikke omdirigere filer for fjern skál" #: lib/rtapelib.c:516 #, c-format @@ -592,8 +597,8 @@ msgstr "Uventede argumenter" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Styr en båndstation via accept af kommandoer fra en fjernproces" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "NUMMER" @@ -601,10 +606,11 @@ msgstr "NUMMER" msgid "set debug level" msgstr "sæt fejlsøgningsniveau" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "FIL" @@ -617,7 +623,7 @@ msgstr "s msgid "cannot open %s" msgstr "kan ikke åbne %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "for mange argumenter" @@ -626,111 +632,110 @@ msgstr "for mange argumenter" msgid "Garbage command" msgstr "Ugyldig kommando" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Dette ligner ikke et tar-arkiv" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Totalt antal byte læst" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Totalt antal byte skrevet" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Totalt antal byte slettet: %s\n" +msgstr "Totalt antal byte slettet" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(datakanal)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "Nægter at læse arkivindhold fra terminal (manglende -f-flag?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "Nægter at skrive arkivindhold til terminal (manglende -f-flag?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Ugyldig værdi for record_size" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Arkivnavn er ikke opgivet" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Kan ikke verificere standard-ind/standard-ud arkiver" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Arkivet er komprimeret. Brug flaget %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Kan ikke opdatere komprimerede arkiver" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Ved begyndelsen af båndet, afslutter nu" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "For mange fejl, afslutter" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Poststørrelse = %lu blok" msgstr[1] "Poststørrelse = %lu blokke" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Ikke-justeret blok (%lu byte) i arkiv" msgstr[1] "Ikke-justerede blokke (%lu byte) i arkiv" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Kunne ikke gå tilbage i arkivfilen. Den kan være ulæselig uden -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek stoppede ikke på en postgrænse" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: indeholder ugyldigt delarkivs-nummer" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Overløb på delarkiv-nummer" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Klargør delarkiv nummer %d for %s og tryk retur: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Filafslutning hvor svar fra bruger var forventet" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "ADVARSEL: Arkivet er ufuldstændigt" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -742,66 +747,66 @@ msgstr "" " q Afbryd tar\n" " y eller ny linje Fortsæt handling\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Start en ny skál\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Udskriv denne liste\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Intet nyt delarkiv; afslutter.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Filnavn ikke angivet, prøv igen.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Ugyldigt inddata. Skriv ? for at få hjælp.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "'%s'-kommando mislykkedes" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "%s fortsætter ikke i dette delarkiv" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s fortsættes muligvis i dette delarkiv: hoved indeholder afkortet navn" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "%s fortsætter ikke i dette delarkiv" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s har forkert størrelse (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Dette delarkiv er ude af rækkefølge (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Arkivet er ikke navngivet til at passe med %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Delarkivet '%s' stemmer ikke overens med %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -809,7 +814,7 @@ msgstr "" "%s: filnavnet er for langt til at gemmes i hovedet på et GNU-flerdelarkiv, " "afkortes" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "skrivning stoppede ikke på en blokgrænse" @@ -820,20 +825,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Kunne kun læse %lu af %lu byte" msgstr[1] "Kunne kun læse %lu af %lu byte" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Indhold er forskelligt" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Uventet filslutning i arkivet" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Filtype er forskellig" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Modus er forskellig" @@ -849,7 +854,7 @@ msgstr "Gruppe-ID er forskellig" msgid "Mod time differs" msgstr "Modificeringstid er forskellig" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Størrelse er forskellig" @@ -858,138 +863,138 @@ msgstr "St msgid "Not linked to %s" msgstr "Ikke lænket til %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Symbolsk lænke er forskellig" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Enhedsnummer er forskellig" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Verificér " -#: src/compare.c:473 -#, fuzzy, c-format +#: src/compare.c:477 +#, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Ukendt filtype '%c', diff'et som en almindelig fil" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Arkivet indeholder filnavne med indledende prefixer borttaget." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Arkiv indeholder transformerede filnavne." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Verificering kan mislykkes med at finde originalfiler." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "VERIFICERINGSFEJL: %d ukendt hoved fundet" msgstr[1] "VERIFICERINGSFEJL: %d ukendte hoveder fundet" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "En enkeltstående nulblok ved %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: indeholder et cachekatalog-mærke %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "værdi %s ud af %s interval %s..%s; erstatter %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "værdi %s ud af %s interval %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Genererer negative oktale hoveder" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: filnavnet er for langt (max %d); ikke arkiveret" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: filnavnet er for langt (kan ikke opdeles); ikke arkiveret" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: lænkenavn er for langt; ikke arkiveret" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Filen formindsket med %s byte, fylder ud med nul" msgstr[1] "%s: Filen formindsket med %s byte, fylder ud med nuller" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: fil er på et andet filesystem; ikke arkiveret" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "indholdet ikke arkiveret" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Ukendt filtype; filen blev ignoreret" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Mangler lænke til %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: fil er uændret; ikke arkiveret" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: fil er det samme som arkivet; ikke arkiveret" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "katalog ikke arkiveret" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: Fil ændredes mens vi læste den" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: sokkel ignoreret" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: dør ignoreret" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Hopper til næste hoved" @@ -1007,54 +1012,54 @@ msgstr "%s: usandsynligt gammelt tidsstempel %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: tidsstempel %s er %s sekunder ud i fremtiden" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Uventet uoverensstemmelse ved oprettelse af katalog" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" -msgstr "" +msgstr "%s: skipper eksisterende fil" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Katalog omdøbt før dets status kunne blive udpakket" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Udpakker sammenhængende filer som almindelige filer" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Forsøger at udpakke symbolske lænker som hårde lænker" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Kan ikke udpakke -- filen er fortsat fra et andet delarkiv" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Uventet langt filnavnshoved" -#: src/extract.c:1542 -#, fuzzy, c-format +#: src/extract.c:1587 +#, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Ukendt filtype '%c', udpakket som en almindelig fil" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Nuværende %s er nyere eller lige så gammel" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Kunne ikke sikkerhedskopiere denne fil" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Kan ikke omdøbe %s til %s" @@ -1070,9 +1075,9 @@ msgid "%s: Directory is new" msgstr "%s: Kataloget er nyt" #: src/incremen.c:566 -#, fuzzy, c-format +#, c-format msgid "%s: directory is on a different filesystem; not dumped" -msgstr "%s: fil er på et andet filesystem; ikke arkiveret" +msgstr "%s: katalog er på et andet filesystem; ikke arkiveret" #: src/incremen.c:587 #, c-format @@ -1084,9 +1089,8 @@ msgid "Invalid time stamp" msgstr "Ugyldigt tidsstempel" #: src/incremen.c:1047 -#, fuzzy msgid "Invalid modification time" -msgstr "Ugyldig modifikationstid (sekunder)" +msgstr "Ugyldig modifikationstid" #: src/incremen.c:1057 msgid "Invalid modification time (nanoseconds)" @@ -1103,219 +1107,222 @@ msgstr "Ugyldigt inode-nummer" #: src/incremen.c:1137 #, c-format msgid "%s: byte %s: %s %.*s... too long" -msgstr "" +msgstr "%s: byte %s: %s %.*s... for lang" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Uventet filslutning i øjebliksfil" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" -msgstr "" +msgstr "%s: byte %s: %s %s efterfulgt af ugyldig byte 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" +"%s: byte %s: (gyldigt område %s..%s)\n" +"\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" -msgstr "" +msgstr "%s: byte %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" -msgstr "" +msgstr "%s: byte %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Postafslutning mangler" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Fejlagtigt inkrementelt filformat" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "" "Formatversion for inkrementel sikkerhedskopiering understøttes ikke: " "%" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Fejlagtigt dumpkatalog: forventede \"%c\" men fandt %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Fejlagtigt dumpkatalog: \"X\" duplikeret" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Fejlagtigt dumpkatalog: tomt navn i \"R\"" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Fejlagtigt dumpkatalog: \"T\" foregås ikke af \"R\"" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Fejlagtigt dumpkatalog: tomt navn i \"T\"" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Fejlagtigt dumpkatalog: forventede \"%c\" men fandt slut på data" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Fejlagtigt dumpkatalog: \"X\" bruges aldrig" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "kan ikke oprette midlertidigt katalog ved brug af skabelonen %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Renser ikke katalog: kunne ikke tage status" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: fil er på et andet filesystem: sletter ikke" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Sletter %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "Kan ikke slette %s" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Udelader" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok med NULler **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Slut på fil **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Blank-tegn i hovedet hvor numerisk %s værdi var forventet" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "Oktal værdi %.*s i arkiv er udenfor %s interval; antager to-komplement" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Oktal værdi %.*s i arkiv er udenfor %s interval" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Arkiv indeholder forældede base-64 hoveder" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Base-64 streng med fortegn %s i arkiv er udenfor %s interval" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Base-256 værdi i arkiv er udenfor %s interval" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arkiv indeholder %.*s hvor numerisk %s-værdi var forventet" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Arkiv værdi %s er udenfor %s interval %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " lænke til %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " ukendt filtype %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Lang lænke--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Langt navn--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Delarkivhoved--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Fortsat ved byte %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Opretter katalog:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Omdøber %s til %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Kan ikke omdøbe til %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Omdøber %s tilbage til %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Fil fjernet før vi læste den" @@ -1328,31 +1335,187 @@ msgstr "underproces" msgid "interprocess channel" msgstr "mellemproces-kanal" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Lokalt filvalg:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "tilføj angivet FIL til arkivet (brugbart hvis FIL begynder med \"-\")" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "KATALOG" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "gå til arbejdskatalog KATALOG" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "hent navne at udpakke eller oprette fra FIL" + +#: src/names.c:77 #, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T læser navne adskilt med nultegn, deaktivér -C" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "fjern effekten af foregående --null-flag" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "afcitér inddata fil eller medlemsnavne (standardværdi)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "afcitér ikke inddata fil eller medlemsnavne" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "MØNSTER" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "udelad filer som matcher MØNSTER" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "udelad filer som matcher mønster listet i FIL" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"udelad indholdet i kataloger som indeholder CACHEDIR.TAG, undtagen " +"mærkefilen CACHEDIR.TAG selv" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "udelad alt i kataloger som indeholder CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "udelad kataloger som indeholder CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "udelad indholdet i kataloger som indeholder FIL, undtagen FIL selv" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" +"indlæs ekskluderingsmønstre for hvert katalog fra FIL, hvis den eksisterer" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"indlæs ekskluderingsmønstre for hvert katalog og dets underkataloger fra " +"FIL, hvis den eksisterer" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "udelad alting i kataloger som indeholder FIL" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "udelad kataloger som indeholder FIL" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "udelad kataloger fra versionshåndteringssystemer" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "indlæs ekskluderingsmønstre fra VCS ignoreingsfiler" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "udelad sikkerhedskopier og låsefiler" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "gå rekursivt ned i kataloger (standardværdi)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "gå ikke ned i kataloger automatisk" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Flag for match af filnavne (påvirker både ekskluderings- og " +"inkluderingsmønstre):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "mønstre skal matche med begyndelsen på filnavne" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "mønstre matches efter alle '/'-er (standardværdi ved ekskludering)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "ingen forskel på store og små bogstaver" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "match store og små bogstaver forskelligt (standardværdi)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "brug jokertegn (standardværdi for ekskludering)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "ordret strengsammenligning" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "jokertegn matcher '/' (standardværdi for ekskludering)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "jokertegn matcher ikke '/'" + +#: src/names.c:768 msgid "command line" -msgstr "'%s'-kommando mislykkedes" +msgstr "kommandolinje" -#: src/names.c:378 -#, fuzzy, c-format +#: src/names.c:786 +#, c-format msgid "%s: file list requested from %s already read from %s" -msgstr "%s: filliste allerede læst" +msgstr "%s: filliste forespurgt fra %s allerede læst fra %s" -#: src/names.c:448 src/checkpoint.c:274 -#, fuzzy, c-format +#: src/names.c:867 src/checkpoint.c:274 +#, c-format msgid "cannot split string '%s': %s" -msgstr "kan ikke sætte tid på \"%s\"" +msgstr "kan ikke opsplitte streng '%s': %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: filnavnet som læstes indeholder nultegn" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Mønstermatchningstegn bruges i filnavne" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1360,55 +1523,53 @@ msgstr "" "Brug --wildcards for at aktivere mønstermatchning, eller --no-wildcards for " "at undertrykke denne advarsel" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Ikke fundet i arkivet" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Krævet forekomst blev ikke fundet i arkivet" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Arkivetiket stemmer ikke overrens" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "At bruge -C-flaget i en filliste er ikke tilladt med --listed-incremental" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Kun ét -C-flag er tilladt med --listed-incremental" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Flagene '-%s' and '-%s' vil begge have standard inddata" +msgstr "Flagene '%s' and '%s' vil begge have standard inddata" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: ugyldigt arkivformat" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "GNU-funktioner forsøgt på inkompatibelt arkiv-format" -#: src/tar.c:264 -#, fuzzy, c-format +#: src/tar.c:265 +#, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -"Ukendt citeringsstíl \"%s\". Prøv \"%s --quoting-style=help for at få en " -"liste." +"Ukendt citeringsstíl '%s'. Prøv '%s --quoting-style=help' for at få en liste." -#: src/tar.c:378 -#, fuzzy +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1418,7 +1579,7 @@ msgid "" " tar -tvf archive.tar # List all files in archive.tar verbosely.\n" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -"GNU 'tar' gemmer mange filer sammen i et enkelt disk- eller bånd-arkiv, og " +"GNU 'tar' gemmer mange filer sammen i et enkelt bånd- eller disk-arkiv, og " "kan gendanne individuelle filer fra arkivet.\n" "\n" "Eksempler:\n" @@ -1426,8 +1587,7 @@ msgstr "" " tar -tvf arkiv.tar # Vís alle filer i arkiv.tar udførligt.\n" " tar -xf arkiv.tar # Udpak alle filer fra arkiv.tar.\n" -#: src/tar.c:387 -#, fuzzy +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1440,7 +1600,7 @@ msgid "" msgstr "" "Suffikset for sikkerhedskopiering er '~', med mindre det er sat med --" "suffix\n" -"eller SIMPLE_BACKUP_SUFFIX Versionskontrollen kan sættes med --backup " +"eller SIMPLE_BACKUP_SUFFIX. Versionskontrollen kan sættes med --backup " "eller\n" "VERSION_CONTROL, værdier er:\n" "\n" @@ -1451,81 +1611,89 @@ msgstr "" " ellers simple\n" " never, simple lav altid simple sikkerhedskopier\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Hovedoperationstilstand:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "vis indholdet af et arkiv" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "udpak filer fra et arkiv" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "opret et nyt arkiv" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "find forskelle mellem filsystemet og arkivet" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "tilføj filer til slutningen af et arkiv" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "tilføj kun filer som er nyere end dem i arkivet" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "tilføj indholdet i tar-arkivfiler til et arkiv" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "fjern fra arkivet (ikke på magnetbånd!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "verificér arkivets delarkivnavn og afslut derefter." -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Ændringer til handling:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "håndtér filer med huller effektivt" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "ØVRE[.NEDRE]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "angiv hvilken formatversion som skal håndtere filer med huller (implicerer --" "sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "håndtér det gamle GNU-format for inkrementel sikkerhedskopiering" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "håndtér det nye GNU-format for inkrementel sikkerhedskopiering" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "dumpniveau for \"listed-incremental\" arkiv" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "afslut ikke med fejlslutstatus p.g.a. filer, der ikke kan læses" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1537,141 +1705,148 @@ msgstr "" "og når en liste af filer angives enten på kommandolinjen eller med flaget -" "T. Standardværdi for NUMMER er 1." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "arkivet er søgbart" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "arkivet er ikke søgbart" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "kontrollér ikke enhedsnumre når inkrementelle arkiver oprettes" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "kontrollér enhedsnumre når inkrementelle arkiver oprettes (standardværdi)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Kontrollér overskrivning:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "forsøg at verificere arkivet efter det blev skrevet" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "fjern filer efter de blev tilføjet til arkivet" -#: src/tar.c:485 -#, fuzzy +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" -msgstr "erstat ikke eksisterende filer ved udpakning" +msgstr "erstat ikke eksisterende filer ved udpakning, behandl dem som fejl" -#: src/tar.c:488 -#, fuzzy +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" -msgstr "erstat ikke eksisterende filer ved udpakning" +msgstr "" +"erstat ikke eksisterende filer ved udpakning, skip over dem uden meddelelser" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "erstat ikke eksisterende filer som er nyere end de, som findes i arkivet" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "overskriv eksisterende filer ved udpakning" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "fjern hver eksisterende fil inden en ny udpakkes oven i den" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "tøm kataloghierarkier før udpakning af katalog" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "bevar eksisterende katalogers metadata" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "overskriv metadata for eksisterende kataloger ved udpakning (standardværdi)" -#: src/tar.c:504 -#, fuzzy +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" -msgstr "overskriv eksisterende filer ved udpakning" - -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "KATALOG" +msgstr "bevar eksisterende symlinker til kataloger ved udpakning" -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "lav et underkatalog for at undgå at få løse filer udpakket" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Vælg uddatastrøm:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "udpak filer til standard-ud" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "KOMMANDO" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "udpak filer til standard input til et andet program" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "ignorér barneprocessers slutstatus" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "behandl slutstatus fra barneprocesser bortset fra 0 som fejl" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Håndtering af filattributter:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "sæt NAVN som ejer for tilføjede filer" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "sæt NAVN som gruppe for tilføjede filer" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATO-ELLER-FIL" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "sæt modificeringstid på tilføjede filer fra DATO-ELLER-FIL" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "RETTIGHEDER" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "sæt (symbolske) RETTIGHEDER for tilføjede filer" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METODE" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1681,11 +1856,11 @@ msgstr "" "læsning (METODE=\"replace\", standardværdi) eller ved at ikke sætte tiderne " "overhovedet (METODE=\"system\")" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "udpak ikke filers modificeringstid" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1693,20 +1868,20 @@ msgstr "" "forsøg at udpakke filer til samme ejere som i arkivet (standardværdi for " "superbrugeren)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" "udpak filer med dig selv som ejer (standardværdi for almindelige brugere)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "brug altid tal for bruger- og gruppnavn" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "udpak information om filrettigheder (standardværdi for superbrugeren)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1714,16 +1889,12 @@ msgstr "" "anvend brugerens umask når rettigheder udpakkes fra arkivet (standardværdi " "for almindelige brugere)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" -msgstr "" - -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "samme som både -p og -s" +msgstr "medlemsargumenter er listet i den samme orden som filerne i arkiverne" -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1731,188 +1902,187 @@ msgstr "" "udsæt sætning af modifikationstider og rettigheder på udpakkede kataloger " "til slutningen på arkivudpakningen." -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "fjern effekten af flaget --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "ORDEN" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "orden for katalogsortering: ingen (standardværdi) eller navn" -#: src/tar.c:578 -#, fuzzy +#: src/tar.c:560 msgid "Handling of extended file attributes:" -msgstr "Håndtering af filattributter:" +msgstr "Håndtering af udvidede filattributter:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" -msgstr "" +msgstr "Aktivér understøttelse for udvidede filattributter" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" -msgstr "" +msgstr "Deaktivér understøttelse for udvidede filattributter" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" -msgstr "" +msgstr "MASK" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" -msgstr "" +msgstr "angiv inkluderings-mønsteret for xattr-nøgler" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" -msgstr "" +msgstr "angiv ekskluderings-mønsteret for xattr-nøgler" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" -msgstr "" +msgstr "Aktivér understøttelse for SELinux kontekster" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" -msgstr "" +msgstr "Deaktivér understøttelse for SELinux kontekster" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" -msgstr "" +msgstr "Aktivér understøttelse for POSIX ACL-er" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" -msgstr "" +msgstr "Deaktivér understøttelse for POSIX ACL-er" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Enhedsvalg og enhedsskift:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARKIV" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "brug arkivfil eller enhed ARKIV" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "arkivfilen er lokal selv om navnet har et kolon" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "brug KOMMANDO i stedet for rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "brug ekstern KOMMANDO i stedet for rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "angiv enhed og densitet" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "opret/vis/udpak et flerdelarkiv" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "skift bånd efter at NUMMER x 1024 byte er skrevet" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "kør kommandofil ved slutningen af hvert bånd (flaget -M sættes også)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "brug/opdatér delarkivnummer i FIL" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Blokhåndtering:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOK" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOK x 512 byte per post" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "ANTAL byte per post, deleligt med 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ignorér blok med kun nultegn (betyder filslut)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "lav nye blokke ved læsning (for 4.2BSD-datakanaler)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Valg af arkivformat:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "opret et arkiv med det angivne format" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMAT er et af følgende:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "gammelt V7-format" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "GNU-format for tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "Format fra GNU tar 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) format" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) format" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "samme som pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "samme som --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "samme som --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "nøgleord[[:]=værdi][,nøgleord[[:]=værdi]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "angiv nøgleord for pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEKST" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1920,181 +2090,79 @@ msgstr "" "opret et arkiv med delarkivnavnet TEKST. Ved visning/udpakning er TEKST et " "skálmønster (\"globbing\") for delarkivnavn" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Komprimeringsflag:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "brug arkivsuffix til at bestemme komprimeringsprogrammet" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "brug ikke arkivsuffix til at bestemme komprimeringsprogrammet" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "filtrér med PROG (skal acceptere -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Lokalt filvalg:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "tilføj angivet FIL til arkivet (brugbart hvis FIL begynder med \"-\")" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "gå til arbejdskatalog KATALOG" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "hent navne at udpakke eller oprette fra FIL" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T læser navne adskilt med nultegn, deaktivér -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "fjern effekten af foregående --null-flag" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "afcitér filnavne som blev læst med -T (standardværdi)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "afcitér ikke filnavne som blev læst med -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "MØNSTER" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "udelad filer som matcher MØNSTER" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "udelad filer som matcher mønster listet i FIL" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"udelad indholdet i kataloger som indeholder CACHEDIR.TAG, undtagen " -"mærkefilen CACHEDIR.TAG selv" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "udelad alt i kataloger som indeholder CACHEDIR.TAG" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "udelad kataloger som indeholder CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "udelad indholdet i kataloger som indeholder FIL, undtagen FIL selv" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "udelad alting i kataloger som indeholder FIL" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "udelad kataloger som indeholder FIL" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "udelad kataloger fra versionshåndteringssystemer" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "udelad sikkerhedskopier og låsefiler" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "gå ikke ned i kataloger automatisk" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "skift ikke filsystem når arkivet oprettes" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "gå rekursivt ned i kataloger (standardværdi)" - -#: src/tar.c:761 -#, fuzzy +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" -msgstr "fjern ikke indledende '/' fra filnavne" +msgstr "fjern ikke indledende '/'-er fra filnavne" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "følg symbolske lænker, arkivér filerne de peger på" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "følg hårde lænker, arkivér filerne de peger på" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "MEDLEMSNAVN" -#: src/tar.c:767 -#, fuzzy +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" -msgstr "begynd med medlem MEDLEMSNAVN i arkivet" +msgstr "begynd med medlem MEDLEMSNAVN ved læsning af arkivet" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "arkivér kun filer nyere end DATO-ELLER-FIL" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATO" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "sammenlign kun dato og tid for dataændringer" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "KONTROL" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "lav sikkerhedskopier før fjernelse, vælg type af versionshåndtering" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "STRENG" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2102,102 +2170,60 @@ msgstr "" "lav sikkerhedskopier før fjernelse, erstat den normale sikkerhedskopiendelse " "(\"~\" hvis ikke ændret med miljøvariablen SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Filnavnstransformationer:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "fjern ANTAL indledende komponenter fra filnavne ved udpakning" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "UDTRYK" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "brug sed's erstatnings-UDTRYK for at transformere filnavne" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Flag for match af filnavne (påvirker både ekskluderings- og " -"inkluderingsmønstre):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "ingen forskel på store og små bogstaver" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "mønstre skal matche med begyndelsen på filnavne" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" -"mønstre matches efter \"/\" i filnavne (standardværdi ved ekskludering)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "match store og små bogstaver forskelligt (standardværdi)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "brug jokertegn (standardværdi for ekskludering)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "ordret strengsammenligning" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "jokertegn matcher ikke \"/\"" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "jokertegn matcher \"/\" (standardværdi for ekskludering)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Informativ udskrift:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "vís navne på alle filer som bliver behandlet" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "NØGLEORD" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "advarselskontrol" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "vis forløbsmeddelelser efter hver gruppe af ANTAL poster (standardværdi 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "HANDLING" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "udfør HANDLING ved hvert kontrolpunkt" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "vis en meddelelse hvis ikke alle lænker bliver arkiveret" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2209,35 +2235,35 @@ msgstr "" "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 coh SIGUSR2. Navne uden SIG-præfix " "accepteres også." -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "vis filers modificeringstid i UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "vis fuld opløsning på filtider" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "send informative meddelelser til FIL" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "vis bloknummer i arkivet for hver meddelelse" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "bed om bekræftelse for hver handling" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "vis standardværdier for \"tar\"" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" -msgstr "" +msgstr "vis gyldige områder for felter i snapshot-filer" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2245,31 +2271,31 @@ msgstr "" "ved visning eller udpakning vises hvert katalog som ikke matcher " "søgekriterium" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "vis fil- eller arkivnavne efter transformering" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STÍL" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "sæt citatstíl for navne. Se nedenfor for gyldige værdier på STÍL." -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "citér også tegn i STRENG" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "citér ikke tegn fra STRENG" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Kompatibilitetsflag:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2277,56 +2303,63 @@ msgstr "" "ved oprettelse det samme som --old-archive; ved udpakning det samme som --no-" "same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Andre flag:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "begræns brugen af potentielt farlige flag" -#: src/tar.c:1010 -#, fuzzy +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s: kan ikke bruges med '%s'" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "" -"Du kan ikke angive mere end et af '-Acdtrux' eller `--test-label' flagene" +"Du kan ikke angive mere end ét af '-Acdtrux', --delete eller `--test-label' " +"flagene" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Konflikt i komprimeringsflag" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Ukendt signalnavn: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Tidsfil blev ikke fundet" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Erstatter %s for ukendt dato-format %s" -#: src/tar.c:1140 -#, fuzzy, c-format +#: src/tar.c:1066 +#, c-format msgid "Option %s: Treating date '%s' as %s" -msgstr "Flag %s: Behandler tidsangivelse \"%s\" som %s" +msgstr "Flag %s: Behandler tidsangivelse '%s' som %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "filtrér arkivet igennem %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Gyldige argumenter til flaget --quoting-style er:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2334,192 +2367,197 @@ msgstr "" "\n" "*Denne* tar har standardværdierne:\n" -#: src/tar.c:1330 -#, fuzzy +#: src/tar.c:1253 msgid "Invalid owner or group ID" -msgstr "Ugyldig ejer" +msgstr "Ugyldig ejer eller gruppe-ID" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Ugyldig blokfaktor" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Ugyldig båndlængde" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Fejlagtig værdi for inkrementelt niveau" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Mere end én grænse-dato" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Ugyldig version for filer med huller" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve=\"system\" understøttes ikke på denne platform" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "--checkpoint-værdien er ikke et heltal" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Ugyldig modus angivet i flag" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Ugyldigt nummer" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"Flaget --preserve er forældet, brug --preserve-permissions --preserve-order " -"i stedet" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Ugyldig poststørrelse" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Poststørrelse skal være deleligt med %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Ugyldigt antal elementer" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Kun ét --to-command flag tilladt" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Ugyldig densitetsangivelse: %s" -#: src/tar.c:2205 -#, fuzzy, c-format +#: src/tar.c:2052 +#, c-format msgid "Unknown density: '%c'" msgstr "Ukendt densitet: '%c'" -#: src/tar.c:2222 -#, fuzzy, c-format +#: src/tar.c:2069 +#, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "" "Flagene '-[0-7][lmh]' understøttes ikke af *denne* implementering af tar" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Fejl ved fortolkning af tal nær \"%s\"" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[FIL]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Mønster %s kan ikke bruges" +msgid "non-option arguments in %s" +msgstr "ugyldigt argument %s for %s" -#: src/tar.c:2389 +#: src/tar.c:2198 #, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "kan ikke opsplitte streng '%s': %s" + +#: src/tar.c:2293 +#, c-format msgid "Old option '%c' requires an argument." msgstr "Gammelt flag '%c' behøver et argument." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence er meningsløs uden en filliste" -#: src/tar.c:2490 -#, fuzzy +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Ved flere arkivfiler kræves '-M'-flaget" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--level er meningsløs uden --listed-incremental" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: etiket på delarkiv er for lang (grænse er %lu byte)" msgstr[1] "%s: etiket på delarkiv er for lang (grænse er %lu byte)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Kan ikke verificere arkiv som går over flere delarkiver" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Kan ikke verificere komprimerede arkiver" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Kan ikke bruge komprimerede arkiver som går over flere delarkiver" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Kan ikke sammenlægge (konkatenere) komprimerede arkiver" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option kan kun bruges på POSIX-arkiver" -#: src/tar.c:2560 -#, fuzzy +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" -msgstr "--pax-option kan kun bruges på POSIX-arkiver" +msgstr "--acls kan kun bruges på POSIX-arkiver" -#: src/tar.c:2565 -#, fuzzy +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" -msgstr "--pax-option kan kun bruges på POSIX-arkiver" +msgstr "--selinux kan kun bruges på POSIX-arkiver" -#: src/tar.c:2570 -#, fuzzy +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" -msgstr "--pax-option kan kun bruges på POSIX-arkiver" +msgstr "--xattrs kan kun bruges på POSIX-arkiver" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Kan ikke udlede topniveau-katalognav; sæt det eksplicit med --one-top-" +"level=KAT" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Delarkivlængden kan ikke være mindre end poststørrelsen" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Nægter stædigt at oprette et tomt arkiv" -#: src/tar.c:2669 -#, fuzzy +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Flagene '-Aru' er inkompatible med '-f -'" -#: src/tar.c:2766 -#, fuzzy +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" -msgstr "Du skal angive et af '-Acdtrux' eller '--test-label' flagene" +msgstr "" +"Du skal angive et af '-Acdtrux', '--delete' eller '--test-label' flagene" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Afslutter med fejlstatus på grund af tidligere fejl" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "sorteringsorden for katalog: ingen (standardværdi), navn eller inode" #: src/update.c:87 #, c-format @@ -2569,38 +2607,38 @@ msgid "Malformed extended header: missing newline" msgstr "Fejlagtigt udvidet hoved: nylinje mangles" #: src/xheader.c:741 -#, fuzzy, c-format +#, c-format msgid "Ignoring unknown extended header keyword '%s'" -msgstr "Ignorerer nøgleord \"%s\" i udvidet hoved" +msgstr "Ignorerer nøgleord '%s' i udvidet hoved" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Genereret nøgle/værdi-par er for langt (nøgle=%s, længde=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Udvidet hoved %s=%s er udenfor intervallet %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Fejlagtigt udvidet hoved: ugyldig %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Fejlagtigt udvidet hoved: for mange %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Fejlagtigt udvidet hoved: ugyldigt %s: uventet skilletegn %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Fejlagtigt udvidet hoved: ugyldigt %s: ulige antal værdier" @@ -2641,7 +2679,7 @@ msgstr "Skrivekontrolpunkt %u" msgid "Read checkpoint %u" msgstr "Læsekontrolpunkt %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2649,69 +2687,73 @@ msgstr "" "genfile bearbejder datafiler i testsuiten for GNU paxutils.\n" "FLAG er:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Flag for filoprettelse:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "STØRRELSE" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Opret en fil med angivet STØRRELSE" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Skriv til filen NAVN i stedet for til standard-ud" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Læs filnavne fra FIL" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T læser navne adskilte med nultegn" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "Fyld filen med det angivne MØNSTER. MØNSTER er 'default' eller 'zeros'" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Størrelse af en blok for filer med huller" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "Generér fil med huller. Resten af kommandolinjen giver filmapningen." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "POSITION" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Flyt til given position inden data skrives" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Flag for filstatistik:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Vís indholdet i \"struct stat\" for hver given fil. Standardværdi på FORMAT " "er:" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Flag for synkron udførelse:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "FLAG" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2719,19 +2761,19 @@ msgstr "" "Udfør ARGUMENTER. Nyttigt ved --checkpoint og en af --cut, --append, --" "touch, --unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "Udfør angivet handling (se nedenfor) når kontrolpunkt NUMMER nås" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Sæt dato for næste --touch flag" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Vís udførte kontrolpunkter og slutstatus på KOMMANDO" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2739,7 +2781,7 @@ msgstr "" "Synkront udførte handlinger. Disse udføres når kontrolpunktnummeret givet " "med flaget --checkpoint nås." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2747,165 +2789,162 @@ msgstr "" "Afkort FIL til størrelsen givet med det foregående --length flag (eller 0 " "hvis det ikke er angivet)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Tilføj STØRRELSE antal byte til FIL. STØRRELSE er givet med foregående --" "length flag." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Opdatér acces- og modifikationstider for FIL" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Udfør KOMMANDO" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Fjern (unlink) FIL" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Ugyldig størrelse %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Nummer udenfor tilladt interval: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Negativ størrelse: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "status (stat) kunne ikke tages på %s" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "ønsket fillængde %lu, virkelig %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "oprettet fil har ikke huller" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Fejl ved fortolkning af tal nær \"%s\"" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Ukendt datoformat" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGUMENTER...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "kan ikke åbne '%s'" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "Kan ikke søge" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "filnavnet indeholder nultegn" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "kan ikke oprette filer med huller til standard-ud, brug flaget --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "fejlagtig maske (nær \"%s\")" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Ukendt felt '%s'" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "kan ikke sætte tid på \"%s\"" -#: tests/genfile.c:692 -#, fuzzy, c-format +#: tests/genfile.c:760 +#, c-format msgid "cannot truncate `%s'" -msgstr "kan ikke fjerne (unlink) \"%s\"" +msgstr "kan ikke trunkere '%s'" -#: tests/genfile.c:701 -#, fuzzy, c-format +#: tests/genfile.c:769 +#, c-format msgid "command failed: %s" -msgstr "'%s'-kommando mislykkedes" +msgstr "kommando mislykkedes: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "kan ikke fjerne (unlink) \"%s\"" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Kommandoen afsluttedes uden fejl\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Kommandoen mislykkedes med slutstatus %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Kommandoen termineredes af signal %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Kommandoen stoppedes af signal %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Kommandoen dumpede hukommelsen\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Kommandoen afsluttedes\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat kræver filnavne" -#~ msgid "sort names to extract to match archive" -#~ msgstr "sortér navne som skal udpakkes så de passer med arkivet" - -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "--occurrence kan ikke bruges i den ønskede operationstilstand." - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Kan ikke kombinere --listed-incremental med --newer" +#~ msgid "same as both -p and -s" +#~ msgstr "samme som både -p og -s" -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "--preserve-order er ikke kompatibel med --listed-incremental" +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Flaget --preserve er forældet, brug --preserve-permissions --preserve-" +#~ "order i stedet" #~ msgid "Field too long while reading snapshot file" #~ msgstr "Felt for langt da øjebliksfil læstes" @@ -2919,9 +2958,21 @@ msgstr "--stat kr #~ msgid "Cannot get working directory" #~ msgstr "Kan ikke finde arbejdskatalog" +#~ msgid "sort names to extract to match archive" +#~ msgstr "sortér navne som skal udpakkes så de passer med arkivet" + #~ msgid "Invalid group" #~ msgstr "Ugyldig gruppe" +#~ msgid "--occurrence cannot be used in the requested operation mode" +#~ msgstr "--occurrence kan ikke bruges i den ønskede operationstilstand." + +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "Kan ikke kombinere --listed-incremental med --newer" + +#~ msgid "--preserve-order is not compatible with --listed-incremental" +#~ msgstr "--preserve-order er ikke kompatibel med --listed-incremental" + #~ msgid "Extended header length is out of allowed range" #~ msgstr "Længde på udvidet hoved er udenfor gyldigt interval" diff --git a/po/de.gmo b/po/de.gmo index af2ac4bf69d9ff1a93cec9e223f7cadd0eb0edc5..b8e765bf86b7d97a598d49141d828df8f9eae922 100644 GIT binary patch delta 14387 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 delta 12690 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, 1995? # Karl Eichwalder , 1996 # Christian Kirsch , 1996, 2001 -# Michael Piefel , 2003, 2006, 2007, 2008, 2009, 2010, 2011, 2013 +# Michael Piefel , 2003, 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014 # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar 1.27\n" +"Project-Id-Version: tar 1.28\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2013-10-26 21:35+0200\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2014-08-04 21:35+0100\n" "Last-Translator: Michael Piefel \n" "Language-Team: German \n" "Language: de\n" @@ -21,46 +21,46 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "ungültiges Argument %s für %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "mehrdeutiges Argument %s für %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Zulässige Argumente sind:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s-Wert ist kleiner oder gleich %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT-Parameter benötigt einen Wert" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT-Parameter muss positiv sein" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: unbekannter ARGP_HELP_FMT-Parameter" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Müll in ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -68,143 +68,148 @@ msgstr "" "Erforderliche oder optionale Argumente für lange Optionen sind ebenso " "erforderlich bzw. optional für die entsprechenden Kurzoptionen." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Aufruf:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " oder: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [OPTION...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "„%s --help“ oder „%s --usage“ gibt weitere Informationen.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Unbekannter Systemfehler." -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "diese Hilfe ausgeben" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "eine kurze Benutzungsübersicht ausgeben" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NAME" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "den Programmnamen setzen" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEK" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "für SEK Sekunden hängenbleiben (Voreinst.: 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "Programmversion ausgeben" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMMFEHLER) Keine Version bekannt!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Zu viele Argumente\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMMFEHLER) Option hätte erkannt werden müssen!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "Schreibfehler" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: Option „%s“ ist mehrdeutig; Möglichkeiten:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: Option „-W %s“ ist mehrdeutig\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: Option „--%s“ erlaubt keinen Parameter\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: Option „%c%s“ erlaubt keinen Parameter\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: Option „--%s“ benötigt einen Parameter\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: Unbekannte Option „--%s“\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: Unbekannte Option „%c%s“\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: Ungültige Option -- „%c“\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: Option benötigt einen Parameter -- „%c“.\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: Option „-W %s“ ist mehrdeutig\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: Option „-W %s“ erlaubt keinen Parameter\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: Option „-W %s“ benötigt einen Parameter\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "Kein Speicher mehr" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "Kann Arbeitsverzeichnis nicht aufzeichnen." -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "Konnte nicht zu ursprünglichem Arbeitsverzeichnis zurückkehren." @@ -230,11 +235,11 @@ msgstr "Konnte nicht zu ursprünglichem Arbeitsverzeichnis zurückkehren." #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "„" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "“" @@ -244,7 +249,7 @@ msgstr "“" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[yYjJ]" @@ -254,16 +259,16 @@ msgstr "^[yYjJ]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Paketiert von %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Paketiert von %s\n" @@ -271,11 +276,11 @@ msgstr "Paketiert von %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -412,22 +417,22 @@ msgstr "" "\n" "Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an: %s\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Melden Sie Fehler in %s (auf Englisch, mit LC_ALL=C) an: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Homepage von %s: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Homepage von %s: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "Allgemeine Hilfe zu GNU-Software: \n" @@ -593,8 +598,8 @@ msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" "Ein Bandlaufwerk bearbeiten, dabei Befehle von entferntem Prozess annehmen" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "ZAHL" @@ -602,10 +607,11 @@ msgstr "ZAHL" msgid "set debug level" msgstr "Debug-Level setzen" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "DATEI" @@ -618,7 +624,7 @@ msgstr "Dateinamen für Debug-Ausschriften setzen" msgid "cannot open %s" msgstr "kann „%s“ nicht öffnen" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "zu viele Argumente" @@ -627,111 +633,110 @@ msgstr "zu viele Argumente" msgid "Garbage command" msgstr "Ungültiger Befehl" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Das sieht nicht wie ein „tar“-Archiv aus." -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Gesamtzahl gelesener Bytes" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Gesamtzahl geschriebener Bytes" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Gesamtzahl gelöschter Bytes: %s\n" +msgstr "Gesamtzahl gelöschter Bytes" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(pipe)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "Verweigere, Archivinhalt vom Terminal zu lesen (fehlt Option -f?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "Verweigere, Archivinhalt aufs Terminal zu schreiben (fehlt Option -f?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Ungültiger Wert für „record_size“." -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Kein Archivname angegeben" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Kann Archive auf Standard-Ein-/Ausgabe nicht prüfen." -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Archiv ist komprimiert. Benutzen Sie die Option %s." -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Kann komprimierte Archive nicht aktualisieren" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Am Anfang des Mediums, beende jetzt." -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Zu viele Fehler, beende." -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Recordgröße = %lu Block" msgstr[1] "Recordgröße = %lu Blöcke" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Falsch ausgerichteter Block (ein Byte) im Archiv." msgstr[1] "Falsch ausgerichteter Block (%lu Bytes) im Archiv." -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Kann Archiv-Datei nicht zurücksetzen; könnte ohne „-i“ unlesbar sein." -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "„rmtlseek“ nicht an Recordgrenze angehalten" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: enthält ungültige Teil-Nummer." -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Teil-Nummer zu groß." -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Medium #%d für %s einlegen und Eingabetaste drücken: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Dateiende gefunden, Benutzereingabe erwartet" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "WARNUNG: Archiv unvollständig" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -743,67 +748,67 @@ msgstr "" " q „tar“ abbrechen\n" " j oder Enter fortfahren\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Shell in einem Unterprozess starten\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? diese Liste ausgeben\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Kein neues Medium; halte an.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Dateiname nicht angegeben. Versuchen Sie es noch einmal.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Ungültige Eingabe. Geben Sie „?“ für Hilfe ein.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "„%s“-Befehl gescheitert." -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "Dieser Teil ist keine Fortsetzung von %s." + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s wird möglicherweise auf diesem Teil fortgesetzt: Kopf enthält " "abgeschnittenen Namen." -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "Dieser Teil ist keine Fortsetzung von %s." - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s hat die falsche Größe (%s != %s + %s)." -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Dieser Teil ist nicht an der Reihe (%s - %s != %s)." -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Kennzeichnung des Archivs passt nicht zu „%s“." -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Teil „%s“ passt nicht zu „%s“." -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -811,7 +816,7 @@ msgstr "" "%s: Dateiname zu lang, um in einem GNU-Mehrteil-Kopf abgelegt werden zu " "können, abgeschnitten" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "Schreiben endete nicht an Blockgrenze" @@ -822,20 +827,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Konnte nur %lu von %lu Byte lesen" msgstr[1] "Konnte nur %lu von %lu Bytes lesen" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Unterschiedliche Inhalte" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Unerwartetes Dateiende im Archiv." -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Unterschiedliche Dateitypen " -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Modus ist unterschiedlich" @@ -851,7 +856,7 @@ msgstr "Gruppenkennung ist unterschiedlich" msgid "Mod time differs" msgstr "Änderungszeit ist unterschiedlich" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Größe ist unterschiedlich" @@ -860,139 +865,139 @@ msgstr "Größe ist unterschiedlich" msgid "Not linked to %s" msgstr "Nicht mit „%s“ verknüpft" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Symbolische Verknüpfung ist unterschiedlich" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Unterschiedliche Gerätenummern" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Prüfe " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Unbekannter Dateityp „%c“, Differenz wie für eine normale Datei." -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Archiv enthält Dateinamen, deren Präfixe entfernt wurden." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Archiv enthält transformierte Dateinamen." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Die Überprüfung findet möglicherweise die Originaldateien nicht." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "FEHLER BEI PRÜFUNG: %d ungültiger Kopfteil erkannt." msgstr[1] "FEHLER BEI PRÜFUNG: %d ungültige Kopfteile erkannt." -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Ein einzelner Nullblock bei %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: enthält eine „Cache-Verzeichnis“-Markierung %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "Wert %s außerhalb des %s-Bereich %s..%s; ersetze durch %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "Wert %s außerhalb des %s-Bereichs %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Erzeuge negative oktale Kopfteile" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: Dateiname ist zu lang (max. %d); nicht gesichert." -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: Dateiname ist zu lang (kann nicht aufgeteilt werden); nicht gesichert." -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: Verknüpfungsname ist zu lang; nicht gesichert." -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "Datei %s ist um ein Byte geschrumpft, fülle mit Null auf." msgstr[1] "Datei %s ist um %s Bytes geschrumpft, fülle mit Nullen auf." -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "Datei %s liegt auf einem anderen Dateisystem; nicht gesichert." -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "Inhalt nicht gesichert" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Unbekannter Dateityp; Datei ignoriert." -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Fehlende Verknüpfungen zu %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "Datei %s ist unverändert; nicht gesichert." -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s ist das Archiv; nicht gesichert." -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "Verzeichnis nicht gesichert" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: Datei hat sich beim Lesen geändert." -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: Socket ignoriert" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: Klappe ignoriert" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Springe zum nächsten Kopfteil." @@ -1010,56 +1015,56 @@ msgstr "%s: unplausibel alter Zeitstempel %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: Zeitstempel %s liegt %s Sekunden in der Zukunft." -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Unerwarteter Inkonsitenz beim Erstellen des Verzeichnisses." -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "%s: überspringe existierende Datei" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Verzeichnis umbenannt bevor sein Status ermittelt werden konnte" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Extrahiere zusammenhängende Dateien („contiguous files“) als reguläre." -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "" "Versuche symbolische Verknüpfungen als harte Verknüpfungen herauszuholen." -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "" "Kann „%s“ nicht herausholen – Datei ist Fortsetzung eines anderen Teils." -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Unerwarteter Kopfteil mit langem Namen" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Unbekannter Dateityp „%c“, wie normale Datei extrahiert." -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Aktuelles %s ist neuer oder hat dasselbe Alter." -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Konnte keine Sicherheitskopie von dieser Datei erstellen" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Kann %s nicht in %s umbenennen." @@ -1109,16 +1114,16 @@ msgstr "Ungültige Inode-Nummer" msgid "%s: byte %s: %s %.*s... too long" msgstr "%s: Byte %s: %s %.*s... zu lang" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Unerwartetes Dateiende im Schnappschussdatei." -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "%s: Byte %s: %s %s gefolgt von ungültigem Byte 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" @@ -1127,167 +1132,168 @@ msgstr "" "%s: Byte %s: (gültiger Bereich %s..%s)\n" "\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "%s: Byte %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "%s: Byte %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Fehlender Record-Abschluss" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "unzulässiges inkrementelles Dateiformat" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Nicht unterstützte Version des inkrementellen Formats: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Fehlgeformtes Verzeichnis für Dump: „%c“ erwartet, aber %#3o gefunden" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Fehlgeformtes Verzeichnis für Dump: „X“ dupliziert" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Fehlgeformtes Verzeichnis für Dump: leerer Name in „R“" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Fehlgeformtes Verzeichnis für Dump: „T“ folgt nicht „R“" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Fehlgeformtes Verzeichnis für Dump: leerer Name in „T“" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Fehlgeformtes Verzeichnis für Dump: „%c“ erwartet, aber Ende der Daten " "gefunden" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Fehlgeformtes Verzeichnis für Dump: „X“ nie benutzt" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Kann kein temporäres Verzeichnis mit der Schablone %s anlegen" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Entferne Verzeichnis nicht: kann nicht zugreifen" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: Verzeichnis liegt auf einem anderen Dateisystem: entferne nicht." -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Lösche %s.\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Kann nicht entfernen." -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Ausgelassen" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "Block %s: ** Block aus NULlen **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "Block %s: ** Ende der Datei **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "Block %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Leerzeichen im Kopfteil, wo numerische %s-Werte stehen sollten." #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "Oktalzahl %.*s außerhalb des %s-Bereichs, nehme Zweierkomplement an?" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Oktalzahl %.*s außerhalb des %s-Bereichs" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Archiv enthält veraltete Base64-Kopfteile" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Base64-Text %s außerhalb des %s-Bereichs." -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Base-256-Wert ist außerhalb des %s-Bereichs." #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Archiv enthält „%.*s“ wo numerische %s-Werte stehen sollten." #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Wert %s außerhalb des %s-Bereichs %s..%s." -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " Verknüpfung zu %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " unbekannter Dateityp %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "––Lange Verknüpfung––\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "––Langer Name––\n" @@ -1295,36 +1301,36 @@ msgstr "––Langer Name––\n" # Alte Üs: Band Kopfteil. Kann diese Meldung auch bei Disketten # ausgegeben werden? Dann kann man ja nicht "Band" sagen; am besten # einfach "Volume" lassen. ke. -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "––Vorspann des Teils––\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "––Fortgesetzt bei Byte %s––\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Erzeuge Verzeichnis:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Benenne „%s“ in „%s“ um.\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Kann nicht in %s umbenennen" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Benenne „%s“ zurück in „%s“.\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Datei gelöscht, bevor sie gelesen wurde." @@ -1337,31 +1343,193 @@ msgstr "Kindprozess" msgid "interprocess channel" msgstr "Interprocess-Kanal" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Auswahl der lokalen Dateien:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"angegebene Datei zum Archiv hinzufügen (nützlich, wenn Datei mit einem " +"Strich beginnt)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "VERZEICHNIS" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "zu VERZEICHNIS wechseln" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "Namen der zu bearbeitenden Dateien aus DATEI lesen" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T liest null-terminierte Namen, verbiete -C" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "die Wirkung der vorangehenden Option --null aufheben" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" +"Namen von Eingabedateien oder Bestandteilen von Zitat befreien " +"(Voreinstellung)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "Namen von Eingabedateien oder Bestandteilen nicht von Zitat befreien" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "MUSTER" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "Dateien auslassen, auf die MUSTER passt" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "Dateien auslassen, auf die in DATEI angegebene Muster passen" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"Inhalt von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten, außer der " +"Markierungsdatei selbst" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "" +"alles unterhalb von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "Verzeichnisse auslassen, die CACHEDIR.TAG enthalten" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"Inhalt von Verzeichnissen auslassen, die DATEI enthalten, außer DATEI selbst" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" +"Ausschlussmuster für jedes Verzeichnis aus DATEI lesen, wenn sie existiert" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"Ausschlussmuster für jedes Verzeichnis und seine Unterverzeichnisse aus " +"DATEI lesen, wenn sie existiert" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "alles unterhalb von Verzeichnissen auslassen, die DATEI enthalten" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "Verzeichnisse auslassen, die DATEI enthalten" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "Verzeichnisse von Versionskontrollsystemen auslassen" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "Ausschlussmuster aus der VCS-Ignorierdatei lesen" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "Backup- und Lock-Dateien ausschließen" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "in Verzeichnisse absteigen (Voreinstellung)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "automatischen Abstieg in Vezeichnisse vermeiden" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Dateinamenauswahloptionen (sowohl für ein- als auch ausschließende Muster):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "Muster am Dateinamensanfang ausrichten" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "Muster passen nach jedem „/“ (Voreinstellung beim Ausschluss)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "Groß-/Kleinschreibung ignorieren" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "Groß-/Kleinschreibung beachten (Voreinstellung)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "Muster benutzen (Voreinstellung für Ausschluss)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "Zeichenketten sind buchstabengetreu" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "Jokerzeichen passen auf „/“ (Voreinstellung für Ausschluss)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "Jokerzeichen passen nicht auf „/“" + +#: src/names.c:768 msgid "command line" msgstr "Kommandozeile" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "" "%s: Dateiliste, die von %s angefordert wurde, wurde schon von %s gelesen" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "kann Zeichenkette „%s“ nicht zerteilen: %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: gelesener Dateiname enthält ein NULL-Zeichen" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Zeichen für Musterüberdeckung im Dateinamen benutzt" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1369,45 +1537,45 @@ msgstr "" "Benutzen Sie --wildcards, um Musterüberdeckung zu ermöglichen oder\n" "--no-wildcards, um diese Warnung zu unterdrücken." -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Nicht im Archiv gefunden." -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Erforderliches Auftreten nicht im Archiv gefunden." -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Kennzeichnung des Archivs passt nicht" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "Option -C in Dateiliste ist nicht erlaubt mit --listed-incremental" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "In --listed-incremental ist nur eine Option -C erlaubt" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Die beiden Optionen „-%s“ und „-%s“ verlangen Standard-Eingabe." +msgstr "Sowohl Option „%s“ als auch „%s“ verlangen Standard-Eingabe." -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Ungültiges Archivformat" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "GNU-Erweiterungen bei einem inkompatiblen Archiv-Format verlangt." -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1415,7 +1583,7 @@ msgstr "" "Unbekannter Zitatstil „%s“. Versuchen Sie „%s --quoting-style=help“ für eine " "Liste." -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1434,7 +1602,7 @@ msgstr "" " tar -tvf archiv.tar # Inhalt von archiv.tar ausführlich anzeigen\n" " tar -xf archiv.tar # alle Dateien aus archiv.tar extrahieren\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1458,79 +1626,87 @@ msgstr "" " vorhanden sind, sonst einfache\n" " never, simple immer einfache Sicherheitskopien\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Hauptsächlicher Arbeitsmodus:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "den Inhalt eines Archivs auflisten" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "Dateien aus einem Archiv extrahieren" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "ein neues Archiv anlegen" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "Unterschiede zwischen Archiv und Dateisystem suchen" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "Dateien hinten an das Archiv anfügen" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "nur Dateien anfügen, die neuer als die Kopie im Archiv sind" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "tar-Dateien an ein Archiv anfügen" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "aus dem Archiv löschen (nicht auf Magnetband!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "den Archiv-Teil-Namen überprüfen und beenden" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Feineinstellungen:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "löchrige Dateien („sparse files“) effizient behandeln" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "zu benutzende Version des Sparse-Formats setzen (impliziert --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "inkrementelle Sicherung im alten GNU-Format" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "inkrementelle Sicherung im neuen GNU-Format" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "Niveau für erzeugte Archive mit --listed-incremental ausgeben" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "kein Abbruch mit Existatus!=0 bei unlesbaren Dateien" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1542,147 +1718,156 @@ msgstr "" "list und wenn eine Dateiliste entweder auf der Kommandozeile oder mittels " "der Option -T angegeben wurde benutzt werden; Zahl ist standardmäßig 1" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "im Archiv kann positioniert werden" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "im Archiv kann nicht positioniert werden" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "Gerätenummer bei Erstellung inkrementeller Archive nicht prüfen" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "Gerätenummer bei Erstellung inkrementeller Archive prüfen (Voreinstellung)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Steuerung des Überschreibens:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "Archiv nach dem Schreiben prüfen" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "Dateien nach dem Hinzufügen zum Archiv löschen" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" "vorhandene Dateien beim Extrahieren nicht überschreiben, sondern als Fehler " "behandeln" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" "vorhandene Dateien beim Extrahieren nicht überschreiben, kommentarlos " "überspringen" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "vorhandene Dateien, die neuer als die Archivkopie sind, nicht überschreiben" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "vorhandene Dateien beim Extrahieren überschreiben" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "zu überschreibende Dateien vor dem Extrahieren löschen" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "" "Verzeichnishierarchien rekursiv vor dem Extrahieren eines Verzeichnisses " "löschen" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "Metadaten existierender Verzeichnisse erhalten" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "Metadaten existierender Verzeichnisse beim Extrahieren überschreiben " "(Voreinstellung)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "" "vorhandene symbolische Verknüpfungen auf Verzeichnisse beim Extrahieren " "erhalten" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "VERZEICHNIS" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "ein Unterverzeichnis anlegen, um keine losen Dateien zu entpacken" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Wahl des Ausgabestroms:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "Dateien auf die Standardausgabe extrahieren" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "BEFEHL" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "extrahierte Dateien an ein anderes Programm weiterreichen" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "Exitstatus der Kinder ignorieren" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "Exitstatus!=0 von Kindern als Fehler ansehen" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Behandlung der Datei-Attribute:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "Eigentümer für hinzugefügte Dateien auf NAME setzen" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "Gruppe für hinzugefügte Dateien auf NAME setzen" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATUM-ODER-DATEI" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "Änderungszeit für hinzugefügte Datei aus DATUM-ODER-DATEI beziehen" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "ÄNDERUNGEN" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "den (symbolischen) Modus ÄNDERUNGEN für hinzugefügte Dateien erzwingen" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METHODE" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1690,14 +1875,14 @@ msgid "" msgstr "" "Zugriffszeit für abgespeicherte Dateien erhalten, entweder durch " "Zurücksetzen der Zeiten nach dem Lesen (METHODE=„replace“, Voreinstellung) " -"oder dadurch, dass die Zeiten gar nicht erst neu gesetzt werden (METHODE=" -"„system“)" +"oder dadurch, dass die Zeiten gar nicht erst neu gesetzt werden " +"(METHODE=„system“)" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "die geänderte Zeit nicht extrahieren" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1705,23 +1890,23 @@ msgstr "" "versuchen, die Dateien mit denselben Eigentumsverhältnisse zu extrahieren " "(für den Admin ist dies die Voreinstellung)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" "Dateien als aktueller Nutzer extrahieren (für normale Nutzer die " "Voreinstellung)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "immer Zahlen für Nutzer-/Gruppennamen verwenden" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "Informationen über Dateizugriffsrechte mit extrahieren (Voreinstellung für " "Root)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1729,18 +1914,14 @@ msgstr "" "die Umask des Nutzers anwenden beim Extrahieren von Dateizugriffsrechte aus " "dem Archiv (Voreinstellung für normale Nutzer)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" "Argumente für Elemente werden in der gleichen Anordnung wie die Dateien im " "Archiv aufgeführt" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "wie -p und -s zusammen" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1748,187 +1929,189 @@ msgstr "" "das Setzen von Zugriffszeiten und Rechten von extrahierten Verzeichnissen " "verschieben bis zum Ende des Entpackens" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "den Effekt von --delay-directory-restore aufheben" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "ANORDNUNG" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" +"Sortierreihenfolge für Verzeichnisse: „none“=keine (Voreinstellung) oder " +"„name“" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Behandlung der erweiterten Datei-Attribute:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Unterstützung für erweiterte Attribute ermöglichen" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Unterstützung für erweiterte Attribute abschalten" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "MASKE" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "das Einschluss-Muster für xattr-Schlüssel angeben" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "das Ausschluss-Muster für xattr-Schlüssel angeben" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "Unterstützung für SELinux-Kontext ermöglichen" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "Unterstützung für SELinux-Kontext abschalten" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "Unterstützung für POSIX-ACLs ermöglichen" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "Unterstützung für POSIX-ACLs abschalten" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Geräteauswahl und -umschaltung:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARCHIV" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "Archivdatei oder Gerät ARCHIV benutzen" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "Archivdatei ist lokal, auch wenn der Name einen Doppelpunkt enthält" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "statt „rmt“ den gegebenen BEFEHL benutzen" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "statt „rsh“ den entfernten BEFEHL benutzen" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "Laufwerk und Schreibdichte angeben" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "mehrteiliges Archiv anlegen/listen/extrahieren" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "Medium wechseln, wenn ZAHL × 1024 Bytes geschrieben wurden" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "am Ende jedes Mediums das Skript ausführen (impliziert -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "Teil-Nummer in DATEI benutzen/aktualisieren" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Blockung des Gerätes:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLÖCKE" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLÖCKE × 512 Bytes pro Record" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "ZAHL Bytes pro Record, Vielfaches von 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "Blöcke mit Nullen im Archiv ignorieren (heißt EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "erneut Blocken beim Lesen (für 4.2BSD‐Pipes)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Auswahl des Archiv-Formats:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "Archiv mit dem gegebenen Format anlegen" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMAT ist eines der folgenden:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "altes V7-tar-Format" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "GNU-Format wie mit tar <=1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "GNU-tar-1.13.x-Format" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "Format von POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "Format von POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "wie pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "wie --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "wie --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "Schlüsselwort[[:]=Wert][,Schlüsselwort[[:]=Wert]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "Pax-Schlüsselwörter steuern" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEXT" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1936,188 +2119,83 @@ msgstr "" "Archiv mit dem Teilnamen TEXT anlegen; beim Listen/Extrahieren, TEXT als " "Muster für den Teilnamen benutzen" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Kompressionsoptionen:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "Archiverweiterung nehmen, um Kompressionsprogramm zu bestimmen" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "Archiverweiterung nicht nehmen, um Kompressionsprogramm zu bestimmen" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "durch PROG filten (muss -d akzeptieren)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Auswahl der lokalen Dateien:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"angegebene Datei zum Archiv hinzufügen (nützlich, wenn Datei mit einem " -"Strich beginnt)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "zu VERZEICHNIS wechseln" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "Namen der zu bearbeitenden Dateien aus DATEI lesen" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T liest null-terminierte Namen, verbiete -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "die Wirkung der vorangehenden Option --null aufheben" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "" -"Dateinamen, die mit -T gelesen werden, von Zitat befreien (Voreinstellung)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "Dateinamen, die mit -T gelesen werden, nicht von Zitat befreien" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "MUSTER" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "Dateien auslassen, auf die MUSTER passt" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "Dateien auslassen, auf die in DATEI angegebene Muster passen" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"Inhalt von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten, außer der " -"Markierungsdatei selbst" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "" -"alles unterhalb von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "Verzeichnisse auslassen, die CACHEDIR.TAG enthalten" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"Inhalt von Verzeichnissen auslassen, die DATEI enthalten, außer DATEI selbst" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "alles unterhalb von Verzeichnissen auslassen, die DATEI enthalten" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "Verzeichnisse auslassen, die DATEI enthalten" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "Verzeichnisse von Versionskontrollsystemen auslassen" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "Backup- und Lock-Dateien ausschließen" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "automatischen Abstieg in Vezeichnisse vermeiden" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "beim Anlegen eines Archivs im lokalen Dateisystem bleiben" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "in Verzeichnisse absteigen (Voreinstellung)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "führende „/“-Zeichen in den Dateinamen erhalten" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "symbolischen Verknüpfungen folgen; die Dateien archivieren und abspeichern, " "auf die sie zeigen" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "harten Verknüpfungen folgen; die Dateien archivieren und abspeichern, auf " "die sie sich beziehen" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "ELEMENT-NAME" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "beim Lesen der Archivs mit ELEMENT-NAME beginnen" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "nur Dateien ablegen, die neuer als DATUM-ODER-DATEI sind" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATUM" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "Datum und Zeit nur überprüfen, wenn Daten geändert wurden" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "KONTROLLE" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "Sicherung vor dem Entfernen, wähle Versions-KONTROLLE" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "ZEICHENKETTE" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2125,98 +2203,61 @@ msgstr "" "Sicherung vor dem Entfernen, übliches Suffix ersetzen („~“, wenn nicht durch " "Umgebungsvariable SIMPLE_BACKUP_SUFFIX anders gesetzt)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Dateinamentransformationen:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "ZAHL führende Komponenten beim Extrahieren von Dateinamen entfernen" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "AUSDRUCK" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "den sed-AUSDRUCK zur Dateinamentransformation benutzen" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Dateinamenauswahloptionen (sowohl für ein- als auch ausschließende Muster):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "Groß-/Kleinschreibung ignorieren" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "Muster am Dateinamensanfang ausrichten" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "Muster passen nach jedem „/“ (Voreinstellung beim Ausschluss)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "Groß-/Kleinschreibung beachten (Voreinstellung)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "Muster benutzen (Voreinstellung für Ausschluss)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "Zeichenketten sind buchstabengetreu" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "Jokerzeichen passen nicht auf „/“" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "Jokerzeichen passen auf „/“ (Voreinstellung für Ausschluss)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Informationen:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "bearbeitete Dateien ausführlich listen" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "SCHLÜSSELWORT" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "Warnungssteuerung" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "Fortschrittsnachrichten bei jedem ZAHLten Record (Voreinstellung 10) anzeigen" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "AKTION" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "AKTION bei jedem Kontrollpunkt ausführen" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "" "eine Nachricht ausgeben, wenn nicht alle Verknüpfungen abgespeichert werden" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2228,35 +2269,35 @@ msgstr "" "wird; erlaubte Signale sind: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 und SIGUSR2; " "die Namen ohne das Präfix SIG sind auch erlaubt" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "Dateiänderungszeiten in UTC anzeigen" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "Dateizeit in voller Auflösung anzeigen" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "ausführliche Ausgabe in DATEI schreiben" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "bei jeder Nachricht die Blocknummer innerhalb des Archivs mit anzeigen" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "für jede Aktion um Bestätigung bitten" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "Voreinstellungen von tar anzeigen" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "gültige Bereiche für die Felder von Snapshot-Dateien anzeigen" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2264,45 +2305,52 @@ msgstr "" "beim Listen oder Extrahieren jedes Verzeichnis auflisten, dass nicht den " "Suchkriterien entspricht" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "Datei- oder Archivnamen nach der Transformation anzeigen" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STIL" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "Zitatstil setzen; siehe unten für gültige STIL-Werte" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "zusätzliche Zeichen aus ZEICHENKETTE zitieren" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "Zeichen aus ZEICHENKETTE nicht zitieren" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Kompatibilitätsoptionen:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "beim Anlegen wie --old-archive; beim Extrahieren wie --no-same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Weitere Optionen:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "möglicherweise schädliche Optionen deaktivieren" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "„%s“ kann nicht mit %s benutzt werden" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" @@ -2310,40 +2358,40 @@ msgstr "" "Von den Optionen „-Acdtrux“, „--delete“ oder „--test-label“ ist jeweils nur " "eine erlaubt" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Kompressionsoptionen schließen sich gegenseitig aus." -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Unbekannter Signalname: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Datumsdatei nicht gefunden" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Ersetze %s für unbekanntes Datumsformat %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Option %s: Behandle Datum „%s“ als %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "Archiv durch %s filtern" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Gültige Argumente für die Option --quoting-style sind:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2351,185 +2399,198 @@ msgstr "" "\n" "*Dieses* „tar“ hat als Voreinstellung:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "Ungültige Benutzer- oder Gruppen-ID" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Ungültige Blockgröße" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Ungültige Bandlänge" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "unzulässiger Wert für inkrementelles Niveau" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Mehr als ein Datum angegeben." -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Ungültiger Wert für Sparse-Version (für löchrige Dateien)" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' wird auf dieser Plattform nicht unterstützt" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "Wert für --checkpoint ist keine ganze Zahl" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Ungültige Zugriffsrechte angegeben." -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Ungültige Zahl" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"Die Option --preserve ist veraltet, benutzen Sie stattdessen --preserve-" -"permissions --preserve-order" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Ungültiger Wert für Recordgröße." -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Die Recordgröße muss ein Vielfaches von %d sein." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Ungültige Elementanzahl" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Nur eine Option --to-command erlaubt" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Fehlgeformtes Dichteargument: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Unbekannte Dichte: „%c“" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Die Optionen „-[0-7][lmh]“ unterstützt *dieses* „tar“ nicht." -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Fehler beim Parser der Zahl in der Nähe von „%s“" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[DATEI]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Option --%s kann nicht mit %s benutzt werden" +msgid "non-option arguments in %s" +msgstr "ungültiges Argument %s für %s" + +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "kann Zeichenkette „%s“ nicht zerteilen: %s" -#: src/tar.c:2389 +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "Die alte Option „%c“ benötigt einen Parameter." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence ist ohne Dateiliste bedeutungslos" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Mehrere Archivdateien verlangen die Option „-M“." -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--level ist ohne --listed-incremental bedeutungslos" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Band-Nummer ist zu lang (Maximum ist ein Byte)." msgstr[1] "%s: Band-Nummer ist zu lang (Maximum ist %lu Bytes)." -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Kann mehrteilige Archive nicht prüfen." -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Kann komprimierte Archive nicht prüfen" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Kann keine mehrteiligen komprimierten Archive verwenden." -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Kann komprimierte Archive nicht aneinanderhängen" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option kann nur mit POSIX-Archiven benutzt werden" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "--acls kann nur mit POSIX-Archiven benutzt werden" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "--selinux kann nur mit POSIX-Archiven benutzt werden" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "--xattrs kann nur mit POSIX-Archiven benutzt werden" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Kann Namen des obersten Verzeichnisses nicht ableiten; bitte explizit mit --" +"one-top-level=VERZ setzen" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Teillänge kann nicht unter der Recordgröße liegen" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Anlegen eines leeren Archivs wird feige verweigert." -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Die Optionen „-Aru“ sind nicht kompatibel mit „-f -“." -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "Eine der Optionen „-Acdtrux“, „--delete“ oder „--test-label“ ist notwendig." -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Beende mit Fehlerstatus aufgrund vorheriger Fehler" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" +"Sortierreihenfolge für Verzeichnisse: „none“=keine (Voreinstellung), „name“ " +"oder „inode“" #: src/update.c:87 #, c-format @@ -2583,7 +2644,7 @@ msgstr "Fehlgeformter erweiterter Kopfteil: fehlender Zeilenvorschub" msgid "Ignoring unknown extended header keyword '%s'" msgstr "Ignoriere unbekanntes Schlüsselwort „%s“ für erweiterten Kopfteil" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2591,29 +2652,29 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Erweiterter Kopfteil %s=%s ist außerhalb des Bereichs %s..%s." -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Fehlgeformter erweiterter Kopfteil: ungültiges %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Fehlgeformter erweiterter Kopfteil: überzähliges %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Fehlgeformter erweiterter Kopfteil: ungültiges %s: unerwarteter Trenner %c" # Ist „odd“ hier ungerade oder merkwürdig? -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" @@ -2656,7 +2717,7 @@ msgstr "Schreib-Kontrollpunkt %u" msgid "Read checkpoint %u" msgstr "Lese-Kontrollpunkt %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2664,73 +2725,77 @@ msgstr "" "genfile manipuliert Datendateien für die Testsuite der GNU paxutils.\n" "OPTIONEN sind:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Optionen beim Anlegen von Dateien:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "GRÖßE" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Datei der gegebenen GRÖßE anlegen" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "in Datei NAME anstelle der Standardausgabe schreiben" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Dateinamenlist aus DATEI lesen" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T liest null-terminierte Namen" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "Die Datei mit dem gegebenen MUSTER füllen. MUSTER ist „default“ oder „zeros“." -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Größe eines Blocks für löchrige Dateien" # „map“: Karte, Abbildung? -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Löchrige („sparse“) Datei erzeugen. Der Rest der Kommandozeile gibt die die " "Dateibildungsvorschrift an." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "POSITION" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "vor dem Schreiben zur gegebenen Position springen" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Dateistatistikoptionen:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Inhalt des „struct stat“ für jede gegebene Datei ausgeben. Standard-FORMAT " "ist:" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Optionen für synchrone Ausführung:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "OPTION" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2738,21 +2803,21 @@ msgstr "" "ARGUMENTE ausführen. Nützlich mit --checkpoint und einem aus --cut, --" "append, --touch, --unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" "gegebene Aktion (siehe unten) beim Erreichen des Kontrollpunkts ZAHL " "ausführen" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Datum für nächste „--touch“-Operation setzen" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "ausgeführte Kontrollpunkte und Beendigungsstatus von BEFEHL anzeigen" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2760,7 +2825,7 @@ msgstr "" "Aktionen für synchrone Ausführung. Diese werden beim Erreichen des " "Kontrollpunkts, der mit der Option --checkpoint gesetzt wurde, ausgeführt." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2768,155 +2833,165 @@ msgstr "" "DATEI kürzen auf die Länge, die mit einer vorhergehenden Option --length " "(oder 0 bei Abwesenheit) gesetzt wurde" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "GRÖßE Bytes an DATEI anfügen. GRÖßE wird mit einer vorhergehenden Option --" "length gesetzt." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Zugriffs- und Änderungszeiten der DATEI neu setzen" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "BEFEHL ausführen" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "FILE entfernen (unlink)" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Ungültige Größe: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Zahl außerhalb des zulässigen Bereichs: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Negative Größe: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) fehlgeschlagen" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "Dateilänge %lu verlangt, tatsächlich %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "erzeugte Datei ist nicht löchrig" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Fehler beim Parser der Zahl in der Nähe von „%s“" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Unbekanntes Datumsformat" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGUMENTE...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "kann „%s“ nicht öffnen" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "kann nicht positionieren" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "Dateiname enthält Null-Zeichen" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "kann auf der Standardausgabe keine löchrige Datei erstellen, benutzen Sie " "die Option --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "inkorrekte Maske (nahe „%s“)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "unbekannte Feld „%s“" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "kann an „%s“ keine Zeit setzen" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "kann „%s“ nicht abschneiden" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "Befehl fehlgeschlagen: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "kann „%s“ nicht entfernen (unlink)" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Befehl erfolgreich ausgeführt\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Befehl schlug mit Beendigungsstatus %d fehl.\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Befehl beendete sich bei Signal %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Befehl hieltb bei Signal %d an\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Befehl erzeugte einen Core-Dump\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Befehl beendet\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat erfordert Dateinamen" +#~ msgid "same as both -p and -s" +#~ msgstr "wie -p und -s zusammen" + +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Die Option --preserve ist veraltet, benutzen Sie stattdessen --preserve-" +#~ "permissions --preserve-order" + #~ msgid "--occurrence cannot be used with %s" #~ msgstr "--occurrence kann mit %s nicht benutzt werden" diff --git a/po/el.gmo b/po/el.gmo index d930f6ca09adfb55640c2b7c28463abe38e88903..04d580bb4b2a964ab47d17b67dc59582f002c1bf 100644 GIT binary patch delta 25 gcmX?HaJXPYhB%Lzu7Rnpp_zh#rIqRC67lm20CUF(BLDyZ delta 25 gcmX?HaJXPYhB%Lju7SC(k-37Av6b=W67lm20CTPg9{>OV diff --git a/po/el.po b/po/el.po index fac010e3..33f7e59e 100644 --- a/po/el.po +++ b/po/el.po @@ -3,12 +3,12 @@ # Μπαλάσκας Ευάγγελος (Balaskas Euaggelos) , 2004. # Simos Xenitellis , 2004. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: tar 1.13.25 \n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 2004-03-08 14:44+0200\n" "Last-Translator: Μπαλάσκας Ευάγγελος (Balaskas Euaggelos) \n" @@ -19,193 +19,198 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0.2\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "άκυρο όρισμα %s για %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "αμφιλεγόμενο όρισμα %s για %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Έγκυρα ορίσματα είναι:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr "" -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 #, fuzzy msgid " [OPTION...]" msgstr "" "\n" "Χρήση: %s [ΕΠΙΛΟΓΉ]...\n" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Προσπαθήστε `%s --help' για περισσότερες πληροφορίες.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, fuzzy, c-format msgid "Report bugs to %s.\n" msgstr "" "\n" "Αναφορά σφαλμάτων στο .\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Άγνωστο σφάλμα συστήματος" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, fuzzy, c-format msgid "%s: Too many arguments\n" msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: η επιλογή`%s' είναι αμφιλεγόμενη\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: η επιλογή `-W %s' είναι αμφιλεγόμενη\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: η επιλογή `--%s' δεν επιτρέπει όρισμα\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: η επιλογή `%c%s' δεν επιτρέπει όρισμα\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: μη αναγνωρίσιμη επιλογή `--%s'\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: μη αναγνωρίσιμη επιλογή `%c%s'\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: άκυρη επιλογή -- %c\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: η επιλογή απαιτεί όρισμα -- %c\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: η επιλογή `-W %s' είναι αμφιλεγόμενη\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: η επιλογή `-W %s' δεν επιτρέπει όρισμα\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "η μνήμη εξαντλήθηκε" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, fuzzy, c-format msgid "failed to return to initial working directory" msgstr "Δεν είναι δυνατή η αποθήκευση του τρέχοντος καταλόγου" @@ -231,11 +236,11 @@ msgstr "Δεν είναι δυνατή η αποθήκευση του τρέχο #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "`" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "'" @@ -245,7 +250,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "" @@ -255,16 +260,16 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -272,11 +277,11 @@ msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" @@ -396,22 +401,22 @@ msgstr "" "\n" "Αναφορά σφαλμάτων στο .\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "Μετονομασία %s πίσω στο %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" @@ -593,8 +598,8 @@ msgstr "" " --version Εμφάνιση πληροφοριών έκδοσης.\n" " --help Εμφάνιση αυτής της βοήθειας.\n" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "" @@ -602,10 +607,11 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "" @@ -618,7 +624,7 @@ msgstr "" msgid "cannot open %s" msgstr "Δεν είναι δυνατό το κλείσιμο" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "" @@ -627,113 +633,112 @@ msgstr "" msgid "Garbage command" msgstr "Εντολή απορριμμάτων" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Αυτό δεν φαίνεται ως αρχειοθήκη tar" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "" -#: src/buffer.c:576 +#: src/buffer.c:579 #, fuzzy msgid "Total bytes written" msgstr "Συνολικά byte που γράφτηκαν: %s (%sB, %sB/s)\n" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Συνολικά byte που γράφτηκαν: %s (%sB, %sB/s)\n" +msgstr "" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(σωλήνωση)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Άκυρη τιμή για record_size" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Δεν δόθηκε όνομα αρχειοθήκης" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "" "Δεν είναι δυνατή η επαλήθευση των κανονικών εισόδων/εξόδων της αρχειοθήκης" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Δεν είναι δυνατή η ανανέωση των συμπιεσμένων αρχειοθηκών" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Στην αρχή της ταινίας, τερματισμός τώρα" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Πάρα πολλά σφάλματα, τερματισμός" -#: src/buffer.c:944 +#: src/buffer.c:947 #, fuzzy, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Μέγεθος εγγραφής = %lu block" msgstr[1] "Μέγεθος εγγραφής = %lu block" -#: src/buffer.c:965 +#: src/buffer.c:968 #, fuzzy, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Μη ευθυγραμμισμένο μπλοκ (%lu byte) στην αρχειοθήκη" msgstr[1] "Μη ευθυγραμμισμένο μπλοκ (%lu byte) στην αρχειοθήκη" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: περιέχει άκυρο αριθμό τόμου" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Υπερχήλιση αριθμού τόμου" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Προετοίμασε τον τόμο #%d για %s και πάτα το πλήκτρο επιστροφής γραμμής" -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "EOF (Τέλος Αρχείου) ενώ η απάντηση του χρήστη αναμενότανε" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "ΠΡΟΕΙΔΟΠΟΊΗΣΗ: Η αρχειοθήκη είναι ημιτελής" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -745,71 +750,71 @@ msgstr "" " ! Παραγωγή νέου υπό-φλοιού\n" " ? Εκτύπωση αυτής της λίστας\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Κανένας νέος τόμος; έξοδος\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, fuzzy, c-format msgid "%s command failed" msgstr "`%s' η εντολή απέτυχε" -#: src/buffer.c:1491 -#, fuzzy, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, fuzzy, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s είναι το εσφαλμένο μέγεθος (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Αυτός ο τόμος είναι εκτός συνέχειας" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Η αρχειοθήκη δεν έχει ετικέτα για ταίριασμα %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Ο τόμος %s δεν ταιριάζει %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "" @@ -820,20 +825,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Δυνατή μόνο η ανάγνωση %lu από %lu byte" msgstr[1] "Δυνατή μόνο η ανάγνωση %lu από %lu byte" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Τα περιεχόμενα διαφέρουν" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Οι τύποι αρχείων διαφέρουν" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Οι καταστάσεις διαφέρουν" @@ -849,7 +854,7 @@ msgstr "Ταυτότητες ομάδας διαφέρουν" msgid "Mod time differs" msgstr "Ώρες τροποποίησης διαφέρουν" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Τα μεγέθη διαφέρουν" @@ -858,139 +863,139 @@ msgstr "Τα μεγέθη διαφέρουν" msgid "Not linked to %s" msgstr "Δεν είναι συνδεδεμένο με %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Οι σύνδεσμοι διαφέρουν" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Οι αριθμοί των συσκευών διαφέρουν" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Επαλήθευση " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Άγνωστος τύπος αρχείου '%c', εκτέλεση της diff ως κανονικό αρχείο" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:535 +#: src/compare.c:539 #, fuzzy msgid "Archive contains transformed file names." msgstr "Η αρχειοθήκη περιέχει απαρχαιωμένες επικεφαλίδες κωδικοποίησης base64" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "" -#: src/compare.c:614 +#: src/compare.c:618 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "Η ΕΠΑΛΎΘΕΥΣΗ ΑΠΈΤΥΧΕ: ανιχνεύτηκαν %d άκυρη(ες) επικεφαλίδα(δες)" msgstr[1] "Η ΕΠΑΛΎΘΕΥΣΗ ΑΠΈΤΥΧΕ: ανιχνεύτηκαν %d άκυρη(ες) επικεφαλίδα(δες)" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "η τιμή %s είναι εκτός του %s εύρος %s..%s; αντικαταστήθηκε από %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "η τιμή %s είναι εκτός του %s εύρους %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Παράχθηκαν αρνητικές οκταδικές επικεφαλίδες" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, fuzzy, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε" -#: src/create.c:611 +#: src/create.c:612 #, fuzzy, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε" -#: src/create.c:638 +#: src/create.c:639 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε" -#: src/create.c:1084 +#: src/create.c:1102 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Το αρχείο συρρικνώθηκε σε %s bytes; συμπλήρωση με μηδενικά" msgstr[1] "%s: Το αρχείο συρρικνώθηκε σε %s bytes; συμπλήρωση με μηδενικά" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: το αρχείο είναι σε διαφορετικό σύστημα αρχείων; δεν αποθηκεύτηκε" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Άγνωστος τύπος αρχείου; το αρχείο αγνοήθηκε" -#: src/create.c:1551 +#: src/create.c:1569 #, fuzzy, c-format msgid "Missing links to %s." msgstr " σύνδεσμος σε %s\n" -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: αρχείο τροποποιήθηκε κατά την ανάγνωση" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: η υποδοχή αγνοήθηκε" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: η πόρτα αγνοήθηκε" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Παραλείποντας στην επόμενη επικεφαλίδα" @@ -1008,55 +1013,55 @@ msgstr "" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: η ένδειξη χρόνου %s είναι %lu s στο μέλλον" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Μη αναμενόμενη ανακολουθία κατά την δημιουργία του καταλόγου" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Ο κατάλογος μετονομάστηκε πριν η κατάστασή του γίνει μη εξαγώγιμη" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Εξαγωγή συνεχόμενων αρχείων ως κανονικών αρχείων" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Προσπάθεια εξαγωγής των συμβολικών συνδέσμων ως σθεναρών συνδέσμων" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Δεν είναι δυνατή η εξαγωγή -- το αρχείο συνεχίζεται σε άλλο τόμο" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 #, fuzzy msgid "Unexpected long name header" msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στα κατακερματισμένα ονόματα" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Άγνωστος τύπος αρχείου '%c', εξαγωγή ως κανονικό αρχείο" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Δεν είναι δυνατή η αποθήκευση αυτού του αρχείου" -#: src/extract.c:1767 +#: src/extract.c:1814 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s" @@ -1107,130 +1112,130 @@ msgstr "Άκυρος αριθμός i-κόμβου" msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "Δεν είναι δυνατή η δέσμευση μνήμης για τον συντελεστή ομαδοποίησης %d" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, fuzzy, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: το αρχείο είναι σε διαφορετικό σύστημα αρχείων; δεν αποθηκεύτηκε" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Διαγραφή %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Δεν είναι δυνατή η απομάκρυνση" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Παράλειψη" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "μπλοκ %s: ** Μπλοκ με χαρακτήρες NUL **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "μπλοκ %s: ** Τέλος Αρχείου **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "μπλοκ %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Κενά στην επικεφαλίδα ενώ αναμενόταν αριθμητική τιμή %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1238,89 +1243,89 @@ msgstr "" "συμπληρώματα" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Αρχειοθήκη οκταδικής τιμής %.*s είναι εκτός του %s εύρους" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Η αρχειοθήκη περιέχει απαρχαιωμένες επικεφαλίδες κωδικοποίησης base64" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" "Η αρχειοθήκη είναι υπογεγραμμένη με αλφαριθμητικά base-64 %s είναι εκτός του " "%s εύρους" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Η αρχειοθήκη με base-256 τιμές είναι εκτός του %s εύρους" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Η αρχειοθήκη περιέχει %.*s όπου αριθμητικές %s τιμές αναμένονται" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Η τιμή της αρχειοθήκης %s είναι εκτός του %s εύρους %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " σύνδεσμος σε %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " άγνωστος τύπος αρχείου %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Επικεφαλίδα Τόμου--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Συνέχιση στο byte %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Δημιουργία καταλόγου:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Μετονομασία %s σε %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Μετονομασία %s πίσω στο %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Το αρχείο απομακρύνθηκε πριν το διαβάσουμε" @@ -1333,81 +1338,232 @@ msgstr "θυγατρική διεργασία" msgid "interprocess channel" msgstr "κανάλι μεταξύ διεργασιών" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Συγκρουόμενες επιλογές διαμόρφωσης αρχειοθήκης" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "" + +#: src/names.c:73 +#, fuzzy +msgid "change to directory DIR" +msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" + +#: src/names.c:136 +msgid "ignore case" +msgstr "" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "" + +#: src/names.c:146 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "Ο τόμος %s δεν ταιριάζει %s" + +#: src/names.c:768 #, fuzzy msgid "command line" msgstr "`%s' η εντολή απέτυχε" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Δεν βρέθηκε στην αρχειοθήκη" -#: src/names.c:845 +#: src/names.c:1263 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Δεν βρέθηκε στην αρχειοθήκη" -#: src/names.c:879 +#: src/names.c:1297 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Η αρχειοθήκη δεν έχει ετικέτα για ταίριασμα %s" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "Οι επιλογές `-%s' και `-%s' απαιτούν κανονική είσοδο" -#: src/tar.c:164 +#: src/tar.c:165 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "%s: Άκυρη ομάδα" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Τα χαρακτηριστικά GNU απαιτούν μη συμβατή διαμόρφωση αρχειοθήκης" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:378 +#: src/tar.c:354 #, fuzzy msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " @@ -1428,7 +1584,7 @@ msgstr "" "archive.tar με λεπτομέρειες.\n" " %s -xf archive.tar # Εξάγει όλα τα αρχεία από το archive.tar.\n" -#: src/tar.c:387 +#: src/tar.c:363 #, fuzzy msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" @@ -1451,80 +1607,88 @@ msgstr "" "διαφορετικά\n" " never, simple πάντα κάνε απλά αντίγραφα\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "" -#: src/tar.c:425 +#: src/tar.c:401 #, fuzzy msgid "create a new archive" msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1532,640 +1696,511 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "" -#: src/tar.c:516 +#: src/tar.c:494 #, fuzzy msgid "extract files to standard output" msgstr "Σφάλμα κατά την εγγραφή στην κανονική έξοδο" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "" -#: src/tar.c:627 +#: src/tar.c:609 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "Δεν είναι δυνατή η επαλήθευση πολλαπλών αρχειοθηκών" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:653 +#: src/tar.c:635 #, fuzzy msgid "Archive format selection:" msgstr "Συγκρουόμενες επιλογές διαμόρφωσης αρχειοθήκης" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:684 +#: src/tar.c:666 #, fuzzy msgid "Compression options:" msgstr "Συγκρουόμενες επιλογές συμπίεσης" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" - -#: src/tar.c:712 -#, fuzzy -msgid "change to directory DIR" -msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -msgid "unquote input file or member names (default)" -msgstr "" - -#: src/tar.c:722 -msgid "do not unquote input file or member names" -msgstr "" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "" - -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "Απομακρύνονται τα αρχικά `%.*s' από τα ονόματα των μελών" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "Ο τόμος %s δεν ταιριάζει %s" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2173,307 +2208,325 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, fuzzy, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "Ίσως δεν καθορίσατε παραπάνω από μία επιλογή `-Acdtrux'" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Συγκρουόμενες επιλογές συμπίεσης" -#: src/tar.c:1079 +#: src/tar.c:1005 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr " άγνωστος τύπος αρχείου %s\n" -#: src/tar.c:1103 +#: src/tar.c:1029 #, fuzzy msgid "Date sample file not found" msgstr "Το αρχείο ημερομηνίας δεν βρέθηκε" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Αντικατάσταση %s για άγνωστη διαμόρφωση ημερομηνίας %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1330 +#: src/tar.c:1253 #, fuzzy msgid "Invalid owner or group ID" msgstr "Άκυρος ιδιοκτήτης" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Άκυρος συντελεστής ομαδοποίησης" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Άκυρο μέγεθος ταινίας" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Παραπάνω από ένα όριο ημερομηνίας" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Άκυρη κατάσταση δόθηκε σε επιλογή" -#: src/tar.c:1925 +#: src/tar.c:1800 #, fuzzy msgid "Invalid number" msgstr "Άκυρος αριθμός i-κόμβου" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Άκυρο μέγεθος εγγραφής" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Το μέγεθος της εγγραφής πρέπει να είναι πολλαπλάσιο του %d." -#: src/tar.c:2042 +#: src/tar.c:1913 #, fuzzy msgid "Invalid number of elements" msgstr "Άκυρο μέγεθος ταινίας" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "" "Οι επιλογές `-[0-7][lmh]' δεν υποστηρίζονται από *αυτήν* την εντολή tar" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "" -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s" +msgid "non-option arguments in %s" +msgstr "άκυρο όρισμα %s για %s" + +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "" -#: src/tar.c:2389 +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "Παλιά επιλογή `%c' απαιτεί όρισμα." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "Πολλαπλά αρχεία αρχειοθηκών απαιτούν την επιλογή `-M'" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2515 +#: src/tar.c:2429 #, fuzzy, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Η ετικέτα του τόμου είναι πολύ μεγάλη (το όριο είναι %lu byte)" msgstr[1] "%s: Η ετικέτα του τόμου είναι πολύ μεγάλη (το όριο είναι %lu byte)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Δεν είναι δυνατή η επαλήθευση πολλαπλών αρχειοθηκών" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Δεν είναι δυνατή η επαλήθευση των συμπιεσμένων αρχειοθηκών" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Δεν είναι δυνατή η χρήση πολλαπλών συμπιεσμένων αρχειοθηκών" -#: src/tar.c:2543 +#: src/tar.c:2462 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Δεν είναι δυνατή η ανανέωση των συμπιεσμένων αρχειοθηκών" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Αρνούμαι δειλά στη δημιουργία μίας κενής αρχειοθήκης" -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Οι επιλογές `-Aru' δεν είναι συμβατές με `-f -'" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Πρέπει να καθορίσεις μία από τις επιλογές `-Acdtrux'" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2532,34 +2585,34 @@ msgstr "" msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, fuzzy, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Η τιμή της αρχειοθήκης %s είναι εκτός του %s εύρους %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" @@ -2600,254 +2653,255 @@ msgstr "Εγγραφή σημείου ελέγχου %d" msgid "Read checkpoint %u" msgstr "Ανάγνωση σημείου ελέγχου %d" -#: tests/genfile.c:111 +#: tests/genfile.c:115 #, fuzzy msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" msgstr "Παράγει αρχεία δεδομένων για δοκιμαστική πλατφόρμα GNU tar.\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 #, fuzzy msgid "File creation options:" msgstr "Συγκρουόμενες επιλογές συμπίεσης" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "" -#: tests/genfile.c:131 +#: tests/genfile.c:135 #, fuzzy msgid "Write to file NAME, instead of standard output" msgstr "Σφάλμα κατά την εγγραφή στην κανονική έξοδο" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, fuzzy, c-format msgid "Invalid size: %s" msgstr "Άκυρη ένδειξη χρόνου" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, fuzzy, c-format msgid "Number out of allowed range: %s" msgstr "Ο αριθμός του i-κόμβου είναι εκτός εύρους" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, fuzzy, c-format msgid "Unknown date format" msgstr "Άγνωστο σφάλμα συστήματος" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "" -#: tests/genfile.c:434 +#: tests/genfile.c:443 #, fuzzy msgid "cannot seek" msgstr "Δεν είναι δυνατό το κλείσιμο" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr " άγνωστος τύπος αρχείου %s\n" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, fuzzy, c-format msgid "command failed: %s" msgstr "`%s' η εντολή απέτυχε" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "%s: Δεν είναι δυνατή η συμβολική σύνδεση στο %s" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, fuzzy, c-format msgid "Command failed with status %d\n" msgstr "Η θυγατρική διεργασία τερματίστηκε με το σήμα %d" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, fuzzy, c-format msgid "--stat requires file names" msgstr "--Κατακερματισμένα ονόματα αρχείων--\n" -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Δεν είναι δυνατός ο συνδυασμός --listed-incremental με --newer" - #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: παράνομη επιλογή -- %c\n" @@ -3336,6 +3390,9 @@ msgstr "--Κατακερματισμένα ονόματα αρχείων--\n" #~ msgid "Written by John Gilmore and Jay Fenlason." #~ msgstr "Γράφτηκε από τους John Gilmore και Jay Fenlason." +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "Δεν είναι δυνατός ο συνδυασμός --listed-incremental με --newer" + #~ msgid "Error exit delayed from previous errors" #~ msgstr "Καθυστέρησε το σφάλμα εξόδου από προηγούμενα σφάλματα" diff --git a/po/eo.gmo b/po/eo.gmo index 2abb05c1c0016a6a78a03d5fd01ec9d145fdd8bd..0cf2688256d12544c9e69b7f3391dc8e35b635b7 100644 GIT binary patch delta 14215 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 JElk;aP3K$@SmUgmKN164k6Wp#;%^-&(^&zAAm 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 diff --git a/po/eo.po b/po/eo.po index e7cb071a..4e17952c 100644 --- a/po/eo.po +++ b/po/eo.po @@ -1,64 +1,64 @@ # Esperanto translation. -# Copyright (C) 2013 Free Software Foundation, Inc. +# Copyright (C) 2013, 2014 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. -# Felipe Castro , 2013. +# Felipe Castro , 2013, 2014. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar 1.27\n" +"Project-Id-Version: tar 1.28\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2013-10-07 11:32-0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2014-07-28 10:19-0300\n" "Last-Translator: Felipe Castro \n" "Language-Team: Esperanto \n" -"Language: Esperanto\n" +"Language: eo\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" "X-Generator: Poedit 1.5.4\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "malvalida argumento %s por %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "plursenca argumento %s por %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Validaj argumentoj estas:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s valoro estas malpli aÅ­ egala al %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: parametro en ARGP_HELP_FMT postulas valoron" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: parametro en ARGP_HELP_FMT devas esti pozitiva" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Nekonata parametro en ARGP_HELP_FMT" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Rubaĵo en ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -66,143 +66,148 @@ msgstr "" "Devigaj aŭ nedevigaj argumentoj por longaj modifiloj ankaÅ­ estas devigaj aÅ­ " "nedevigaj por iu ajn korespondanta mallonga modifilo." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Uzmaniero:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " aÅ­: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [MODIFILO...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Provu '%s --help' aÅ­ '%s --usage' por pli da informo.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Raportu program-misojn al %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Nekonata sistem-eraro" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "montri tiun ĉi help-liston" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "montri mallongan mesaĝon pri la uzmaniero" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NOMO" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "difini la program-nomon" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEK" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "halti dum SEK sekundoj (apriore 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "montri program-version" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAM-ERARO) Neniu versio estas konata!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: tro da argumentoj\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAM-ERARO) Modifiloj devus esti rekonitaj!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "skrib-eraro" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: modifilo '%s' estas plursenca; ebloj:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: modifilo '-W %s' estas plursenca\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: modifilo '--%s' ne permesas argumenton\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: modifilo '%c%s' ne permesas argumenton\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: modifilo '--%s' postulas argumenton\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: nerekonata modifilo '--%s'\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: nerekonata modifilo '%c%s'\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: malvalida modifilo -- '%c'\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: modifilo postulas argumenton -- '%c'\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: modifilo '-W %s' estas plursenca\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: modifilo '-W %s' ne permesas argumenton\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: modifilo '-W %s' postulas argumenton\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "la memoro plenplenas" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "ne eblas registri nunan labor-dosierujon" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "ni fiaskis reveni al komenca labordosierujo" @@ -228,11 +233,11 @@ msgstr "ni fiaskis reveni al komenca labordosierujo" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "‘" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "’" @@ -242,7 +247,7 @@ msgstr "’" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[jJyY]" @@ -252,16 +257,16 @@ msgstr "^[jJyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakigita de %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Pakigita de %s\n" @@ -269,11 +274,11 @@ msgstr "Pakigita de %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "(C)" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -412,22 +417,22 @@ msgstr "" "Raportu program-misojn al: %s\n" "Raportu traduk-misojn al: \n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Raportu program-misojn de %s al: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s hejm-paĝo: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s hejm-paĝo: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Ĝenerala helpo por uzi programaron GNU: \n" @@ -593,8 +598,8 @@ msgstr "Neatenditaj argumentoj" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Manipuli bendolegilon, akceptante komandojn el fora procezo" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "NUMERO" @@ -602,10 +607,11 @@ msgstr "NUMERO" msgid "set debug level" msgstr "difini rafinigan nivelon" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "DOSIERO" @@ -618,7 +624,7 @@ msgstr "difini rafinigan eliran dosiernomon" msgid "cannot open %s" msgstr "ne eblas malfermi %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "tro da argumentoj" @@ -627,111 +633,110 @@ msgstr "tro da argumentoj" msgid "Garbage command" msgstr "Ruba komando" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Tio ĉi ne ŝajnas esti arÄ¥ivo tar" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Bajtoj entute legitaj" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Bajtoj entute skribitaj" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Bajtoj entute forigitaj: %s\n" +msgstr "Tuto da bajtoj forigitaj" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(dukto)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "Ni rifuzas legi arÄ¥iv-enhavon el terminalo (ĉu mankas modifilon -f?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "Ni rifuzas skribi arÄ¥iv-enhavon al terminalo (ĉu mankas modifilon -f?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Malvalida valoro por 'record_size'" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Neniu arÄ¥iv-nomo estas indikita" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Ne eblas kontroli arÄ¥ivon de ĉefa en/eligujo" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "ArÄ¥ivo estas densigita. Uzu modifilon %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Ne eblas ĝisdatigi densigitajn arÄ¥ivojn" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Ĉe komenco de bendo, ni ĉesas nun" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Tro multaj eraroj, ni ĉesas" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Rikord-grando = %lu bloko" msgstr[1] "Rikord-grando = %lu blokoj" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Malrektigita bloko (%lu bajto) en arÄ¥ivo" msgstr[1] "Malrektigita bloko (%lu bajtoj) en arÄ¥ivo" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Ne eblas retropaŝi arÄ¥ivan dosieron; ĝi eble ne legeblos sen -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "'rmtlseek' ne haltis ĉe rikord-limo" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: enhavas malvalidan volum-numeron" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Datumvolum-numero troigas" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Preparu datumvolumon #%d por %s kaj premu enig-klavon: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "EOF kie respondo de uzanto estis atendata" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "AVERTO: arÄ¥ivo estas malkompleta" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -742,67 +747,67 @@ msgstr "" " q Ĉesigi tar\n" " y aÅ­ novlinio DaÅ­rigi operacion\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Generi subŝelon\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Montri tiun ĉi liston\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Neniu nova datumvolumo: ni eliras.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Dosiernomo ne estis indikata. Reprovu.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Malvalida enigo. Tajpu ? por helpo.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "La komando %s fiaskis" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "%s ne estas daÅ­rigata en tiu ĉi datumvolumo" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s eble estas daÅ­rigata en tiu ĉi datumvolumo: la kapo enhavas tranĉitan " "nomon" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "%s ne estas daÅ­rigata en tiu ĉi datumvolumo" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s estas malkorekta grando (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Tiu ĉi datumvolumo estas for de sekvo (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "La arÄ¥ivo ne estas markita por kongrui al %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "La datumvolumo %s ne kongruas al %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -810,7 +815,7 @@ msgstr "" "%s: dosiernomo tro longas por esti konservata en GNU-plurvoluma kapo, ni " "tranĉis" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "skribo ne finiĝis ĉe bloko-limo" @@ -821,20 +826,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Eblis legi %lu el %lu bajto" msgstr[1] "Eblis legi %lu el %lu bajtoj" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Enhavo malsamas" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Neatendita EOF en arÄ¥ivo" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Dosiertipo malsamas" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Reĝimo malsamas" @@ -850,7 +855,7 @@ msgstr "GID malsamas" msgid "Mod time differs" msgstr "Modif-tempo malsamas" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Grando malsamas" @@ -859,138 +864,138 @@ msgstr "Grando malsamas" msgid "Not linked to %s" msgstr "Ne ligita al %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Simbol-ligo malsamas" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Aparatnumero malsamas" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Kontroli " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: nekonata dosiertipo '%c', ni komparas kiel normalan dosieron" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "ArÄ¥ivo enhavas dosiernomojn kun forigitaj antaÅ­iraj prefiksoj." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "ArÄ¥ivo enhavas transformitajn dosiernomojn." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Kontrolo povas malsukcesi lokigi originalajn dosierojn." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "KONTROLA MALSUKCESO: %d malvalida kapo detektita" msgstr[1] "KONTROLA MALSUKCESO: %d malvalidaj kapoj detektitaj" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Izolita nul-bloko ĉe %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: enhavas kaŝmemoran dosierujan markon %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "valoro %s estas for de intervalo %s %s..%s; ni anstataÅ­igas %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "valoro %s estas for de intervalo %s %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Generado de negativaj okumaj kapoj" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s dosiernomo tro longas (maks %d); ne ŝutita" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s dosiernomo tro longas (ne povas esti apartigita); ne ŝutita" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: lignomo tro longas; ne ŝutita" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: dosiero malpligrandiĝis je %s bajto; ni ŝtopas per nulo" msgstr[1] "%s: dosiero malpligrandiĝis je %s bajtoj; ni ŝtopas per nuloj" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: dosiero estas en malsama dosiersistemo; ne ŝutita" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "enhavo ne estas ŝutita" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: nekonata dosiertipo; dosiero estas preteratentita" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Mankas ligoj al %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: dosiero estas nemodifita; ne ŝutita" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: dosiero estas la arÄ¥ivo; ne ŝutita" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "dosierujo ne estas ŝutita" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: dosiero ŝanĝis dum ni legas ĝin" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: konektilo estis preteratentata" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: pordo estis preteratentata" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Ni saltas al sekva kapo" @@ -1008,54 +1013,54 @@ msgstr "%s: malprobable malnova temp-indiko %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: temp-indiko %s estas %s s estontece" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: neatendita malkohero dum kreo de dosierujo" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "%s: ni preterpasas ekzistantan dosieron" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: dosierujo estis renomigata antaÅ­ ol ĝia stato povis esti prenata" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Ni elprenas daÅ­rigajn dosierojn kiel ordinarajn dosierojn" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Ni provas elpreni simbolajn ligojn kiel rektajn ligojn" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: ne eblas eltiri -- dosiero daÅ­riĝas el alia datumvolumo" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Neatendita long-noma kapo" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: nekonata dosiertipo '%c', ni eltiras kiel normalan dosieron" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Nuna %s estas pli nova aÅ­ sam-aĝa" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: ne eblis savkopii tiun ĉi dosieron" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Ne eblas renomigi %s al %s" @@ -1105,16 +1110,16 @@ msgstr "Malvalida numero 'inode'" msgid "%s: byte %s: %s %.*s... too long" msgstr "%s: bajto %s: %s %.*s... tro longas" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Neatendita EOF en statkopia dosiero" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "%s: bajto %s: %s %s sekvata de malvalida bajto 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" @@ -1123,113 +1128,114 @@ msgstr "" "%s: bajto %s: (valida intervalo %s..%s)\n" "\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "%s: bajto %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "%s: bajto %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Mankas rikord-finiganto" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Malĝusta aldona dosier-formo" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Nesubtenata versio de aldona formo: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Fuŝa 'dumpdir': ni atendis '%c' sed trovis %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Fuŝa 'dumpdir': duobligita 'X'" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Fuŝa 'dumpdir': malplena nomo en 'R'" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Fuŝa 'dumpdir': 'T' ne antaÅ­sekvata de 'R'" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Fuŝa 'dumpdir': malplena nomo en 'T'" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Fuŝa 'dumpdir': ni atendis '%c' sed trovis finon de datumaro" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Fuŝa 'dumpdir': neniam uzata 'X'" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Ne eblas krei provizoran dosierujon uzante la ŝablonon %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: ni ne netigas dosierujon: ne eblas apliki 'stat'" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: dosierujo estas en malsama aparato: ni ne netigas" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: forigo de %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: ne eblas forigi" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: ni malinkluzivigas" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloko %s: ** Bloko de NULOj **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloko %s: ** Fino de dosiero **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "bloko %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Vakoj en kapo kie numera valoro %s estas atendata" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1237,87 +1243,87 @@ msgstr "" "komplementon de du" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "ArÄ¥iva okuma valoro %.*s estas for de intervalo %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "ArÄ¥ivo enhavas malaktualajn kapojn 'base-64'" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Signita ĉeno 'base-64' de arÄ¥ivo (%s) estas for de intervalo %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Valoro 'base-256' de arÄ¥ivo estas for de intervalo %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "ArÄ¥ivo enhavas %.*s kie estas atendata numera valoro %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "ArÄ¥iva valoro %s estas for de intervalo %s: %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " kunligo al %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " nekonata dosiertipo %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Longa ligo--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Longa nomo--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Voluma kapo--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--DaÅ­rigita ĉe bajto %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Kreado de dosierujo:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Alinomigo de %s al %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: ne eblas renomigi al %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Renomigo de %s reen al %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: dosiero estis forigata antaÅ­ ol ni legis ĝin" @@ -1330,30 +1336,189 @@ msgstr "ida procezo" msgid "interprocess channel" msgstr "interproceza kanalo" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Loka dosier-elekto:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"aldoni la indikitan DOSIEROn al la arÄ¥ivo (utilas se ĝia nomo komencas per " +"streketo)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "UJO" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "ŝanĝi al la dosierujo UJO" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "havigi nomojn por eltiri aÅ­ krei el DOSIERO" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T legas nul-finigitajn nomojn, malebligas -C" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "malebligi la efikon de la antaÅ­a modifilo --null" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "malcitigi enigdosierojn aŭ membro-nomojn (aprioras)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "ne malcitigi enigdosierojn aÅ­ membro-nomojn" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "ŜABLONO" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "malinkluzivi dosierojn, indikitaj kiel ŜABLONO" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "malinkkluzivi ŝablonojn listigitajn en DOSIERO" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"malinkluzivi enhavojn de dosierujoj enhavantaj CACHEDIR.TAG, krom por la " +"markdosiero mem" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "malinkluzivi ĉion sub dosierujoj enhavantaj CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "malinkluzivi dosierujojn enhavantajn CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"malinkluzivi enhavojn de dosierujoj enhavantaj DOSIEROn, krom por DOSIERO mem" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "legi forig-ŝablonojn por ĉiu dosierujo el DOSIERO, se ĝi ekzistas" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"legi forig-ŝablonojn por ĉiu dosierujo kaj ĝiaj subdosierujoj el DOSIERO, se " +"ĝi ekzistas" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "malinkluzivi ĉion sub dosierujoj enhavantaj DOSIERO" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "malinkluzivi dosierujojn enhavantajn DOSIEROn" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "malinkluzivi versikontrol-sistemajn dosierujojn" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "legi forig-ŝablonojn el la dosieroj por preteratenti VCS" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "malinkluzivi savkopiajn kaj ŝlosajn dosierojn" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "rekursigi en dosierujojn (aprioras)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "eviti malsupreniri aÅ­tomate en dosierujoj" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Dosiernom-kongruaj modifiloj (influas kaj ekskluzivajn kaj inkluzivajn " +"ŝablonojn):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "ŝablonoj kongruas al komenco de dosiernomo" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "ŝablonoj kongruas post iu ajn '/' (aprioras por malinkluzivo)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "preteratenti usklecon" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "uskleca kongruo (aprioras)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "uzi ĵokerojn (aprioras por malinkluzivo)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "laÅ­vorta ĉena kongruo" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "ĵokeroj kongruas kun '/' (aprioras por malinkluzivo)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "ĵokeroj ne kongruas kun '/'" + +#: src/names.c:768 msgid "command line" msgstr "komandlinio" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: dosierlisto petita el %s jam estas legita el %s" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "ne eblas apartigi ĉenon '%s': %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: lego de dosiernomo enhavas nul-signon" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Ŝablon-kongruaj signoj uzataj en dosiernomoj" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1361,47 +1526,47 @@ msgstr "" "Uzu --wildcards por ebligi ŝablon-kongruon, aŭ --no-wildcards por eviti tiun " "ĉi averton" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: ne trovita en arÄ¥ivo" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: postulata apero ne estis trovata en arÄ¥ivo" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Miskongruo de arÄ¥iva etikedo" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Uzo de la modifilo -C ene de dosierlisto ne estas permesata kun --listed-" "incremental" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Nur unu modifilo -C estas permesata kun --listed-incremental" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Ambaŭ modifiloj '-%s' kaj '-%s' postulas ĉefenigujon" +msgstr "Ambaŭ modifiloj '%s' kaj '%s' postulas ĉefenigujon" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: malvalida arÄ¥iv-formo" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "GNU-trajtoj estas dezirataj en neakordigebla arÄ¥iv-formo" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1409,7 +1574,7 @@ msgstr "" "Nekonata citila stilo '%s'. Provu '%s --quoting-stile=help' por havigi " "liston." -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1428,7 +1593,7 @@ msgstr "" "tar.\n" " tar -xf archive.tar # Eltiras ĉiujn dosierojn el archive.tar.\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1449,79 +1614,87 @@ msgstr "" " nil, existing numerigi se numeritaj jam ekzistas, alie generi simplajn\n" " never, simple ĉiam generi simplajn savkopiojn\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Ĉefa operacia reĝimo:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "listigi la enhavon de arÄ¥ivo" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "eltiri dosierojn el arÄ¥ivo" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "krei novan arÄ¥ivon" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "trovi malsamojn inter la arÄ¥ivo kaj la dosiersistemo" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "postmeti dosierojn al la fino de arÄ¥ivo" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "nur postmeti dosierojn pli novajn ol la kopio en arÄ¥ivo" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "postmeti tar-dosierojn al arÄ¥ivo" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "forigi el la arÄ¥ivo (ne en magnet-bendoj!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "testi la arÄ¥ivan volum-etikedon kaj eliri" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Operaciaj modifiloj:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "trakti disajn dosierojn ŝpareme" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "ĈEFA[.KROMA]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "difini version de la uzota disa formo (implicas --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "trakti malnovan GNU-forman aldonan savkopion" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "trakti novan GNU-forman aldonan savkopion" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "ŝut-nivelo por kreita listita-aldona arÄ¥ivo" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "ne eliri kun nenulo pro nelegeblaj dosieroj" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1533,139 +1706,148 @@ msgstr "" "list kaj kiam listo de dosieroj estas indikita en la komandlinio aÅ­ per la " "modifilo -T; NUMERO apriore estas 1" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "arÄ¥ivo estas serĉebla" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "arÄ¥ivo ne estas serĉebla" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "ne kontroli aparat-numerojn dum kreo de aldonaj arÄ¥ivoj" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "kontroli aparat-numerojn dum kreo de aldonaj arÄ¥ivoj (aprioras)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "AnstataÅ­iga administro:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "provi kontroli la arÄ¥ivon post skribi ĝin" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "forigi dosierojn post aldoni ilin al la arÄ¥ivo" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" "ne anstataÅ­igi ekzistantajn dosierojn dum eltiro, trakti ilin kiel erarojn" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" "ne anstataÅ­igi ekzistantajn dosierojn dum eltiro, silente preterpasi ilin" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "ne anstataÅ­igi ekzistantajn dosierojn kiuj pli novas ol iliaj arÄ¥ivaj kopioj" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "anstataÅ­igi ekzistantajn dosierojn dum eltiro" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "forigi ĉiun dosieron antaŭ ol eltiri sur ĝi" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "malplenigi hierarkiojn antaŭ ol eltiri dosierujon" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "teni metadatumaron pri ekzistantaj dosierujoj" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "anstataÅ­igi metadatumaron pri ekzistantaj dosierujoj dum eltiro (aprioras)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "teni ekzistantajn simbolajn ligojn al dosierujoj dum eltiro" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "UJO" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "krei subdosierujon por eviti malstriktajn dosierojn eltirataj" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Elekti eligfluon:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "eltiri dosierojn al ĉefeligujo" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "KOMANDO" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "dukti eltiritajn dosierojn al alia programo" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "preteratenti elir-kodojn de idoj" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "trakti ne-nulajn elir-kodojn de idoj kiel erarojn" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Traktado de dosier-atributoj:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "devigi NOMOn kiel posedanton por aldonataj dosieroj" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "devigi NOMOn kiel grupon por aldonataj dosieroj" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATO-AŬ-DOSIERO" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "difini 'mtime' por aldonataj dosieroj el DATO-AŬ-DOSIERO" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "ŜANĜOJ" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "devigi (simbolajn) reĝimajn ŜANĜOJn por aldonataj dosieroj" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METODO" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1675,11 +1857,11 @@ msgstr "" "lego (METODO='replace'; aprioras) aŭ per ne-difino de la horoj en la unua " "loko (METODO='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "ne eltiri dosieran modif-horon" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1687,19 +1869,19 @@ msgstr "" "provi eltiri dosierojn kun la sama posedanteco kiel ekzistanta en la arÄ¥ivo " "(aprioras por ĉefuzanto)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "eltiri dosierojn kiel vi mem (aprioras por ordinaraj uzantoj)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "ĉiam uzi numerojn por uzant/grup-nomoj" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "eltiri informon pri dosier-permesoj (aprioras por ĉefuzanto)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1707,17 +1889,13 @@ msgstr "" "apliki 'umask' de uzanto dum eltiro de permesoj por la arÄ¥ivo (aprioras por " "ordinaraj uzantoj)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" "membraj argumentoj estas listigitaj samorde ol la dosieroj en la arÄ¥ivo" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "same ol uzi kaj -p kaj -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1725,187 +1903,187 @@ msgstr "" "prokrastigi difinon de modif-horoj kaj permesoj de eltiritaj dosierujoj ĝis " "la fino de la eltirado" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "nuligi la efikon de la modifilo --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "ORDO" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "dosieruja ordigo: 'none' (aprioras) aŭ 'name'" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Traktado de etenditaj dosier-atributoj:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Ebligi subtenon al etenditaj atributoj" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Malebligi subtenon al etenditaj atributoj" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "MASKO" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "indiki la inkluzivan ŝablonon por klavoj xattr" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "indiki la malinkluzivan ŝablonon por klavoj xattr" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "Ebligi subtenon al la kunteksto SELinux" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "Malebligi subtenon al la kunteksto SELinux" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "Ebligi subtenon al POSIX ACL-oj" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "Malebligi subtenon al POSIX ACL-oj" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Aktivigo kaj elekto de aparato:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARĤIVO" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "uzi arÄ¥ivan dosieron aŭ aparaton ARĤIVO" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "arÄ¥iva dosiero estas loka eĉ se ĝi havas dupunkton" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "uzi indikitan KOMANDOn rmt anstataŭ rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "uzi deforan KOMANDOn anstataŭ rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "indiki diskon kaj denson" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "krei/listigi/eltiri plur-voluman arÄ¥ivon" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "ŝanĝi bend-aparaton post skribi NUMERO x 1024 bajtojn" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "lanĉi skripton je fino de ĉiu bend-aparato (implicas -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "uzi/ĝisdatigi la volum-numeron en DOSIERO" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Aparat-blokoj:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOKOJ" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOKOJ x 512 bajtoj por rikordo" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "NUMERO da bajtoj por rikordo, oblo de 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "preteratenti nuligitajn blokojn en arÄ¥ivo (signifas EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "reblokigi dum ni legas (por duktoj 4.2BSD)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Elekto de arÄ¥iv-formo:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMO" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "krei arÄ¥ivon el indikita formo" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMO estas unu el la jenaj:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "malnova formo V7 tar" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "Formo GNU kiel en tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "Formo de GNU-tar 1.13.5" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "Formo POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "Formo POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "same ol pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "same ol --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "same ol --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "ŝlosilo[[:]=valoro][,ŝlosilo[[:]=valoro]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "kontroli pax-ŝlosilojn" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEKSTO" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1913,183 +2091,80 @@ msgstr "" "krei arÄ¥ivon kun volum-nomo TEKSTO; dum listigo/eltiro, uzi TEKSTOn kiel " "ĵokeran ŝablonon por volum-nomo" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Densigaj modifiloj:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "uzi arÄ¥ivan sufikson por determini la densigan programon" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "ne uzi la arÄ¥ivan sufikson por determini la densigan programon" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "filtri tra PROG (devas akcepti -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Loka dosier-elekto:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"aldoni la indikitan DOSIEROn al la arÄ¥ivo (utilas se ĝia nomo komencas per " -"streketo)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "ŝanĝi al la dosierujo UJO" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "havigi nomojn por eltiri aÅ­ krei el DOSIERO" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T legas nul-finigitajn nomojn, malebligas -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "malebligi la efikon de la antaÅ­a modifilo --null" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "malcitigi dosiernomojn legitajn per -T (aprioras)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "ne malcitigi dosiernomojn legitajn per -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "ŜABLONO" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "malinkluzivi dosierojn, indikitaj kiel ŜABLONO" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "malinkkluzivi ŝablonojn listigitajn en DOSIERO" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"malinkluzivi enhavojn de dosierujoj enhavantaj CACHEDIR.TAG, krom por la " -"markdosiero mem" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "malinkluzivi ĉion sub dosierujoj enhavantaj CACHEDIR.TAG" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "malinkluzivi dosierujojn enhavantajn CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"malinkluzivi enhavojn de dosierujoj enhavantaj DOSIEROn, krom por DOSIERO mem" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "malinkluzivi ĉion sub dosierujoj enhavantaj DOSIERO" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "malinkluzivi dosierujojn enhavantajn DOSIEROn" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "malinkluzivi versikontrol-sistemajn dosierujojn" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "malinkluzivi savkopiajn kaj ŝlosajn dosierojn" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "eviti malsupreniri aÅ­tomate en dosierujoj" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "resti en loka dosiersistemo dum kreo de arÄ¥ivo" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "rekursigi en dosierujojn (aprioras)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "ne demeti antaÅ­irajn '/'-ojn el dosiernomoj" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "sekvi simbol-ligojn; arÄ¥ivi kaj ŝuti la dosierojn, kiujn ili indikas" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "sekvi rekt-ligojn; arÄ¥ivi kaj ŝuti la dosierojn, kiujn ili referencigas" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "MEMBRO-NOMO" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "komenci per la membro MEMBRO-NOMO dum lego de la arÄ¥ivo" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "nur konservi dosierojn pli novajn ol DATO-AŬ-DOSIERO" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATO" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "kompari daton kaj horon nur kiam datumaro ŝanĝis" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "KONTROLO" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "savkopii antaÅ­ ol forigi, elekti versi-KONTROLOn" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "ĈENO" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2097,97 +2172,59 @@ msgstr "" "savkopii antaÅ­ ol forigi, anstataÅ­igi ordinaran sufikson ('~' krom se " "anstataÅ­igita de medi-variablo SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Dosiernomaj transformigoj:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "demeti NUMERO antaÅ­irajn komponantojn el dosiernomoj dum eltiro" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "ESPRIMO" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "uzi sed-anstataÅ­igan ESPRIMOn por transformigi dosiernomojn" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Dosiernom-kongruaj modifiloj (influas kaj ekskluzivajn kaj inkluzivajn " -"ŝablonojn):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "preteratenti usklecon" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "ŝablonoj kongruas al komenco de dosiernomo" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "ŝablonoj kongruas post iu ajn '/' (aprioras por malinkluzivo)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "uskleca kongruo (aprioras)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "uzi ĵokerojn (aprioras por malinkluzivo)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "laÅ­vorta ĉena kongruo" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "ĵokeroj ne kongruas kun '/'" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "ĵokeroj kongruas kun '/' (aprioras por malinkluzivo)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Informa eligo:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "detale listigi procezitajn dosierojn" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "ŜLOSILVORTO" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "avert-kontrolo" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "montri progres-mesaĝojn je ĉiu NUMERa rikordo (aprioras 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "AGO" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "plenumigi AGOn je ĉiu kontrolpunkto" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "montri mesaĝon se ne ĉiuj ligoj estos ŝutitaj" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNALO" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2199,35 +2236,35 @@ msgstr "" "estas: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 kaj SIGUSR2; la nomoj sen prefikso " "SIG ankaÅ­ akcepteblas" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "montri dosierajn modif-horojn laŭ UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "montri dosieran horon per ĝia tuta distingivo" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "sendi detalan eligon al DOSIERO" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "montri bloknumeron ene de arÄ¥ivo je ĉiu mesaĝo" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "peti konfirmon por ĉiu ago" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "montri apriorojn de tar" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "montri validajn intervalojn por kampoj de statkopi-dosiero" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2235,45 +2272,52 @@ msgstr "" "dum listigo aŭ eltiro, listigi ĉiun dosierujon kiu ne kongruas al serĉ-" "kriterio" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "montri dosieron aÅ­ arÄ¥ivajn nomojn post transformigo" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STILO" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "difini nom-citigan stilon; vidu sube por validaj valoroj de STILO" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "krome citigi signojn el ĈENO" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "malebligi citigon por signoj el ĈENO" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Akordigeblaj modifiloj:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "dum kreo, same ol --old-archive; dum eltiro, same ol --no-same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Aliaj modifiloj:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "malebligi uzon de kelkaj eble damaĝaj modifiloj" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "'%s' ne uzeblas kun '%s'" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" @@ -2281,40 +2325,40 @@ msgstr "" "Vi ne devas indiki pli ol unu el la modifiloj '-Acdtrux', '--delete' aŭ '--" "test-label'" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Konfliktantaj densigaj modifiloj" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Nekonata signal-nomo: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Data specimen-dosiero ne estis trovata" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Ni anstataÅ­igas %s por la nekonata dato-formo %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Modifilo %s: ni traktas daton '%s' kiel %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "filtri la arÄ¥ivon tra %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Validaj argumentoj por la modifilo --quoting-style estas:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2322,185 +2366,196 @@ msgstr "" "\n" "*Tiu ĉi* tar apriorigas tion:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "Malvalida posedanto aÅ­ grupo-ID" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Malvalida blok-faktoro" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Malvalida benda longo" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Malvalida aldon-nivela valoro" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Pli ol unu lim-dato" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Malvalida disa versi-valoro" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' ne estas subtenata en tiu ĉi platformo" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "valoro de --checkpoint ne estas entjero" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Malvalida reĝimo indikita en modifilo" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Malvalida numero" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"La modifilo --preserve estas malrekomendinda, uzu --preserve-permissions --" -"preserve-order anstataÅ­e" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Malvalida rikord-grando" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Rikord-grando devas esti oblo de %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Malvalida nombro da elementoj" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Nur unu modifilo --to-command estas permesata" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Fuŝa densiga argumento: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Nekonata densigo: '%c'" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Modifiloj '-[0-7][lmh]' ne estas subtenata de *tiu ĉi* tar" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Eraro dum analizo de numero proksime de '%s'" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[DOSIERO]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "la modifilo --%s ne uzeblas kun %s" +msgid "non-option arguments in %s" +msgstr "malvalida argumento %s por %s" -#: src/tar.c:2389 +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "ne eblas apartigi ĉenon '%s': %s" + +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "La malnova modifilo '%c' postulas argumenton." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "Sen dosierlisto, --occurrence estas sensignifa" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Multoblaj arÄ¥iv-dosieroj postulas modifilon '-M'" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "Sen --listed-incremental, --level estas sensignifa" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: volum-etikedo tro longas (limo estas %lu bajto)" msgstr[1] "%s: volum-etikedo tro longas (limo estas %lu bajtoj)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Ne eblas kontroli plur-volumajn arÄ¥ivojn" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Ne eblas kontroli densigitajn arÄ¥ivojn" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Ne eblas uzi plur-volumajn densigitajn arÄ¥ivojn" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Ne eblas kunmeti densigitajn arÄ¥ivojn" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option nur uzeblas en arÄ¥ivoj POSIX" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "--acls nur uzeblas en arÄ¥ivoj POSIX" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "--selinux nur uzeblas en arÄ¥ivoj POSIX" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "--xattrs nur uzeblas en arÄ¥ivoj POSIX" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Ne eblas konjekti supro-nivela dosieruja nomo; bonvolu indiki ĝin klare per " +"--one-top-level=UJO" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Datum-voluma longo ne povas esti malpli ol rikord-grando" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Malkuraĝe ni rifuzas krei malplenan arÄ¥ivon" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Modifiloj '-Aru' ne akordigeblas kun '-f -'" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "Vi devas indiki unu el la modifiloj '-Acdtrux', --delete' aÅ­ '--test-label'" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Ni eliras kun malsukcesa stato pro antaÅ­aj eraroj" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "dosieruja ordigo: 'none' (aprioras), 'name' aŭ inode" #: src/update.c:87 #, c-format @@ -2554,34 +2609,34 @@ msgstr "Fuŝa etendita kapo: mankas nov-linio" msgid "Ignoring unknown extended header keyword '%s'" msgstr "Ni preteratentas nekonatan etenditan kapan ŝlosilon '%s'" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Generita paro ŝlosilo/valoro tro longas (ŝlosilo=%s, longo=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "La etendita kapo %s=%s estas for de la intervalo %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Fuŝa etendita kapo: malvalida %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Fuŝa etendita kapo: troiga %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Fuŝa etendita kapo: malvalida %s: neatendita apartigilo %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Fuŝa etendita kapo: malvalida %s: malpara nombro da valoroj" @@ -2622,7 +2677,7 @@ msgstr "Skriba kontrol-punkto %u" msgid "Read checkpoint %u" msgstr "Lega kontrol-punkto %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2631,72 +2686,76 @@ msgstr "" "de GNU.\n" "MODIFILOJ estas:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Dosier-kreaj modifiloj:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "GRANDO" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Krei dosieron el indikita GRANDO" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Skribi al dosiero NOMO, anstataŭ al ĉefeligujo" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Legi dosiernomojn el DOSIERO" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T legas nul-finigitajn nomojn" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "Kompletigi la dosieron per la indikita ŜABLONO. ŜABLONO estas 'default' aÅ­ " "'zeros'" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Grando de bloko por disa dosiero" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Generi disan dosieron. Cetero de la komandlinio indikas la dosiermapon." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "DEŜOVO" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Moviĝi al la indikita deŝovo antaÅ­ ol skribi datumaron" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Dosier-statistikaj modifiloj:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Montri enhavon de 'struct stat' por ĉiu indikita dosiero. Apriora FORMO " "estas: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Sinkronaj plenumaj modifiloj:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "MODIFILO" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2704,19 +2763,19 @@ msgstr "" "Plenumi ARGj. Utilas kun --checkpoint kaj unu el --cut, --append, --touch, --" "unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "Plenumi indikitan agon (vidu sube), kiam atingi kontrolpunkton NUMERO" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Difini daton por la modifilo --touch kiu sekvas" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Montri plenumitajn kontrolpunktojn kaj elir-staton de KOMANDO" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2724,7 +2783,7 @@ msgstr "" "Sinkronaj plenumaj agoj. Tiuj ĉi estas plenumataj kiam oni atingas " "kontrolpunktan numeron indikitan de modifilo --checkpoint." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2732,154 +2791,164 @@ msgstr "" "Tranĉi DOSIEROn al la grando indikita de antaÅ­a modifilo --length (aŭ 0, se " "ne indikita)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Postmeti GRANDO bajtojn al DOSIERO. GRANDO estas indikita de antaÅ­a modifilo " "--length." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Ĝisdatigi la alirajn kaj modifajn horojn de DOSIERO" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Lanĉi KOMANDOn" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Malligi DOSIEROn" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Malvalida grando: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Numero estas for de permesata intervalo: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Negativa grando: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) fiaskis" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "petita dosier-longo: %lu, fakta: %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "kreita dosiero ne estas disa" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Eraro dum analizo de numero proksime de '%s'" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Nekonata dat-formo" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGj...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "ne eblas malfermi '%s'" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "ne eblas apliki 'seek'" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "dosiernomo enhavas nul-signon" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "ne eblas generi disajn dosierojn por la ĉefeligujo, uzu la modifilon --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "malĝusta masko (proksime de '%s')" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Nekonata kampo '%s'" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "ne eblas difini horon por '%s'" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "ne eblas tranĉi '%s'" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "komando fiaskis: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "ne eblas apliki 'unlink' al '%s'" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Komando eliris sukcese\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Komando fiaskis kun stato %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Komando estis ĉesigata de signalo %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Komando haltis pro signalo %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Komando ŝutis nukleon\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Komando estas ĉesigita\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat postulas dosiernomojn" +#~ msgid "same as both -p and -s" +#~ msgstr "same ol uzi kaj -p kaj -s" + +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "La modifilo --preserve estas malrekomendinda, uzu --preserve-permissions " +#~ "--preserve-order anstataÅ­e" + #~ msgid "--occurrence cannot be used with %s" #~ msgstr "--occurrence ne povas esti uzata kun %s" diff --git a/po/es.gmo b/po/es.gmo index edfee85003d749e686a94c6a1431ca36a3430153..7c94d9d9e6d04223eed377f3e9ea73ad1bb2c380 100644 GIT binary patch literal 64905 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 delta 11304 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 diff --git a/po/es.po b/po/es.po index ea52c995..6c025a68 100644 --- a/po/es.po +++ b/po/es.po @@ -4,15 +4,16 @@ # Federico Rivas , 1997. # Enrique Melero , 1997. # Santiago Vila Doncel , 1998, 1999, 2000, 2001, 2002, 2004, 2014. +# Antonio Ceballos , 2015, 2016 # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: GNU tar 1.27\n" +"Project-Id-Version: GNU tar 1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2014-07-15 19:39+0200\n" -"Last-Translator: Santiago Vila Doncel \n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-03-22 12:32+0100\n" +"Last-Translator: Antonio Ceballos \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" @@ -20,46 +21,46 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argumento %s inválido para %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argumento %s ambiguo para %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Los argumentos válidos son:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: el valor de %s es menor o igual que %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: El parámetro ARGP_HELP_FMT necesita un valor" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: El parámetro ARGP_HELP_FMT debe ser positivo" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Parámetro ARGP_HELP_FMT desconocido" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Incongruencia en ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -68,19 +69,19 @@ msgstr "" "también\n" "obligatorios u opcionales para las opciones cortas correspondientes." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Modo de empleo:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " o bien: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [OPCIÓN...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Pruebe '%s --help' o '%s --usage' para más información.\n" @@ -91,126 +92,131 @@ msgstr "Pruebe '%s --help' o '%s --usage' para más información.\n" # Edsger W. Dijkstra, "On the cruelty of really teaching computing science" # # http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1036.html -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Comunicar errores a %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Error del sistema desconocido" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "da esta lista de ayuda" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "da un mensaje de uso corto" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NOMBRE" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "establece el nombre del programa" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEGS" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "cuelga durante SEGS segundos (por omisión 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "muestra la versión del programa" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ERROR DEL PROGRAMA) ¿¡No se sabe cuál es la versión!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Demasiados argumentos\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ERROR DEL PROGRAMA) ¿¡No se debería haber reconocido la opción!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "error de escritura" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: la opción '%s' es ambigua; posibilidades:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: la opción '%s' es ambigua\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: la opción '--%s' no admite ningún argumento\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: la opción '%c%s' no admite ningún argumento\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: la opción '--%s' requiere un argumento\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opción no reconocida '--%s'\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opción no reconocida '%c%s'\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opción inválida -- '%c'\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: la opción requiere un argumento -- '%c'\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: la opción '-W %s' es ambigua\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: la opción '-W %s' no admite ningún argumento\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: la opción '-W %s' requiere un argumento\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "memoria agotada" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "no se puede obtener el directorio de trabajo actual" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "fallo al volver al directorio de trabajo inicial" @@ -236,11 +242,11 @@ msgstr "fallo al volver al directorio de trabajo inicial" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "«" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "»" @@ -250,7 +256,7 @@ msgstr "»" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[sSyY]" @@ -260,16 +266,16 @@ msgstr "^[sSyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Empaquetado por %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Empaquetado por %s\n" @@ -277,11 +283,11 @@ msgstr "Empaquetado por %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -418,22 +424,22 @@ msgstr "" "\n" "Comunicar errores a: %s\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Comunicar errores en %s a: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Página de %s: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Página de %s: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Ayuda general sobre el uso de software de GNU: " -msgstr "" +msgstr "Versión no soportada de formato incremental: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" -msgstr "" +msgstr "Dumpdir erróneo: se esperaba '%c' pero se encontró %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" -msgstr "" +msgstr "Dumpdir erróneo: 'X' duplicado" -#: src/incremen.c:1568 -#, fuzzy +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" -msgstr "Argumento de densidad mal formado: %s" +msgstr "Dumpdir erróneo: nombre vacío en 'R'" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" -msgstr "" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" +msgstr "Dumpdir erróneo: 'T' no está precedido por 'R'" -#: src/incremen.c:1587 -#, fuzzy +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" -msgstr "Argumento de densidad mal formado: %s" +msgstr "Dumpdir erróneo: nombre vacío en 'T'" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" +"Dumpdir erróneo: se esperaba '%c' pero se encontró el final de los datos" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" -msgstr "" +msgstr "Dumpdir erróneo: no se ha utilizado nunca 'X'" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "No se puede crear un directorio temporal usando la plantilla %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: No se purga el directorio: no se puede efectuar `stat'" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: el directorio está en un dispositivo distinto: no se purga" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Borrando %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: No se puede borrar" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Se omite" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloque %s: ** Bloque de NULos **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloque %s: ** Fin de Fichero **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "bloque %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Hay blancos en la cabecera cuando se esperaba el valor numérico %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1421,87 +1428,87 @@ msgstr "" "se supone complemento a dos" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "El valor octal %.*s del archivo está fuera del rango %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "El archivo contiene cabeceras base 64 obsoletas" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "La cadena firmada en base 64 %s del archivo está fuera del rango %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "El valor en base 256 del archivo está fuera del rango %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "El archivo contiene %.*s donde se esperaba el valor numérico %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "El valor del archivo %s está fuera del rango de %s %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " enlace a %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " tipo de fichero desconocido %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Enlace largo--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Nombre largo--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Cabecera de Volumen--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Continúa en el byte %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Creando el directorio:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Se renombra %s como %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: No se puede renombrar a %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Se vuelve a renombrar %s como %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: El fichero fue borrado antes de leerlo" @@ -1514,32 +1521,201 @@ msgstr "proceso hijo" msgid "interprocess channel" msgstr "canal de interproceso" -#: src/names.c:360 +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "Selección del fichero local:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"añade el FICHERO dado al archivo (útil si su nombre comienza con un guion)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "DIR" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "cambia al directorio DIR" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "obtiene los nombres que se van a extraer o crear de FICHERO" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T lee nombres terminados en nulo; implica --verbatim-files-from" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "desactiva el efecto de la opción --null anterior" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" +"quita las comillas de los nombres de ficheros de entrada o de miembros " +"(predeterminado)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" +"no quita las comillas de los nombres de ficheros de entrada o de miembros" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "-T lee nombres de fichero literalmente (sin manejo de opciones)" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" +"-T trata los nombres de fichero que comienzan con guión como opciones " +"(predeterminado)" + +# Nota: La diferencia entre un PATRÓN y una EXPREG es que +# el primero se refiere a un "globbing pattern", es decir, patrones +# de expansión de nombres de ficheros, como * y ?, mientras que +# el segundo se refiere a expresiones regulares como las de grep, +# es decir, ^, $, ., *, etc. +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "PATRÓN" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "excluye ficheros, dados como un PATRÓN" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "excluye los patrones listados en FICHERO" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"excluye el contenido de los directorios que contienen CACHEDIR.TAG, excepto " +"por el propio fichero CACHEDIR.TAG" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "excluye todo bajo los directorios que contienen CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "excluye los directorios que contienen CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"excluye el contenido de los directorios que contengan FICHERO, excepto el " +"propio FICHERO" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" +"leer en FICHERO, si existe, los patrones de exclusión oara cada directorio" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"leer en FICHERO, si existe, los patrones de exclusión oara cada directorio " +"sus subdirectorios" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "exclute todo bajo los directorios que contengan FICHERO" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "excluye los directorios que contengan FICHERO" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "excluye los directorios de sistemas de control de versiones" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "lee los patrones de exclusión de los ficheros de descarte de VCS" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "excluye los ficheros de respaldo y de bloqueo" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "opera recursivamente sobre los directorios (por omisión)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "evita descender automáticamente en los directorios" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"opciones de coincidencia para nombres de fichero (afectan a los patrones de " +"exclusión y de inclusión):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "los patrones encajan con el comienzo del nombre del fichero" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" +"los patrones encajan después de cualquier `/' (por omisión para exclusión)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "no distingue mayúsculas de minúsculas" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "distingue mayúsculas de minúsculas (por omisión)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "utiliza comodines (predeterminado para exclusión)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "coincidencia de cadenas verbatim" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "los comodines encajan con `/' (por omisión para exclusión)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "los comodines no encajan con `/'" + +#: src/names.c:768 msgid "command line" msgstr "línea de órdenes" -#: src/names.c:378 -#, fuzzy, c-format +#: src/names.c:786 +#, c-format msgid "%s: file list requested from %s already read from %s" -msgstr "%s: ya se ha leído la lista de ficheros" +msgstr "%s: la lista de ficheros solicitada en %s ya se ha leído de %s" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "no se puede dividir la cadena '%s': %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: el nombre de fichero leído contiene el carácter nul" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "" "Se han utilizado caracteres de expresiones regulares en los nombres de los " "ficheros" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1547,12 +1723,12 @@ msgstr "" "Utilice --wildcards para activar el encaje de patrones, o --no-wildcards " "para suprimir este aviso" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: No se encuentra en el archivo" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: El elemento solicitado no se encuentra en el archivo" @@ -1563,37 +1739,37 @@ msgstr "%s: El elemento solicitado no se encuentra en el archivo" # Si no se sabe eso, se podría dejar de forma más neutra como # "Archivo no etiquetado para concordancia con `%s'" - gerardo (gag) # FIXME: Preguntar. -#: src/names.c:879 -#, fuzzy, c-format +#: src/names.c:1297 +#, c-format msgid "Archive label mismatch" -msgstr "El archivo no está etiquetado para que coincida con %s" +msgstr "Discordancia en la etiqueta del archivo" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Usar la opción -C dentro de una lista de ficheros no está permitido con --" "listed-incremental" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Solamente se permite una opción -C con --listed-incremental" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Las opciones '-%s' y '-%s' requieren entrada estándar" +msgstr "Las opciones '%s' y '%s' requieren entrada estándar" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Formato de archivo inválido" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Se requieren características de GNU en formato de archivo incompatible" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1616,8 +1792,7 @@ msgstr "" # # nil: numeradas... simples... (en plural) # # never, simPle (falta una pe): backup -> copia de seguridad. gag # Estoy de acuerdo con lo de gag (más arriba usas eso mismo). jmg -#: src/tar.c:378 -#, fuzzy +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1636,15 +1811,6 @@ msgstr "" " tar -tvf archivo.tar # Lista los ficheros de archivo.tar con " "detalle.\n" " tar -xf archivo.tar # Extrae todos los ficheros de archivo.tar.\n" -"\vEl sufijo de respaldo es `~', a menos que se especifique con --suffix\n" -"o con SIMPLE_BACKUP_SUFFIX. El control de versiones puede establecerse\n" -"con --backup o con VERSION_CONTROL, los valores son:\n" -"\n" -" t, numbered hace copias de seguridad numeradas\n" -" nil, existing numerada si existen copias de seguridad numeradas, " -"simples\n" -" en otro caso\n" -" never, simple siempre hace copias de seguridad simples\n" # Yo usaría "recuperar", en vez de "restablecer". Lo de repetir "archivo" # dos veces en la misma frase no me suena bien, así que pondría "... a @@ -1661,8 +1827,7 @@ msgstr "" # # nil: numeradas... simples... (en plural) # # never, simPle (falta una pe): backup -> copia de seguridad. gag # Estoy de acuerdo con lo de gag (más arriba usas eso mismo). jmg -#: src/tar.c:387 -#, fuzzy +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1673,92 +1838,93 @@ msgid "" " nil, existing numbered if numbered backups exist, simple otherwise\n" " never, simple always make simple backups\n" msgstr "" -"GNU `tar' guarda varios ficheros juntos en un solo archivo en cinta o disco, " -"y\n" -"puede restablecer ficheros individuales a partir del archivo.\n" -"\n" -"Ejemplos:\n" -" tar -cf archivo.tar fu fa # Crea archivo.tar con los ficheros fu y fa.\n" -" tar -tvf archivo.tar # Lista los ficheros de archivo.tar con " -"detalle.\n" -" tar -xf archivo.tar # Extrae todos los ficheros de archivo.tar.\n" -"\vEl sufijo de respaldo es `~', a menos que se especifique con --suffix\n" +"El sufijo de respaldo es '~', a menos que se especifique con --suffix\n" "o con SIMPLE_BACKUP_SUFFIX. El control de versiones puede establecerse\n" "con --backup o con VERSION_CONTROL, los valores son:\n" "\n" +" none, off no hace copias de seguridad\n" " t, numbered hace copias de seguridad numeradas\n" " nil, existing numerada si existen copias de seguridad numeradas, " "simples\n" " en otro caso\n" " never, simple siempre hace copias de seguridad simples\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Modo principal de operación:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "lista el contenido de un archivo" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "extrae ficheros de un archivo" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "crea un nuevo archivo" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "encuentra las diferencias entre un archivo y el sistema de ficheros" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "añade ficheros al final de un archivo" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "solamente añade ficheros más recientes que la copia del archivo" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "añade ficheros tar a un archivo" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "borra del archivo (¡no en cintas magnéticas!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "comprueba la etiqueta de volumen del archivo y finaliza" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Modificadores de operación:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "maneja ficheros dispersos de forma eficiente" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "TIPO" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "técnica para detectar huecos" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "PRINCIPAL[.SECUNDARIO]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" +"establece la versión del formato disperso que se usará (implica --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "maneja el formato GNU antiguo de respaldo incremental" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "maneja el nuevo formato GNU de respaldo incremental" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" -msgstr "" +msgstr "nivel de volcado para archivo creado con listado incremental" # ¿archivos nonzero? sv # Estupendo Gerardo, se me había pasado, como tantas cosas em+ @@ -1767,199 +1933,214 @@ msgstr "" # # encuentre ficheros ilegibles. (¡Uf! Ahora a ver cómo se pone esto en # # media línea.) gag # -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "no sale con estado distinto de cero cuando hay ficheros ilegibles" -#: src/tar.c:459 -#, fuzzy +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" "diff, --extract or --list and when a list of files is given either on the " "command line or via the -T option; NUMBER defaults to 1" msgstr "" -"procesa únicamente la NUM-ésima aparición de cada fichero en el archivo. " -"Esta opción solamente es válida junto con una de las subórdenes --delete, --" +"procesa únicamente la NÚMERO-ésima aparición de cada fichero en el archivo; " +"esta opción solamente es válida junto con una de las subórdenes --delete, --" "diff, --extract o --list y cuando se da una lista de ficheros en la línea de " -"órdenes o con la opción -T. El valor predeterminado de NUM es 1." +"órdenes o con la opción -T; el valor predeterminado de NUM es 1." # Mejor eso que inventarse un palabro, digo yo. sv -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "el archivo admite `seek'" # Mejor eso que inventarse un palabro, digo yo. sv -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "el archivo no admite `seek'" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" "no comprueba los números de dispositivo cuando se crean archivos " "incrementales" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "comprueba los números de dispositivo cuando se crean archivos incrementales " "(por omisión)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Control de sobreescritura:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "intenta verificar el archivo después de escribirlo" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "borra los ficheros después de añadirlos al archivo" -#: src/tar.c:485 -#, fuzzy +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" -msgstr "no reemplaza ficheros que existan al extraer" +msgstr "no reemplaza ficheros que existan al extraer, los trata como errores" -#: src/tar.c:488 -#, fuzzy +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" -msgstr "no reemplaza ficheros que existan al extraer" +msgstr "" +"no reemplaza ficheros que existan al extraer, se los salta silenciosamente" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "no reemplaza los ficheros que existan que sean más recientes que sus copias " "en el archivo" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "sobreescribe los ficheros que existan al extraer" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "borra cada fichero antes de extraer sobre él" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "vacía jerarquías antes de extraer directorios" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "conserva los metadatos de los directorios que existan" -#: src/tar.c:501 -#, fuzzy +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" -msgstr "sobreescribe los ficheros que existan al extraer" +msgstr "" +"sobreescribe los metadatos de los directorios que existan al extraer " +"(predeterminado)" -#: src/tar.c:504 -#, fuzzy +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" -msgstr "sobreescribe los ficheros que existan al extraer" +msgstr "conserva los enlaces simbólicos a directorios que existan al extraer" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "DIR" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" +"crea un subdirectorio para no tener ficheros sueltos al hacer la extracción" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Selección del flujo de salida:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "extrae los ficheros a la salida estándar" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "ORDEN" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "extrae los ficheros a otro programa" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "descarta los códigos de salida de los procesos hijos" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" "trata los estados de salida distintos de cero de los hijos como errores" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Manejo de los atributos del fichero:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "fuerza NOMBRE como propietario de los ficheros que se añaden" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "fuerza NOMBRE como grupo para los ficheros que se añaden" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" +"utiliza FICHERO para asociar UIDs de propietarios y nombres de ficheros" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" +"utiliza FICHERO para asociar GIDs de propietarios y nombres de ficheros" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "FECHA-O-FICHERO" -#: src/tar.c:534 -#, fuzzy +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" -msgstr "almacena solamente ficheros más recientes que FECHA-O-FICHERO" +msgstr "" +"establece la fecha de modificación para los ficheros que se añaden a partir " +"de FECHA-O-FICHERO" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "CAMBIOS" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "fuerza CAMBIOS (simbólicos) de modo para los ficheros que se añaden" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "MÉTODO" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" +"conserva las horas de acceso en los ficheros volcados, bien restaurando las " +"horas después de leer (MÉTOOD='replace'; predeterminado), bien no poniendo " +"las horas en primer lugar (MÉTODO='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "no extrae la fecha de modificación del fichero" -#: src/tar.c:545 -#, fuzzy +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" -msgstr "intenta extraer los ficheros con el mismo propietario" +msgstr "" +"intenta extraer los ficheros con el mismo propietario que existe en el " +"archivo (predeterminado para el superusuario)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" "extrae los ficheros como usted mismo (predeterminado para usuarios normales)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "utiliza siempre números para los nombres de usuarios/grupos" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "extrae la información de los permisos de los ficheros (por omisión para el " "superusuario)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1967,16 +2148,12 @@ msgstr "" "aplica el umask del usuario cuando se extraen permisos del archivo " "(predeterminado para usuarios normales)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "se listan los miembros en el mismo orden que los ficheros del archivo" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "lo mismo que -p y -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1984,87 +2161,87 @@ msgstr "" "demora el establecimiento de las fechas de modificación y los permisos de " "los directorios que se extraen hasta el final de la extracción" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "cancela el efecto de la opción --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "ORDEN" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "orden de ordenación del directorio: ninguno (predeterminado) o nombre" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Manejo de los atributos extendidos del fichero:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Activa el soporte de los atributos extendidos" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Desactiva el soporte de atributos extendidos" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" -msgstr "" +msgstr "MÁSCARA" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "especifica el patrón de inclusión para las claves xattr" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "especifica el patrón de exclusión para las claves xattr" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "Activa el soporte de contextos SELinux" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "Desactiva el soporte de contextos SELinux" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "Activa el soporte de ACLs de POSIX" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "Desactiva el soporte de ACLs de POSIX" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Selección de dispositivo y opciones:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARCHIVO" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "utiliza un archivo o el dispositivo ARCHIVO" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "el archivo es local incluso si tiene dos puntos" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "utiliza la ORDEN rmt dada en vez de rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "utiliza la ORDEN remota en vez de rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "especifica la unidad y la densidad" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "crea/lista/extrae un archivo multivolumen" @@ -2078,37 +2255,37 @@ msgstr "crea/lista/extrae un archivo multivolumen" # x × - gerardo # Efectivamente, pero no es transportable, el que use tar bajo DJGPP # le saldría un churro pues el aspa no existe en la tabla 850. sv -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "cambia la cinta después de escribir NÚMERO x 1024 bytes" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "ejecuta un script al final de cada cinta (implica -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "usa/actualiza el número de volumen en FICHERO" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Bloques en los dispositivos:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOQUES" # Sigo en mis 13 y en esto no hay quien me baje del burro: BLOQUES x 512 bytes # debe ser BLOQUES × 512 bytes. gerardo -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOQUES x 512 bytes por registro" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "NÚMERO de bytes por registro, múltiplo de 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" "no tiene en cuenta los bloques convertidos en ceros dentro de un archivo " @@ -2123,7 +2300,7 @@ msgstr "" # # requetequetequete... (longitud infinita). Pelín ssagerao, ¿no? gag # # Bueno, al final he puesto lo que se ve, un poco menos raro que rebloquear. sv -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "rehace los bloques conforme se lee (para tuberías de 4.2BSD)" @@ -2132,263 +2309,151 @@ msgstr "rehace los bloques conforme se lee (para tuberías de 4.2BSD)" # salida estándar' no pega mucho. Está en otros mensajes, como el # siguiente; no lo entiendo. - gerardo # FIXME. Tienes razón. Es muy raro. -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Selección del formato de archivo:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMATO" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "crea un archivo en el formato dado" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMATO es uno de los siguientes:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "formato tar V7 antiguo" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "formato GNU de tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "formato GNU tar 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "formato POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "formato POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "lo mismo que pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "lo mismo que --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "lo mismo que --format=posix" -#: src/tar.c:676 -#, fuzzy +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." -msgstr "palabra[[:]=valor][,palabra[[:]=valor], ...]" +msgstr "palabra[[:]=valor][,palabra[[:]=valor]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "palabras clave de control de pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEXTO" -#: src/tar.c:679 -#, fuzzy +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -"crea un archivo con nombre de volumen NOMBRE. En el momento de listar/" -"extraer, utiliza TEXTO como patrón expandible" +"crea un archivo con nombre de volumen TEXTO; en el momento de listar/" +"extraer, utiliza TEXTO como patrón expandible para el nombre del volumen" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Opciones de compresión:" -#: src/tar.c:686 -#, fuzzy +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" -msgstr "No se puede escribir al programa de compresión" +msgstr "" +"utiliza el sufijo del archivo para determinar el programa de compresión" -#: src/tar.c:688 -#, fuzzy +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" -msgstr "No se puede escribir al programa de compresión" +msgstr "" +"no utiliza el sufijo del archivo para determinar el programa de compresión" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "filtra a través de PROG (debe aceptar -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Selección del fichero local:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"añade el FICHERO dado al archivo (útil si su nombre comienza con un guion)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "cambia al directorio DIR" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "obtiene los nombres que se van a extraer o crear de FICHERO" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T lee nombres terminados en nulo, desactiva -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "desactiva el efecto de la opción --null anterior" - -#: src/tar.c:720 -msgid "unquote input file or member names (default)" -msgstr "" - -#: src/tar.c:722 -msgid "do not unquote input file or member names" -msgstr "" - -# Nota: La diferencia entre un PATRÓN y una EXPREG es que -# el primero se refiere a un "globbing pattern", es decir, patrones -# de expansión de nombres de ficheros, como * y ?, mientras que -# el segundo se refiere a expresiones regulares como las de grep, -# es decir, ^, $, ., *, etc. -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "PATRÓN" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "excluye ficheros, dados como un PATRÓN" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "excluye los patrones listados en FICHERO" - -#: src/tar.c:728 -#, fuzzy -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "excluye los directorios que contienen una marca de caché" - -#: src/tar.c:731 -#, fuzzy -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "excluye los directorios que contienen una marca de caché" - -#: src/tar.c:734 -#, fuzzy -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "excluye los directorios que contienen una marca de caché" - -#: src/tar.c:736 -#, fuzzy -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "excluye los directorios que contienen una marca de caché" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -#, fuzzy -msgid "exclude everything under directories containing FILE" -msgstr "excluye los directorios que contienen una marca de caché" - -#: src/tar.c:747 -#, fuzzy -msgid "exclude directories containing FILE" -msgstr "excluye los directorios que contienen una marca de caché" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "excluye los directorios de sistemas de control de versiones" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "excluye los ficheros de respaldo y de bloqueo" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "evita descender automáticamente en los directorios" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "permanece en el sistema de ficheros locales al crear el archivo" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "opera recursivamente sobre los directorios (por omisión)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "no elimina las '/'s iniciales de los nombres de ficheros" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "sigue los enlaces simbólicos; archiva y vuelca los ficheros a los que apuntan" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "sigue los enlaces duros; archiva y vuelca los ficheros a los que se refieren" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "NOMBRE-DE-MIEMBRO" -#: src/tar.c:767 -#, fuzzy +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" -msgstr "comienza por el miembro NOMBRE-DE-MIEMBRO dentro del archivo" +msgstr "comienza por el miembro NOMBRE-DE-MIEMBRO al leer el archivo" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "almacena solamente ficheros más recientes que FECHA-O-FICHERO" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "FECHA" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "compara la fecha y hora solamente cuando cambian los datos" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "CONTROL" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "se hace un respaldo antes de borrar, escoja el CONTROL de versión" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "CADENA" -#: src/tar.c:776 -#, fuzzy +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2397,145 +2462,103 @@ msgstr "" "que se\n" "cambie con la variable de entorno SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 -#, fuzzy +#: src/tar.c:713 msgid "File name transformations:" -msgstr "Opciones de creación de ficheros:" +msgstr "Transformaciones de los nombres de ficheros:" -#: src/tar.c:783 -#, fuzzy +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" -msgstr "elimina NÚMERO componentes iniciales de los nombres de ficheros" +msgstr "" +"elimina NÚMERO componentes iniciales de los nombres de ficheros al extraer" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "EXPRESIÓN" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "utiliza la EXPRESIÓN de reemplazo sed para transformar los nombres de " "ficheros" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "no distingue mayúsculas de minúsculas" - -#: src/tar.c:797 -#, fuzzy -msgid "patterns match file name start" -msgstr "" -"los patrones de exclusión encajan con el comienzo del nombre del fichero" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" -"los patrones de exclusión encajan después de cualquier `/' (por omisión)" - -#: src/tar.c:801 -#, fuzzy -msgid "case sensitive matching (default)" -msgstr "la exclusión distingue mayúsculas de minúsculas (por omisión)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "utiliza comodines (predeterminado para exclusión)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "los comodines de patrones de exclusión no encajan con `/'" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "" -"los comodines de los patrones de exclusión encajan con `/' (por omisión)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Salida informativa:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "lista los ficheros procesados detalladamente" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" -msgstr "" +msgstr "PALABRACLAVE" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" -msgstr "" +msgstr "control de advertencia" -#: src/tar.c:821 -#, fuzzy +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" -msgstr "muestra mensajes de progreso cada 10 registros" +msgstr "" +"muestra mensajes de progreso cada NÚMERO-ésimo registro (por omisión 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "ACCIÓN" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "ejecuta ACCIÓN en cada punto de comprobación" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "muestra un mensaje si no se vuelcan todos los enlaces" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SEÑAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " "SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names without SIG prefix are also " "accepted" msgstr "" +"muestra los bytes totales después de procesar el archivo; con un argumento - " +"muestra los bytes totales cuando se entrega esta SEÑAL; señales permitidas: " +"SIGHUP, SIGQUIT, SIGINT, SIGUSR1 y SIGUSR2; también se aceptan los nombres " +"sin el prefijo SIG" -#: src/tar.c:834 -#, fuzzy +#: src/tar.c:744 msgid "print file modification times in UTC" -msgstr "muestra las fechas de modificación de los ficheros en UTC" +msgstr "muestra las fechas/horas de modificación de los ficheros en UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "muestra la fecha del fichero con la máxima resolución" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "envía la salida detallada a FICHERO" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "muestra el número de bloque dentro del archivo con cada mensaje" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "pide confirmación para cada acción" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "muestra los valores predeterminados de tar" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" -msgstr "" +msgstr "muestra los rangos válidos para los campos de fichero de instantánea" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2543,31 +2566,35 @@ msgstr "" "cuando se lista o extrae, lista cada directorio que no coincida con el " "criterio de búsqueda" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "" +"muestra los nombres de los ficheros o los archivos después de la " +"transformación" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" -msgstr "" +msgstr "ESTILO" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" +"establece el estilo de cita de los nombres; véanse más abajo los valores " +"ESTILO válidos" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" -msgstr "" +msgstr "también entrecomilla los caracteres de CADENA" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" -msgstr "" +msgstr "no entrecomilla los caracteres de CADENA" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Opciones de compatibilidad:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2575,15 +2602,22 @@ msgstr "" "al crear, lo mismo que --old-archive; al extraer, lo mismo que --no-same-" "owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Otras opciones:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "desactivo el uso de algunas opciones potencialmente peligrosas" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "la opción '%s' no se puede usar con '%s'" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" @@ -2591,40 +2625,40 @@ msgstr "" "No se puede especificar más de una opción `-Acdtrux', '--delete' o '--test-" "label'" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Opciones de compresión en conflicto" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Nombre de señal desconocido: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "No se encontró el fichero de fechas de muestra" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Sustituyendo %s por el formato de fecha desconocido %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Opción %s: Se trata la fecha '%s' como %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "filtra el archivo a través de %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Los argumentos válidos para la opción --quoting-style son:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2632,21 +2666,21 @@ msgstr "" "\n" "Las opciones predeterminadas de *esta* versión de tar son:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "ID de propietario o de grupo inválido" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Factor de bloqueo inválido" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Longitud de cinta inválida" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" -msgstr "" +msgstr "Valor de nivel incremental inválido" # No sé cómo traducir threshold. fr # Yo tampoco (los diccionarios los tengo en casa...). sv @@ -2654,100 +2688,105 @@ msgstr "" # Es "umbral", pero no sé qué c$%&# es la fecha umbral. :-( gag # A ver si te vale así. sv # ¿Qué tal os suena "fecha límite"?. jmg -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Se ha especificado más de una fecha tope" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" -msgstr "" +msgstr "Valor de versión dispersa inválido" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" -msgstr "" +msgstr "--atime-preserve='system' no se admite en esta plataforma" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" -msgstr "" +msgstr "El valor de --checkpoint no es un número entero" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Se ha especificado un modo no válido en la opción" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Número inválido" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"La opción --preserve está obsoleta, utilice --preserve-permissions --" -"preserve-order en su lugar" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "El tamaño del registro es inválido" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "El tamaño del registro debe ser múltiplo de %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Número inválido de elementos" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Solamente se permite una opción --to-command" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Argumento de densidad mal formado: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Densidad desconocida: '%c'" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "*Esta* versión de tar no admite las opciones '-[0-7][lmh]'" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: localización del error" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "error al analizar %s" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[FICHERO]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "la opción --%s no se puede usar con %s" +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "argumentos que no son opciones en %s" -#: src/tar.c:2389 +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "no se puede dividir TAR_OPTIONS: %s" + +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "La opción antigua '%c' requiere un argumento" -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence no tiene sentido sin una lista de ficheros" # requieren -> necesitan. gerardo -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Los archivos múltiples requieren la opción '-M'" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--level no tiene sentido sin --listed-incremental" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2756,71 +2795,78 @@ msgstr[0] "" msgstr[1] "" "%s: La etiqueta de volumen es demasiado larga (el límite es %lu bytes)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "No se pueden verificar archivos multivolumen" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "No se pueden verificar archivos comprimidos" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "No se pueden utilizar archivos multivolumen comprimidos" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "No se pueden concatenar archivos comprimidos" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option solamente se puede usar en archivos POSIX" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "--acls solamente se puede usar en archivos POSIX" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "--selinux solamente se puede usar en archivos POSIX" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "--xattrs solamente se puede usar en archivos POSIX" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"No se puede deducir el nombre del directorio del nivel superior; indíquelo " +"explícitamente con --one-top-level=DIR" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "La longitud del volumen no puede ser menor que el tamaño de registro" # Me gusta más al verrés: cobarde rechazo [de la pradera] a... gerardo -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Rechazo cobarde a crear un archivo vacío" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Las opciones '-Aru' son incompatibles con '-f -'" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "Debe especificar una de las opciones `-Acdtrux', '--delete' o '--test-label'" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Se sale con estado de fallo debido a errores anteriores" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" +"orden de ordenación del directorio: ninguno (predeterminado), nombre o nodo-i" # Eso de ¡vaya tela! ¿es una interjección que se entiende en todo el mundo # hispanoparlante? No vaya a ser específico de Andalucía/Extremadura y... @@ -2872,10 +2918,8 @@ msgid "Extended header length %*s is out of range" msgstr "La longitud de cabecera extendida %*s está fuera de rango" #: src/xheader.c:689 -#, fuzzy msgid "Malformed extended header: missing blank after length" -msgstr "" -"Cabecera extendida errónea: falta un espacio en blanco después de la longitud" +msgstr "Cabecera extendida errónea: falta espacio después de la longitud" #: src/xheader.c:697 msgid "Malformed extended header: missing equal sign" @@ -2889,48 +2933,51 @@ msgstr "Cabecera extendida errónea: falta una nueva línea" #, c-format msgid "Ignoring unknown extended header keyword '%s'" msgstr "" +"Se desestima la palabra clave de la cabecera extendida desconocida '%s'" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" +"El par palabra clave/valor generado es demasiado largo (palabra clave=%s, " +"longitud=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 -#, fuzzy, c-format +#: src/xheader.c:1053 +#, c-format msgid "Extended header %s=%s is out of range %s..%s" -msgstr "El valor del archivo %s está fuera del rango %s %s.%s" +msgstr "La cabecera extendida %s=%s está fuera del rango %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 -#, fuzzy, c-format +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 +#, c-format msgid "Malformed extended header: invalid %s=%s" -msgstr "Cabecera extendida errónea: falta un signo igual" +msgstr "Cabecera extendida errónea: %s=%s inválido" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 -#, fuzzy, c-format +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 +#, c-format msgid "Malformed extended header: excess %s=%s" -msgstr "Cabecera extendida errónea: falta un signo igual" +msgstr "Cabecera extendida errónea: sobra %s=%s" -#: src/xheader.c:1502 -#, fuzzy, c-format +#: src/xheader.c:1515 +#, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" -msgstr "Cabecera extendida errónea: falta un signo igual" +msgstr "Cabecera extendida errónea: %s inválido: delimitador %c inesperado" -#: src/xheader.c:1512 -#, fuzzy, c-format +#: src/xheader.c:1525 +#, c-format msgid "Malformed extended header: invalid %s: odd number of values" -msgstr "Cabecera extendida errónea: falta un signo igual" +msgstr "Cabecera extendida errónea: %s inválido: número impar de valores" #: src/checkpoint.c:114 -#, fuzzy, c-format +#, c-format msgid "%s: not a valid timeout" -msgstr "%s: Grupo inválido" +msgstr "%s: no es un tiempo de expiración válido" #: src/checkpoint.c:121 #, c-format msgid "%s: unknown checkpoint action" -msgstr "" +msgstr "%s: acción de punto de comprobación desconocida" #: src/checkpoint.c:202 msgid "write" @@ -2961,190 +3008,212 @@ msgstr "Punto de comprobación de lectura %u" # Acepto sugerencias para el `test suite'. sv # "test suite"="paquete/conjunto de pruebas/análisis", en cualquier # combinación. jmg -#: tests/genfile.c:111 -#, fuzzy +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" -msgstr "Genera ficheros de datos para el conjunto de pruebas de GNU tar.\n" +msgstr "" +"genfile manipula ficheros de datos para la «suite» de pruebas GNU paxutils.\n" +"OPCIONES:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Opciones de creación de ficheros:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "TAMAÑO" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Crea un fichero del TAMAÑO dado" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Escribe al fichero NOMBRE; en lugar de a la salida estándar" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Lee los nombres de los ficheros de FICHERO" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T lee nombres terminados en nulo" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "Rellena el fichero con el PATRÓN dado, PATRÓN es 'default' o 'zeros'" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" -msgstr "" +msgstr "Tamaño de un bloque para un fichero disperso" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" +"Genera un fichero disperso. El resto de la línea de órdenes da el mapa del " +"fichero." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" -msgstr "" +msgstr "DESPLAZAMIENTO" -#: tests/genfile.c:145 -#, fuzzy +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" -msgstr "intenta verificar el archivo después de escribirlo" +msgstr "Busca en el desplazamiento indicado antes de escribir los datos" -#: tests/genfile.c:151 -msgid "File statistics options:" +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" msgstr "" -#: tests/genfile.c:154 +#: tests/genfile.c:156 +msgid "File statistics options:" +msgstr "Opciones de estadísticas de ficheros:" + +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" +"Imprime los contenidos de la estructura de estadísticas para cada fichero " +"indicado. FORMATO predeterminado: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" -msgstr "" +msgstr "Opciones de ejecución síncrona:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "OPCIÓN" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" +"Ejecuta ARGS. Es útil con --checkpoint y una de entre --cut, --append, --" +"touch y --unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" +"Realiza la acción indicada (véase más abajo) al llegar al punto de " +"comprobación NÚMERO" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Establece la fecha para la siguiente opción --touch" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" +"Muestra los puntos de comprobación ejecutados y el estado de la salida de " +"ORDEN" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" +"Acciones de ejecución síncrona. Se ejecutan cuando se llega al punto de " +"comprobación indicado por la opción --checkpoint" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" +"Trunca FICHERO al tamaño especificado previamente en una opción --length (o " +"0, si no se ha indicado esta)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" +"Añade TAMAÑO btyes a FICHERO. TAMAÑO es el indicado previamente en una " +"opción --length" -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Actualiza las fechas de acceso y modificación de FICHERO" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Ejecuta ORDEN" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Desenlaza FICHERO" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Tamaño inválido: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Número fuera del rango permitido: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Tamaño negativo: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) ha fallado" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" -msgstr "" +msgstr "longitud de fichero solicitada %lu, efectiva %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" -msgstr "" +msgstr "el fichero creado no es disperso" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" -msgstr "" +msgstr "Error al analizar número cerca de `%s'" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Formato de fecha desconocido" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGUMENTOS...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "No se puede abrir `%s'" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "no se puede efectuar `seek'" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "el nombre del fichero contiene el carácter nulo" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" +"no se pueden generar ficheros dispersos en la salida estándar; utilice la " +"opción --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" -msgstr "" +msgstr "máscara incorrecta (cerca de `%s')" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Campo desconocido `%s'" @@ -3155,61 +3224,71 @@ msgstr "Campo desconocido `%s'" # ser: "No se puede hacer stat() del fichero %s", o "stat() ha fallado..." # Aunque tal como está es más descriptivo para el neófito, desde # luego. gag -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "no se puede establecer la fecha sobre `%s'" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "no se puede truncar `%s'" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "la orden falló: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "no se puede desenlazar `%s'" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "La orden terminó con éxito\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "La orden falló con el estado %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "La orden terminó con la señal %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "La orden se detuvo con la señal %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "La orden volcó un core\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "La orden terminó\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat necesita nombres de ficheros" +#~ msgid "same as both -p and -s" +#~ msgstr "lo mismo que -p y -s" + +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "La opción --preserve está obsoleta, utilice --preserve-permissions --" +#~ "preserve-order en su lugar" + #~ msgid "--occurrence cannot be used with %s" #~ msgstr "no se puede usar --occurrence con %s" diff --git a/po/et.gmo b/po/et.gmo index ea90cb3402848cbba978cc8d78a784cbf4be3953..83feff5a6c957bf762ed84439970a020a70f58f8 100644 GIT binary patch delta 15298 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ΝtPNk2BvU;_p+ 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 QkGH{, 2013. +# Toomas Soome , 2016. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: GNU tar 1.27\n" +"Project-Id-Version: GNU tar 1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2013-10-07 02:17+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-03-15 13:07+0200\n" "Last-Translator: Toomas Soome \n" "Language-Team: Estonian \n" "Language: et\n" @@ -18,46 +18,46 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "vigane argument %s (`%s')" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "segane argument %s (`%s')" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Lubatud argumendid on:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s väärtus on väiksem või võrdne kui %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT parameeter nõuab väärtust" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT parameeter peab olema positiivne" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Tundmatu ARGP_HELP_FMT parameeter" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Prügi ARGP_HELP_FMT parameetrites: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -65,143 +65,148 @@ msgstr "" "Kohustuslikud või mittekohustuslikud argumendid pikkadele võtmetele on ka " "kohustuslikud või mittekohustuslikud vastavatele lühikestele võtmetele." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Kasutamine:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " või: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [VÕTI...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Lisainfo saamiseks kasutage '%s --help' või '%s --usage'.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Teated vigadest saatke palun aadressil %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Tundmatu süsteemi viga" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "näita seda abiinfot" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "näita lühikest kasutamise õpetust" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NIMI" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "sea programmi nimi" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEK" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "oota SEK sekundeid (vaikimisi 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "esita programmi versioon" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMMI VIGA) Versioon pole teada!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Liiga palju argumente\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMMI VIGA) Võti peaks olema ära tuntud!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "viga kirjutamisel" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: võti '%s' on segane; valikud:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: võti '%s' on segane\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: võtmel '--%s' pole argumente\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: võtmel '%c%s' pole argumente\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: võti '--%s' nõuab argumenti\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: tundmatu võti '--%s'\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: tundmatu võti '%c%s'\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: vigane võti -- '%c'\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: võti nõuab argumenti -- '%c'\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: võti '-W %s' on segane\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: võti '-W %s' ei luba argumenti\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: võti '-W %s' nõuab argumenti\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "mälu on otsas" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "ei õnnestu salvestada jooksvat töökataloogi" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "algsesse töökataloogi ei õnnestu tagasi minna" @@ -227,11 +232,11 @@ msgstr "algsesse töökataloogi ei õnnestu tagasi minna" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "`" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "'" @@ -241,7 +246,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[jJ]" @@ -251,16 +256,16 @@ msgstr "^[jJ]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[eE]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Paketi looja %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Paketi looja %s\n" @@ -268,11 +273,11 @@ msgstr "Paketi looja %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -409,22 +414,22 @@ msgstr "" "\n" "Teated vigadest saatke palun aadressil: %s\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Teated %s vigadest saatke palun aadressil: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s koduleht: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s koduleht: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Üldine abiinfo GNU tarkvara kasutamisest: \n" @@ -590,8 +595,8 @@ msgstr "Ootamatud argumendid" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Opereeri lindiseadet, aktsepteerib käske mittelokaalselt protsessilt" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "N" @@ -599,10 +604,11 @@ msgstr "N" msgid "set debug level" msgstr "määra silumise tase" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "FAIL" @@ -615,7 +621,7 @@ msgstr "sea silumisteadete faili nimi" msgid "cannot open %s" msgstr "%s ei saa avada" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "liiga palju argumente" @@ -624,113 +630,112 @@ msgstr "liiga palju argumente" msgid "Garbage command" msgstr "Rämpskäsk" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Hmm.... see ei tundu olema tar arhiiv" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Baite loetud kokku" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Baite kirjutatud kokku" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Baite kirjutatud kokku: %s\n" +msgstr "Kustutatud baite kokku" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(toru)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "Ei loe arhiivi sisu terminalist (puudub -f võti?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "Ei kirjuta arhiivi sisu terminali (puudub -f võti?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Kirje suuruse väärtus on vigane" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Arhiivi nime pole" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Ei saa kontrollida sisend/väljund arhiive" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Arhiiv on tihendatud. Kasutage võtit %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Ei saa uuendada pakitud arhiive" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Lindi alguses, lõpetan töö" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Liig palju vigu, jätan töö pooleli" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Kirje suurus = %lu blokki" msgstr[1] "Kirje suurus = %lu blokki" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Joondamata blokk (%lu baiti) arhiivis" msgstr[1] "Joondamata blokk (%lu baiti) arhiivis" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Arhiivi ei õnnestu tagasi kerida; lugemiseks võib olla vajalik kasutada " "võtit -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek ei peatunud kirje piiril" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: sisaldab vigast volüümi numbrit" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Volüümi number on liiga suur" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Otsi volüüm #%d %s'le ja vajuta return klahvi: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "EOF kasutaja vastuse asemel" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "HOIATUS: Arhiiv pole täielik" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -741,65 +746,65 @@ msgstr "" " q Katkesta tar\n" " y või reavahetus Jätka\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Loo alamshell\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Väljasta see info\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Pole uus volüüm; lõpetan töö.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Puudub faili nimi. Proovige uuesti.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Vigane sisend. ? annab abiinfot.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "%s käsklus sai vea" -#: src/buffer.c:1491 -#, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "võimalik et %s jätkub sellel volüümil: päises on lühendatud nimi" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s ei jätku sellel volüümil" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "võimalik et %s jätkub sellel volüümil: päises on lühendatud nimi" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s on vale suurusega (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "See volüüm on väljaspoolt järjekorda (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Arhiivi märgend ei sobi %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Volüüm %s ei sobi volüümiga %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -807,7 +812,7 @@ msgstr "" "%s: faili nimi on GNU mitmevolüümi päisesse salvestamiseks liiga pikk, " "lühendan" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "kirjutamine ei peatunud bloki piiril" @@ -818,20 +823,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Sain lugeda ainult %lu baiti (sooviti %lu)" msgstr[1] "Sain lugeda ainult %lu baiti (sooviti %lu)" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Sisu on erinev" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Ootamatu arhiivi lõpp" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Failitüübid on erinevad" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Moodid erinevad" @@ -847,7 +852,7 @@ msgstr "GID on erinevad" msgid "Mod time differs" msgstr "Muutmise ajad erinevad" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Suurused erinevad" @@ -856,138 +861,138 @@ msgstr "Suurused erinevad" msgid "Not linked to %s" msgstr "ei viita %s-le" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Nimeviited erinevad" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Seadme numbrid on erinevad" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Kontroll " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Tundmatu failitüüp '%c', võrdlen tavalise failina" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Arhiiv sisaldab eemaldatud prefiksitega failinimesid." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Arhiiv sisaldab teisendatud faili nimesid." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Kontrollimine ei pruugi leida algseid faile." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "VIGA KONTROLLIMISEL: leiti %d vigast päist" msgstr[1] "VIGA KONTROLLIMISEL: leiti %d vigast päist" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Üksik null blokk kohal %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: sisaldab vahemälu kataloogi lipikut %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "väärtus %s on %s piiridest %s..%s väljas; asendan %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "väärtus %s on %s piiridest %s..%s väljas" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Genereerin negatiivsed kaheksand päised" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: faili nimi on liiga pikk (maks. %d); ei salvesta" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: faili nimi on liiga pikk (ei saa poolitada); ei salvesta" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: viite nimi on liiga pikk; ei salvesta" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Fail lühenes %s baiti; täidan nullidega" msgstr[1] "%s: Fail lühenes %s baiti; täidan nullidega" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: fail on teises failisüsteemis; ei salvesta" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "sisu ei salestata" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tundmatu failitüüp; ignoreerin seda faili" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "%s-le puudub viiteid." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: pole muutunud; ei salvesta" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s on arhiiv; ei salvesta" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "kataloogi ei salvestatud" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: fail muutus lugemisel" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: ignoreerin pesa" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: ignoreerin ust" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Hüppan järgmise päiseni" @@ -1005,54 +1010,54 @@ msgstr "%s: ebatõenäoliselt vana ajatempel %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: ajatempel %s on %s sekundit tulevikus" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Ootamatu kooskõlalisuse probleem kataloogi loomisel" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "%s: jätan olemasoleva faili vahele" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Kataloog nimetati ümber, enne kui sai loetud tema olek" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Taastan jätkuvad failid kui tavalised" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Üritan taastada nimeviiteid viidetena" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Ei saa taastada -- fail jätkub teisel volüümil" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Ootamatu pika nime päis" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Tundmatu failitüüp '%c', taastan tavalise failina" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Olemasolev %s on uuem või sama kuupäevaga" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Selle faili varundamine ebaõnnestus" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "%s ei õnnestu ümber nimetada %s-ks" @@ -1102,16 +1107,16 @@ msgstr "Vigane i-kirje number" msgid "%s: byte %s: %s %.*s... too long" msgstr "%s: bait %s: %s %.*s... on liiga pikk" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Ootamatu snapshoti faili lõpp" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "%s: baidile %s: %s %s järgneb vigane bait 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" @@ -1120,200 +1125,200 @@ msgstr "" "%s: bait %s: (lubatud vahemik %s..%s)\n" "\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "%s: bait %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "%s: bait %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Puudub kirje lõpetaja" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Inkrementaalse faili vorming on vigane" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Mittetoetatud inkrementaalse vormingu versioon: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Vigane taastamise kataloog: eeldasin '%c', sain %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Vigane taastamise kataloog: dubleeritud 'X'" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Vigane taastamise kataloog: tühi nimi 'R' väljal" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Vigane taastamise kataloog: 'R' ei ole 'T' ees" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Vigane taastamise kataloog: tühi nimi 'T' väljal" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Vigane taastamise kataloog: ootasin '%c', aga andmed said otsa" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Vigane taastamise kataloog: 'X' ei kasutata" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Vormiga %s ei saa ajutist kataloogi luua" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Ei puhasta kataloogi: stat ebaõnnestus" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: kataloog on teisel seadmel; ei puhasta" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Kustutan %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Ei saa eemaldada" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Jätan vahele" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blokk %s: ** NULlide blokk **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "blokk %s: ** Faili lõpp **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "blokk %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Tühjad väljad päises kohtadel, kus eeldati numbrit %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" "Arhiivi kaheksandväärtus %.*s on %s piiridest väljas; eeldan kahe täiendit" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Arhiivi kaheksandväärtus %.*s on %s piiridest väljas" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Arhiiv sisaldab aegunuid base-64 päiseid" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Arhiivi märgiga base-64 sõne %s on %s piiridest väljas" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Arhiivi base-256 väärtus on %s piiridest väljas" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arhiiv sisaldab %.*s, eeldati numbrit %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Arhiivi väärtus %s on %s piiridest %s..%s väljas" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " viide %s-le\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " tundmatu failitüüp %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Pikk viide--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Pikk nimi--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Volüümi päis--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Jätkub baidilt %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Loon kataloogi:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Annan %s uueks nimeks %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: ei õnnestu ümber nimetada %s-ks" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Nimetan `%s' tagasi `%s'\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Fail kustutati enne lugemist" @@ -1326,30 +1331,184 @@ msgstr "alamprotsess" msgid "interprocess channel" msgstr "protsessidevaheline kanal" -#: src/names.c:360 +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "Lokaalse faili nime valik:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "lisa antud FAIL arhiivi (kasulik, kui faili nimi algab kriipsuga)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "KAT" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "mine kataloogi KAT" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "loe taastatavate või varundatavate failide nimed failist NIMI" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T loeb nullidega lõpetatud nimesid; eeldab --verbatim-files-from" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "blokeeri eelmise --null võtme mõju" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" +"eemalda sisendfaili või liikmete nimedest kvootimissümbolid (vaikimisi)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "ära eemalda nimedest kvootimissümboleid" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "-T loeb faili nimesid otse (ei käsitle võtmeid)" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "-T käsitleb kriipsuga algavaid failide nimesid võtmetena (vaikimisi)" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "MUSTER" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "MUSTRI järgi välistatud failid" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "välistavad mustrid on FAILIS" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"välista kataloogide, mis sisaldavad CACHEDIR.TAG, sisu, välja arvatud " +"märgendi fail ise" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "välista kõik kataloogis, mis sisaldab CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "välista kataloogid, mis sisaldavad CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"välista kataloogide, mis sisaldavad faili FAIL, sisu, välja arvatud FAIL ise" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "loe kataloogide välistamise mustrid failist, kui see on olemas" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"loe kataloogide ja alamkataloogide välistamise mustrid failist, kui see on " +"olemas" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "välista kataloogid, mis sisaldavad faili FAIL" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "välista kataloogid, mis sisaldavad faili FAIL" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "välista versiooni kontrolli süsteemi kataloogid" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "loe välistamise mustrid VCS ignoreerimise failidest" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "välista varukoopiad ja lukufailid" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "sisene kataloogidesse (vaikimisi)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "ära sisene kataloogidesse" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "Failinimede otsimine (mõjutab nii kaasamist, kui välistamist):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "mustrid alustavad faili nime algusest" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "mustrid toimivad iga '/' järel (välistamise korral vaikimisi)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "tõstutundetu" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "tõstutundlik otsimine (vaikimisi)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "kasuta jokkersümboleid (välistamise korral vaikimisi)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "täht-täheline sõne otsimine" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "jokkersümbolid leiavad '/' (välistamise korral vaikimisi)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "jokkerid ei leia '/'" + +#: src/names.c:768 msgid "command line" msgstr "käsurida" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: %s loetud failide nimekiri on juba loetud failist %s" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "sõne '%s' ei saa tükeldada: %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: loetud faili nimi sisaldab sümbolit nul" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Failide nimedes on jokkersümbolid" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1357,52 +1516,52 @@ msgstr "" "Jokkerite lubamiseks kasutage --wildcars või --no-wildcards selle teate " "blokeerimiseks" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Puudub arhiivis" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Nõutud eksemplar puudub arhiivis" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Arhiivi märgend ei sobi" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "--listed-incremental ei luba faili loendis võtit -C kasutada" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Võti --listed-incremental lubab ainult ühte -C kasutamist" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Mõlemad võtmed, '-%s' ja '-%s' eeldavad standard sisendit" +msgstr "Mõlemad võtmed, '%s' ja '%s', eeldavad standard sisendit" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Vigane arhiivi vorming" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Arhiivi formaat ei toeta GNU laiendusi" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Tundmatu kvootimise stiil '%s'. Loendi saate käsuga '%s --quoting-style=help'" -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1420,7 +1579,7 @@ msgstr "" " tar -tvf arhiiv.tar # Anna arhiiv.tar sisust täielik ülevaade.\n" " tar -xf arhiiv.tar # Taasta kõik failid arhiivist arhiiv.tar.\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1440,79 +1599,87 @@ msgstr "" " nil, existing nummerdatud kui koopiad on nummerdatud, muidu lihtne\n" " never, simple tee ainult lihtne koopia\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Põhiline töö:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "näita arhiivi sisukorda" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "taasta failid arhiivist" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "loo uus arhiiv" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "otsi arhiivi ja failisüsteemi erinevusi" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "lisa failid arhiivi lõppu" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "lisa arhiivi ainult failid uuemad kui arhiivis" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "lisa tar failid arhiivi" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "kustuta arhiivist (mitte magnetlindilt!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "testi arhiivi volüümi märgendit ja lõpeta töö" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Töö täpsustamine:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "tööta aukudega failidega efektiivsemalt" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "TÜÜP" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "aukude tuvastamise tehnika" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "PÕHI[.ALAM]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "määra aukudega faili vormingu versioon (eeldab võtit --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "käsitle vana GNU vormingus inkrementaalset koopiat" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "käsitle uue GNU vormingu inkrementaalset koopiat" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "loodud listed-incremental arhiivi dump tase" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "ära lõpeta loetamatute failide korral veakoodiga" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1525,137 +1692,146 @@ msgstr "" "antud\n" "käsureal või võtmega -T. Vaikimisi N on 1." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "arhiiv on positsioneeritav" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "arhiiv ei ole positsioneeritav" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "inkrementaalsete arhiivide loomisel ära kontrolli seadmete numbreid" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "inkrementaalsete arhiivide loomisel kontrolli seadmete numbreid (vaikimisi)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Ülekirjutamise juhtimine:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "kontrolli arhiivi peale arhiivi kirjutamist" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "kustuta failid peale arhiveerimist" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "olemasolevaid faile taastamisel üle ei kirjuta, anna vigu" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" "olemasolevaid faile taastamisel üle ei kirjuta, jäta need vaikselt vahele" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "ära kirjuta üle olemasolevaid faile, mis on uuemad kui arhiveeritud" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "kirjuta olemasolevad failid üle" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "kustuta fail enne taastamist" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "kustuta hierarhia enne kataloogi taastamist" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "säilita olemasolevate kataloogide metainfo" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "taastamisel kirjuta olemasolevate kataloogide metainfo üle (vaikimisi)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "taastamisel säilita olemasolevad nimeviited kataloogidele" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "KAT" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "segaduste vältimiseks taastamisel, loo alamkataloog" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Vali väljundvoog:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "taasta failid standardväljundisse" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "KÄSK" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "taasta failid läbi toru teise programmi" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "ignoreeri alamprotsesside lõpetamise koode" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "käsitle alamprotsesside nullist erinevaid lõpetamise koode veana" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Faili atribuutide käsitlemine:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "kasuta NIMEe kui lisatud failide omanikku" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "kasuta NIMEe kui lisatud failide gruppi" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "kasuta FAILi omaniku UID ja nime seadmisel" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "kasuta FAILi omaniku GID ja nime seadmisel" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "KUUP-VÕI-FAIL" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "sea lisatud failide muutmise ajaks KUUP-VÕI-FAIL" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "MUUTUSED" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "kasuta lisatud failidel sümbol moodi MUUTUSED" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "MEETOD" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1665,11 +1841,11 @@ msgstr "" "lugemist (METHOD='replace'; vaikimisi) või ei muuda kasutamise aega üldse " "(METHOD='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "ära taasta faili muutmise aega" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1677,19 +1853,19 @@ msgstr "" "ürita failide taastamisel säilitada failide omanikud arhiivis (root " "kasutajal vaikimisi)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "taasta failid enda õigustes (tavakasutajatel vaikimisi)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "kasuta kasutaja/grupp numbreid" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "taasta ka info failide õigustest (vaikimisi superkasutaja korral)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1697,202 +1873,198 @@ msgstr "" "õiguste taastamisel kasuta kasutaja umask väärtust (vaikimisi " "tavakasutajatel)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "liikmete argumendid näidatakse samas järjekorras nagu failid arhiivis" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "sama, kui -p ja -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "oota muutmise aegade ja õiguste taastamisega taastamise lõpuni" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "katkesta --delay-directory-restore võtme mõju" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "REEGEL" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "kataloogi sortimise reegel: none (vaikimisi) või name" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Faili laiendatud atribuutide käsitlemine:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Luba laiendatud atribuutide tugi" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Keela laiendatud atribuutide tugi" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "MASK" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "määrake xattr lubatud võtmete muster" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "määrake xattr välistatud võtmete muster" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "Luba SELinux konteksti tugi" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "Keela SELinux konteksti tugi" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "Luba POSIX ACL tugi" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "Keela POSIX ACL tugi" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Seadme valik ja vahetamine:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARHIIV" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "kasuta arhiivi faili või seadet ARHIIV" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "arhiivi fail on lokaalne isegi kui sisaldab koolonit" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "kasuta rmt asemel antud käsku" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "kasuta rsh asemel antud käsku" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "määra seade ja tihedus" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "loo/näita/taasta mitme volüümilisi arhiive" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "vaheta peale NUMBER x 1024 baidi kirjutamist linti" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "käivita iga lindi lõpus skript (eeldab võtit -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "kasuta/uuenda volüümi numbrit failis FAIL" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Seadme blokkimine:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOKKE" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOKKE x 512 baiti kirjele" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "NUMBER baiti kirjele, 512 kordne" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ignoreeri null blokke arhiivis (tähistab EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "bloki lugemisel uuesti (4.2BSD torude jaoks)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Arhiivi vormingu valikud:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "VORMING" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "loo arhiiv antud vormingus" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "VORMING on üks järgnevaist:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "vana V7 tar vorming" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "GNU vorming tar <= 1.12 korral" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x vorming" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) vorming" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) vorming" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "sama, kui pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "sama, kui --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "sama, kui --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "võtmesõna[[:]=väärtus][,võtmesõna[[:]=väärtus]...]" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "pax võtmesõnade kasutamine" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEKST" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1900,180 +2072,79 @@ msgstr "" "loo arhiivi volüümi nimega NIMI. Listingu/taastamise ajal kasuta TEKSTi " "otsingumustrina" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Tihendamise võtmed:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "tihendamisprogrammi tuvastamiseks kasuta arhiivi sufiksit" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "tihendamisprogrammi tuvastamiseks ära kasuta arhiivi sufiksit" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "filtreeri läbi programmi (peab lubama võtit -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Lokaalse faili valik:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "lisa antud FAIL arhiivi (kasulik, kui faili nimi algab kriipsuga)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "mine kataloogi KAT" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "loe taastatavate või varundatavate failide nimed failist NIMI" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T loeb nullidega lõpetatud nimesid, blokeeri -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "blokeeri eelmise --null võtme mõju" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "eemalda -T võtmega loetud failinimedest kvootimissümbolid (vaikimisi)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "ära eemalda -T võtmega loetud failinimedest kvootimissümboleid" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "MUSTER" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "MUSTRI järgi välistatud failid" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "välistavad mustrid on FAILIS" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"välista kataloogide, mis sisaldavad CACHEDIR.TAG, sisu, välja arvatud " -"märgendi fail ise" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "välista kõik kataloogis, mis sisaldab CACHEDIR.TAG" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "välista kataloogid, mis sisaldavad CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"välista kataloogide, mis sisaldavad faili FAIL, sisu, välja arvatud FAIL ise" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "välista kataloogid, mis sisaldavad faili FAIL" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "välista kataloogid, mis sisaldavad faili FAIL" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "välista versiooni kontrolli süsteemi kataloogid" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "välista varukoopiad ja lukufailid" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "ära sisene kataloogidesse" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "püsi arhiivi loomise ajal kohalikus failisüsteemis" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "sisene kataloogidesse (vaikimisi)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "ära eemalda faili nimedelt prefiksit '/'" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "järgi nimeviiteid; arhiveeri ja taasta viidatavad failid" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "järgi viiteid; arhiveeri ja taasta viidatavad failid" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "KOMPONENT" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "alusta arhiivi lugemisel liikmest KOMPONENT" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "salvesta ainult failid mis on uuemad kui KUUP-VÕI-FAIL" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "KUUPÄEV" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "võrdle kuupäevi ainult kui andmed on muutunud" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "KONTROLL" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "loo enne eemaldamist varukoopia, vali versioonikontroll" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "SÕNE" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2081,95 +2152,59 @@ msgstr "" "varunda enne kustutamist, kasuta uut lõppu (vaikimisi '~', kui pole üle " "määratud keskkonnamuutujaga SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Failide nimede muutmine:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "eemalda taastamisel failide nimede algusest NUMBER komponenti" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "AVALDIS" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "kasuta failide nimede muutmiseks sed asendus avaldist" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "Failinimede otsimine (mõjutab nii kaasamist, kui välistamist):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "tõstutundetu" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "mustrid alustavad faili nime algusest" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "mustrid toimivad iga '/' järel (välistamise korral vaikimisi)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "tõstutundlik otsimine (vaikimisi)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "kasuta jokkersümboleid (välistamise korral vaikimisi)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "täht-täheline sõne otsimine" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "jokkerid ei leia '/'" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "jokkersümbolid leiavad '/' (välistamise korral vaikimisi)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Informatsioon:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "väljasta töödeldavate failide kohta infot" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "VÕTMESÕNA" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "hoiatuste juhtimine" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "anna töö kohta infot iga NUMBER kirje järel (vaikimisi 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "TEGEVUS" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "käivita tegevus igas kontrollpunktis" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "väljasta teade, kui kõike viiteid pole salvestatud" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNAAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2180,35 +2215,35 @@ msgstr "" "väljasta see info, kui saadetakse antud signaal. Lubatud signaalid on: " "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 ja SIGUSR2; SIG prefiksi võib ära jätta" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "väljasta failide muutmise ajad UTC esituses" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "väljasta faili aeg täielikult" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "salvesta täiendav info FAILi" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "näita iga teatega ka arhiivi bloki numbrit" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "küsi iga tegevuse kohta kinnitust" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "näita tar vaikeseadeid" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "näita snapshot-faili väljade lubatud vahemikud" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2216,85 +2251,92 @@ msgstr "" "listingu või taastamise ajal, näita igat kataloogi mis ei vasta " "otsingutingimustele" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "peale teisendamist näita faili või arhiivi nime" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STIIL" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "määra nimede kvootimise stiil; lubatud väärtused on toodud allpool" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "lisaks kvoodi sõnes näidatud sümbolid" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "keela sõnes toodud sümbolite kvootimine" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Ühilduvuse võtmed:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "loomisel sama kui --old-archive. Taastamisel sama kui --no-same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Muud võtmed:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "blokeeri potentsiaalselt ohtlikud võtmed" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "võtit '%s' ei saa võtmega '%s' kasutada" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "" "Korraga võib kasutada ainult ühte võtmetest '-Acdtrux' või '--test-label'" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Konfliktsed pakkimisvõtmed" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Tundmatu signaali nimi: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Kuupäeva fail puudub" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Kasutan %s tundmatu ajaformaadi %s asemel" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Võti %s: Käsitlen aega '%s' kui %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "filtreeri arhiiv läbi %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Võtmega --quoting-style on lubatud järgnevad argumendid:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2302,184 +2344,194 @@ msgstr "" "\n" "*See* tar kasutab vaikimisi:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "Vigane omanik või grupi ID" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Vigane blokkimisfaktor" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Vigane lindi pikkus" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Inkrementaalse varunduse taseme väärtus on vigane" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Rohkem kui üks etteantud aeg" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Vigane aukudega faili versiooni väärtus" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' ei ole sellel platvormil toetatud" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "--checkpoint väärtus ei ole täisarv" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Võtmega anti vigane mood" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Vigane number" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"Võti --preserve on mittesoovitatav, kasutage --preserve-permissions --" -"preserve-order" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Vigane kirje suurus" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Kirje suurus peab olema %d kordne." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Vigane elementide arv" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Lubatud on ainult üks --to-command võti" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Vigane tiheduse argument: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Tundmatu tihedus: '%c'" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "*See* tar ei toeta võtmeid '-[0-7][lmh]'" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: vea asukoht" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "viga %s parsimisel" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[FAIL]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "võtit --%s ei saa võtmega %s kasutada" +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "%s sisaldab vigast argumenti" -#: src/tar.c:2389 +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "TAR_OPTIONS ei saa tükeldada: %s" + +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "Vana võti '%c' nõuab argumenti." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence ei oma failide nimekirjata mõtet" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Mitme arhiivifaili kasutamine nõuab võtit '-M'" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--level ei oma võtmeta --listed-incremental mõtet" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Volüümi märgend on liiga pikk (piirang on %lu baiti)" msgstr[1] "%s: Volüümi märgend on liiga pikk (piirang on %lu baiti)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Ei suuda kontrollida mitme volüümilisi arhiive" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Ei saa kontrollida pakitud arhiive" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Ei saa kasutada mitme volüümilisi pakitud arhiive" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Tihendatud arhiive ei saa ühendada" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option saab kasutada ainult POSIX arhiividega" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "--acls saab kasutada ainult POSIX arhiividega" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "--selinux saab kasutada ainult POSIX arhiividega" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "--xattrs saab kasutada ainult POSIX arhiividega" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Ülemise kataloogi nime ei saa tuletada; palun kasutage --one-top-level=KAT" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Volüümi suurus ei saa olla väiksem kirje suurusest" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Ega ikka ei tee küll tühja arhiivi" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Võtmeid '-Aru' ei saa kasutada võtmega '-f -'" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Peab kasutama üht võtmetest '-Acdtrux', '--delete' või '--test-label'" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Kuna eelnevalt oli vigu, siis lõpetan veakoodiga" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "kataloogi sortimise reegel: none (vaikimisi), name või inode" #: src/update.c:87 #, c-format @@ -2533,34 +2585,34 @@ msgstr "Vigane laiendatud päis: puudub reavahetus" msgid "Ignoring unknown extended header keyword '%s'" msgstr "Ignoreerin tundmatut laiendatud päise võtmesõna '%s'" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Genereeritud võti/väärtus paar on liiga pikk (võti=%s, pikkus=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Laiendatud päis %s=%s on piiridest %s..%s väljas" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Vigane laiendatud päis: %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Vigane laiendatud päis: liigne %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Vigane laiendatud päis: vigane %s: ootamatu eraldaja %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Vigane laiendatud päis: vigane %s: veider arv väärtuseid" @@ -2601,7 +2653,7 @@ msgstr "Kirjutamise kontrollpunkt %u" msgid "Read checkpoint %u" msgstr "Lugemise kontrollpunkt %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2609,67 +2661,71 @@ msgstr "" "genfile manipuleerib GNU paxutils testipaketi andmefailidega.\n" "VÕTMED on:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Faili loomise võtmed:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "SUURUS" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Loo määratud suurusega fail" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Kirjuta standardväljundi asemel faili NIMI" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Loe failide nimed failist FAIL" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T loeb nullidega lõpetatud nimesid" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "Täida fail antud mustriga. Muster on 'default' või 'zeros'" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Bloki suurus aukudega faili korral" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "Loo aukudega fail. Järgnev käsurida kirjeldab faili." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "INDEKS" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Enne kirjutamist liigu antud indeksile" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Statistika faili kohta:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "Väljasta iga faili kohta stat struktuuri sisu. Vaikimisi VORMING on: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Sünkroonse täitmise võtmed:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "VÕTI" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2677,19 +2733,19 @@ msgstr "" "Täida antud KÄSKLUS. Kasulik võtmetega --checkpoint ja --cut, --append, --" "touch, --unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "Jõudes kontrollpunkti NUMBER, täida antud tegevus (vt. allpool)" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Määra järgmise --touch võtme ajatempel" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Esita täidetud kontrollpunktid ja käsu lõpetamise olek" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2697,166 +2753,164 @@ msgstr "" "Sünkroonse täitmise tegevused. Neid täidetakse, kui saabub --checkpoint " "võtmega määratud kontrollpunkt." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" "Sea faili suuruseks --length võtmega näidatu (või 0, kui suurust ei antud)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "Lisa faili lõppu --length parameetriga näidatud arv baite." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Uuenda faili kasutamise ja muutmise ajatempleid" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Käivita KÄSK" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Kustuta FAIL" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Vigane suurus: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Number on piiridest väljas: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Negatiivne suurus: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) ebaõnnestus" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "küsitud faili pikkus %lu, tegelik %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "loodud fail pole aukudega" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Viga `%s' juures numbri parsimisel" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Tundmatu kuupäeva vorming" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGUMENDID...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "`%s' ei saa avada" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "seek ebaõnnestus" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "faili nimi sisaldab null sümbolit" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "standard väljundis ei saa aukudega faili luua, kasutage võtit --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "vigane mask (`%s' lähedal)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Tundmatu väli `%s'" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "ei õnnestu seada `%s' aega" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "'%s' ei saa lühendada" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "käsklus sai vea: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "`%s' ei saa kustutada" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Käsk lõpetas töö edukalt\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Käsk lõpetas veakoodiga %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Käsk katkestati signaaliga %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Käsk peatati signaaliga %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Käsk salvestas mälupildi\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Käsk katkestas\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat nõuab failinimesid" -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "--occurrence ei saa %s korral kasutada" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "--listed-incremental ja --newer ei saa koos kasutada" - -#~ msgid "--verify cannot be used with %s" -#~ msgstr "--verify ei saa %s korral kasutada" +#~ msgid "same as both -p and -s" +#~ msgstr "sama, kui -p ja -s" -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "--preserve-order ei ole ühilduv võtmega --listed-incremental" +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Võti --preserve on mittesoovitatav, kasutage --preserve-permissions --" +#~ "preserve-order" diff --git a/po/eu.gmo b/po/eu.gmo index 7b8e1c0cee9b4ed54f138bfb409a216ea5a80dfa..5de7f7e2692981dd97b972d64792abd4d76e87e6 100644 GIT binary patch delta 7498 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 delta 7619 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 L{F2o(tCjyBLJC}t diff --git a/po/eu.po b/po/eu.po index a7e2e908..dd9e6a57 100644 --- a/po/eu.po +++ b/po/eu.po @@ -5,12 +5,12 @@ # This file is distributed under the same license as the tar package. # # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: tar-1.15.91-eu\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 2006-12-13 19:52+0100\n" "Last-Translator: Mikel Olasagasti \n" "Language-Team: Basque \n" @@ -20,46 +20,46 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "%s argumentu baliogabea %s-rentzat" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "%s argumentu anbiguoa %s-rentzat" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Argumentu erabilgarriak:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s balioa %s-ren berdina edo txikiagoa da" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT parametroak balio bat behar du" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT parametroa positibo izan behar da" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: ARGP_HELP_FMT parametro ezezaguna" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Zaborra ARGP_HELP_FMT-en: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -67,143 +67,148 @@ msgstr "" "Aukera luzeentzat beharrezko edo aukerako argumentuak modu berdinean " "beharrezko edo aukerakoak izango dira aukera luzeentzat ere." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Erabilera:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " edo: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [AUKERA...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "`%s --help' edo `%s --usage' saiatu argibide gehiagorako.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Arazoen berri %s-en eman.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Sistema errore ezezaguna" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "laguntza zerrenda hau eman" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "erabilera mezu labur bat eman" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "IZENA" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "programa izen ezarri" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEG" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "SEG segundu gelditu (lehenetsia 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "programa bertsioa bistarazi" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMA ERROREA) Ez da bertsioa ezagutzen!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Argumentu gehiegi\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMA ERROREA) Aukera ezaguna izan beharko zen!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: `%s' aukera anbiguoa da\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: `-W %s' aukera anbiguoa da\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: `--%s' aukerak ez du argumenturik onartzen\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: `%c%s' aukerak ez du argumenturik onartzen\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: `%s' aukerak argumentu bat behar du\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: `--%s' aukera ezezaguna\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: `%c%s' aukera ezezaguna\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: -- %c ekintza baliogabea\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: aukerak -- %c argumentu bat behar du.\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: `-W %s' aukera anbiguoa da\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: `-W %s' aukerak ez du argumenturik onartzen\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: `%s' aukerak argumentu bat behar du\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "memoria askieza" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "Ezin da lan direktorioa aldatu" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, fuzzy, c-format msgid "failed to return to initial working directory" msgstr "Ezin da lan direktorioa gorde" @@ -229,11 +234,11 @@ msgstr "Ezin da lan direktorioa gorde" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "`" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "'" @@ -243,7 +248,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[bB]" @@ -253,16 +258,16 @@ msgstr "^[bB]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[eE]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -270,11 +275,11 @@ msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "Arazoen berri %s-en eman.\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "Arazoen berri %s-en eman.\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" @@ -573,8 +578,8 @@ msgstr "Fitxategi Amaiera Esperogabea" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "ZENBAKIA" @@ -582,10 +587,11 @@ msgstr "ZENBAKIA" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "FITXATEGIA" @@ -598,7 +604,7 @@ msgstr "" msgid "cannot open %s" msgstr "Ezin da `%s' ireki" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "argumentu gehiegi" @@ -607,111 +613,111 @@ msgstr "argumentu gehiegi" msgid "Garbage command" msgstr "Zabor komandoa" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Honek ez dirudi tar pakete bat" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Irakurritako byte-ak guztira" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Idatziriko byte-ak guztira" -#: src/buffer.c:577 +#: src/buffer.c:580 #, fuzzy msgid "Total bytes deleted" msgstr "Ezabaturiko byte-ak guztira: %s\n" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(tutua)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "balio baliogabea record_size-rentzat" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Ez da fitxategi izenik eman" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Ezin da sarrera/irteera estandar fitxategia egiaztatu" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Fitxategia konprimiturik dago. %s aukera erabili" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Ezin dira konprimituriko fitxategiak eguneratu" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Zintaren hasieran, uzten" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Errore gehiegi, uzten" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Grabazio tamaina = bloke %lu" msgstr[1] "Grabazio tamaina = %lu bloke" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Alineatu gabeko blokea (byte %lu) paketean" msgstr[1] "Alineatu gabeko blokea (%lu byte) paketean" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: bolumen zenbaki baliogabea du" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Bolumen zenbaki gainezkatzea" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "#%d bolumena %s -rako prestatu eta enter sakatu: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Fitxategi amaiera erabiltzaile erantzuna espero zenean" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "Oharra: Paketea ez dago osaturik" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -722,72 +728,72 @@ msgstr "" " q tar utzi\n" " y edo intro Ekintza jarraitu\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Azpishell bat sortu\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Zerrenda hau inprimatu\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Ez dago bolumen berririk; uzten.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Ez da fitxategi izenik ezarri. Berriz saiatu.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "SArrera baliogabea. ? idatzi laguntzarako.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "%s komandoak huts egin du" -#: src/buffer.c:1491 -#, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s posibleki bolumen honen jarraipena da: buruak mozturiko izena du" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s ez da bolumen honen jarraipena" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s posibleki bolumen honen jarraipena da: buruak mozturiko izena du" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s okerreko tamaina da (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Bolumen hau sekuentziatik kanpo dago" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "%s bolumena ez da %s-ren pareko" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" "%s: fitxategi izen luzeegia GNU bolumen anitzeko buruan gordetzeko, mozturik" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "" @@ -798,20 +804,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "%lu byte bakarrik irakurri daiteke %lu byte-tatik" msgstr[1] "%lu byte bakarrik irakurri daiteke %lu byte-tatik" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Eduki ezberdintasunak" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Esperogabeko Fitxategi amaiaera paketean" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Fixtategi mota ezberdinak" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Modu ezberdinak" @@ -827,7 +833,7 @@ msgstr "Gid ezberdinak" msgid "Mod time differs" msgstr "Eraldaketa data ezberdinak" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Tamaina ezberdinak" @@ -836,140 +842,140 @@ msgstr "Tamaina ezberdinak" msgid "Not linked to %s" msgstr "Ez dago %s-ra loturik" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Lotura sinboliko ezberdinak" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Gailu zenbaki ezberdinak" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Egiaztatu " -#: src/compare.c:473 +#: src/compare.c:477 #, fuzzy, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: `%c' fitxategi mota ezezaguna, fitxategi arrunt batez ezberdina" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:535 +#: src/compare.c:539 #, fuzzy msgid "Archive contains transformed file names." msgstr "Paketeak zaharkituriko base-64 buruak ditu" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Egiaztapenak huts egin dezake jatorrizko fitxategiak kokatzerakoan." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "EGIAZTAPEN AKATSA: buru baliogabe %d aurkitu da" msgstr[1] "EGIAZTAPEN AKATSA: %d buru baliogabe aurkitu dira" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:73 +#: src/create.c:74 #, fuzzy, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: katxe direktorioa marka bat du; ez da irauliko" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "%s eremua %s eremutik %s..%s kanpo: %s aldatzen" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "%s balioa %s eremutik %s..%s kanpo dago" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Zortzitar buru negatiboak sortzen" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: fitxategi izena luzeegia da (gehi. %d); ez da irauliko" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: fitxategi izena luzeegia da (ezin da moztu); ez da irauliko" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: lotura izena luzeegia da; ez da irauliko" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "" msgstr[1] "" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: fitxategia fitxategi sistema ezberdin batetan dago, ez da irauliko" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Fitxategi mota ezezaguna; fitxategia alde batetara utziko da" -#: src/create.c:1551 +#: src/create.c:1569 #, fuzzy, c-format msgid "Missing links to %s." msgstr "%s-ra lotura falta da.\n" -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: fitxategia ez da aldatu, ez da irauliko" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: fitxategia paketea da, ez da irauliko" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 #, fuzzy msgid "directory not dumped" msgstr "%s: katxe direktorioa marka bat du; ez da irauliko" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: fitxategia aldatu egin da irakurtzen ari zenean" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: socket-a alde batetara utzi da" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: atea alde batetara utzia" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Hurrengoa burura salto egiten" @@ -987,55 +993,55 @@ msgstr "%s: Sinesgarri izateko zaharregia den denbora marka %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: %s denbora marka %s etorkizunean da" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Esperogabeko inkonsistentziak direktorioa sortzerakoan" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Direktorioa bere egoera atera aurretik berrizendatua izan da" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Alboko fitxategiak fitxategi erregularrak bezala ateratzen" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Lotura sinbolikoak lotura gogor bezala ateratzen saiatzen" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Ezin da atera -- paketea beste bolumen baten jarraipena da" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Buru izen luzera esperogabea" -#: src/extract.c:1542 +#: src/extract.c:1587 #, fuzzy, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "" "%s: `%c' fitxategi mota ezezaguna, fitxategi arrunt bat bezala ateratzen" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Unekoa %s berriagoa edo data berdinekoa da" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Ez da gai fitxategi honen babeskopia egiteko" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Ezin da %s %s-ra berrizendatu" @@ -1086,133 +1092,134 @@ msgstr "Inodo zenbaki baliogabea" msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Eremu balio esperogabea snapshot fitxategian" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Gordetze amaiera falta da" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Fitxategi inkremental formatu okerra" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, fuzzy, c-format msgid "Unsupported incremental format version: %" msgstr "Onartugabeko inkremental formatu bertsioa: %d" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" "Gaizki eratutako iraulketa direktorioa: '%c'espero zen baina %#3o aurkitu da" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Gaizki eratutako iraulketa direktorioa: 'X' bikoizturik" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Gaizki eratutako iraulketa direktorioa: izen hutsa 'R'-en" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Gaizki eratutako iraulketa direktorioa: 'T' ez doa 'R' atzean" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Gaizki eratutako iraulketa direktorioa: izen hutsa 'T'-en" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Gaizki eratutako iraulketa direktorioa: '%c' espero zen baina data amaiera " "aurkitu da" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Gaizki eratutako iraulketa direktorioa: 'X' ez da inoiz erabili" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Ezin da aldiroko direktorioa sortu %s txantiloia erabiliaz" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Ez da direktorioa garbituko: ezin da egoera eskuratu" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: direktorioa gailu ezberdin batetan dago: ez da garbituko" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s ezabatzen\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Ezin da ezabatu" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Alde batetara uzten" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "%s blokea: ** Fitxategi Amaiera **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "%s blokea: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Zuriunea buruan zenbakizko %s balioa espero zenean" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1220,87 +1227,87 @@ msgstr "" "direla pentsatuko da" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Paketearen zortzitar %.*s balioa %s eremutik kanpo dago" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Paketeak zaharkituriko base-64 buruak ditu" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Paketeak %.*s du zenbakizko %s balioa espero zenean " #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Pakete %s balioa %s eremutik kanpo dago %s.. %s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " %s-ra lotu\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " %s fitxategi mota ezezaguna\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Lotura Luzea--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Izen Luzea--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Bolumen Burua--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--%s byte-an jarraitzen du--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Direktorioa sortzen:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "%s %s-ra berrizendatzen\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Ezin da %s-ra berrizendatu" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "%s %s-ra atzera berrizendatzen\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Fitxategia irakurri baino lehen ezabaturik" @@ -1313,75 +1320,233 @@ msgstr "ume prozesua" msgid "interprocess channel" msgstr "prozesu arteko kanala" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Fixtategi lokal hautapena:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"Emandako FITXATEGIA paketera gehitu /Erabilgarri izena asaterisko batez " +"asten bada)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "DIR" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "DIR direktoriora aldatu" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "ateratzeko edo sortzeko izenak FITXATEGIA-tik eskuratu" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "PATROIA" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "fixtategiak utzi, PATROIA bezala emandakoak" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "FITXATEGIAN zerrendaturiko patroiak alde batetara utzi" + +#: src/names.c:95 +#, fuzzy +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "katxe marka duten direktorioak alde batetara utzi" + +#: src/names.c:98 +#, fuzzy +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "katxe marka duten direktorioak alde batetara utzi" + +#: src/names.c:101 +#, fuzzy +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "katxe marka duten direktorioak alde batetara utzi" + +#: src/names.c:103 +#, fuzzy +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "katxe marka duten direktorioak alde batetara utzi" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +#, fuzzy +msgid "exclude everything under directories containing FILE" +msgstr "katxe marka duten direktorioak alde batetara utzi" + +#: src/names.c:114 +#, fuzzy +msgid "exclude directories containing FILE" +msgstr "katxe marka duten direktorioak alde batetara utzi" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "direktorioetan barrena (lehenetsia)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "sahiestu automatikoki direktorioetan zehar jeistea" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" + +#: src/names.c:136 +msgid "ignore case" +msgstr "kasua alde batetara utzi" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "verbatim kate parekatzea" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "" + +#: src/names.c:146 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "%s bolumena ez da %s-ren pareko" + +#: src/names.c:768 #, fuzzy msgid "command line" msgstr "%s komandoak huts egin du" -#: src/names.c:378 +#: src/names.c:786 #, fuzzy, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: fitxategi zerrenda irakurria dagoeneko" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, fuzzy, c-format msgid "cannot split string '%s': %s" msgstr "ezin da `%s'-ren denbora ezarri" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Ez da paketean aurkitu" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "`-%s' eta `-%s' aukerek sarrera estandarra behar dute" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Pakete formatu baliogabea" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "GNU ezaugarriak behar dira pakete formatu bateraezinean" -#: src/tar.c:264 +#: src/tar.c:265 #, fuzzy, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1389,7 +1554,7 @@ msgstr "" "`%s' markatze estilo ezezaguna. Saiatu `%s --quoting-style=help' zerrenda " "eskuratzeko." -#: src/tar.c:378 +#: src/tar.c:354 #, fuzzy msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " @@ -1420,7 +1585,7 @@ msgstr "" "erabili\n" " never, simple beti babeskopia sinpleak egin\n" -#: src/tar.c:387 +#: src/tar.c:363 #, fuzzy msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" @@ -1452,80 +1617,88 @@ msgstr "" "erabili\n" " never, simple beti babeskopia sinpleak egin\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Ekintza nagusi modua:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "pakete baten edukiak zerrendatu" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "pakete batetako fitxategiak atera" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "pakete berri bat sortu" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "paketea eta fitxategi sistema arteko ezberdintasunak bilatu" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "fitxategiak paketearen amaieran gehitu" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "" "paketean dauden kopiak baino berriagoak diren fitxategiak bakarrik gehitu" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "gehitu tar fitxategiak pakete batetara" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "paketetik ezabatu (ez mag zintetan!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "pakete bolumen etiketa egiaztatu eta irten" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Ekintza aldagaiak:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "sakabanatutako fitxategiak egoki kudeatu" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "GNU basbeskopia inkremenetal formatu zaharra kudeatu" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "GNU basbeskopia inkremenetal formatu berria kudeatu" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1533,175 +1706,184 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "paketeak `seek' onartzen du" -#: src/tar.c:467 +#: src/tar.c:445 #, fuzzy msgid "archive is not seekable" msgstr "paketeak `seek' onartzen du" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:478 +#: src/tar.c:456 #, fuzzy msgid "Overwrite control:" msgstr "Gainidazketa kontrola:\n" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "fitxategia egiaztatzen saiatu idatzi aurretik" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "ezabatu fitxategiak paketera gehitu aurretik" -#: src/tar.c:485 +#: src/tar.c:463 #, fuzzy msgid "don't replace existing files when extracting, treat them as errors" msgstr "ez ordezkatu dauden fitxategiak ateratzerakoan" -#: src/tar.c:488 +#: src/tar.c:466 #, fuzzy msgid "don't replace existing files when extracting, silently skip over them" msgstr "ez ordezkatu dauden fitxategiak ateratzerakoan" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "ez ordezkatu ateratzerakoan dauden fitxategiak paketeko kopiak baino " "berriagoak badira" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "gainidatzi dauden fitxategiak ateratzerakoan" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "dauden direktorioen metadata mantendu" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "dauden direktorioen metadata gainidatzi ateratzerakoan (lehenetsia)" -#: src/tar.c:504 +#: src/tar.c:482 #, fuzzy msgid "preserve existing symlinks to directories when extracting" msgstr "gainidatzi dauden fitxategiak ateratzerakoan" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "DIR" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Irteera korrontea hautatu:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "fitxategiak irteera estandarrera atera" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "KOMANDOA" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "bideratu ateratako fitxategiak beste programa batetara" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "alde batetara utzi semeen irteera kodeak" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "zero ez diren semeen irteera kodeekin errore bat bezala jokatu" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Fitxategi atributu kudeaketa:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "indartu IZENA jabe bezala gehituriko fitxategientzat" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "indartu IZENA talde bezala gehituriko fitxategientzat" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATA-EDO-FITXATEGIA" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "ALDAKETAK" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "indartu (sinbolikoa) modu ALDAKETAK gehituriko lerroentzat" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METODOA" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "ez atera fitxategi eraldaketa data" -#: src/tar.c:545 +#: src/tar.c:529 #, fuzzy msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "jabe berdinaren fitxategiak ateratzen saiatu" -#: src/tar.c:547 +#: src/tar.c:531 #, fuzzy msgid "extract files as yourself (default for ordinary users)" msgstr "atera fitxategiak zure kabuz" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "beti erabili zenbakiak erabiltzaile/talde izenen ordez" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "fitxategi baimenei buruzko argibideak atera (lehenetsia root " "erabiltzailearentzat)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1709,492 +1891,347 @@ msgstr "" "erabiltzailearen umask-a erabili paketetik baimenak ateratzerakoan " "(lehenetsia erabiltzaile arruntentzat)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "-p eta -s bikotearen berdina" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "--delay-directory-restore aukeraren eragina ezeztatu" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 #, fuzzy msgid "Handling of extended file attributes:" msgstr "Fitxategi atributu kudeaketa:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 #, fuzzy msgid "Device selection and switching:" msgstr "Gailu hautapen eta aldaketa:\n" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "PAKETEA" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "pakete fitxategia edo gailu PAKETEA erabili" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "pakete fitxategi lokala da nahiz bi puntu izan" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "Emandako rmt KOMANDOA erabili rmt ordez" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "Urruneko KOMANDOA erabili rsh ordez" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "Gailu eta dentsitatea ezarri" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "sortu/zerrendatu/atera bolumen-anitzeko paketea" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "zinta aldatu ZENBAKIA x 1024 byte idatzi ondoren" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "scipt-a abiarazi zinta bakoitzaren amaieran (-M behar du)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "erabili/eguneratu FITXATEGI bolumen zenbakia" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Gailu blokeak:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOKE" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOKE x 512 byte grabazio bakoitzeko" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "grabazio bakoitzeko byte ZENBAKIA, 512-ren multiploa" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "paketean zeroz betetako blokeak alde batetara utzi" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "irakurri ahala berriz bloke egin (4.2BSD tutuentzat)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Pakete formatu hautapena:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMATUA" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "emandako formatuko pakete bat sortu" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMATUA hauetako bat da:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "V7 tar formatu zaharra" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "GNU formatua tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x formatua" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) formatua" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) formatua" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "pax-en berdina" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "--format=v7-ren berdina" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "--format=posix-ren berdina" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "gakoa[[:]=balioavalue][,gakoa[[:]=balioa]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TESTUA" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:684 +#: src/tar.c:666 #, fuzzy msgid "Compression options:" msgstr "Elkarjotzen duten konpresio aukerak" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "PROG bidez iragazi (-d onartu behar du)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Fixtategi lokal hautapena:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"Emandako FITXATEGIA paketera gehitu /Erabilgarri izena asaterisko batez " -"asten bada)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "DIR direktoriora aldatu" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "ateratzeko edo sortzeko izenak FITXATEGIA-tik eskuratu" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -msgid "unquote input file or member names (default)" -msgstr "" - -#: src/tar.c:722 -msgid "do not unquote input file or member names" -msgstr "" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "PATROIA" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "fixtategiak utzi, PATROIA bezala emandakoak" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "FITXATEGIAN zerrendaturiko patroiak alde batetara utzi" - -#: src/tar.c:728 -#, fuzzy -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "katxe marka duten direktorioak alde batetara utzi" - -#: src/tar.c:731 -#, fuzzy -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "katxe marka duten direktorioak alde batetara utzi" - -#: src/tar.c:734 -#, fuzzy -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "katxe marka duten direktorioak alde batetara utzi" - -#: src/tar.c:736 -#, fuzzy -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "katxe marka duten direktorioak alde batetara utzi" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -#, fuzzy -msgid "exclude everything under directories containing FILE" -msgstr "katxe marka duten direktorioak alde batetara utzi" - -#: src/tar.c:747 -#, fuzzy -msgid "exclude directories containing FILE" -msgstr "katxe marka duten direktorioak alde batetara utzi" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "sahiestu automatikoki direktorioetan zehar jeistea" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "fitxategi sistema lokalean egon paketea sortzerakoan" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "direktorioetan barrena (lehenetsia)" - -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "Ez kendu hasierako `/' fitxategi izenetatik" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "lotura sinbolikoak jarraitu; lotzen dituzten fitxategiak irauli eta paketean " "sartu" -#: src/tar.c:765 +#: src/tar.c:697 #, fuzzy msgid "follow hard links; archive and dump the files they refer to" msgstr "" "lotura sinbolikoak jarraitu; lotzen dituzten fitxategiak irauli eta paketean " "sartu" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "PARTAIDE IZEN" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATA" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "data eta ordua parekatu data bakarrik aldatzen denean" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "KONTROL" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "babeskopia egin ezabatu aurretik, KONTROL bertsioa hautatu" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "KATEA" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Fitxategi izen eraldaketak:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "ESPRESIOA" -#: src/tar.c:786 +#: src/tar.c:718 #, fuzzy msgid "use sed replace EXPRESSION to transform file names" msgstr "Sed-en ordezko EXPRESIOA erabili fitxategi izenak eraldatzeko" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "kasua alde batetara utzi" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "verbatim kate parekatzea" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "%s bolumena ez da %s-ren pareko" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "irteera informatiboa:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "" -#: src/tar.c:819 +#: src/tar.c:729 #, fuzzy msgid "warning control" msgstr "Gainidazketa kontrola:\n" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "Aurrerapen mezuak bistarazi grabaketa ZENBAKI bakiotzagatik (lehenetsia 10 " "da)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "mezu bat inprimatu lotura guztiak ez badira iraultzen" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SEINALEA" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2202,308 +2239,326 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:834 +#: src/tar.c:744 #, fuzzy msgid "print file modification times in UTC" msgstr "eraldaketa datak UTC orduan bistarazi" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "irteera luzea FITXATEGIRA bidali" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "Bloke zenbakia bistarazu pakete bakoitzeko mezu bakoitzagatik" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "berrespena eskatu ekintza bakoitzean" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "tar lehenespenak bistarazi" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "fixtategi edo pakete izenak bistarazi eraldaketaren aurretik" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "ESTILOA" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "Gako karaktere gehigarriak KATE-tik" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "gakoak kendu karaktereentzat KATE-tik" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Bateragarritasun aukerak:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Beste aukerak:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "ezgaitu arriskutsu izan daitezken zenbait aukera" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, fuzzy, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s: Ezin da %s-ra seek egin" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "Ezin duzu `-Acdtrux' aukera bat baino gehiago ezarri" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Elkarjotzen duten konpresio aukerak" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Seinale izen ezezaguna: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Data adibide fitxategia ez da aurkitu" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "%s %s data formatu ezezagunagatik aldatzen" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "fitxategia gzip bidez iragazi" -#: src/tar.c:1214 +#: src/tar.c:1137 #, fuzzy msgid "Valid arguments for the --quoting-style option are:" msgstr "--quoting-style-entzat balio erabilgarriak:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1330 +#: src/tar.c:1253 #, fuzzy msgid "Invalid owner or group ID" msgstr "Jabe baliogabea" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Blokeo faktore baliogabea" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Zinta luzera baliogabea" -#: src/tar.c:1521 +#: src/tar.c:1483 #, fuzzy msgid "Invalid incremental level value" msgstr "Fitxategi inkremental formatu okerra" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Atari data bat baino gehiago" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' ez da onartzen plataforma honetan" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "--checkpoint balioa ez da zenbaki oso bat" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Modu baliogabea eman da aukeran" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Zenbaki baliogabea" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Grabazio tamaina baliogabea" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Grabaszio tamaina %d-ren multiplo bat izan behar da." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Elementu kopuru baliogabea" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "--to-command aukera bat bakarrik onartzen da" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Gaizki eratutako dentsitate argumentua: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, fuzzy, c-format msgid "Unknown density: '%c'" msgstr "Dentsitate Ezezaguna: `%c'" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr " `-[0-7][lmh]' aukerak ez dira onartzen tar *honetan*" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Errorea zenbakia analizatzean hemendi gertu: `%s'" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[FITXATEGIA]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "%s patroia ezin da erabili" +msgid "non-option arguments in %s" +msgstr "%s argumentu baliogabea %s-rentzat" + +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "ezin da `%s'-ren denbora ezarri" -#: src/tar.c:2389 +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "`%c' zaharkituriko aukerak argumentu bat behar du" -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "Pakete fitxategi anitzentzat `-M' aukera erabili behar da" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Bolumen etiketa luzeegia da (muga %lu byte da)" msgstr[1] "%s: Bolumen etiketa luzeegia da (muga %lu byte da)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Ezin dira bolumen-anitzeko paketeak egiaztatu" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Ezin dira konprimituriko fitxategiak egiaztatu" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Ezin dira bolumen anitzeko konprimituriko paketeak erabaili" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Ezin dira konprimituriko paketeak kateatu" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke" -#: src/tar.c:2560 +#: src/tar.c:2486 #, fuzzy msgid "--acls can be used only on POSIX archives" msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke" -#: src/tar.c:2565 +#: src/tar.c:2491 #, fuzzy msgid "--selinux can be used only on POSIX archives" msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke" -#: src/tar.c:2570 +#: src/tar.c:2496 #, fuzzy msgid "--xattrs can be used only on POSIX archives" msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "" -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr " `-Aru' aukerak bateraezinak dira `-f -' rekin" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Behintzat `-Acdtrux' aukeretako bat ezarri behar duzu" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2560,35 +2615,35 @@ msgstr "Gaizki eratutako buru luzapena: lerro berria falta da" msgid "Ignoring unknown extended header keyword '%s'" msgstr "alde batetara utzi gako buru luzapen ezezaguna `%s'" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "buru luzapena %s=%s eremuz kanpo dago %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Gaizki eratutako buru luzapena: baliogabea %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Gaizki eratutako buru luzapena: gehiegizkoa %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Gaizki eratutako buru luzapena: %s baliogabea: %c mugatzaile esperodageba" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Gaizki eratutako buru luzapena: %s baliogabea: balio kopuru bitxia" @@ -2629,78 +2684,82 @@ msgstr "Idazketa %u egiaztapen puntua" msgid "Read checkpoint %u" msgstr "Irakurketa %u egiaztapen puntua" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" msgstr "" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Pakete sortze aukerak:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "TAMAINA" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Emandako TAMAINAko paketea sortu" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Fitxategi IZENEAN idatzi irteera estandarren ordez" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Fitxategi izenak PAKETEtik irakurri" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Bloke tamaina fitxategi sakabanatuentzat" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Fitxategi sakabanatuak sortu. Komanod lerroaren besteak fitxategi mapa dakar." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "" -#: tests/genfile.c:145 +#: tests/genfile.c:149 #, fuzzy msgid "Seek to the given offset before writing data" msgstr "fitxategia egiaztatzen saiatu idatzi aurretik" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Fixtategi estatistika aukerak:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Eduki eta egitura estatusa inprimatu emandako fitxategi bakoiztarentzat. " "Lehenetsiriko FORMATUA: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Sinkronizatutako exekuzio aukerak:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 #, fuzzy msgid "OPTION" msgstr " [AUKERA...]" -#: tests/genfile.c:164 +#: tests/genfile.c:169 #, fuzzy msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " @@ -2709,180 +2768,180 @@ msgstr "" "Emandako KOMANDOA exekutatu. Erabilgarri --checkpoint eta hauetako batekin; " "--cut, --append, --touch" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Ezarri data hurrengo --touch aukerarentzat" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "FITXATEGIAREN irakurketa eta eraldaketa denborak aldatu" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "KOMANDOA exekutatu" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Tamaina baliogabea: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, fuzzy, c-format msgid "Number out of allowed range: %s" msgstr "Inodo zenbakia eremuz kanpo dago" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, fuzzy, c-format msgid "Negative size: %s" msgstr "Tamaina baliogabea: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) -ek huts egin du" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Errorea zenbakia analizatzean hemendi gertu: `%s'" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Data formatu ezezaguna" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARG...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "Ezin da `%s' ireki" -#: tests/genfile.c:434 +#: tests/genfile.c:443 #, fuzzy msgid "cannot seek" msgstr "%s: Ezin da %s-ra seek egin" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "fitxategia izenak karaktere baliogabea du" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "ezin dira sakabanaturiko fitxategiaksortu irteera estandarrean. --file " "erabili" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "maskara baliogabea (`%s'-etik gertu)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "`%s' eremu ezezaguna" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "ezin da `%s'-ren denbora ezarri" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "Ezin da `%s' ireki" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, fuzzy, c-format msgid "command failed: %s" msgstr "%s komandoak huts egin du" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "Ezin da `%s' ireki" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Komandoa behar bezala irten da\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Komandoa %d egoerarekin huts egin du\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Komandoa %d seinalearekin amaitu da\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Komandoa %d seinalearekin geratu da\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Komando iraulketa nagusia\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Komandoa amaitua\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat -ek fitxategi izenak behar ditu" -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Ezin dira --listed-incremental eta --newer batera erabili" +#~ msgid "same as both -p and -s" +#~ msgstr "-p eta -s bikotearen berdina" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: -- %c legezkanpoko aukera\n" @@ -2990,5 +3049,8 @@ msgstr "--stat -ek fitxategi izenak behar ditu" #~ msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?" #~ msgstr "Oharra: -l aukera ez da onartzen; agian -j edo -T egin nahi zenuen?" +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "Ezin dira --listed-incremental eta --newer batera erabili" + #~ msgid "Error exit delayed from previous errors" #~ msgstr "Errore irteera aurreko erroreak direla eta" diff --git a/po/fi.gmo b/po/fi.gmo index 502b23e11c178acd638f5ecb0510e107337a77e4..c660470c42a4a8ad91e12c1c4fe69057d1d7e1a9 100644 GIT binary patch delta 14445 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 delta 11264 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, 2002-2006, 2014. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar 1.27\n" +"Project-Id-Version: tar 1.28\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2014-07-12 17:57+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2015-07-28 21:17+0300\n" "Last-Translator: Lauri Nurmi \n" "Language-Team: Finnish \n" "Language: fi\n" @@ -17,48 +17,48 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.6.5\n" +"X-Generator: Poedit 1.8.3\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argumentti %s on virheellinen %s:lle" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argumentti %s on moniselitteinen %s:lle" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Kelvolliset argumentit ovat:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s-arvo on pienempi tai yhtäsuuri kuin %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT-parametri vaatii arvon" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT-parametrin on oltava positiivinen" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Tuntematon ARGP_HELP_FMT-parametri" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Roskaa ARGP_HELP_FMT:ssä: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -66,144 +66,149 @@ msgstr "" "Pitkien valitsinten pakolliset tai valinnaiset argumentit ovat pakollisia " "tai valinnaisia myös vastaaville lyhyille." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Käyttö:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " tai: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [VALITSIN...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Kokeile ”%s --help” tai ”%s --usage” saadaksesi lisää tietoa.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Tuntematon järjestelmävirhe" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "näytä tämä ohje" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "näytä lyhyt käyttöohje" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NIMI" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "aseta ohjelman nimi" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEK" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "odota SEK sekuntia (oletus 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "näytä ohjelman versio" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(OHJELMAVIRHE) Tuntematon versio‽" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Liian monta argumenttia\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(OHJELMAVIRHE) Valitsin olisi pitänyt tunnistaa‽" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "kirjoitusvirhe" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: valitsin ”%s” on moniselitteinen; vaihtoehdot:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: valitsin ”-W %s” on moniselitteinen\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: valitsin ”--%s” ei salli argumenttia\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: valitsin ”%c%s” ei salli argumenttia\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: valitsin ”--%s” vaatii argumentin\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: tunnistamaton valitsin ”--%s”\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: tunnistamaton valitsin ”%c%s”\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: virheellinen valitsin -- ”%c”\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: valitsin vaatii argumentin -- ”%c”\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: valitsin ”-W %s” on moniselitteinen\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: valitsin ”-W %s” ei salli argumenttia\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: valitsin ”%s” vaatii argumentin\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "muisti lopussa" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "Työhakemistoa ei voi vaihtaa" -#: gnu/openat-die.c:59 -#, fuzzy, c-format +#: gnu/openat-die.c:57 +#, c-format msgid "failed to return to initial working directory" msgstr "alkuperäiseen työhakemistoon palaaminen epäonnistui" @@ -228,11 +233,11 @@ msgstr "alkuperäiseen työhakemistoon palaaminen epäonnistui" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "”" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "”" @@ -242,7 +247,7 @@ msgstr "”" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[kKyY]" @@ -252,16 +257,16 @@ msgstr "^[kKyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[eEnN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Paketoinut %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Paketoinut %s\n" @@ -269,11 +274,11 @@ msgstr "Paketoinut %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -410,22 +415,22 @@ msgstr "" "\n" "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen: %s\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Ilmoita %s-vioista (englanniksi) osoitteeseen %s.\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s-kotisivu: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s-kotisivu: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Yleisohjeita GNU-ohjelmistojen käyttöön: \n" @@ -538,9 +543,9 @@ msgid "Cannot connect to %s: resolve failed" msgstr "Ei voi yhdistää kohteeseen %s: nimenselvitys epäonnistui" #: lib/rtapelib.c:502 -#, fuzzy, c-format +#, c-format msgid "Cannot redirect files for remote shell" -msgstr "Etäkuorta ei voi käynnistää" +msgstr "Tiedostoja ei voida uudelleenohjata etäkuorelle" #: lib/rtapelib.c:516 #, c-format @@ -576,9 +581,8 @@ msgid "Premature eof" msgstr "Ennenaikainen tiedoston loppu" #: rmt/rmt.c:601 -#, fuzzy msgid "Invalid operation code" -msgstr "Virheellinen objekti operaatiolle" +msgstr "Virheellinen operaatiokoodi" #: rmt/rmt.c:636 rmt/rmt.c:680 msgid "Operation not supported" @@ -592,8 +596,8 @@ msgstr "Odottamattomat argumentit" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Ohjaa nauha-asemaa, hyväksyen komentoja etäprosessilta" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "MÄÄRÄ" @@ -601,10 +605,11 @@ msgstr "MÄÄRÄ" msgid "set debug level" msgstr "aseta vianjäljityksen taso" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "TIED" @@ -617,7 +622,7 @@ msgstr "aseta vianjäljityksen tulostetiedoston nimi" msgid "cannot open %s" msgstr "tiedostoa %s ei voi avata" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "liian monta argumenttia" @@ -626,113 +631,112 @@ msgstr "liian monta argumenttia" msgid "Garbage command" msgstr "Roskakomento" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Tämä ei näytä tar-arkistolta" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Luettuja tavuja yhteensä" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Kirjoitettuja tavuja yhteensä" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Poistettuja tavuja yhteensä: %s\n" +msgstr "Poistettuja tavuja yhteensä" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(putki)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Virheellinen arvo kentälle record_size" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Arkiston nimeä ei ole annettu" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Vakiosyötteessä/tulosteessa olevaa arkistoa ei voi varmistaa" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Arkisto on tiivistetty. Käytä valitsinta %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Pakattuja arkistoja ei voi päivittää" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Nauhan alussa, lopetetaan" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Liian monta virhettä, lopetetaan" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Tietueen koko = %lu lohko" msgstr[1] "Tietueen koko = %lu lohkoa" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Kohdistamaton lohko (%lu tavu) arkistossa" msgstr[1] "Kohdistamaton lohko (%lu tavua) arkistossa" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Arkistossa ei voi siirtyä taaksepäin; sitä ei ehkä voi lukea ilman " "valitsinta -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek ei pysähtynyt tietueen rajalle" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: sisältää virheellisen arkiston osan järjestysnumeron" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Arkisto-osan järjestysnumeron ylivuoto" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Valmistele osa #%d arkistolle %s ja paina return: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Tiedoston loppu odotetun käyttäjän syötteen sijaan" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "VAROITUS: Arkisto on epätäydellinen" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -744,67 +748,67 @@ msgstr "" " q Keskeytä tar\n" " y tai rivinv. Jatka suoritusta\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Käynnistä alikuori\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Näytä tämä lista\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Ei uutta arkiston osaa, poistutaan.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Tiedostonimeä ei annettu. Yritä uudelleen.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Virheellinen syöte. Kirjoita ? ohjeen näyttämiseksi.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "Komento %s epäonnistui" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "%s ei jatku tällä arkiston osalla" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s jatkuu mahdollisesti tällä arkiston osalla: otsake sisältää typistetyn " "nimen" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "%s ei jatku tällä arkiston osalla" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s on väärän kokoinen (%s ≠ %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Tämä arkiston osa epäjärjestyksessä (%s - %s ≠ %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Arkistoa ei ole nimetty täsmää nimiöön %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Arkiston osa %s ei täsmää nimiöön %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -812,7 +816,7 @@ msgstr "" "%s: tiedostonimi on liian pitkä tallennettavaksi moniosaisen GNU-arkiston " "otsakkeeseen; nimi typistetty" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "kirjoitus ei päättynyt lohkon rajalle" @@ -823,20 +827,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Voitiin lukea vain %lu tavua %lu tavusta" msgstr[1] "Voitiin lukea vain %lu tavua %lu tavusta" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Sisällöt eroavat" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Odottamaton tiedoston loppu arkistossa" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Tiedoston tyyppi eroaa" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Tila eroaa" @@ -852,7 +856,7 @@ msgstr "GID eroaa" msgid "Mod time differs" msgstr "Muutosaika eroaa" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Koko eroaa" @@ -861,139 +865,139 @@ msgstr "Koko eroaa" msgid "Not linked to %s" msgstr "Ei ole linkitetty tiedostoon %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Symlinkki eroaa" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Laitenumero eroaa" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Tarkasta " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Tuntematon tiedostotyyppi ”%c”, vertailtu normaalina tiedostona" # Mitäh? -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Arkisto sisältää tiedostonimiä, joiden etuliitteet on poistettu." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Arkisto sisältää muunnettuja tiedostonimiä." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Tarkastus ei ehkä löydä alkuperäisiä tiedostoja." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "TARKASTUSVIRHE: havaittu %d virheellinen otsake" msgstr[1] "TARKASTUSVIRHE: havaittu %d virheellistä otsaketta" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Yksinäinen nollalohko kohdassa %s" -#: src/create.c:73 +#: src/create.c:74 #, fuzzy, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "Välimuistihakemistoa %s ei voi avata\n" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "arvo %s on sallitun %s-välin %s..%s ulkopuolella, korvataan arvolla %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "arvo %s on sallitun %s-välin %s..%s ulkopuolella" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Luodaan otsakkeet negatiivisilla oktaaleilla" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: tiedostonimi on liian pitkä (maksimi %d), ei lisätä" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: tiedostonimi on liian pitkä (ei voida jakaa), ei lisätä" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: linkin nimi on liian pitkä, ei lisätä" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Tiedosto kutistui %s tavun verran, tasataan nollilla" msgstr[1] "%s: Tiedosto kutistui %s tavun verran, tasataan nollilla" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: tiedosto ei ole samalla tiedostojärjestelmällä, ei lisätä" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "sisältöä ei lisätty" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tuntematon tiedostotyyppi, tiedostoa ei huomioida" -#: src/create.c:1551 -#, fuzzy, c-format +#: src/create.c:1569 +#, c-format msgid "Missing links to %s." -msgstr "%s:n jälkeen puuttuu operandi" +msgstr "Puuttuvia linkkejä tiedostoon %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: tiedosto on muuttumaton, ei lisätä" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: tiedosto on arkistossa, ei lisätä" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "hakemistoa ei lisätty" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: tiedosto muuttui lukemisen aikana" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: pistoketta ei huomioida" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: ovea ei huomioida" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Siirrytään seuraavaan otsakkeeseen" @@ -1011,55 +1015,54 @@ msgstr "%s: epätodennäköisen vanha aikaleima %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: aikaleima %s on %s sekuntia tulevaisuudessa" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Odottamaton ristiriita luotaessa hakemistoa" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "%s: ohitetaan olemassa oleva tiedosto" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Hakemisto nimettiin uudelleen ennen kuin sen tilaa voitiin purkaa" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Puretaan jatkuvat tiedostot normaaleiksi tiedostoiksi" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Yritetään purkaa symboliset linkit koviksi linkeiksi" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Ei voi purkaa -- tiedosto on jatkoa toisesta arkiston osasta" -#: src/extract.c:1535 src/list.c:1167 -#, fuzzy +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" -msgstr "Liian pitkä tiedostonimi" +msgstr "Odottamaton pitkä nimiotsake" -#: src/extract.c:1542 +#: src/extract.c:1587 #, fuzzy, c-format msgid "%s: Unknown file type '%c', extracted as normal file" -msgstr "%s: Tuntematon tiedostotyyppi ”%c”, purettiin normaaliksi tiedostoksi" +msgstr "%s: Tuntematon tiedostotyyppi ”%c”, vertailtu normaalina tiedostona" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Nykyinen %s on uudempi tai yhtä vanha" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Tätä tiedostoa ei voitu varmuuskopioida" -#: src/extract.c:1767 +#: src/extract.c:1814 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: Uudelleennimeäminen nimelle %s ei onnistu" @@ -1109,133 +1112,134 @@ msgstr "Virheellinen i-solmun numero" msgid "%s: byte %s: %s %.*s... too long" msgstr "%s: tavu %s: %s %.*s... liian pitkä" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Odottamaton tiedoston loppu arkistossa" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" -msgstr "" +msgstr "%s: tavu %s: %s %s: perässä virheellinen tavu 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" +"%s: tavu %s: (kelvollinen väli %s..%s)\n" +"\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "%s: tavu %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "%s: tavu %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 #, fuzzy msgid "Missing record terminator" -msgstr "puuttuva ”]”" +msgstr "" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 #, fuzzy msgid "Bad incremental file format" msgstr "Virheellinen kirjasintiedoston muoto" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1568 -#, fuzzy +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" -msgstr "Kelvoton tiheysargumentti: ”%s”" +msgstr "" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Väliaikaishakemiston luominen %s-mallia käyttäen ei onnistu" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Ei poisteta hakemistoa: stat ei onnistu" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: hakemisto on eri laitteella, ei poisteta" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Poistetaan %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Ei voi poistaa" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Jätetään pois" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "lohko %s: ** NUL-lohko **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "lohko %s: ** Tiedoston loppu **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "lohko %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Tyhjiä merkkejä otsakkeessa, odotettiin numeerista %s-arvoa" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1243,89 +1247,89 @@ msgstr "" "kahden komplementiksi" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Arkiston oktaaliarvo %.*s on sallitun %s-välin ulkopuolella" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Arkisto sisältää käytöstä poistuvia base-64-otsakkeita" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" "Arkiston etumerkillinen base-64-merkkijono %s on sallitun %s-välin " "ulkopuolella" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Arkiston base-256-arvo on sallitun %s-välin ulkopuolella" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arkisto sisältää merkkijonon %.*s, odotettiin numeerista %s-arvoa" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Arkiston arvo %s on sallitun %s-välin %s..%s ulkopuolella" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " linkki tiedostoon %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " tuntematon tiedostotyyppi %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Pitkä linkki--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Pitkä nimi--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Arkiston osan otsake--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Jatkuu tavusta %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Luodaan hakemisto:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Nimetään uudelleen %s -> %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Uudelleennimeäminen nimelle %s ei onnistu" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Nimetään %s takaisin nimelle %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Tiedosto oli poistettu ennen sen lukemista" @@ -1338,30 +1342,187 @@ msgstr "lapsiprosessi" msgid "interprocess channel" msgstr "prosessienvälinen kanava" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Paikallisten tiedostojen valinta:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"lisää annettu TIEDosto arkistoon (hyödyllinen, jos nimi alkaa viivalla)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "HAK" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "siirry hakemistoon HAK" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "hae purettavat/luotavat nimet TIEDOSTOsta" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T lukee nollaan päättyviä nimiä, poistaa käytöstä -C:n" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "kumoa edellisen --null-valitsimen vaikutus" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "HAHMO" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "jätä pois HAHMOn mukaiset tiedostot" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "jätä pois TIEDOSTOssa listatut hahmot" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"jätä pois CACHEDIR.TAGin sisältävät hakemistot, lukuunottamatta tag-" +"tiedostoa itseään" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "jätä pois kaikki hakemistojen alta, jotka sisältävät CACHEDIR.TAGin" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "jätä pois CACHEDIR.TAGin sisältävät hakemistot" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"jätä pois TIEDOSTOn sisältävien hakemistojen sisältö, lukuun ottamatta " +"TIEDOSTOa itseään" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "jätä pois kaikki hakemistojen alta, jotka sisältävät TIEDOSTOn" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "jätä pois TIEDOSTOn sisältävät hakemistot" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "jätä pois versionhallintajärjestelmän hakemistot" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "lue poisjättöhahmot versionhallinnan ignore-tiedostoista" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "jätä pois varmuuskopio- ja lukkotiedostot" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "etene alihakemistoihin (oletus)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "estä automaattinen eteneminen alihakemistoihin" + +#: src/names.c:129 +#, fuzzy +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "Tiedostonimien täsmäysvalinnat (vaikuttava sekä " + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "hahmot täsmäävät tiedostonimen alkuun" + +#: src/names.c:134 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" +msgstr "poisjättöhahmoja verrataan jokaisen ”/”:n jälkeen" + +#: src/names.c:136 +msgid "ignore case" +msgstr "älä huomioi kirjainkokoa" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "kirjainkoon huomioiva täsmäys (oletus)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "käytä jokerimerkkejä (oletus poisjätölle)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "sanatarkka merkkijonojen täsmäys" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "jokerimerkit täsmäävät merkkiin ”/” (oletus poisjätölle)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "jokerimerkit eivät täsmää merkkiin ”/”" + +#: src/names.c:768 msgid "command line" msgstr "komentorivi" -#: src/names.c:378 +#: src/names.c:786 #, fuzzy, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: tiedosto on arkistossa, ei lisätä" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "merkkijonoa ”%s” ei voi jakaa osiin: %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: tiedostonimi sisältää nul-merkin" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Tiedostonimissä on käytetty jokerimerkkejä" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1369,47 +1530,47 @@ msgstr "" "Käytä valitsinta --wildcards täsmäyksen käyttöön ottamiseksi, tai --no-" "wildcards tämän varoituksen hiljentämiseksi" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Ei löytynyt arkistosta" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Vaadittua esiintymää ei löytynyt arkistosta" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Arkiston nimiö ei täsmää" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" "Vain yksi -C-valitsin on sallittu valitsimen --listed-incremental kanssa" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Kumpikin valitsimista ”-%s” ja ”-%s” käyttää vakiosyötettä" +msgstr "Kumpikin valitsimista ”%s” ja ”%s” käyttää vakiosyötettä" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Virheellinen arkistomuoto" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "" "Haluttiin käyttää GNU-ominaisuuksia yhteensopimattoman arkistomuodon kanssa" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1417,7 +1578,7 @@ msgstr "" "Tuntematon lainaustyyli ”%s”. Kokeile ”%s --quoting-style=help” saadaksesi " "listan." -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1435,7 +1596,7 @@ msgstr "" " %s -tvf arkisto.tar # Listaa kaikki arkisto.tar:in tiedostot.\n" " %s -xf arkisto.tar # Pura kaikki tiedostot arkisto.tar:ista.\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1456,80 +1617,88 @@ msgstr "" " muuten yksinkertaisia\n" " never, simple tee aina yksinkertaisia varmuuskopioita\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Päätoimintatila:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "listaa arkiston sisältö" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "pura tiedostoja arkistosta" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "luo uusi arkisto" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "etsi arkiston ja tiedostojärjestelmän väliset erot" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "lisää tiedostoja arkiston loppuun" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "lisää vain arkistokopiota uudemmat tiedostot" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "lisää tar-tiedostoja arkistoon" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "poista tiedostoja arkistosta (ei toimi magneettinauhoilla!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" -msgstr "" +msgstr "tarkasta arkiston osan nimiö ja poistu" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Toimintovalinnat:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" -msgstr "käsittele harvat tiedostot tehokkaasti" +msgstr "käsittele hajanaiset tiedostot tehokkaasti" + +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" -#: src/tar.c:448 +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -"aseta käytettävän harvan muodon versio (valitsin --sparse tulee käyttöön)" +"aseta käytettävän hajanaisen muodon versio (valitsin --sparse tulee käyttöön)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "käsittele vanha GNU-muotoinen lisääntyvä varmuuskopio" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "käsittele uusi GNU-muotoinen lisääntyvä varmuuskopio" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "jatka lukukelvottomista tiedostoista huolimatta" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1542,170 +1711,179 @@ msgstr "" "annettu komentirivillä tai -T-valitsimella; oletusMÄÄRÄ on 1" # Muualla seek on siirtymistä... -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "arkisto on selattava" # Muualla seek on siirtymistä... -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "arkisto ei ole selattava" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" -msgstr "" +msgstr "älä tarkasta laitenumeroita lisääntyviä arkistoja luotaessa" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Ylikirjoituksen hallinta:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "yritä varmistaa arkisto kirjoittamisen jälkeen" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "poista tiedostot arkistoon lisäämisen jälkeen" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" "älä korvaa olemassa olevia tiedostoja purettaessa, käsittele ne virheinä" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" "älä korvaa olemassa olevia tiedostoja purettaessa, ohita ne hiljaisesti" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "älä korvaa olemassa olevia tiedostoja, jotka ovat arkistokopioitaan uudempia" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "ylikirjoita olemassa olevat tiedostot purettaessa" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "poista jokainen tiedosto ennen sen päälle purkamista" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "tyhjennä rakenne ennen hakemiston purkamista" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "säilytä olemassa olevien hakemistojen metatiedot" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "ylikirjoita purettaessa olemassa olevien hakemistojen metadata (oletus)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "säilytä purettaessa olemassa olevat symlinkit hakemistoihin" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "HAK" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "luo alihakemisto purettujen irtotiedostojen välttämiseksi" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Tulostevirran valinta:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "pura tiedostot vakiotulosteeseen" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "KOMENTO" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "putkita puretut tiedostot toiselle ohjelmalle" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "jätä lapsiprosessien paluuarvot huomiotta" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "käsittele lapsiprosessien nollasta poikkeavat paluuarvot virheinä" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Tiedostojen ominaisuuksien käsittely:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "pakota NIMI lisättyjen tiedostojen omistajaksi" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "pakota NIMI lisättyjen tiedostojen ryhmäksi" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "PÄIVÄYS-TAI-TIED" -#: src/tar.c:534 +#: src/tar.c:516 #, fuzzy msgid "set mtime for added files from DATE-OR-FILE" msgstr "tallenna vain PÄIVÄYS-TAI-TIEDostoa uudemmat tiedostot" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "MUUTOS" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "pakota (symbolinen) tila MUUTOS lisätyille" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "TAPA" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "älä pura tiedoston muutosaikaa" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "yritä purkaa tiedostot samalla omistajuudella (oletus pääkäyttäjälle)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "pura tiedostot itsenäsi (oletus tavallisille käyttäjille)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "käytä aina numeroita käyttäjän/ryhmän nimissä" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "pura tieto tiedostojen oikeuksista (oletus pääkäyttäjälle)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1713,202 +1891,199 @@ msgstr "" "sovella käyttäjän umaskia purettaessa tiedostojen oikeuksia arkistosta " "(oletus tavallisille käyttäjille)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" +"jäsenargumentit listataan samassa järjestyksessä kuin arkiston tiedostot" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "sama kuin -p ja -s yhdessä" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" -msgstr "" +msgstr "kumoa --delay-directory-restore -valitsimen vaikutus" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "JÄRJESTYS" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "hakemiston lajittelujärjestys: ei mitään (oletus) tai nimi" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Tiedostojen lisämääreiden käsittely:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Ota käyttöön lisämääreiden tuki" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Poista käytöstä lisämääreiden tuki" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" -msgstr "" +msgstr "PEITE" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" -msgstr "" +msgstr "määrittele xattr-avainten sisällytyshahmo" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" -msgstr "" +msgstr "määrittele xattr-avainten poisjättöhahmo" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "Ota käyttöön SELinux-kontekstin tuki" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "Poista käytöstä SELinux-kontekstin tuki" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "Ota käyttöön POSIX ACLs -tuki" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "Poista käytöstä POSIX ACLs -tuki" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Laitteen valinta ja vaihtaminen:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARKISTO" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "käytä arkistotiedostoa tai -laitetta ARKISTO" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "arkisto on paikallinen vaikka nimessä olisi kaksoispiste" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "käytä rmt-KOMENTOA rmt:n sijaan" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "käytä etäKOMENTOa rsh:n sijaan" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "anna asema ja tiheys" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "luo/listaa/pura moniosainen arkisto" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "vaihda nauhaa MÄÄRÄ × 1024 kirjoitetun tavun jälkeen" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "aja skripti joka nauhan lopussa (valitsin -M tulee käyttöön)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "käytä/päivitä arkiston osan numero TIEDostossa" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Laitteen lohkot:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "LOHKOT" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "LOHKOT × 512 tavua tietuetta kohti" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "MÄÄRÄ tavua tietuetta kohti, 512:n monikerta" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "älä huomioi nollattuja lohkoja arkistossa (merkitsee tiedoston loppua)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "suorita lohkominen uudelleen luettaessa (4.2BSD-putkia varten)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Arkistomuodon valinta:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "MUOTO" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "luo annetun muotoinen arkisto" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "MUOTO on yksi seuraavista:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "vanha V7-tar-muoto" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "GNU-muoto tar-versioilla ≤ 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x -muoto" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) -muoto" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) -muoto" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "sama kuin pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "sama kuin --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "sama kuin --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "avainsana[[:]=arvo][,avainsana[[:]=arvo]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "määrittele pax-avainsanoja" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEKSTI" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1916,182 +2091,81 @@ msgstr "" "luo arkisto nimiöllä TEKSTI. Listattaessa/purettaessa käytä TEKSTIä " "nimiönhakulausekkeena" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Tiivistysvalinnat:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "käytä arkiston päätettä tiivistysohjelman päättelemiseen" -#: src/tar.c:688 +#: src/tar.c:670 +#, fuzzy msgid "do not use archive suffix to determine the compression program" -msgstr "" +msgstr "käytä arkiston päätettä tiivistysohjelman päättelemiseen" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "OHJ" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "ohjaa OHJelman läpi (on hyväksyttävä -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Paikallisten tiedostojen valinta:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"lisää annettu TIEDosto arkistoon (hyödyllinen, jos nimi alkaa viivalla)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "siirry hakemistoon HAK" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "hae purettavat/luotavat nimet TIEDOSTOsta" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T lukee nollaan päättyviä nimiä, poistaa käytöstä -C:n" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -msgid "unquote input file or member names (default)" -msgstr "" - -#: src/tar.c:722 -msgid "do not unquote input file or member names" -msgstr "" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "HAHMO" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "jätä pois HAHMOn mukaiset tiedostot" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "jätä pois TIEDOSTOssa listatut hahmot" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"jätä pois CACHEDIR.TAGin sisältävät hakemistot, lukuunottamatta tag-" -"tiedostoa itseään" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "jätä pois kaikki hakemistojen alta, jotka sisältävät CACHEDIR.TAGin" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "jätä pois CACHEDIR.TAGin sisältävät hakemistot" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"jätä pois TIEDOSTOn sisältävien hakemistojen sisältö, lukuun ottamatta " -"TIEDOSTOa itseään" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "jätä pois kaikki hakemistojen alta, jotka sisältävät TIEDOSTOn" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "jätä pois TIEDOSTOn sisältävät hakemistot" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "jätä pois versionhallintajärjestelmän hakemistot" - -#: src/tar.c:751 -#, fuzzy -msgid "read exclude patterns from the VCS ignore files" -msgstr "poisjättöhahmot ovat tavallisia merkkijonoja" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "jätä pois varmuuskopio- ja lukkotiedostot" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "estä automaattinen eteneminen alihakemistoihin" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "pysy nykyisessä tiedostojärjestelmässä arkistoa luotaessa" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "etene alihakemistoihin (oletus)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "älä poista ”/”-merkkiä tiedostonimien alusta" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "seuraa symlinkkejä; arkistoi ja lisää niiden osoittamat tiedostot" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "seuraa kovia linkkejä; arkistoi ja lisää niiden osoittamat tiedostot" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "TIED-NIMI" -#: src/tar.c:767 +#: src/tar.c:699 #, fuzzy msgid "begin at member MEMBER-NAME when reading the archive" msgstr "aloita arkiston tiedostosta TIED-NIMI" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "tallenna vain PÄIVÄYS-TAI-TIEDostoa uudemmat tiedostot" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "PÄIVÄYS" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "vertaa vain tiedoston muutosaikaa" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "HALLINTA" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "varmuuskopiointi ennen poistoa, valitse versionHALLINTA" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "MERKKIJONO" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2099,102 +2173,59 @@ msgstr "" "varmuuskopiointi ennen poistoa, älä käytä tavanomaista jälkiliitettä (joka " "on ”~”, ellei muuttujaa SIMPLE_BACKUP_SUFFIX ole asetettu)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Tiedostonimien muunnokset:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "poista MÄÄRÄn verran osia tiedostonimien alusta purettaessa" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "LAUSEKE" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "käytä sedin korvausLAUSEKEtta tiedostonimien muuntamiseen" -#: src/tar.c:792 -#, fuzzy -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "Tiedostonimien täsmäysvalinnat (vaikuttava sekä " - -#: src/tar.c:795 -msgid "ignore case" -msgstr "älä huomioi kirjainkokoa" - -#: src/tar.c:797 -#, fuzzy -msgid "patterns match file name start" -msgstr "poisjättöhahmoja verrataan nimen alkuun" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "poisjättöhahmoja verrataan jokaisen ”/”:n jälkeen" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "kirjainkoon huomioiva täsmäys (oletus)" - -#: src/tar.c:803 -#, fuzzy -msgid "use wildcards (default for exclusion)" -msgstr "Käytettävä muoto: ”new”, ”old” tai ”compat” (oletus)" - -#: src/tar.c:805 -#, fuzzy -msgid "verbatim string matching" -msgstr "MERKKIJONO" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "Ei vastaavuutta" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "poisjättöhahmon jokerimerkit vastaavat merkkiä ”/”" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Tietoja antava tuloste:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "listaa käsiteltävät tiedostot" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "AVAINSANA" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "varoitusten hallinta" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "näytä edistymisviesti MÄÄRÄn tietueen välein (oletus 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "TOIMINTO" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "suorita TOIMINTO jokaisen tarkistuspisteen kohdalla" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "näytä viesti, ellei kaikkia linkkejä lisätty" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNAALI" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2206,81 +2237,88 @@ msgstr "" "signaalit ovat: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 ja SIGUSR2; myös nimet " "ilman SIG-etuliitettä kelpaavat" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "näytä tiedostojen muutosajat UTC-aikoina" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "näytä tiedoston aikaleima täydellä tarkkuudella" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "ohjaa monisanainen tuloste TIEDostoon" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "näytä lohkonumero arkistossa viestien yhteydessä" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "kysy varmistusta jokaiselle toiminnolle" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "näytä tarin oletukset" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" "luettele hakuehtoihin täsmäämättömät hakemistot luetellessa tai purettaessa" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "näytä tiedosto- tai arkistonimet muunnoksen jälkeen" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "TYYLI" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Yhteensopivuusvalitsimet:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" "luotaessa sama kuin --old-archive; purettaessa sama kuin --no-same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Muut valitsimet:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "poista käytöstä joitakin potentiaalisesti vahingollisia valitsimia" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, fuzzy, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "Valitsinta --occurrence ei voi käyttää yhdessä valitsimen %s kanssa" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" @@ -2288,41 +2326,40 @@ msgstr "" "Vain yhtä valitsimista ”-Acdtrux”, ”--delete” tai ”--test-label” voi käyttää " "kerrallaan" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Ristiriitaiset pakkausvalitsimet" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Tuntematon signaalin nimi: %s" -#: src/tar.c:1103 -#, fuzzy +#: src/tar.c:1029 msgid "Date sample file not found" -msgstr "PÄIVÄYS-TAI-TIED" +msgstr "Päiväysnäytetiedostoa ei löytynyt" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Korvataan tuntematon päiväysmuoto %2$s arvolla %1$s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Valitsin %s: Käsittellään päiväys ”%s” arvona %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "ohjaa arkisto %s-ohjelman läpi" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Kelvolliset argumentit --quoting-style-valitsimelle ovat:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2330,183 +2367,194 @@ msgstr "" "\n" "*Tämä* tar käyttää oletuksena:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "Virheellinen omistaja- tai ryhmä-ID" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Virheellinen lohkomiskerroin" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Virheellinen nauhan pituus" -#: src/tar.c:1521 +#: src/tar.c:1483 #, fuzzy msgid "Invalid incremental level value" -msgstr "virheellinen %%H-arvo" +msgstr "--level on merkityksetön ilman valitsinta --listed-incremental" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Annettu useampi kuin yksi kynnyspäiväys" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" -msgstr "Virheellinen harvaversion arvo" +msgstr "Virheellinen hajanaisversion arvo" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' ei ole tuettu tällä alustalla" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "--checkpoint-arvo ei ole kokonaisluku" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Valitsimelle annettiin virheellinen tila" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Virheellinen määrä" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Virheellinen tietueen koko" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Tietueen koon on oltava %d:n monikerta." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Virheellinen osien määrä" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Vain yksi --to-command-valitsin on sallittu" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Kelvoton tiheysargumentti: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Tuntematon tiheys: ”%c”" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "*Tämä* tar ei tue valitsimia ”-[0-7][lmh]”" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Virhe lukuarvon jäsentämisessä lähellä kohtaa ”%s”" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[TIEDOSTO]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Valitsinta --%s ei voi käyttää yhdessä valitsimen %s kanssa" +msgid "non-option arguments in %s" +msgstr "argumentti %s on virheellinen %s:lle" -#: src/tar.c:2389 +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "merkkijonoa ”%s” ei voi jakaa osiin: %s" + +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "Vanha valitsin ”%c” vaatii argumentin." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "valitsin --occurence on merkityksetön ilman tiedostoluetteloa" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Usean arkistotiedoston käyttäminen vaatii valitsimen ”-M”" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--level on merkityksetön ilman valitsinta --listed-incremental" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Arkiston osan nimiö on liian pitkä (raja on %lu tavu)" msgstr[1] "%s: Arkiston osan nimiö on liian pitkä (raja on %lu tavua)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Moniosaisia arkistoja ei voi tarkastaa" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Pakattuja arkistoja ei voi varmistaa" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Pakattuja moniosaisia arkistoja ei voi käyttää" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Pakattuja arkistoja ei voi liittää toisiinsa" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "Valitsinta --pax-option voi käyttää vain POSIX-arkistoille" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "Valitsinta --acls voi käyttää vain POSIX-arkistoille" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "Valitsinta --selinux voi käyttää vain POSIX-arkistoille" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "Valitsinta --xattrs voi käyttää vain POSIX-arkistoille" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Arkiston osan pituus ei voi olla pienempi kuin tietueen koko" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Kieltäydytään pelkurimaisesti luomasta tyhjää arkistoa" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Valitsimet ”-Aru” eivät ole yhteensopivia valitsimen ”-f -” kanssa" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "Vähintään yhtä valitsimista ”-Acdtrux”, ”--delete” tai ”--test-label” on " "käytettävä" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2560,9 +2608,9 @@ msgstr "Väärän muotoinen lisäotsake: rivinvaihto puuttuu" #: src/xheader.c:741 #, c-format msgid "Ignoring unknown extended header keyword '%s'" -msgstr "" +msgstr "Jätetään huomiotta tuntematon laajennetun otsakkeen avainsana ”%s”" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2570,27 +2618,27 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Laajennettu otsake %s=%s on sallitun välin %s..%s ulkopuolella" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Väärän muotoinen lisäotsake: virheellinen %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Väärän muotoinen lisäotsake: ylimääräinen %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Väärän muotoinen lisäotsake: virheellinen %s: odottamaton rajoitin %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Väärän muotoinen lisäotsake: virheellinen %s: pariton määrä arvoja" @@ -2601,9 +2649,9 @@ msgid "%s: not a valid timeout" msgstr "%s ei ole kelvollinen aikakatkaisuarvo" #: src/checkpoint.c:121 -#, fuzzy, c-format +#, c-format msgid "%s: unknown checkpoint action" -msgstr "tuntematon käyttäjä-ID: %s" +msgstr "%s: tuntematon tarkistuspistetoiminto" #: src/checkpoint.c:202 msgid "write" @@ -2631,95 +2679,99 @@ msgstr "Kirjoituksen tarkistuspiste %u" msgid "Read checkpoint %u" msgstr "Lukemisen tarkistuspiste %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 #, fuzzy msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" msgstr "Luo datatiedostot GNU tar:in testausta varten.\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Tiedoston luontivalinnat:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "KOKO" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Luo annetun KOKOinen tiedosto" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Kirjoita tuloste tiedostoon NIMI, ei vakiotulosteeseen" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Lue tiedostonimet TIEDOSTOsta" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T lukee nollatavuun päättyviä nimiä" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" -msgstr "" +msgstr "Täytä tiedosto annetulla HAHMOlla. HAHMO on ”default” tai ”zeros”" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" -msgstr "Harvan tiedoston lohkokoko" +msgstr "Hajanaisen tiedoston lohkokoko" -#: tests/genfile.c:142 +#: tests/genfile.c:146 #, fuzzy msgid "Generate sparse file. Rest of the command line gives the file map." -msgstr "Luo harva tiedosto. " +msgstr "Luo hajanaisia tiedostoja. " -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "SIIRTYMÄ" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Siirry annettuun kohtaan ennen datan kirjoittamista" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Tiedostojen tilastoinnin valinnat:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Tulosta struct statin sisältö jokaisesta annetusta tiedostosta. " "OletusMUOTOILU on: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Synkronisen suorituksen valinnat:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "VALITSIN" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Aseta päiväys seuraavalle --touch-valitsimelle" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Näytä suoritetut tarkistuspisteet sekä KOMENNOn paluuarvo" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2727,7 +2779,7 @@ msgstr "" "Synkronisen suorituksen toiminnot. Nämä suoritetaan, kun saavutetaan --" "checkpoint-valitsimella annettua numeroa vastaava tarkistuspiste." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2735,152 +2787,166 @@ msgstr "" "Typistä TIEDOSTO aiemmalla --length-valitsimella määrättyyn kokoon (tai " "nollaan, ellei annettu)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 +#, fuzzy msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" +"Typistä TIEDOSTO aiemmalla --length-valitsimella määrättyyn kokoon (tai " +"nollaan, ellei annettu)" -#: tests/genfile.c:188 +#: tests/genfile.c:193 +#, fuzzy msgid "Update the access and modification times of FILE" -msgstr "" +msgstr "näytä tiedostojen muutosajat UTC-aikoina" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Suorita KOMENTO" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" -msgstr "" +msgstr "Poista TIEDOSTOn linkitys" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Virheellinen koko: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Lukuarvo sallitun välin ulkopuolella: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Negatiivinen koko: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) epäonnistui" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "pyydetty tiedoston pituus %lu, todellinen %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" -msgstr "luotu tiedosto ei ole harva" +msgstr "luotu tiedosto ei ole hajanainen" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Virhe lukuarvon jäsentämisessä lähellä kohtaa ”%s”" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Tuntematon päiväyksen muoto" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARG...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "tiedostoa ”%s” ei voi avata" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "ei voi siirtyä" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "tiedostonimi sisältää nollatavun" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -"harvoja tiedostoja ei voi luoda vakiotulosteeseen, käytä --file-valitsinta" +"hajanaisia tiedostoja ei voi luoda vakiotulosteeseen, käytä valitsinta --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" -msgstr "" +msgstr "virheellinen peite (lähellä kohtaa ”%s”)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Tuntematon kenttä ”%s”" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "tiedoston ”%s” aikaa ei voi asettaa" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "tiedostoa ”%s” ei voi typistää" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "komento epäonnistui: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "tiedoston ”%s” linkitystä ei voi poistaa" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Komennon suoritus päättyi onnistuneesti\n" -#: tests/genfile.c:835 -#, fuzzy, c-format +#: tests/genfile.c:903 +#, c-format msgid "Command failed with status %d\n" -msgstr "Komento keskeytyi signaaliin %d\n" +msgstr "Komento epäonnistui paluuarvolla %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Komento keskeytyi signaaliin %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Komento pysähtyi signaaliin %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, fuzzy, c-format msgid "Command dumped core\n" msgstr "Komennon suoritus päättyi onnistuneesti\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Komento keskeytyi\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat vaatii tiedostonimiä" +#~ msgid "same as both -p and -s" +#~ msgstr "sama kuin -p ja -s yhdessä" + +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Valitsin --preserve on vanhentunut, käytä valitsimia --preserve-" +#~ "permissions --preserve-order" + #~ msgid "--occurrence cannot be used with %s" #~ msgstr "Valitsinta --occurrence ei voi käyttää yhdessä valitsimen %s kanssa" diff --git a/po/fr.gmo b/po/fr.gmo index 409bcfe80e15c274cc913d267736b87246c69412..240ae6313612368a72b46825799499bc0ec3406b 100644 GIT binary patch delta 21784 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 Y*-O;NP5)YDt*qFcuXKw&{o29*156Xvy5K)?l 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 VPTf0QJZ}v4cxDGKpAhUh`d>RcGadi{ diff --git a/po/fr.po b/po/fr.po index f632dcb2..1243482c 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1,17 +1,19 @@ # Messages français pour GNU concernant tar. # Copyright © 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. -# Michel Robitaille , jusqu'en 2004 -# Christophe Combelles , 2007, 2008, 2009, 2010, 2011 # -#: src/create.c:1574 +# Michel Robitaille , jusqu'en 2004. +# Christophe Combelles , 2007, 2008, 2009, 2010, 2011. +# Stéphane Aulery , 2015, 2016. +# +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar-1.26\n" +"Project-Id-Version: tar-1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2011-03-13 12:51+0100\n" -"Last-Translator: Christophe Combelles \n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-03-16 23:50+0100\n" +"Last-Translator: Stéphane Aulery \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -19,46 +21,46 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "Argument %s non valable pour %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "Argument %s ambigu pour %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Les arguments valables sont :" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT : la valeur %s est inférieure ou égale à %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s : le paramètre ARGP_HELP_FMT a besoin d'une valeur" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s : le paramètre ARGP_HELP_FMT doit être positif" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s : le paramètre ARGP_HELP_FMT est inconnu" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Déchet dans ARGP_HELP_FMT : %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -66,143 +68,148 @@ msgstr "" "Les arguments obligatoires ou facultatifs pour les formes longues des " "options le sont également pour les formes courtes qui leur correspondent." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Utilisation :" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " ou : " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [OPTION...]" -#: gnu/argp-help.c:1686 -#, fuzzy, c-format +#: gnu/argp-help.c:1688 +#, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Pour en savoir davantage, faites : « %s --help » ou « %s --usage ».\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Rapportez toute anomalie à %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Erreur système inconnue" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "Afficher cette aide-mémoire" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "Afficher un court mode d'emploi" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NOM" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "définit le nom du programme" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SECS" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "Bloquer pendant SECS secondes (3600 par défaut)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "Afficher la version du programme" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAM ERROR) Aucune version connue !?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s : trop d'arguments\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAM ERROR) L'option devrait avoir été reconnue !?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "erreur d'écriture" -#: gnu/getopt.c:549 gnu/getopt.c:578 -#, fuzzy, c-format +#: gnu/getopt.c:575 gnu/getopt.c:604 +#, c-format msgid "%s: option '%s' is ambiguous; possibilities:" +msgstr "%s : l'option « %s » est ambiguë; choix possibles :" + +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" msgstr "%s : l'option « %s » est ambiguë\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s : l'option « --%s » n'a pas d'argument\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s : l'option « %c%s » n'a pas d'argument\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s : l'option « --%s » doit avoir un argument\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s : l'option « --%s » est inconnue\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s : l'option « %c%s » est inconnue\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s : l'option -- '%c' n'est pas valable\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s : l'option -- '%c' a besoin d'un argument\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s : l'option « -W %s » est ambiguë\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s : l'option « -W %s » ne prend pas d'argument\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s : l'option « -W %s » doit avoir un argument\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "mémoire épuisée" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "Impossible d'enregistrer le répertoire de travail actuel" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "Impossible de revenir au répertoire de travail initial" @@ -228,11 +235,11 @@ msgstr "Impossible de revenir au répertoire de travail initial" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "« " -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr " »" @@ -242,7 +249,7 @@ msgstr " »" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[oO]" @@ -252,16 +259,16 @@ msgstr "^[oO]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Packagé par %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Packagé par %s\n" @@ -269,11 +276,11 @@ msgstr "Packagé par %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -411,22 +418,22 @@ msgstr "" "\n" "Signalez toute anomalie à : %s\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Signalez les anomalies de %s à : %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Page d'accueil de %s : \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Aide générale sur l'utilisation des programmes GNU : " msgstr "Version non prise en charge pour le format incrémental : %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "dumpdir incorrect : « %c » était attendu mais %#3o a été trouvé" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "dumpdir incorrect : « X » en double" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "dumpdir incorrect : nom vide dans « R »" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "dumpdir incorrect : « T » non précédé de « R »" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "dumpdir incorrect : nom vide dans « T »" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "dumpdir incorrect : fin des données trouvées au lieu de « %c »" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "dumpdir incorrect : « X » n'a jamais été utilisé" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Impossible de créer un répertoire temporaire utilisant le modèle %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s : répertoire non purgé : impossible d'évaluer par stat()" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "" "%s : le répertoire est sur un autre périphérique : répertoire non purgé" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s : suppression de %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s : suppression impossible" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s : omis" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloc %s : ** Bloc de NULs **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloc %s : ** Fin de fichier **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "bloc %s : " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" "Blancs dans l'en-tête alors qu'une valeur numérique de type %s était attendue" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1258,27 +1272,27 @@ msgstr "" "complément à 2 supposé" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "La valeur octale de l'archive %.*s est en dehors de la plage de %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "L'archive contient des en-têtes obsolètes en base 64." -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Une chaîne en base 64 signée %s de l'archive est hors de la plage %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Une valeur en base 256 de l'archive est en dehors de la plage %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "" @@ -1286,61 +1300,61 @@ msgstr "" "attendue." #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "La valeur de l'archive %s est hors des limites de %s : %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " lien vers %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " type de fichier inconnu %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Lien long--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Nom long--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--En-tête de volume--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Suite à l'octet %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Création du répertoire :" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "%s renommé en %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s : impossible de renommer en %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "%s finalement renommé en %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s : fichier supprimé avant d'avoir été lu" @@ -1353,32 +1367,204 @@ msgstr "processus enfant" msgid "interprocess channel" msgstr "canal inter-processus" -#: src/names.c:360 -#, fuzzy +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "Sélection des noms de fichiers locaux :" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"Ajouter le FICHIER donné à l'archive (utile si son nom commence par un tiret)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "RÉP" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "Utiliser RÉP comme répertoire de travail" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "Lire depuis le FICHIER la liste des noms à extraire ou à créer" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "" +"« -T » permet de lire les noms terminés par un NULL ; implique --verbatim-" +"files-from" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "désactive l'effet de l'option --null précédente" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" +"Enlever la protection de caractères du fichier d'entrée ou des noms de " +"membres (par défaut)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" +"Ne pas enlever la protection de caractères du fichier d'entrée ou des noms " +"de membres" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "-T lit les noms de fichiers verbatim (sans les options)" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" +"-T traite les noms de fichiers commençants par un tiret comme des options " +"(par défaut)" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "MOTIF" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "Exclure les fichiers correspondant au MOTIF" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "Exclure les motifs listés dans le FICHIER" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"Exclure le contenu des répertoires contenant CACHEDIR.TAG, sauf le fichier " +"de tag lui-même" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "Tout exclure dans les répertoires contenant CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "Exclure les répertoires contenant CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"Exclure le contenu des répertoires contenant le FICHIER, sauf le FICHIER lui-" +"même" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" +"lire le motif d'exclusion de chaque répertoire depuis FICHIER, s'il existe" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"lire le motif d'exclusion de chaque répertoire et de ses sous-répertoire " +"depuis FICHIER, s'il existe" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "Tout exclure dans les répertoires contenant le FICHIER" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "Exclure les répertoires contenant le FICHIER" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "Exclure les répertoires des gestionnaires de version" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" +"lire les motifs d'exclusion depuis les fichiers d'exclusion des " +"gestionnaires de version" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "exclure les fichiers de sauvegarde et de verrou" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "Parcourir les sous-répertoires de manière récursive (par défaut)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "Empêcher la descente automatique dans les sous-répertoires" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Options de correspondance de noms de fichiers (pour les motifs d'exclusion " +"et d'inclusion)" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "Les motifs doivent correspondre au début des noms de fichiers" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" +"Les motifs peuvent correspondre après n'importe quel « / » (par défaut pour " +"l'exclusion)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "Ignorer la casse (majuscules/minuscules)" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "Correspondance sensible à la casse (comportement par défaut)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "" +"Utiliser des caractères de correspondance (par défaut pour l'exclusion)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "Correspondance exacte de chaîne" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "" +"« / » peut correspondre à un caractère de correspondance (par défaut pour " +"l'exclusion)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "« / » ne correspond à aucun caractère de correspondance" + +#: src/names.c:768 msgid "command line" -msgstr "Échec de la commande %s" +msgstr "commande échouée" -#: src/names.c:378 -#, fuzzy, c-format +#: src/names.c:786 +#, c-format msgid "%s: file list requested from %s already read from %s" -msgstr "%s : la liste de fichiers est déjà lue" +msgstr "%s : la liste demandée depuis %s a déjà été lue depuis %s" -#: src/names.c:448 src/checkpoint.c:274 -#, fuzzy, c-format +#: src/names.c:867 src/checkpoint.c:274 +#, c-format msgid "cannot split string '%s': %s" -msgstr "Impossible de définir la date de « %s »" +msgstr "Impossible de couper la chaîne de caractères « %s » : %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s : le nom de fichier lu contient un caractère nul" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "" "Caractères de correspondance de motif utilisé dans les noms de fichiers." -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1386,58 +1572,57 @@ msgstr "" "Utilisez « --wildcards » pour activer la correspondance de motif ou « --no-" "wildcards » pour supprimer cet avertissement" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s : non trouvé dans l'archive" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s : occurence requise non trouvée dans l'archive" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Mauvaise correspondance d'étiquette d'archive" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "L'utilisation de l'option -C à l'intérieur de la liste de fichiers n'est pas " "permise avec --listed-incremental" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Une seule option -C est autorisée avec --listed-incremental" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "" "Les options « -%s » et« -%s » nécessitent toutes les deux l'entrée standard." -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s : format d'archive non valable" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "" "Fonctionnalités de type GNU demandées pour un format d'archive incompatible." -#: src/tar.c:264 -#, fuzzy, c-format +#: src/tar.c:265 +#, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Type de protection de caractères inconnu « %s ». Essayez « %s --quoting-" "style=help » pour avoir une liste." -#: src/tar.c:378 -#, fuzzy +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1458,8 +1643,7 @@ msgstr "" "manière détaillée.\n" " tar -xf archive.tar # Extrait tous les fichiers de archive.tar.\n" -#: src/tar.c:387 -#, fuzzy +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1480,84 +1664,92 @@ msgstr "" " nil, existing Numérotées si déjà numérotées, sinon simples.\n" " never, simple Faire toujours des sauvegardes simples.\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Mode d'opération principal :" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "Afficher le contenu de l'archive" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "Extraire les fichiers de l'archive" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "Créer une nouvelle archive" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "Trouver les différences entre l'archive et le système de fichiers" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "Ajouter des fichiers à la fin de l'archive" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "" "Ajouter seulement les fichiers plus récents que les copies présentes dans " "l'archive" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "Ajouter des fichiers tar à une archive" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "Effacer de l'archive (pas sur les bandes magnétiques !)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "Tester l'étiquette du volume d'archive et terminer" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Modificateurs d'opération :" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "" "Économiser efficacement l'espace dans les fichiers dispersés (fichiers à " "trous)" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "TYPE" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "technique de détection de trous" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "MAJEUR[.MINEUR]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "Définir la version du format de dispersion à utiliser (implique « --sparse »)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "Prendre en charge les sauvegardes incrémentales à l'ancien format GNU" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "Prendre en charge les sauvegardes incrémentales au nouveau format GNU" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "niveau de vidage d'archive incrémentale au nouveau format GNU" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "Ne pas s'arrêter à cause des non-zéros sur les fichiers illisibles" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1570,149 +1762,163 @@ msgstr "" "fichiers est fournie soit sur la ligne de commande, soit avec l'option « -T " "». NOMBRE vaut 1 par défaut." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "L'archive peut être parcourue" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "L'archive ne peut pas être parcourue" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" "Ne pas vérifier les numéros de périphériques lors de la création d'archives " "incrémentales" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "vérifier les numéros de périphériques lors de la création d'archives " "incrémentales (par défaut)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Contrôle de l'écrasement :" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "Tenter de vérifier l'archive après écriture" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "Supprimer les fichiers après les avoir ajoutés à l'archive" -#: src/tar.c:485 -#, fuzzy +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" -msgstr "Ne pas écraser les fichiers préexistants lors de l'extraction" +msgstr "" +"Ne pas écraser les fichiers préexistants lors de l'extraction et les traiter " +"comme des erreurs" -#: src/tar.c:488 -#, fuzzy +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" -msgstr "Ne pas écraser les fichiers préexistants lors de l'extraction" +msgstr "" +"Ne pas écraser les fichiers préexistants lors de l'extraction et les ignorer " +"silencieusement" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "Ne pas écraser les fichier préexistants qui sont plus récents que leur copie " "dans l'archive" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "Écraser les fichiers préexistants lors de l'extraction" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "Effacer chaque fichier préexistant avant l'extraction" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "Vider les hiérarchies avant d'extraire les répertoires" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "Préserver les métadonnées des répertoires préexistants" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "Écraser les métadonnées des répertoires préexistants lors de l'extraction " "(comportement par défaut)" -#: src/tar.c:504 -#, fuzzy +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" -msgstr "Écraser les fichiers préexistants lors de l'extraction" - -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "RÉP" +msgstr "" +"Écraser les liens symboliques préexistants vers des répertoires lors de " +"l'extraction" -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "créer un sous-répertoire pour éviter de perdre les fichiers extraits" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Choix du flux de sortie :" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "Extraire les fichiers vers la sortie standard" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "COMMANDE" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "Renvoyer par tube les fichiers extraits vers un autre programme" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "Ignorer les codes de retour des processus enfants" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" "Traiter les codes de retours non nuls des processus enfants comme des erreurs" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Traitement des attributs de fichiers :" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "Utiliser NOM comme propriétaire des fichiers ajoutés" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "Utiliser NOM comme groupe des fichiers ajoutés" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" +"utilise FICHIER pour la correspondance des noms et UIDs du propriétaire" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" +"utilise FICHIER pour la correspondance des noms et GIDs du propriétaire" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATE-OU-FICHIER" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" "Définir la date de modification des fichiers ajoutés avec DATE-OU-FICHIER" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "CHANGEMENTS" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "" "Utiliser les CHANGEMENTS de mode (symboliques) pour les fichiers ajoutés" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "MÉTHODE" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1722,11 +1928,11 @@ msgstr "" "lecture (MÉTHODE = « replace » par défaut) ou en ne définissant pas les " "dates initialement (MÉTHODE = « system »)" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "Ne pas extraire la date de modification du fichier" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1734,23 +1940,23 @@ msgstr "" "essayer d'extraire les fichiers avec le même propriétaire que dans l'archive " "(par défaut pour le superutilisateur)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" "S'approprier les fichiers lors de l'extraction (par défaut pour les " "utilisateurs ordinaires)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "Toujours utiliser les valeurs numériques des utilisateurs/groupes" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "Extraire les informations de permissions sur les fichiers (par défaut pour " "le superutilisateur)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1758,16 +1964,14 @@ msgstr "" "Appliquer l'umask de l'utilisateur lors de l'extraction des permissions (par " "défaut pour les utilisateurs normaux)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" +"les arguments des membres sont listés dans le même ordre que les fichiers de " +"l'archive" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "Équivalent à « -p -s » à la fois" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1775,188 +1979,187 @@ msgstr "" "Reporter à la fin de l'extraction le changement des dates de modification et " "des permissions des répertoires extraits" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "Annule l'effet de l'option « --delay-directory-restore »" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "ORDRE" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "ordre de tri du répertoire : aucun (par défaut) ou nom" -#: src/tar.c:578 -#, fuzzy +#: src/tar.c:560 msgid "Handling of extended file attributes:" -msgstr "Traitement des attributs de fichiers :" +msgstr "Traitement des attributs de fichiers étendus :" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" -msgstr "" +msgstr "Activer la prise en charge des attributs étendus" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" -msgstr "" +msgstr "Désactiver la prise en charge des attributs étendus" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" -msgstr "" +msgstr "MASQUE" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" -msgstr "" +msgstr "spécifier le motif d'inclusion pour les clefs xattr" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" -msgstr "" +msgstr "spécifier le motif d'exlusion pour les clefs xattr" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" -msgstr "" +msgstr "Activer la prise en charge du contexte SELinux" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" -msgstr "" +msgstr "Désactiver la prise en charge du contexte SELinux" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" -msgstr "" +msgstr "Activer la prise en charge des ACL POSIX" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" -msgstr "" +msgstr "Désactiver la prise en charge des ACL POSIX" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Sélection et option de périphérique :" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARCHIVE" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "Utiliser le fichier ou le périphérique ARCHIVE" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "Le fichier d'archive est local même si « : » a été spécifié" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "Utiliser la COMMANDE rmt fournie au lieu de rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "Utiliser la COMMANDE distante à la place de rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "Spécifier le lecteur et la densité" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "Créer/lister/extraire une archive multi-volumes" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "Changer de cartouche après avoir écrit NOMBRE x 1024 octets" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "Exécuter le script à la fin de chaque cartouche (implique « -M »)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "Utiliser/mettre à jour le numéro de volume dans le FICHIER" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Blocs du périphérique :" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOCS" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOCS x 512 octets par enregistrement" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "NOMBRE d'octets par enregistrement (multiple de 512)" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "Ignorer les blocs de zéros dans l'archive (càd EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "Refaire les blocs pendant la lecture (pour les tubes BSD 4.2)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Sélection du format d'archive :" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "Créer l'archive au format désiré." -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMAT peut prendre une des valeurs suivantes :" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "Vieux format tar V7" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "Format GNU issu de tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "Format GNU tar 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "Format POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "Format POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "Identique à pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "Identique à « --format=v7 »" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "Identique à « --format=posix »" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "mot_clé[[:]=valeur][,mot_clé[[:]=valeur]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "Mots-clés de contrôle pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEXTE" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1965,199 +2168,88 @@ msgstr "" "l'extraction, utiliser le TEXTE comme motif de correspondance (glob) au nom " "de volume." -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Options de compression :" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "" "Utiliser le suffixe de l'archive pour déterminer le programme de compression" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" "Ne pas utiliser l'extension du fichier d'archive pour déterminer le " "programme de compression" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "Filtrer à travers le PROG (doit accepter l'option « -d »)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Sélection des fichiers locaux :" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"Ajouter le FICHIER donné à l'archive (utile si son nom commence par un tiret)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "Utiliser RÉP comme répertoire de travail" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "Lire depuis le FICHIER la liste des noms à extraire ou à créer" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "" -"« -T » permet de lire les noms terminés par un NULL et désactive l'option « -" -"C »" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "désactive l'effet de l'option --null précédente" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "" -"Enlever la protection de caractères des noms de fichiers lus avec « -T " -"» (par défaut)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "" -"Ne pas enlever la protection de caractères des noms de fichiers lus avec « -" -"T »" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "MOTIF" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "Exclure les fichiers correspondant au MOTIF" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "Exclure les motifs listés dans le FICHIER" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"Exclure le contenu des répertoires contenant CACHEDIR.TAG, sauf le fichier " -"de tag lui-même" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "Tout exclure dans les répertoires contenant CACHEDIR.TAG" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "Exclure les répertoires contenant CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"Exclure le contenu des répertoires contenant le FICHIER, sauf le FICHIER lui-" -"même" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "Tout exclure dans les répertoires contenant le FICHIER" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "Exclure les répertoires contenant le FICHIER" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "Exclure les répertoires de contrôle de version (CVS, .svn, etc.)" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "exclure les fichiers de sauvegarde et de verrou" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "Empêcher la descente automatique dans les sous-répertoires" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "" "Rester dans le système de fichiers local lors de la création de l'archive" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "Parcourir les sous-répertoires de manière récursive (par défaut)" - -#: src/tar.c:761 -#, fuzzy +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "Ne pas enlever le « / » au début des noms de fichiers" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "Suivre les liens symboliques ; archiver les fichiers vers lesquels ils " "pointent" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "Suivre les liens physiques : archiver les fichiers vers lesquels ils pointent" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "NOM-DE-MEMBRE" -#: src/tar.c:767 -#, fuzzy +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" -msgstr "Débuter au NOM-DE-MEMBRE dans l'archive" +msgstr "Débuter au NOM-DE-MEMBRE durant la lecture de l'archive" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "Stocker seulement les fichiers plus récents que DATE-OU-FICHIER" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATE" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "Ne comparer que la date et l'heure de modification des données" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "CONTRÔLE" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "" "Faire une copie de sauvegarde avant suppression, choisir le CONTRÔLE de " "version" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "CHAÎNE" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2166,111 +2258,65 @@ msgstr "" "habituel (« ~ » sauf s'il est définit par la variable d'environnement " "SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Transformation des noms de fichiers :" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "Supprimer NOMBRE composants au début des noms de fichiers à l'extraction" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "EXPRESSION" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "Utiliser l'EXPRESSION de remplacement « sed » pour transformer les noms de " "fichiers" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Options de correspondance de noms de fichiers (pour les motifs d'exclusion " -"et d'inclusion)" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "Ignorer la casse (majuscules/minuscules)" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "Les motifs doivent correspondre au début des noms de fichiers" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" -"Les motifs peuvent correspondre après n'importe quel « / » (par défaut pour " -"l'exclusion)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "Correspondance sensible à la casse (comportement par défaut)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "" -"Utiliser des caractères de correspondance (par défaut pour l'exclusion)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "Correspondance exacte de chaîne" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "« / » ne correspond à aucun caractère de correspondance" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "" -"« / » peut correspondre à un caractère de correspondance (par défaut pour " -"l'exclusion)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Options d'affichage :" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "Afficher de manière détaillée les fichiers traités" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "MOTCLÉ" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "Contrôle d'avertissement" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "Afficher un message de progression tous les NOMBRE enregistrements (10 par " "défaut)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "ACTION" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "exécuter l'ACTION à chaque point de contrôle" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "" "Afficher un message si tous les liens n'ont pas pu être suivis et archivés" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2282,35 +2328,35 @@ msgstr "" "sont : SIGHUP, SIGQUIT, SIGINT, SIGUSR1 et SIGUSR2. Les noms sans préfixe « " "SIG » sont aussi acceptés" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "Afficher les dates de modification de fichier en UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "afficher l'heure du fichier en pleine résolution" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "Envoyer la sortie détaillée vers le FICHIER" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "Afficher le numéro du bloc de l'archive avec chaque message" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "Demander confirmation pour chaque action" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "Afficher les paramètres par défaut de tar" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" -msgstr "" +msgstr "afficher les intervalles valides des champs des fichiers d'instantané" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2318,33 +2364,33 @@ msgstr "" "Lors du listage ou de l'extraction, lister chaque répertoire qui ne concorde " "pas avec le critère de recherche" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "Afficher les noms des fichiers ou des archives après transformation" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STYLE" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "Définir le style de protection de caractères appliqués aux noms. Voir ci-" "dessous pour les valeurs du STYLE" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "Protéger aussi les caractères faisant partie de la CHAÎNE" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "Enlever la protection des caractères faisant partie de la CHAÎNE" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Options de compatibilité :" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2352,57 +2398,63 @@ msgstr "" "Lors de la création, identique à « --old-archive ». Lors de l'extraction, " "identique à « --no-same-owner »" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Autres options :" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "Désactiver certaines options potentiellement néfastes" -#: src/tar.c:1010 -#, fuzzy +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "« %s » ne peut pas être utilisé avec « %s »" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "" -"Vous ne pouvez pas sélectionner plus d'une option parmi « -Acdtrux » ou « --" -"test-label »" +"Vous ne pouvez pas sélectionner plus d'une option parmi « -Acdtrux », « --" +"delete » ou « --test-label »" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Options de compression non compatibles entre elles" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Type de signal inconnu : %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Fichier d'échantillon de date non trouvé" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Remplacement par %s du format de date inconnu %s" -#: src/tar.c:1140 -#, fuzzy, c-format +#: src/tar.c:1066 +#, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Option %s : date « %s » traitée comme %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "Filtrer l'archive à travers %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Les arguments valables pour l'option « --quoting-style » sont :" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2410,118 +2462,121 @@ msgstr "" "\n" "Les valeurs par défaut de *ce* tar sont :\n" -#: src/tar.c:1330 -#, fuzzy +#: src/tar.c:1253 msgid "Invalid owner or group ID" -msgstr "Propriétaire non valable" +msgstr "Identifiant du propriétaire ou du groupe non valable" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Facteur de bloc non valable" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Longueur de cartouche non valable" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Mauvaise valeur pour le niveau incrémental" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Plus d'une date seuil" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Version de la dispersion non valable" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" "--atime-preserve='system' n'est pas pris en charge sur cette plateforme" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "la valeur de « --checkpoint » n'est pas un entier" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Mode non valable donné en option" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Nombre non valable" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"L'option --preserve est obsolète, utilisez --preserve-permissions --preserve-" -"order à la place" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Taille d'enregistrement non valable" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "La taille d'un enregistrement doit être un multiple de %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Nombre d'éléments incorrect" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Une seule option « --to-command » est permise" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Argument de densité incorrect : %s" -#: src/tar.c:2205 -#, fuzzy, c-format +#: src/tar.c:2052 +#, c-format msgid "Unknown density: '%c'" msgstr "Densité inconnue : « %c »" -#: src/tar.c:2222 -#, fuzzy, c-format +#: src/tar.c:2069 +#, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Les options « -[0-7][lmh] » ne sont pas prises en charge par *ce* tar" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: emplacement de l’erreur" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "erreur à la lecture de « %s »" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[FICHIER]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Le motif %s ne peut être utilisé" +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "Arguments non-option dans %s" -#: src/tar.c:2389 -#, fuzzy, c-format +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "Impossible de couper TAR_OPTIONS : %s" + +#: src/tar.c:2293 +#, c-format msgid "Old option '%c' requires an argument." msgstr "L'ancienne option « %c » a besoin d'un argument." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence n'a pas de sens sans une liste de fichiers" -#: src/tar.c:2490 -#, fuzzy +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Les fichiers d'archives multiples ont besoin de l'option « -M »" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--level n'a aucun sens sans --listed-incremental" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2530,76 +2585,79 @@ msgstr[0] "" msgstr[1] "" "%s: l'étiquette du volume est trop longue (la limite est %lu octets)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Impossible de vérifier des archives multi-volumes" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Impossible de vérifier des archives compressées" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Impossible d'utiliser des archives multi-volumes compressées" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Impossible de concaténer des archives compressées" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option peut être utilisée uniquement avec des archives POSIX" -#: src/tar.c:2560 -#, fuzzy +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" -msgstr "--pax-option peut être utilisée uniquement avec des archives POSIX" +msgstr "--acls peut être utilisée uniquement avec des archives POSIX" -#: src/tar.c:2565 -#, fuzzy +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" -msgstr "--pax-option peut être utilisée uniquement avec des archives POSIX" +msgstr "--selinux peut être utilisée uniquement avec des archives POSIX" -#: src/tar.c:2570 -#, fuzzy +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" -msgstr "--pax-option peut être utilisée uniquement avec des archives POSIX" +msgstr "--xattrs peut être utilisée uniquement avec des archives POSIX" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Impossible de déduire le nom du répertoire de plus haut niveau ; veuillez le " +"sélectionner explicitement avec --one-top-level=RÉP" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" "La longueur du volume ne peut pas être inférieure à la taille de " "l'enregistrement" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Je refuse de créer un fichier d'archive vide (oui je suis lâche)" -#: src/tar.c:2669 -#, fuzzy +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Les options « -Aru » sont incompatibles avec « -f - »" -#: src/tar.c:2766 -#, fuzzy +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" -msgstr "Vous devez choisir une option parmi « -Acdtrux » ou « --test-label »" +msgstr "" +"Vous devez choisir une option parmi « -Acdtrux », « --delete » ou « --test-" +"label »" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Arrêt avec code d'échec à cause des erreurs précédentes" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "ordre de tri du répertoire : aucun (par défaut), nom ou inode" #: src/update.c:87 #, c-format @@ -2649,11 +2707,11 @@ msgid "Malformed extended header: missing newline" msgstr "En-tête étendu incorrect : retour à la ligne manquant" #: src/xheader.c:741 -#, fuzzy, c-format +#, c-format msgid "Ignoring unknown extended header keyword '%s'" msgstr "Le mot clé inconnu « %s » pour l'en-tête étendu a été ignoré" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2661,27 +2719,27 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "L'en-tête étendu %s=%s est hors plage %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "En-tête étendu incorrect : %s=%s non valable" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "En-tête étendu incorrect : %s=%s en trop" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "En-tête étendu incorrect : %s non valable : délimiteur %c non prévu" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "En-tête étendu incorrect : %s non valable : nombre impair de valeurs" @@ -2722,7 +2780,7 @@ msgstr "Point de contrôle d'écriture %u" msgid "Read checkpoint %u" msgstr "Point de contrôle de lecture %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2731,72 +2789,76 @@ msgstr "" "GNU paxutils.\n" "Les options sont :\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Options de création de fichier :" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "TAILLE" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Créer le fichier à la TAILLE donnée" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Écrire dans le fichier NOM, plutôt que sur la sortie standard" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Lire les noms de fichier depuis le FICHIER" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T permet de lire les noms terminés par un NULL" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "Remplir le fichier avec le MOTIF donné. MOTIF est « default » ou « zeros »" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Taille d'un bloc pour le fichier dispersé" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Générer un fichier dispersé (avec des trous). Le reste de la ligne de " "commande définit la carte du fichier." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "DÉCALAGE" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Se déplacer du DÉCALAGE donné avant d'écrire des données" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Options des statistiques de fichiers :" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Afficher le contenu des structures « stat » pour chaque fichier donné. Le " "FORMAT par défaut est :" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Options d'exécution synchrone :" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "OPTION" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2804,23 +2866,23 @@ msgstr "" "Exécuter les ARGS. Utile avec « --checkpoint » et l'une des options « --cut " "», « --append », « --touch » ou « --unlink »" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" "Exécuter l'action donnée (voir plus bas) dès qu'un point de contrôle NOMBRE " "est atteint" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Définir la date pour la prochaine option « --touch »" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" "Afficher les points de contrôle exécutés et les codes de sortie de la " "COMMANDE" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2828,7 +2890,7 @@ msgstr "" "Actions d'exécution synchrone. Celles-ci sont exécutées lorsque le numéro du " "point de contrôle donné par « --checkpoint » est atteint." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2836,270 +2898,161 @@ msgstr "" "Tronquer le FICHIER à la taille donnée par la précédente option « --length " "» (ou 0 si elle n'est pas fournie)." -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Ajouter TAILLE octets au FICHIER. La TAILLE est fournie par la précédente " "option « --length »" -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Mettre à jour les dates d'accès et de modification du FICHIER" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Exécuter la COMMANDE" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Supprimer FICHIER" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Taille non valable : %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Nombre en dehors de la plage permise : %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Taille négative : %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "La fonction stat(%s) a échoué" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "taille de fichier demandée : %lu, taille réelle : %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "le fichier créé n'est pas dispersé" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Erreur à la lecture du nombre près de « %s »" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Format de date inconnu" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGS...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "Impossible d'ouvrir « %s »" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "Impossible à parcourir" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "Le nom de fichier contient un caractère nul" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "Un fichier dispersé ne peut pas être généré sur la sortie standard. Utilisez " "l'option « --file »" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "Masque incorrect (près de « %s »)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Champ inconnu « %s »" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "Impossible de définir la date de « %s »" -#: tests/genfile.c:692 -#, fuzzy, c-format +#: tests/genfile.c:760 +#, c-format msgid "cannot truncate `%s'" -msgstr "Impossible de supprimer « %s »" +msgstr "Impossible de tronquer « %s »" -#: tests/genfile.c:701 -#, fuzzy, c-format +#: tests/genfile.c:769 +#, c-format msgid "command failed: %s" -msgstr "Échec de la commande %s" +msgstr "commande « %s » échouée" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "Impossible de supprimer « %s »" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "La commande s'est terminée correctement\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "La commande a échoué avec le code %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "La commande s'est terminée sur le signal %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "La commande s'est interrompue sur le signal %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "La commande a généré un core dump\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "La commande s'est terminée\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat nécessite un nom de fichier" -#~ msgid "sort names to extract to match archive" -#~ msgstr "Trier les noms à extraire dans le même ordre que l'archive" - -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "" -#~ "« --occurrence » ne peut être utilisée dans le mode d'opération demandé" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Impossible de combiner « --listed-incremental » avec « --newer »" - -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "--preserve-order n'est pas compatible avec --listed-incremental" - -#~ msgid "Field too long while reading snapshot file" -#~ msgstr "" -#~ "Champ trop long rencontré pendant la lecture du fichier d'instantané" - -#~ msgid "Read error in snapshot file" -#~ msgstr "Erreur de lecture du fichier d'instantané" - -#~ msgid "Unexpected field value in snapshot file" -#~ msgstr "Valeur de champ inattendue dans le fichier d'instantané" - -#~ msgid "Cannot get working directory" -#~ msgstr "Impossible de connaître le répertoire de travail" - -#~ msgid "Invalid group" -#~ msgstr "Groupe non valable" - -#~ msgid "Extended header length is out of allowed range" -#~ msgstr "La longueur de l'en-tête étendu est hors plage" - -#~ msgid "%s: Directory removed before we read it" -#~ msgstr "%s : Répertoire supprimé avant d'avoir été lu" - -#~ msgid "Cannot save working directory" -#~ msgstr "Le répertoire de travail ne peut pas être sauvegardé" - -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s : l'option « -- %c » n'est pas permise\n" +#~ msgid "same as both -p and -s" +#~ msgstr "Équivalent à « -p -s » à la fois" #~ msgid "" -#~ "\n" -#~ "Report bugs to <%s>.\n" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" #~ msgstr "" -#~ "\n" -#~ "Rapportez toute anomalie à <%s>.\n" - -#~ msgid "Input string too long" -#~ msgstr "Chaîne trop longue en entrée" - -#~ msgid "Number syntax error" -#~ msgstr "Erreur de syntaxe de nombre" - -#~ msgid "rmtd: Cannot allocate buffer space\n" -#~ msgstr "rmtd : impossible de réserver un espace tampon\n" - -#~ msgid "Cannot allocate buffer space" -#~ msgstr "Impossible de réserver un espace tampon" - -#~ msgid "Try `%s --help' for more information.\n" -#~ msgstr "Pour en savoir davantage, tapez : « %s --help ».\n" - -#~ msgid "" -#~ "Usage: %s [OPTION]\n" -#~ "Manipulate a tape drive, accepting commands from a remote process.\n" -#~ "\n" -#~ " --version Output version info.\n" -#~ " --help Output this help.\n" -#~ msgstr "" -#~ "Utilisation : %s [OPTION]\n" -#~ "Ce programme permet de manipuler un lecteur de cartouches en recevant des " -#~ "commandes d'un processus distant.\n" -#~ "\n" -#~ " --version afficher le nom et la version du programme\n" -#~ " --help afficher cette aide-mémoire\n" - -#~ msgid "Seek offset error" -#~ msgstr "Erreur de positionnement relatif" - -#~ msgid "Premature end of file" -#~ msgstr "Fin de fichier prématurée" - -#~ msgid "Reading %s\n" -#~ msgstr "Lecture de %s\n" - -#~ msgid "Error is not recoverable: exiting now" -#~ msgstr "Erreur non récupérable : arrêt du traitement" - -#~ msgid "suppress this warning." -#~ msgstr "supprimer cet avertissement." - -#~ msgid "filter the archive through bzip2" -#~ msgstr "Filtrer l'archive à travers « bzip2 »" - -#~ msgid "filter the archive through gzip" -#~ msgstr "Filtrer l'archive à travers « gzip »" - -#~ msgid "filter the archive through compress" -#~ msgstr "Filtrer l'archive à travers « compress »" - -#~ msgid "filter the archive through lzma" -#~ msgstr "Filtrer l'archive à travers « lzma »" - -#~ msgid "filter the archive through lzop" -#~ msgstr "Filtrer l'archive à travers « lzop »" - -#~ msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?" -#~ msgstr "" -#~ "AVERTISSEMENT : l'option « -I » n'est pas prise en charge. Vous vouliez " -#~ "peut-être utiliser « -j » ou « -T » ?" - -#~ msgid "Error exit delayed from previous errors" -#~ msgstr "Des erreurs ont provoqué l'arrêt du programme" - -#~ msgid "[.]NUMBER" -#~ msgstr "[.]NOMBRE" +#~ "L'option --preserve est obsolète, utilisez --preserve-permissions --" +#~ "preserve-order à la place" diff --git a/po/ga.gmo b/po/ga.gmo index ca9948360fcf555f790c2fb3fd32a5ef388fad5c..6926de4f1cff90ec2c2b5be46b9dc06390767d09 100644 GIT binary patch delta 9820 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 LSCW1#tm1zG`LbvP diff --git a/po/ga.po b/po/ga.po index 0bbb661b..50ac9fd0 100644 --- a/po/ga.po +++ b/po/ga.po @@ -2,12 +2,12 @@ # Copyright (C) 2003, 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. # Kevin Patrick Scannell , 2003, 2004, 2006, 2007, 2008, 2009. -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: tar 1.22\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 2009-03-25 20:27-0600\n" "Last-Translator: Kevin Scannell \n" "Language-Team: Irish \n" @@ -18,47 +18,47 @@ msgstr "" "Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 : " "(n>6 && n <11) ? 3 : 4;\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argóint neamhbhailí %s chun %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argóint dhébhríoch %s chun %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Na hargóintí bailí:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: luach %s níos lú ná nó cothrom le %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Ní mór luach a thabhairt ar an pharaiméadar ARGP_HELP_FMT" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" "%.*s: Ní mór luach deimhneach a bheith ar an pharaiméadar ARGP_HELP_FMT" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Paraiméadar anaithnid ARGP_HELP_FMT" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Bruscar i ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -66,145 +66,150 @@ msgstr "" "Is riachtanach/roghnach le rogha ghearr aon argóint atá riachtanach/roghnach " "leis an rogha fhada." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Úsáid:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " nó: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [ROGHA...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "" "Bain triail as `%s --help' nó `%s --usage' chun tuilleadh eolais a fháil.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Seol tuairiscí fabhtanna chuig %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Earráid anaithnid chórais" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "taispeáin an chabhair seo" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "taispeáin beagán eolais faoin úsáid" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "AINM" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "socraigh ainm an chláir" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SOIC" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "moill de SOIC soicind (réamhshocrú: 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "taispeáin leagan an chláir" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(EARRÁID RÍOMHCHLÁIR) Gan leagan!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: An iomarca argóintí\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" "(EARRÁID RÍOMHCHLÁIR) Ba chóir aitheantas a thabhairt ar an rogha seo!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "earráid sa scríobh" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: Tá an rogha `%s' débhríoch\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: Tá an rogha `-W %s' débhríoch\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `--%s'\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `%c%s'\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: tá argóint de dhíth i ndiaidh na rogha `%s'\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: rogha anaithnid `--%s'\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: rogha anaithnid `%c%s'\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: rogha neamhbhailí -- %c\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: tá argóint de dhíth i ndiaidh na rogha -- %c\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: Tá an rogha `-W %s' débhríoch\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `-W %s'\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: tá argóint de dhíth i ndiaidh na rogha `%s'\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "cuimhne ídithe" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "ní féidir an chomhadlann reatha a thaifeadadh" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "níorbh fhéidir an bhunchomhadlann oibre a aisfhilleadh" @@ -230,11 +235,11 @@ msgstr "níorbh fhéidir an bhunchomhadlann oibre a aisfhilleadh" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "`" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "'" @@ -244,7 +249,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[yYiIsS]" @@ -254,16 +259,16 @@ msgstr "^[yYiIsS]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -271,11 +276,11 @@ msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "Seol tuairiscí fabhtanna chuig %s.\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "Seol tuairiscí fabhtanna chuig %s.\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, fuzzy, c-format msgid "%s home page: \n" msgstr "Leathanach baile %s: .\n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 #, fuzzy msgid "General help using GNU software: \n" msgstr "Cabhair ghinearálta le bogearraí GNU: .\n" @@ -609,8 +614,8 @@ msgstr "Comhadchríoch gan choinne" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "UIMHIR" @@ -618,10 +623,11 @@ msgstr "UIMHIR" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "COMHAD" @@ -634,7 +640,7 @@ msgstr "" msgid "cannot open %s" msgstr "ní féidir `%s' a oscailt" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "an iomarca argóintí" @@ -643,67 +649,67 @@ msgstr "an iomarca argóintí" msgid "Garbage command" msgstr "Ordú dramhaíola" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Ní cosúil le cartlann `tar' é seo" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Bearta léite go hiomlán" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Bearta scríofa go hiomlán" -#: src/buffer.c:577 +#: src/buffer.c:580 #, fuzzy msgid "Total bytes deleted" msgstr "Bearta scriosta go hiomlán: %s\n" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(píopa)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Luach neamhbhailí do record_size" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Ní thugtar ainm na cartlainne" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Ní féidir cartlann stdin/stdout a fhíorú" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Is cartlann chomhbhrúite í seo. Úsáid an rogha %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Ní féidir cartlanna comhbhrúite a nuashonrú" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Tosach na téipe, ag scor anois" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "An iomarca earráidí, ag scor" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -713,7 +719,7 @@ msgstr[2] "Méid taifid = %lu bhloc" msgstr[3] "Méid taifid = %lu mbloc" msgstr[4] "Méid taifid = %lu bloc" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -723,38 +729,38 @@ msgstr[2] "Bloc neamhailínithe (%lu bheart) sa chartlann" msgstr[3] "Bloc neamhailínithe (%lu mbeart) sa chartlann" msgstr[4] "Bloc neamhailínithe (%lu beart) sa chartlann" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Ní féidir an chartlann a chúlú; is dócha gur doléite í gan -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "Níor stopadh rmtlseek ag teorainn taifid" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: tá uimhir imleabhair neamhbhailí ann" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Uimhir imleabhair thar maoil" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "" "Socraigh an t-imleabhar #%d le haghaidh %s agus brúigh an eochair iontrála: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Fuarthas comhadchríoch in áit freagra ón úsáideoir" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "RABHADH: Tá an chartlann neamhiomlán" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -766,67 +772,67 @@ msgstr "" " q Tobscoir tar\n" " y nó líne nua Lean ar aghaidh\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Sceith fobhlaosc\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Priontáil an liosta seo\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Níl aon imleabhar nua; ag scor.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Ainm an chomhaid gan sonrú. Bain triail eile as.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Ionchur neamhbhailí. Iontráil ? chun cabhair a fháil.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "Theip ar ordú %s" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "Ní leanann %s ar an imleabhar seo" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "Seans go leanann %s ar aghaidh ar an imleabhar seo: tá ainm teasctha sa " "cheanntásc" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "Ní leanann %s ar an imleabhar seo" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "Níl %s an méid ceart (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Tá an t-imleabhar seo as ord (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Lipéad ar chartlann nach comhoiriúnaithe le %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Níl an t-imleabhar %s comhoiriúnaithe le %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -834,7 +840,7 @@ msgstr "" "%s: ní féidir an comhadainm seo a stóráil i gceanntásc il-imleabhar GNU; " "teasctha" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "níor stop an scríobh ag teorainn bhloic" @@ -848,20 +854,20 @@ msgstr[2] "Níorbh fhéidir ach %lu de %lu bheart a léamh" msgstr[3] "Níorbh fhéidir ach %lu de %lu mbeart a léamh" msgstr[4] "Níorbh fhéidir ach %lu de %lu beart a léamh" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Tá difríocht idir na hábhair" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Comhadchríoch gan choinne i gcartlann" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Tá difríocht idir na cineálacha comhaid" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Tá difríocht idir na móid" @@ -877,7 +883,7 @@ msgstr "Tá difríocht idir na GIDanna" msgid "Mod time differs" msgstr "Tá difríocht idir na hamanna modhnaithe" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Tá difríocht idir na méideanna" @@ -886,38 +892,38 @@ msgstr "Tá difríocht idir na méideanna" msgid "Not linked to %s" msgstr "Ní ceangailte le %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Tá difríocht idir na naisc shiombalacha" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Tá difríocht idir na huimhreacha gléis" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Fíoraigh " -#: src/compare.c:473 +#: src/compare.c:477 #, fuzzy, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Cineál anaithnid comhaid `%c', déan diff mar ghnáthchomhad" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Tá comhaid sa chartlann agus a réimíreanna scriosta." -#: src/compare.c:535 +#: src/compare.c:539 #, fuzzy msgid "Archive contains transformed file names." msgstr "Tá ceanntásca le bunuimhir 64 i léig sa chartlann" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Nach féidir i gcónaí na bunchomhaid a aimsiú agus le linn fíoraithe." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" @@ -927,46 +933,46 @@ msgstr[2] "THEIP AR DHEIMHNIÚ: aimsíodh %d cheanntásc neamhbhailí" msgstr[3] "THEIP AR DHEIMHNIÚ: aimsíodh %d gceanntásc neamhbhailí" msgstr[4] "THEIP AR DHEIMHNIÚ: aimsíodh %d ceanntásc neamhbhailí" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Bloc nialasach scoite ag %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: tá clib chomhadlainne taisce %s ann; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "tá an luach %s as raon %s: %s..%s; ag cur %s ina ionad" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "tá an luach %s as raon %s: %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Ceanntásca ochtnártha diúltacha á gcruthú" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: ainm comhaid rófhada (uasmhéid %d); gan dumpáil" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: ainm comhaid rófhada (ní féidir é a scoilt); gan dumpáil" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: ainm naisc rófhada; gan dumpáil" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -976,55 +982,55 @@ msgstr[2] "%s: %s bheart níos lú sa chomhad; ag stuáil le nialais" msgstr[3] "%s: %s mbeart níos lú sa chomhad; ag stuáil le nialais" msgstr[4] "%s: %s beart níos lú sa chomhad; ag stuáil le nialais" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: is ar chóras comhad eile é an comhad; gan dumpáil" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "ábhar gan dumpáil" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Cineál anaithnid comhaid; ag déanamh neamhshuim air" -#: src/create.c:1551 +#: src/create.c:1569 #, fuzzy, c-format msgid "Missing links to %s." msgstr "Naisc le %s ar iarraidh.\n" -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: comhad gan athrú; gan dumpáil" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: is ionann é agus an chartlann féin; gan dumpáil" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "níor dumpáladh an chomhadlann" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: athraíodh an comhad agus á léamh" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: rinneadh neamhshuim ar an soicéad" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: rinneadh neamhshuim ar an doras" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Ag bogadh go dtí an chéad cheanntásc eile" @@ -1042,56 +1048,56 @@ msgstr "%s: ní dócha go bhfuil an stampa ama ársa %s ceart" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: tá an stampa ama %s %s soicind amach anseo" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Bunoscionntacht gan choinne agus comhadlann á cruthú" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" "%s: Athainmníodh an chomhadlann sularbh fhéidir a stádas a bhaint amach" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Comhaid theorantacha á mbaint amach mar ghnáthchomhaid" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "" "Ag déanamh iarracht ar naisc shiombalacha a bhaint amach mar naisc chrua" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Ní féidir an comhad a bhaint amach -- ar lean ó imleabhar eile" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Ceanntásc ainm fada gan choinne" -#: src/extract.c:1542 +#: src/extract.c:1587 #, fuzzy, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Cineál anaithnid comhaid `%c', á bhaint amach mar ghnáthchomhad" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Tá an %s reatha níos nuaí nó ar comhaois" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Níorbh fhéidir cúltaca a dhéanamh" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Ní féidir %s a athainmniú go %s" @@ -1142,131 +1148,132 @@ msgstr "Uimhir inode as raon" msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Comhadchríoch gan choinne sa chomhad roghbhlúire" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Críochnaitheoir taifid ar iarraidh" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Drochfhormáid incriminteach" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "" "Ní thacaítear leis an leagan seo den fhormáid incriminteach: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "dumpdir míchumtha: bhíothas ag súil le '%c' ach fuarthas %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "dumpdir míchumtha: 'X' faoi dhó" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "dumpdir míchumtha: ainm folamh i 'R'" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "dumpdir míchumtha: 'T' gan 'R' roimhe" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "dumpdir míchumtha: ainm folamh i 'T'" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "dumpdir míchumtha: bhíothas ag súil le '%c' ach fuarthas deireadh na sonraí" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "dumpdir míchumtha: níor úsáideadh 'X' riamh" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Ní féidir comhadlann shealadach a chruthú le teimpléad %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: ní féidir an chomhadlann a stat: gan ghlanadh" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: tá an chomhadlann ar ghléas eile ar fad; gan ghlanadh" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s á scriosadh\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Ní féidir scriosadh a dhéanamh" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: ag fágáil ar lár" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloc %s: ** bloc de NULanna **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloc %s: ** Deireadh comhaid **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "bloc %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Bearnaí sa cheanntásc; ag súil le luach uimhriúil %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1274,87 +1281,87 @@ msgstr "" "ag glacadh le comhlánú dénártha" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Tá an luach ochtnártha %.*s as raon %s sa chartlann" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Tá ceanntásca le bunuimhir 64 i léig sa chartlann" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Teaghrán %s le sín agus bunuimhir 64 as raon %s sa chartlann" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Tá an luach le bunuimhir 256 as raon %s sa chartlann" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Tá %.*s sa chartlann; ag súil le luach uimhriúil %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Tá an luach cartlainne %s as raon %s: %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " nasc le %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " cineál anaithnid comhaid %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Nasc Fada--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Ainm Fada--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Ceanntásc Imleabhair--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Ar lean ag beart %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Comhadlann á cruthú:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "%s á athainmniú go %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Ní féidir athainmniú go %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "%s á athainmniú go %s arís\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Scriosadh an comhad sular léadh é" @@ -1367,79 +1374,243 @@ msgstr "macphróiseas" msgid "interprocess channel" msgstr "bealach idir próisis" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Roghnú comhaid logánta:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"cuir an COMHAD sainithe leis an gcartlann (is áisiúil an rogha seo nuair atá " +"dais ag tosach an chomhadainm)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "COMHADLANN" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "athraigh go dtí COMHADLANN" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "tóg ainmneacha le baint/cruthú as comhad COMHAD" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "léigh ainmneacha, foirceanta le NULanna; múch -C" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "díchumasaigh an rogha --null roimhe seo" + +#: src/names.c:82 +#, fuzzy +msgid "unquote input file or member names (default)" +msgstr "" +"bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T (réamhshocrú)" + +#: src/names.c:84 +#, fuzzy +msgid "do not unquote input file or member names" +msgstr "ná bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "PATRÚN" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "fág comhaid as an áireamh, tugtha mar PHATRÚN" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "fág as an áireamh aon phatrún atá i gCOMHAD" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"gabh thar ábhar na gcomhadlann ina bhfuil CACHEDIR.TAG, seachas an comhad " +"clibe féin" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "gabh thar chomhadlanna ina bhfuil CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "gabh thar ábhar na gcomhadlann ina bhfuil COMHAD, seachas COMHAD féin" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil COMHAD" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "gabh thar chomhadlanna a bhfuil COMHAD iontu" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "gabh thar chomhadlanna a bhaineann le córas rialaithe foinsí" + +#: src/names.c:118 +#, fuzzy +msgid "read exclude patterns from the VCS ignore files" +msgstr "ná bain úsáid as saoróga i bpatrúin eisiata" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "téigh isteach i gcomhadlanna (réamhshocrú)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "ná téigh isteach i bhfochomhadlanna go huathoibríoch" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Roghanna maidir le comhoiriúnú ainmneacha comhaid (cuirfear iad seo i " +"bhfeidhm do phatrúin eisiata agus do phatrúin iniata araon):" + +# subject is "exclude patterns" +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "comhoiriúnaíonn patrúin do thosach ainm an chomhaid" + +#: src/names.c:134 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" +msgstr "comhoiriúnaíonn patrúin tar éis gach `/' (réamhshocrú i gcás eisiata)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "ná bí cásíogair" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "dealaigh idir litreacha beaga/móra (réamhshocrú)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "úsáid saoróga (réamhshocrú do phatrúin eisiata)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "comhoiriúnú teaghráin carachtar ar charachtar" + +#: src/names.c:144 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" +msgstr "comhoiriúnaíonn saoróga do `/' (réamhshocrú le patrúin eisiata)" + +#: src/names.c:146 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "ní ghlacann saoróga le `/'" + +#: src/names.c:768 #, fuzzy msgid "command line" msgstr "Theip ar ordú %s" -#: src/names.c:378 +#: src/names.c:786 #, fuzzy, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: léadh an liosta comhad cheana" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, fuzzy, c-format msgid "cannot split string '%s': %s" msgstr "ní féidir an t-am a shocrú ar `%s'" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: tá carachtar nialasach sa chomhadainm a léadh" -#: src/names.c:824 +#: src/names.c:1242 #, fuzzy msgid "Pattern matching characters used in file names" msgstr "Aimsíodh saoróga in ainmneacha comhaid." -#: src/names.c:826 +#: src/names.c:1244 #, fuzzy msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "Úsáid --wildcards chun comhoiriúnú patrún a chumasú, nó --no-wildcards" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Ní sa chartlann é" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Níl rud riachtanach sa chartlann" -#: src/names.c:879 +#: src/names.c:1297 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Lipéad ar chartlann nach comhoiriúnaithe le %s" -#: src/names.c:1183 +#: src/names.c:1601 #, fuzzy msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental" -#: src/names.c:1189 +#: src/names.c:1607 #, fuzzy msgid "Only one -C option is allowed with --listed-incremental" msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "Tá an gnáth-ionchur de dhíth ar na roghanna `-%s' agus `-%s'" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Formáid neamhbhailí chartlainne" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Níl roghanna GNU ar fáil d'fhormáid neamh-chomhoiriúnach chartlainne" -#: src/tar.c:264 +#: src/tar.c:265 #, fuzzy, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1447,7 +1618,7 @@ msgstr "" "Stíl anaithnid athfhriotail `%s'. Bain triail as `%s --quoting-style=help' " "chun liosta a fheiceáil." -#: src/tar.c:378 +#: src/tar.c:354 #, fuzzy msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " @@ -1468,7 +1639,7 @@ msgstr "" "(foclach).\n" " tar -xf cartlann.tar # Bain gach comhad amach as cartlann.tar.\n" -#: src/tar.c:387 +#: src/tar.c:363 #, fuzzy msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" @@ -1491,80 +1662,88 @@ msgstr "" "bhfuil\n" " never, simple déan cúltacaí simplí i gcónaí\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Príomh-mhód oibre:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "taispeáin an t-ábhar i gcartlann" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "bain comhaid as cartlann" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "cruthaigh cartlann nua" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "taispeáin difríochtaí idir cartlann agus córas comhaid" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "iarcheangail le deireadh cartlainne" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "ná hiarcheangail ach comhaid mhionathraithe leis an gcartlann" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "iarcheangail comhaid tar le cartlann" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "scrios as an gcartlann (nach ar théipeanna maighnéadacha!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "tástáil lipéad imleabhair na cartlainne agus scoir" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Mionathraitheoirí oibríochta:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "caith le gannchomhaid go héifeachtach" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "PRÍOMH[.MION]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "socraigh leagan fhormáid na ngannchomhad le húsáid (--sparse intuigthe)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "déan cúltaca incriminteach de shean-nós GNU" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "déan cúltaca incriminteach nua-aoise GNU" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "ná scoir le stádas earráide má tá comhad doléite ann" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1576,145 +1755,154 @@ msgstr "" "extract nó --list agus nuair a thugtar liosta comhad ar líne na n-orduithe " "nó leis an rogha -T; de réir réamhshocraithe UIMHIR=1" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "tá an chartlann inchuardaithe" -#: src/tar.c:467 +#: src/tar.c:445 #, fuzzy msgid "archive is not seekable" msgstr "tá an chartlann inchuardaithe" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" "ná seiceáil uimhreacha gléasanna agus cartlanna incriminteacha á gcruthú" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "seiceáil uimhreacha gléasanna agus cartlanna incriminteacha á gcruthú " "(réamhshocrú)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Rialú forscríofa:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "fíoraigh an chartlann i ndiaidh ag scríobh" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "scrios comhaid i ndiaidh iad a chur leis an gcartlann" -#: src/tar.c:485 +#: src/tar.c:463 #, fuzzy msgid "don't replace existing files when extracting, treat them as errors" msgstr "ná forscríobh comhaid atá ann le linn baint amach" -#: src/tar.c:488 +#: src/tar.c:466 #, fuzzy msgid "don't replace existing files when extracting, silently skip over them" msgstr "ná forscríobh comhaid atá ann le linn baint amach" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "ná forscríobh comhaid atá ann má tá siad níos nuaí ná na cinn sa chartlann" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "forscríobh comhaid atá ann le linn baint amach" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "scrios gach comhaid sula scríobhtar air" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "folmhaigh géagchóras sula mbaintear comhadlann amach" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "ná forscríobh meiteashonraí comhadlainne" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "forscríobh meiteashonraí de chomhadlanna atá ann agus cartlanna á mbaint " "amach (réamhshocrú)" -#: src/tar.c:504 +#: src/tar.c:482 #, fuzzy msgid "preserve existing symlinks to directories when extracting" msgstr "forscríobh comhaid atá ann le linn baint amach" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "COMHADLANN" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Roghnaigh sruth aschurtha:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "bain comhaid amach agus scríobh ar an ngnáth-aschur" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "ORDÚ" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "píopaigh comhaid bhainte go ríomhchlár eile" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "ná bac le cóid scortha na macphróiseas" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "láimhseáil cóid scortha nach nialas ó mhacphróisis mar earráidí" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Tréithe comhaid á láimhseáil:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "éiligh AINM mar úinéir de chomhaid bhreise" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "éiligh AINM mar ghrúpa de chomhaid bhreise" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DÁTA-NÓ-COMHAD" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "socraigh am mionathraithe na gcomhad nua de réir DÁTA-NÓ-COMHAD" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "ATHRUITHE" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "déan ATHRUITHE ar mhód de chomhaid bhreise" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "MODH" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1724,31 +1912,31 @@ msgstr "" "ndiaidh na comhaid a léamh (MODH='replace', réamhshocraithe), nó gan a " "bheith ag socrú na n-amanna sa chéad áit (MODH='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "ná bain am mionathraithe an chomhaid" -#: src/tar.c:545 +#: src/tar.c:529 #, fuzzy msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "bain triail as úinéireacht a choinneáil" -#: src/tar.c:547 +#: src/tar.c:531 #, fuzzy msgid "extract files as yourself (default for ordinary users)" msgstr "bain comhaid amach mar thusa féin" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "bain úsáid as uimhreacha d'ainmneacha úsáideora/grúpa" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "bain eolas faoi cheadanna (réamhshocrú don fhorúsáideoir)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1756,16 +1944,12 @@ msgstr "" "cuir umask an úsáideora i bhfeidhm agus ceadanna á mbaint ón chartlann " "(réamhshocrú do ghnáthúsáideoirí)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "ar comhbhrí le -p agus -s araon" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1773,188 +1957,188 @@ msgstr "" "ná socraigh amanna mionathraithe ná ceadanna de na comhadlanna go dtí go " "bhfuil an bhaint curtha i gcrích" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "cealaigh an éifeacht de rogha --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 #, fuzzy msgid "Handling of extended file attributes:" msgstr "Tréithe comhaid á láimhseáil:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Roghnú gléis agus malartú:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "CARTLANN" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "bain úsáid as cartlann chomhaid nó gléas CARTLANN" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "is logánta í an chartlann fiú má tá idirstad ina hainm" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "bain úsáid as ORDÚ in ionad rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "bain úsáid as ORDÚ cian in ionad rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "sonraigh tiomántán agus a dhlús" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "cruthaigh/liostaigh/bain amach cartlann le hiliomad imleabhair" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "athraigh téip i ndiaidh UIMHIR × 1024 beart" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "rith script i ndiaidh gach téip (-M intuigthe)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "úsáid/nuashonraigh an uimhir imleabhair i gCOMHAD" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Blocáil ghléis:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOIC" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOIC × 512 beart sa taifead" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "UIMHIR beart sa taifead, iolraí de 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "déan neamhshuim ar bhloic nialasacha sa chartlann (is ionann le EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "athbhlocáil le linn léimh (le píopaí 4.2BSD)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Roghnú formáide:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMÁID" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "cruthaigh cartlann san fhormáid seo" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "Is FORMÁID ceann de na rudaí seo:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "seanfhormáid V7 tar" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "formáid de réir GNU tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "formáid de réir GNU tar 1.13" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "formáid POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "formáid POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "ar comhbhrí le pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "is ionann le --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "is ionann le --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "lorgfhocal[[:]=luach][,lorgfhocal[[:]=luach]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "rialaigh lorgfhocail pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TÉACS" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1962,189 +2146,85 @@ msgstr "" "cruthaigh cartlann le TÉACS mar ainm imleabhair; úsáid TÉACS mar phatrún " "globála ar an ainm imleabhair agus an chartlann á liostú/baint amach" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Roghanna comhbhrúite:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "úsáid iarmhír na cartlainne chun an modh comhbhrúite a dhéanamh amach" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" "ná húsáid iarmhír na cartlainne chun an clár comhbhrúite a dhéanamh amach" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "CLÁR" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "scag le CLÁR (ní foláir -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Roghnú comhaid logánta:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"cuir an COMHAD sainithe leis an gcartlann (is áisiúil an rogha seo nuair atá " -"dais ag tosach an chomhadainm)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "athraigh go dtí COMHADLANN" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "tóg ainmneacha le baint/cruthú as comhad COMHAD" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "léigh ainmneacha, foirceanta le NULanna; múch -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "díchumasaigh an rogha --null roimhe seo" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "" -"bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T (réamhshocrú)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "ná bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "PATRÚN" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "fág comhaid as an áireamh, tugtha mar PHATRÚN" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "fág as an áireamh aon phatrún atá i gCOMHAD" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"gabh thar ábhar na gcomhadlann ina bhfuil CACHEDIR.TAG, seachas an comhad " -"clibe féin" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil CACHEDIR.TAG" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "gabh thar chomhadlanna ina bhfuil CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "gabh thar ábhar na gcomhadlann ina bhfuil COMHAD, seachas COMHAD féin" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil COMHAD" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "gabh thar chomhadlanna a bhfuil COMHAD iontu" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "gabh thar chomhadlanna a bhaineann le córas rialaithe foinsí" - -#: src/tar.c:751 -#, fuzzy -msgid "read exclude patterns from the VCS ignore files" -msgstr "ná bain úsáid as saoróga i bpatrúin eisiata" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "ná téigh isteach i bhfochomhadlanna go huathoibríoch" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "ná fág an córas comhaid seo agus cartlann á cruthú" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "téigh isteach i gcomhadlanna (réamhshocrú)" - -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "ná struipeáil `/' tosaigh ó ainmneacha comhaid" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "lean naisc shiombalacha; cartlannaigh agus dumpáil na comhaid a nascann na " "naisc leo" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "lean naisc chrua; cartlannaigh agus dumpáil na comhaid a nascann na naisc leo" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "AINM-BAILL" -#: src/tar.c:767 +#: src/tar.c:699 #, fuzzy msgid "begin at member MEMBER-NAME when reading the archive" msgstr "tosaigh ag ball AINM-BAILL sa chartlann" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "ná sábháil comhaid níos nuaí ná DÁTA-NÓ-COMHAD" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DÁTA" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "déan comparáid le dáta/am modhnaithe" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "MODH" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "déan cúltaca sula scriostar, roghnaigh modh oibre maidir le leaganacha" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "TEAGHRÁN" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2152,104 +2232,62 @@ msgstr "" "déan cúltaca roimh bhaint, agus sáraigh an gnáth-iarmhír ('~' mura dtugtar é " "leis an athróg thimpeallachta SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Trasfhoirmiú ainmneacha comhaid:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "struipeáil UIMHIR comhpháirt tosaigh ó ainmneacha comhaid" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "SLONN" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "Úsáid ordú ionadaíochta SLONN, i bhformáid \"sed\", chun ainmneacha comhaid " "a thrasfhoirmiú" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Roghanna maidir le comhoiriúnú ainmneacha comhaid (cuirfear iad seo i " -"bhfeidhm do phatrúin eisiata agus do phatrúin iniata araon):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "ná bí cásíogair" - -# subject is "exclude patterns" -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "comhoiriúnaíonn patrúin do thosach ainm an chomhaid" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "comhoiriúnaíonn patrúin tar éis gach `/' (réamhshocrú i gcás eisiata)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "dealaigh idir litreacha beaga/móra (réamhshocrú)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "úsáid saoróga (réamhshocrú do phatrúin eisiata)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "comhoiriúnú teaghráin carachtar ar charachtar" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "ní ghlacann saoróga le `/'" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "comhoiriúnaíonn saoróga do `/' (réamhshocrú le patrúin eisiata)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Aschur faisnéiseach:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "taispeáin gach comhad atá próiseáilte, go foclach" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "" -#: src/tar.c:819 +#: src/tar.c:729 #, fuzzy msgid "warning control" msgstr "Rialú forscríofa:" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "cuir dul chun cinn ar taispeáint, gach UIMHIRú taifid (réamhshocrú 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "GNÍOMH" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "déan GNÍOMH ag gach seicphointe" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "taispeáin eolas mura bhfuil gach nasc dumpáilte" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "COMHARTHA" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2261,36 +2299,36 @@ msgstr "" "Ceadaítear na comharthaí seo a leanas: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 agus " "SIGUSR2; glacfar leis na hainmneacha céanna gan an réimír SIG freisin" -#: src/tar.c:834 +#: src/tar.c:744 #, fuzzy msgid "print file modification times in UTC" msgstr "taispeáin dátaí mionathraithe de réir UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "scríobh aschur foclach i gCOMHAD" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "taispeáin bloc sa chartlann le gach teachtaireacht" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "iarr deimhniú ar gach gníomh" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "taispeáin réamhshocruithe tar" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2298,33 +2336,33 @@ msgstr "" "agus á liostú nó á bhaint amach, taispeáin gach comhadlann nach bhfuil " "comhoiriúnaithe don chuardach" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "taispeáin ainmneacha comhaid/cartlainne i ndiaidh trasfhoirmithe" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STÍL" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "socraigh stíl athfhriotail ainmneacha; féach thíos le haghaidh luachanna " "bailí do STÍL" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "cuir carachtair athfhriotail timpeall na carachtair ó TEAGHRÁN" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "ná húsáid comharthaí athfhriotail timpeall carachtair ó TEAGHRÁN" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Roghanna Comhoiriúnachta:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2332,56 +2370,63 @@ msgstr "" "is ionann le --old-archive le linn cruthaithe; is ionann le --no-same-owner " "le linn baint" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Roghanna eile:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "cuir bac ar úsáid de roghanna gurbh fhéidir leo a bheith urchóideach" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, fuzzy, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s: Ní féidir 'seek' a dhéanamh ag %s" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "Ná tabhair ach ceann de na roghanna `-Acdtrux'" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Roghanna contrártha comhbhrúite" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Comhartha anaithnid: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Comhad samplach dáta gan aimsiú" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Formáid dáta anaithnid; ag baint úsáid as %s in ionad %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, fuzzy, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Rogha %s: Ag caitheamh le dáta `%s' mar %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "scag an chartlann le xz" -#: src/tar.c:1214 +#: src/tar.c:1137 #, fuzzy msgid "Valid arguments for the --quoting-style option are:" msgstr "Argóintí bailí do roghanna --quoting-style:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2389,119 +2434,124 @@ msgstr "" "\n" "Luachanna réamhshocraithe don tar *seo*:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 #, fuzzy msgid "Invalid owner or group ID" msgstr "Úinéir neamhbhailí" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Fachtóir bacainneach neamhbhailí" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Fad téipe neamhbhailí" -#: src/tar.c:1521 +#: src/tar.c:1483 #, fuzzy msgid "Invalid incremental level value" msgstr "Drochfhormáid incriminteach" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Níos mó ná spriocdháta amháin" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Leagan neamhbhailí ar fhormáid na ngannchomhad" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "ní thacaítear le --atime-preserve='system' ar an chóras seo" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "ní mór do luach --checkpoint a bheith ina slánuimhir" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Mód neamhbhailí ar rogha" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Uimhir neamhbhailí" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"tá an rogha --preserve dulta i léig, bain úsáid as --preserve-permissions --" -"preserve-order ina háit" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Méid taifid neamhbhailí" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Ní foláir méid taifid a bheith iolraí de %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Tá líon na mball neamhbhailí" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Ní cheadaítear ach aon rogha --to-command amháin" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Tá an argóint dlúis míchumtha: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, fuzzy, c-format msgid "Unknown density: '%c'" msgstr "Dlús anaithnid: `%c'" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Níl na roghanna `-[0-7][lmh]' ar fáil sa leagan seo tar" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Earráid agus uimhir á parsáil i ngar do `%s'" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[COMHAD]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Ní féidir an patrún %s a úsáid" +msgid "non-option arguments in %s" +msgstr "argóint neamhbhailí %s chun %s" + +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "ní féidir an t-am a shocrú ar `%s'" -#: src/tar.c:2389 +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "Tá gá le hargóint ar an seanrogha `%c'." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "tá an rogha --occurrence gan bhrí in éagmais liosta comhad" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "Ní foláir an rogha `-M' le níos mó ná cartlann amháin" -#: src/tar.c:2498 +#: src/tar.c:2412 #, fuzzy msgid "--level is meaningless without --listed-incremental" msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2511,72 +2561,76 @@ msgstr[2] "%s: Lipéad imleabhair rófhada (%lu bheart ar a mhéad)" msgstr[3] "%s: Lipéad imleabhair rófhada (%lu mbeart ar a mhéad)" msgstr[4] "%s: Lipéad imleabhair rófhada (%lu beart ar a mhéad)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Ní féidir cartlanna le hiliomad imleabhair a fhíorú" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Ní féidir cartlanna comhbhrúite a fhíorú" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Ní féidir úsáid a bhaint as cartlanna il-ranna comhbhrúite" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Ní féidir cartlanna comhbhrúite a iarcheangal" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "níl an rogha --pax-option le fáil ach le cartlanna POSIX" -#: src/tar.c:2560 +#: src/tar.c:2486 #, fuzzy msgid "--acls can be used only on POSIX archives" msgstr "níl an rogha --pax-option le fáil ach le cartlanna POSIX" -#: src/tar.c:2565 +#: src/tar.c:2491 #, fuzzy msgid "--selinux can be used only on POSIX archives" msgstr "níl an rogha --pax-option le fáil ach le cartlanna POSIX" -#: src/tar.c:2570 +#: src/tar.c:2496 #, fuzzy msgid "--xattrs can be used only on POSIX archives" msgstr "níl an rogha --pax-option le fáil ach le cartlanna POSIX" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Ní cheadaítear fad an imleabhair a bheith níos lú ná an mhéid taifid" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Ní chruthófar cartlann fholamh (go cladhartha)" -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Níl na roghanna `-Aru' ar fáil in éineacht le `-f -'" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Ní foláir rogha amháin de `-Acdtrux' ar a laghad" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Scor le stádas teipthe de bharr earráidí roimhe seo" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2637,7 +2691,7 @@ msgid "Ignoring unknown extended header keyword '%s'" msgstr "" "Lorgfhocal anaithnid `%s' sa cheanntásc breisithe; ag déanamh neamhshuim air" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2645,29 +2699,29 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Tá an ceanntásc breisithe %s=%s as raon %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Ceanntásc míchumtha breisithe: %s=%s neamhbhailí" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Ceanntásc míchumtha breisithe: %s=%s sa bhreis" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Ceanntásc míchumtha breisithe: %s neamhbhailí: bhíothas ag súil le " "teormharcóir %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Ceanntásc míchumtha breisithe: %s neamhbhailí: corruimhir de luachanna" @@ -2708,7 +2762,7 @@ msgstr "Seicphointe scríofa %u" msgid "Read checkpoint %u" msgstr "Seicphointe léimh %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2717,73 +2771,77 @@ msgstr "" "paxutils.\n" "Is iad na ROGHANNA:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Roghanna - cruthú comhad:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "MÉID" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Cruthaigh comhad leis an MÉID seo" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Scríobh i gcomhad AINM, in ionad an ghnáth-aschuir" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Léigh ainmneacha comhaid ó COMHAD" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "Léann -T ainmneacha, foirceanta le NULanna" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "Líon an comhad leis an PATRÚN sonraithe. Is é PATRÚN 'default' nó 'zeros'" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Méid bhloic sa gannchomhad" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Cruthaigh gannchomhad. Tugtar an mapa comhaid ar an chuid eile de líne na n-" "orduithe." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "FRITHÁIREAMH" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Léim go dtí an FRITHÁIREAMH roimh scríobh na sonraí" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Roghanna - staitisticí comhaid" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Taispeáin inneachar an struct stat le haghaidh gach comhad sonraithe. " "FORMÁID réamhshocraithe: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Roghanna - feidhmiú sioncrónach:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 #, fuzzy msgid "OPTION" msgstr " [ROGHA...]" -#: tests/genfile.c:164 +#: tests/genfile.c:169 #, fuzzy msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " @@ -2792,20 +2850,20 @@ msgstr "" "Rith an tORDÚ sonraithe. Is áisiúil an rogha seo le --checkpoint agus ceann " "de --cut, --append, nó --touch" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" "Déan an gníomh sonraithe (féach thíos) nuair a shroichtear seicphointe UIMHIR" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Socraigh an dáta le haghaidh an chéad rogha --touch eile" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Taispeáin na seicphointí a ritheadh agus stádas scortha den ORDÚ" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2813,7 +2871,7 @@ msgstr "" "Gníomhartha rite sioncrónaigh. Ritear iad seo nuair a shroichtear an uimhir " "sheicphointe a sonraíodh leis an rogha --checkpoint" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2821,165 +2879,162 @@ msgstr "" "Teasc COMHAD go dtí an mhéid a sonraíodh leis an rogha --length roimhe seo " "(nó teasc go dtí 0, mura sonraítear an rogha seo)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Iarcheangail MÉID beart le COMHAD. Tógtar MÉID ón rogha --length roimhe seo." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Nuashonraigh na hamanna rochtana/mionathraithe de CHOMHAD" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Rith ORDÚ" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Méid neamhbhailí: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Uimhir as raon: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Méid diúltach: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "theip ar stat(%s)" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "fad iarrtha %lu, fíorfhad %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "ní gannchomhad é an comhad cruthaithe" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Earráid agus uimhir á parsáil i ngar do `%s'" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Formáid anaithnid ar an dáta" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGÓINTÍ...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "ní féidir `%s' a oscailt" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "ní féidir 'seek' a dhéanamh" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "tá carachtar nialasach sa chomhadainm" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "ní féidir gannchomhaid a chruthú ar an ngnáth-aschur; úsáid rogha --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "masc mícheart (i ngar do `%s')" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Réimse anaithnid `%s'" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "ní féidir an t-am a shocrú ar `%s'" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "ní féidir `%s' a oscailt" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, fuzzy, c-format msgid "command failed: %s" msgstr "Theip ar ordú %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "ní féidir `%s' a oscailt" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "D'éirigh leis an ordú\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Theip ar an ordú le stádas %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Stopadh an t-ordú le comhartha %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Stopadh an t-ordú ar chomhartha %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Rinne an t-ordú córdhumpa\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Ordú críochnaithe\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "Tá ainmneacha comhaid de dhíth ar --stat" -#~ msgid "sort names to extract to match archive" -#~ msgstr "sórtáil ainmneacha le cur in oiriúint" - -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "níl an rogha --occurrence ar fáil sa mhód iarrtha" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Ní féidir --listed-incremental a úsáid le --newer" +#~ msgid "same as both -p and -s" +#~ msgstr "ar comhbhrí le -p agus -s araon" -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental" +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "tá an rogha --preserve dulta i léig, bain úsáid as --preserve-permissions " +#~ "--preserve-order ina háit" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: rogha neamhcheadaithe -- %c\n" @@ -3049,6 +3104,9 @@ msgstr "Tá ainmneacha comhaid de dhíth ar --stat" #~ msgid "suppress this warning." #~ msgstr "chun an rabhadh seo a mhúchadh." +#~ msgid "sort names to extract to match archive" +#~ msgstr "sórtáil ainmneacha le cur in oiriúint" + #~ msgid "filter the archive through bzip2" #~ msgstr "scag an chartlann le bzip2" @@ -3067,6 +3125,12 @@ msgstr "Tá ainmneacha comhaid de dhíth ar --stat" #~ msgid "%s: Invalid group" #~ msgstr "%s: Grúpa neamhbhailí" +#~ msgid "--occurrence cannot be used in the requested operation mode" +#~ msgstr "níl an rogha --occurrence ar fáil sa mhód iarrtha" + +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "Ní féidir --listed-incremental a úsáid le --newer" + #~ msgid "Extended header length is out of allowed range" #~ msgstr "Fad an cheanntáisc breisithe as raon" diff --git a/po/gl.gmo b/po/gl.gmo index 25e58cb50508382bdf68c768d6b8b7f36db7f077..e31a75fcbc1ad695c0ff048753fb51b74bad3cd0 100644 GIT binary patch delta 25 gcmZn-ZVleBO`OL}*T7WQ&`iO=(#mx6A@Re40BRZs?f?J) delta 25 gcmZn-ZVleBO`OL>*T7uY$Xvn5*vfeGA@Re40BQjT>Hq)$ diff --git a/po/gl.po b/po/gl.po index a51e82e3..faa0ebe8 100644 --- a/po/gl.po +++ b/po/gl.po @@ -2,12 +2,12 @@ # Copyright (C) 2002 Free Software Foundation, Inc. # Jacobo Tarrío Barreiro , 2002. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: tar 1.13.25\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 2002-03-26 19:17+0100\n" "Last-Translator: Jacobo Tarrío Barreiro \n" "Language-Team: Galician \n" @@ -16,72 +16,72 @@ msgstr "" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argumento %s non válido para %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argumento %s ambiguo para %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Os argumentos válidos son:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr "" -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 #, fuzzy msgid " [OPTION...]" msgstr "" "\n" "Emprego: %s [OPCIÓN]...\n" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Escriba '%s --help' para máis información.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, fuzzy, c-format msgid "Report bugs to %s.\n" msgstr "" @@ -89,121 +89,126 @@ msgstr "" "Informe dos erros no programa a .\n" "Informe dos erros na traducción a .\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Erro do sistema descoñecido" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, fuzzy, c-format msgid "%s: Too many arguments\n" msgstr "%s: a opción \"%s\" precisa dun argumento\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: a opción \"%s\" é ambigua\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: a opción \"-W %s\" é ambigua\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: a opción \"--%s\" non admite un argumento\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: a opción \"%c%s\" non admite un argumento\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: a opción \"%s\" precisa dun argumento\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opción \"--%s\" non recoñecida\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opción \"%c%s\" non recoñecida\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opción non válida -- %c\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: a opción precisa dun argumento -- %c\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: a opción \"-W %s\" é ambigua\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: a opción \"-W %s\" non admite un argumento\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: a opción \"%s\" precisa dun argumento\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "memoria esgotada" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "Non se puido obte-lo directorio actual" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, fuzzy, c-format msgid "failed to return to initial working directory" msgstr "Non se pode armacena-lo directorio de traballo" @@ -229,11 +234,11 @@ msgstr "Non se pode armacena-lo directorio de traballo" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "\"" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "\"" @@ -243,7 +248,7 @@ msgstr "\"" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "" @@ -253,16 +258,16 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -270,11 +275,11 @@ msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" @@ -389,22 +394,22 @@ msgstr "" "Informe dos erros no programa a .\n" "Informe dos erros na traducción a .\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "Renomeando %s a %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" @@ -583,8 +588,8 @@ msgstr "" " --version Amosar información da versión.\n" " --help Amosar esta axuda.\n" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "" @@ -592,10 +597,11 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "" @@ -608,7 +614,7 @@ msgstr "" msgid "cannot open %s" msgstr "Non se puido abrir %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "" @@ -617,112 +623,111 @@ msgstr "" msgid "Garbage command" msgstr "Comando lixo" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Isto non semella un arquivo tar" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "" -#: src/buffer.c:576 +#: src/buffer.c:579 #, fuzzy msgid "Total bytes written" msgstr "Bytes totais escritos: %s (%sB, %sB/s)\n" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Bytes totais escritos: %s (%sB, %sB/s)\n" +msgstr "" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(canalización)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Valor non válido para record_size" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Non se proporcionou o nome do arquivo" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Non se poden verifica-los arquivos da entrada/saída estándar" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Non se poden actualiza-los arquivos comprimidos" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "No comezo da cinta, saíndo agora" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Demasiados erros, saíndo" -#: src/buffer.c:944 +#: src/buffer.c:947 #, fuzzy, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Tamaño do rexistro = %lu bloques" msgstr[1] "Tamaño do rexistro = %lu bloques" -#: src/buffer.c:965 +#: src/buffer.c:968 #, fuzzy, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Bloque desaliñado (%lu bytes) no arquivo" msgstr[1] "Bloque desaliñado (%lu bytes) no arquivo" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Non se pode recuar no arquivo; pode ser ilexible sen -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: contén un número de volume non válido" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Desbordamento no número de volume" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Prepare o volume #%d para %s e prema enter: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Chegouse á fin de ficheiro onde se esperaba unha resposta do usuario" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "AVISO: O arquivo está incompleto" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -734,71 +739,71 @@ msgstr "" " ! Executar outro intérprete de comandos\n" " ? Amosar esta lista\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Non hai novos volumes; saíndo.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, fuzzy, c-format msgid "%s command failed" msgstr "O comando \"%s\" fallou" -#: src/buffer.c:1491 -#, fuzzy, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s non continúa neste volume" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s non continúa neste volume" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, fuzzy, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s non continúa neste volume" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s ten un tamaño incorrecto (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Este volume está fora da secuencia" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "O arquivo non está etiquetado para coincidir con %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "O volume %s non coincide con %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -#: src/buffer.c:1917 +#: src/buffer.c:1949 #, fuzzy msgid "write did not end on a block boundary" msgstr "A fin do ficheiro (EOF) do arquivo %s non se atopa no límite do bloque" @@ -810,20 +815,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "So se puido ler %lu de %lu bytes" msgstr[1] "So se puido ler %lu de %lu bytes" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "O contido é diferente" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Fin de ficheiro inesperado no arquivo" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "O tipo de ficheiro é diferente" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "O modo é diferente" @@ -839,7 +844,7 @@ msgstr "Os gid son diferentes" msgid "Mod time differs" msgstr "A data de modificación é diferente" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "O tamaño é diferente" @@ -848,141 +853,141 @@ msgstr "O tama msgid "Not linked to %s" msgstr "Non ligado a %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "A ligazón simbólica é diferente" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "O número de dispositivo é diferente" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Verificar " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" "%s: Tipo de ficheiro \"%c\" descoñecido; trátase coma un ficheiro normal" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:535 +#: src/compare.c:539 #, fuzzy msgid "Archive contains transformed file names." msgstr "O arquivo contén cabeceiras base-64 obsoletas" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "" -#: src/compare.c:614 +#: src/compare.c:618 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "FALLO NA VERIFICACION: detectáronse %d cabeceiras non válidas" msgstr[1] "FALLO NA VERIFICACION: detectáronse %d cabeceiras non válidas" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "valor %s fóra do rango de %s %s..%s; substituíndo %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "valor %s fóra do rango de %s %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Xerando cabeceiras octais negativas" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, fuzzy, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: ficheiro sen cambios; non se envorca" -#: src/create.c:611 +#: src/create.c:612 #, fuzzy, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: ficheiro sen cambios; non se envorca" -#: src/create.c:638 +#: src/create.c:639 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: ficheiro sen cambios; non se envorca" -#: src/create.c:1084 +#: src/create.c:1102 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: O ficheiro encolleu %s bytes; enchendo con ceros" msgstr[1] "%s: O ficheiro encolleu %s bytes; enchendo con ceros" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: o ficheiro está nun sistema de ficheiros diferente; non se envorca" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 #, fuzzy msgid "contents not dumped" msgstr " (memoria volcada)" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tipo de ficheiro descoñecido; ignórase este ficheiro" -#: src/create.c:1551 +#: src/create.c:1569 #, fuzzy, c-format msgid "Missing links to %s." msgstr " ligazón a %s\n" -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: ficheiro sen cambios; non se envorca" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: o ficheiro é o arquivo; non se envorca" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: o ficheiro cambiou mentres se lía" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: ignórase o socket" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: ignórase a porta" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Pasando á seguinte cabeceira" @@ -1000,56 +1005,56 @@ msgstr "" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: a marca de tempo %s está %lu segundos no futuro" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Inconsistencia inesperada ao crea-lo directorio" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Renomeouse o directorio antes de poder estrae-lo seu estado" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Extraendo os ficheiros contiguos coma ficheiros normais" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Tentando extrae-las ligazóns simbólicas coma ligazóns duras" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Non se pode extraer -- o ficheiro é continuación doutro volume" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 #, fuzzy msgid "Unexpected long name header" msgstr "Fin de ficheiro (EOF) inesperado no arquivo" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "" "%s: Tipo de ficheiro \"%c\" descoñecido, extraéndoo coma ficheiro normal" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Non se puido copiar este ficheiro" -#: src/extract.c:1767 +#: src/extract.c:1814 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: Non se pode renomear a %s" @@ -1100,131 +1105,131 @@ msgstr "N msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Fin de ficheiro (EOF) inesperado no arquivo" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "Non se pode reservar memoria para o factor de bloqueo %d" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, fuzzy, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: o ficheiro está nun sistema de ficheiros diferente; non se envorca" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Borrando %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Non se pode eliminar" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Omitíndoo" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloque %s: ** Bloque de nulos **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloque %s: ** Fin de Ficheiro **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "bloque %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" "Atopáronse espacios na cabeceira onde se esperaba un valor númerico de %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1232,87 +1237,87 @@ msgstr "" "a 2" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "O valor octal do arquivo %.*s está fóra do rango de %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "O arquivo contén cabeceiras base-64 obsoletas" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "A cadea base-64 asinada do arquivo %s está fóra do rango de %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "O valor base-256 do arquivo está fóra do rango de %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "O arquivo contén %.*s onde se esperaba un valor numérico de %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "O valor do arquivo %s está fóra do rango de %s %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " ligazón a %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " Tipo de ficheiro %s descoñecido\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Cabeceira de Volume--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Continúa no byte %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Creando o directorio:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Renomeando %s a %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Non se pode renomear a %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Renomeando %s a %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Ficheiro eliminado antes da súa lectura" @@ -1325,81 +1330,232 @@ msgstr "proceso fillo" msgid "interprocess channel" msgstr "canle interproceso" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Arquivar da entrada estándar" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "" + +#: src/names.c:73 +#, fuzzy +msgid "change to directory DIR" +msgstr "Non se pode cambia-lo directorio de traballo" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" + +#: src/names.c:136 +msgid "ignore case" +msgstr "" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "" + +#: src/names.c:146 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "O volume %s non coincide con %s" + +#: src/names.c:768 #, fuzzy msgid "command line" msgstr "O comando \"%s\" fallou" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Non atopado no arquivo" -#: src/names.c:845 +#: src/names.c:1263 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Non atopado no arquivo" -#: src/names.c:879 +#: src/names.c:1297 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "O arquivo non está etiquetado para coincidir con %s" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "As opcións \"-%s\" e \"-%s\" precisan da entrada estándar" -#: src/tar.c:164 +#: src/tar.c:165 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "%s: Grupo non válido" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Quérense as características de GNU no formato de arquivo incompatible" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:378 +#: src/tar.c:354 #, fuzzy msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " @@ -1420,7 +1576,7 @@ msgstr "" " # dando moitos datos\n" " %s -xf arquivo.tar # Extraer tódolos ficheiros de arquivo.tar.\n" -#: src/tar.c:387 +#: src/tar.c:363 #, fuzzy msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" @@ -1442,80 +1598,88 @@ msgstr "" " nil, existing numera se existen copias de seguridade numeradas\n" " never, simple sempre fai copias de seguridade sinxelas\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "" -#: src/tar.c:425 +#: src/tar.c:401 #, fuzzy msgid "create a new archive" msgstr "Fin de ficheiro inesperado no arquivo" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1523,643 +1687,514 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "" -#: src/tar.c:483 +#: src/tar.c:461 #, fuzzy msgid "remove files after adding them to the archive" msgstr "Borrando a especificación de unidade dos nomes do arquivo" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "" -#: src/tar.c:516 +#: src/tar.c:494 #, fuzzy msgid "extract files to standard output" msgstr "Erro ao gravar na saída estándar" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "" -#: src/tar.c:627 +#: src/tar.c:609 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "Non se pode verifica-los arquivos multi-volume" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:653 +#: src/tar.c:635 #, fuzzy msgid "Archive format selection:" msgstr "Arquivar da entrada estándar" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:684 +#: src/tar.c:666 #, fuzzy msgid "Compression options:" msgstr "Opcións de compresión conflictivas" -#: src/tar.c:686 +#: src/tar.c:668 #, fuzzy msgid "use archive suffix to determine the compression program" msgstr "Non se puido escribir no programa de compresión" -#: src/tar.c:688 +#: src/tar.c:670 #, fuzzy msgid "do not use archive suffix to determine the compression program" msgstr "Non se puido escribir no programa de compresión" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" - -#: src/tar.c:712 -#, fuzzy -msgid "change to directory DIR" -msgstr "Non se pode cambia-lo directorio de traballo" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -msgid "unquote input file or member names (default)" -msgstr "" - -#: src/tar.c:722 -msgid "do not unquote input file or member names" -msgstr "" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "" - -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "Eliminadndo o \"%.*s\" inicial dos nomes dos membros" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "O volume %s non coincide con %s" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2167,307 +2202,325 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:842 +#: src/tar.c:752 #, fuzzy msgid "ask for confirmation for every action" msgstr "Non se puido le-la confirmación do usuario" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, fuzzy, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s: Non se pode saltar a %s" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "Non pode especificar máis dunha das opcións \"-Acdtrux\"" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Opcións de compresión conflictivas" -#: src/tar.c:1079 +#: src/tar.c:1005 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr " Tipo de ficheiro %s descoñecido\n" -#: src/tar.c:1103 +#: src/tar.c:1029 #, fuzzy msgid "Date sample file not found" msgstr "Non se atopou o ficheiro de data" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Substituíndo o formato de data descoñecido %2$s por %1$s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1330 +#: src/tar.c:1253 #, fuzzy msgid "Invalid owner or group ID" msgstr "Propietario non válido" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Factor de bloqueo non válido" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Lonxitude da fita non válida" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Máis dunha data de umbral" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Proporcionouse na opción un modo non válido" -#: src/tar.c:1925 +#: src/tar.c:1800 #, fuzzy msgid "Invalid number" msgstr "Número de inode non válido" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Tamaño de rexistro non válido" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "O tamaño do rexistro debe ser múltiplo de %d." -#: src/tar.c:2042 +#: src/tar.c:1913 #, fuzzy msgid "Invalid number of elements" msgstr "Lonxitude da fita non válida" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2205 +#: src/tar.c:2052 #, fuzzy, c-format msgid "Unknown density: '%c'" msgstr "Patrón descoñecido `%s'" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Opcións `-[0-7][lmh]' non soportadas por *este* tar" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Erro mentres se cerraba %s" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "" -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "%s: Non se pode saltar a %s" +msgid "non-option arguments in %s" +msgstr "argumento %s non válido para %s" -#: src/tar.c:2389 +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "" + +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "A antiga opción \"%c\" precisa dun argumento." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "Varios ficheiros de arquivo requiren a opción \"-M\"" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2515 +#: src/tar.c:2429 #, fuzzy, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: A etiqueta do volume é longa de máis (o límite é %lu bytes)" msgstr[1] "%s: A etiqueta do volume é longa de máis (o límite é %lu bytes)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Non se pode verifica-los arquivos multi-volume" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Non se poden verifica-los arquivos comprimidos" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Non se poden empregar arquivos comprimidos multi-volume" -#: src/tar.c:2543 +#: src/tar.c:2462 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Non se poden actualiza-los arquivos comprimidos" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "De xeito cobarde rexéitase crear un ficheiro baleiro" -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr "As opcións \"-Aru\" son incompatibles con \"-f -\"" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Debe especificar unha das opcións \"-Acdtrux\"" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2524,34 +2577,34 @@ msgstr "" msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, fuzzy, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "O valor do arquivo %s está fóra do rango de %s %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" @@ -2592,255 +2645,256 @@ msgstr "Punto de control de escritura %d" msgid "Read checkpoint %u" msgstr "Punto de control de lectura %d" -#: tests/genfile.c:111 +#: tests/genfile.c:115 #, fuzzy msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" msgstr "Xera-los ficheiros de datos para a suite de probas de GNU tar.\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 #, fuzzy msgid "File creation options:" msgstr "Opcións de compresión conflictivas" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "" -#: tests/genfile.c:131 +#: tests/genfile.c:135 #, fuzzy msgid "Write to file NAME, instead of standard output" msgstr "Erro ao gravar na saída estándar" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" -#: tests/genfile.c:188 +#: tests/genfile.c:193 #, fuzzy msgid "Update the access and modification times of FILE" msgstr "%s: Non se puido cambia-la hora de acceso e modificación" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, fuzzy, c-format msgid "Invalid size: %s" msgstr "Marca de tempo non válida" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, fuzzy, c-format msgid "Number out of allowed range: %s" msgstr "Número de inode fóra de rango" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, fuzzy, c-format msgid "Unknown date format" msgstr "Erro do sistema descoñecido" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, fuzzy, c-format msgid "cannot open `%s'" msgstr "Non se puido abrir %s" -#: tests/genfile.c:434 +#: tests/genfile.c:443 #, fuzzy msgid "cannot seek" msgstr "Non se pode pechar" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr "Patrón descoñecido `%s'" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "Non se puido evalua-lo ficheiro %s" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "Non se puido evalua-lo ficheiro %s" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, fuzzy, c-format msgid "command failed: %s" msgstr "O comando \"%s\" fallou" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "Non se puido abrir %s" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, fuzzy, c-format msgid "Command failed with status %d\n" msgstr "O fillo morreu co sinal %d" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, fuzzy, c-format msgid "--stat requires file names" msgstr "--Nomes de ficheiro alterados--\n" -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Non se pode combinar --listed-incremental con --newer" - #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opción non admitida -- %c\n" @@ -3317,6 +3371,9 @@ msgstr "--Nomes de ficheiro alterados--\n" #~ msgid "Written by John Gilmore and Jay Fenlason." #~ msgstr "Escrito por John Gilmore e Jay Fenlason." +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "Non se pode combinar --listed-incremental con --newer" + #~ msgid "Error exit delayed from previous errors" #~ msgstr "Saída por erro retrasada dos erros anteriores" @@ -3438,9 +3495,6 @@ msgstr "--Nomes de ficheiro alterados--\n" #~ msgid "Not a regular file" #~ msgstr "Non é un ficheiro normal" -#~ msgid "Error while closing %s" -#~ msgstr "Erro mentres se cerraba %s" - #~ msgid "Does not exist" #~ msgstr "Non existe" diff --git a/po/hr.gmo b/po/hr.gmo index fc3de2720717cb1ffadd1392cb174cc54d531701..2073332267a63a33f3412638f89b0b2f30b00641 100644 GIT binary patch delta 22044 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 HKUV%9ppK@h diff --git a/po/hr.po b/po/hr.po index d81de9ca..7e167adc 100644 --- a/po/hr.po +++ b/po/hr.po @@ -1,21 +1,25 @@ # Translation of tar to Croatian. -# Copyright © 2002 Free Software Foundation, Inc. +# Copyright (C) 2016 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. # ... wishes to thank everybody who helped in good faith. # # Well, in 03:12 hrs (for 1st pass)!! who beats me I owe him a pizza ;-) -- TM # +# bp, travanj 2016.: to je originalni TK zadnji prijevod od 2012. godine +# samo su dodani novi msgid-ovi i uređeni fuzirani msgstr-ovi. +# korektura u dogovoru s lingvistima slijedi u dogledno vrijeme. +# # Mirsad Todorovac , 2002. # Tomislav Krznar , 2012. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar 1.26\n" +"Project-Id-Version: tar-1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2012-12-21 00:09+0100\n" -"Last-Translator: Tomislav Krznar \n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-03-30 19:32-0700\n" +"Last-Translator: Božidar Putanec \n" "Language-Team: Croatian \n" "Language: hr\n" "MIME-Version: 1.0\n" @@ -23,48 +27,52 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Gtranslator 2.91.5\n" +"X-Generator: Poedit 1.8.7.1\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-Basepath: ../../Downloads/tar-1.28.90\n" +"X-Poedit-SearchPath-0: gnu\n" +"X-Poedit-SearchPath-1: src\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "neispravan argument %s za %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "višeznačan argument %s za %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Ispravni argumenti su:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: vrijednost %s je manja ili jednaka %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT parametar zahtijeva vrijednost" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT parametar mora biti pozitivan" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Nepoznati ARGP_HELP_FMT parametar" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Smeće u ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -72,143 +80,149 @@ msgstr "" "Obavezni ili opcionalni argumenti dugačkih opcija također su obavezni ili " "opcionalni za odgovarajuće kratke opcije." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Uporaba:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " -msgstr " ili: " +msgstr " ili: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [OPCIJA...]" -#: gnu/argp-help.c:1686 -#, fuzzy, c-format +# promjena svih ” u “; navodnički par „“ +#: gnu/argp-help.c:1688 +#, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" -msgstr "Pokušajte „%s --help” ili „%s --usage” za više informacija.\n" +msgstr "Pokušajte „%s --help“ ili „%s --usage“ za više informacija.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Prijavite greške na %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Nepoznata greška sustava" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "prikaži ovaj popis pomoći" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "prikaži kratke upute za uporabu" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "IME" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "postavi ime programa" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEK" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "zaustavi na SEK sekundi (zadano 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "ispiši inačicu programa" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(GREŠKA PROGRAMA) Nema poznate inačice!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Previše argumenata\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(GREŠKA PROGRAMA) Opcije su trebale biti prepoznate!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "greška pisanja" -#: gnu/getopt.c:549 gnu/getopt.c:578 -#, fuzzy, c-format +#: gnu/getopt.c:575 gnu/getopt.c:604 +#, c-format msgid "%s: option '%s' is ambiguous; possibilities:" -msgstr "%s: opcija „%s” je višeznačna\n" +msgstr "%s: opcija „%s“ je višeznačna; mogućnosti:" + +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: opcija „%s“ je višeznačna\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "%s: opcija „--%s” ne dozvoljava argument\n" +msgstr "%s: opcija „--%s“ ne dozvoljava argument\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "%s: opcija „%c%s” ne dozvoljava argument\n" +msgstr "%s: opcija „%c%s“ ne dozvoljava argument\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" -msgstr "%s: opcija „--%s” zahtijeva argument\n" +msgstr "%s: opcija „--%s“ zahtijeva argument\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "%s: neprepoznata opcija „--%s”\n" +msgstr "%s: neprepoznata opcija „--%s“\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "%s: neprepoznata opcija „%c%s”\n" +msgstr "%s: neprepoznata opcija „%c%s“\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "%s: neispravna opcija -- „%c”\n" +msgstr "%s: neispravna opcija -- „%c“\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: opcija zahtijeva argument -- „%c”\n" +msgstr "%s: opcija zahtijeva argument -- „%c“\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "%s: opcija „-W %s” je višeznačna\n" +msgstr "%s: opcija „-W %s“ je višeznačna\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "%s: opcija „-W %s” ne dozvoljava argument\n" +msgstr "%s: opcija „-W %s“ ne dozvoljava argument\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" -msgstr "%s: opcija „-W %s” zahtijeva argument\n" +msgstr "%s: opcija „-W %s“ zahtijeva argument\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "memorija iscrpljena" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "ne mogu zapisati trenutni radni direktorij" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "nisam se uspio vratiti u početni radni direktorij" @@ -235,13 +249,13 @@ msgstr "nisam se uspio vratiti u početni radni direktorij" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "„" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" -msgstr "”" +msgstr "“" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. @@ -249,7 +263,7 @@ msgstr "”" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[dDyY]" @@ -259,16 +273,16 @@ msgstr "^[dDyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakirao %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Pakirao %s\n" @@ -276,11 +290,11 @@ msgstr "Pakirao %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -418,22 +432,22 @@ msgstr "" "Prijavite greške na %s.\n" "Prijavite greške prijevoda na .\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Prijavite %s greške na %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s početna stranica: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s početna stranica: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Općenita pomoć za korištenje GNU softvera: \n" @@ -513,20 +527,20 @@ msgstr[2] "%s: Zapisao samo %lu od %lu bajtova" #: lib/paxnames.c:140 #, c-format msgid "Removing leading `%s' from member names" -msgstr "Uklanjam početni „%s” iz imena elemenata" +msgstr "Uklanjam početni „%s“ iz imena elemenata" #: lib/paxnames.c:141 #, c-format msgid "Removing leading `%s' from hard link targets" -msgstr "Uklanjam početni „%s” iz odredišta čvrstih veza" +msgstr "Uklanjam početni „%s“ iz odredišta čvrstih veza" #: lib/paxnames.c:154 msgid "Substituting `.' for empty member name" -msgstr "Mijenjam „.” za prazno ime elementa" +msgstr "Mijenjam „.“ za prazno ime elementa" #: lib/paxnames.c:155 msgid "Substituting `.' for empty hard link target" -msgstr "Mijenjam „.” za prazno odredište čvrste veze" +msgstr "Mijenjam „.“ za prazno odredište čvrste veze" #: lib/rtapelib.c:299 #, c-format @@ -550,9 +564,9 @@ msgid "Cannot connect to %s: resolve failed" msgstr "Ne mogu se spojiti na %s: rezolucija nije uspjela" #: lib/rtapelib.c:502 -#, fuzzy, c-format +#, c-format msgid "Cannot redirect files for remote shell" -msgstr "Ne mogu pokrenuti udaljenu ljusku" +msgstr "Ne mogu preusmjeriti datoteke za udaljenu ljusku" #: lib/rtapelib.c:516 #, c-format @@ -605,8 +619,8 @@ msgstr "Neočekivani argumenti" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Upravlja pogonom vrpce, prihvaćajući naredbe udaljenog procesa" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "BROJ" @@ -614,10 +628,11 @@ msgstr "BROJ" msgid "set debug level" msgstr "postavi razinu debugiranja" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "DATOTEKA" @@ -630,7 +645,7 @@ msgstr "postavi ime datoteke izlaza za debugiranje" msgid "cannot open %s" msgstr "ne mogu otvoriti %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "previše argumenata" @@ -639,69 +654,71 @@ msgstr "previše argumenata" msgid "Garbage command" msgstr "Naredba smeća" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Ovo ne izgleda kao tar arhiva" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Ukupno pročitano bajtova" # FIXME -- ovo neće raditi ako je prevedeno -- Denis? -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Ukupno zapisano bajtova" # FIXME -- ovo neće raditi ako je prevedeno -- Denis? -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Ukupno izbrisano bajtova: %s\n" +msgstr "Izbrisano ukupno bajtova" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(cjevovod)" -#: src/buffer.c:680 +# Hrvatski jezični portal +# otkazati > odbiti izvršiti naredbu +# odbijati > ne pristati +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "Čitanje sadržaja arhive s terminala je odbijeno (nedostaje -f opcija?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "Ispis sadržaja arhive na terminal je odbijeno (nedostaje -f opcija?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Neispravna vrijednost za record_size" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Nije zadano ime arhive" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Ne mogu provjeriti stdin/stdout arhivu" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Arhiva je komprimirana. Koristite opciju %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Ne mogu ažurirati komprimirane arhive" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Početak trake, završavam" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Previše grešaka, završavam" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -709,7 +726,7 @@ msgstr[0] "Veličina zapisa = %lu blok" msgstr[1] "Veličina sloga = %lu bloka" msgstr[2] "Veličina sloga = %lu blokova" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -717,37 +734,37 @@ msgstr[0] "Neporavnat blok (%lu bajt) unutar arhive" msgstr[1] "Neporavnat blok (%lu bajta) unutar arhive" msgstr[2] "Neporavnat blok (%lu bajtova) unutar arhive" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Ne mogu se pomicati unatrag unutar arhive, može biti nečitljiva bez -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek nije stao na granici zapisa" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: sadrži neispravan broj dijela arhive" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Preljev broja dijela arhive" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Pripremite dio arhive #%d za %s i pritisnite [RETURN]: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Pronađen EOF gdje sam očekivao odgovor korisnika" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "UPOZORENJE: Arhiva je nepotpuna" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -759,67 +776,67 @@ msgstr "" " q Prekini tar\n" " y ili novi redak Nastavi rad\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Pokreni podljusku\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Ispiši ovaj popis\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Nema novog dijela arhive, završavam.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Ime datoteke nije navedeno. Pokušajte ponovo.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Neispravan unos. Unesite ? za pomoć.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "naredba %s nije uspjela" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "%s nije nastavljen na ovom dijelu arhive" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s je možda nastavljen na ovom dijelu arhive: zaglavlje sadrži skraćeno ime" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "%s nije nastavljen na ovom dijelu arhive" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s je pogrešne veličine (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Ovaj dio arhive je izvan niza (%s - %s != %s)" # FIXME -- clean against source! (TM) -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Arhiva nije označena da odgovara %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Dio arhive %s ne odgovara %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -827,7 +844,7 @@ msgstr "" "%s: ime datoteke je predugačko za spremanje u GNU višedjelnom zaglavlju, " "skraćujem" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "pisanje nije završilo na granici bloka" @@ -839,20 +856,20 @@ msgstr[0] "Pročitao samo %lu od %lu bajta" msgstr[1] "Pročitao samo %lu od %lu bajta" msgstr[2] "Pročitao samo %lu od %lu bajtova" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Sadržaji se razlikuju" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Neočekivani EOF u arhivi" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Vrste datoteka se razlikuju" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Mod se razlikuje" @@ -868,7 +885,7 @@ msgstr "Gid se razlikuje" msgid "Mod time differs" msgstr "Vrijeme uređivanja se razlikuje" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Veličina se razlikuje" @@ -877,38 +894,37 @@ msgstr "Veličina se razlikuje" msgid "Not linked to %s" msgstr "Nije povezan na %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Simbolička veza se razlikuje" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Broj uređaja se razlikuje" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Provjeri " -#: src/compare.c:473 -#, fuzzy, c-format +#: src/compare.c:477 +#, c-format msgid "%s: Unknown file type '%c', diffed as normal file" -msgstr "" -"%s: Nepoznata vrsta datoteke „%c”, izvršen diff kao na normalnoj datoteci" +msgstr "%s: Nepoznata vrsta datoteke „%c“, kompariran kao normalna datoteka" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Arhiva sadrži imena datoteka s uklonjenim početnim prefiksima." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Arhiva sadrži pretvorena imena datoteka." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Provjera možda neće uspjeti pronaći izvorne datoteke." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" @@ -916,47 +932,47 @@ msgstr[0] "NEUSPJELA PROVJERA: otkriveno %d neispravno zaglavlje" msgstr[1] "NEUSPJELA PROVJERA: otkrivena %d neispravna zaglavlja" msgstr[2] "NEUSPJELA PROVJERA: otkriveno %d neispravnih zaglavlja" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Izolirani nulti blok na %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: sadrži oznaku direktorija spremnika %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "vrijednost %s izvan %s raspona %s..%s; mijenjam sa %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "vrijednost %s izvan %s raspona %s..%s" # FIXME -- find `padež' here from source -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Stvaram negativna oktalna zaglavlja" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" -msgstr "%s: ime datoteke je predugačko (najviše %d); ne arhiviram" +msgstr "%s: ime datoteke je predugo (najviše %d); ne arhiviram" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: ime datoteke je predugačko (ne može se razdvojiti); ne arhiviram" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" -msgstr "%s: ime veze je predugačko; ne arhiviram" +msgstr "%s: ime veze je predugo; ne arhiviram" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -964,55 +980,55 @@ msgstr[0] "%s: Datoteka skraćena za %s bajt; nadopunjeno nulama" msgstr[1] "%s: Datoteka skraćena za %s bajta; nadopunjeno nulama" msgstr[2] "%s: Datoteka skraćena za %s bajtova; nadopunjeno nulama" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: datoteka je na drugom datotečnom sustavu; ne arhiviram" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "sadržaj nije arhiviran" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Nepoznata vrsta datoteke; datoteka zanemarena" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Nedostaju veze na %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: datoteka nepromijenjena; ne arhiviram" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: datoteka je arhiva; ne arhiviram" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "direktorij nije arhiviran" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: datoteka se promijenila za vrijeme čitanja" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: utičnica zanemarena" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: vrata zanemarena" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Preskačem na sljedeće zaglavlje" @@ -1030,55 +1046,55 @@ msgstr "%s: nevjerojatno stara vremenska oznaka %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: vremenska oznaka %s je %s sekundi u budućnosti" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Neočekivana nekonzistentnost pri izradi direktorija" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" -msgstr "" +msgstr "%s: propuštanje postojeće datoteke" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Direktoriju promijenjeno ime prije ekstrakcije njegovog stanja" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Ekstrahiram neprekinute datoteke kao obične datoteke" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Pokušavam ekstrakciju simboličkih veza kao čvrstih veza" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "" "%s: Ne mogu ekstrahirati -- datoteka se nastavlja iz drugog dijela arhive" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Neočekivano zaglavlje dugačkog imena" -#: src/extract.c:1542 -#, fuzzy, c-format +#: src/extract.c:1587 +#, c-format msgid "%s: Unknown file type '%c', extracted as normal file" -msgstr "%s: Nepoznata vrsta datoteke „%c”, ekstrahirana kao normalna datoteka" +msgstr "%s: Nepoznata vrsta datoteke „%c“, ekstrahirana kao normalna datoteka" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Trenutni %s je noviji ili jednako star" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Nisam uspio napraviti kopiju ove datoteke" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Ne mogu preimenovati %s u %s" @@ -1094,9 +1110,9 @@ msgid "%s: Directory is new" msgstr "%s: Novi direktorij" #: src/incremen.c:566 -#, fuzzy, c-format +#, c-format msgid "%s: directory is on a different filesystem; not dumped" -msgstr "%s: datoteka je na drugom datotečnom sustavu; ne arhiviram" +msgstr "%s: direktorij je na drugom datotečnom sustavu; ne arhiviram" #: src/incremen.c:587 #, c-format @@ -1108,7 +1124,6 @@ msgid "Invalid time stamp" msgstr "Neispravna vremenska oznaka" #: src/incremen.c:1047 -#, fuzzy msgid "Invalid modification time" msgstr "Neispravno vrijeme uređivanja (sekunde)" @@ -1127,131 +1142,135 @@ msgstr "Neispravan broj indeksnog čvora (inode)" #: src/incremen.c:1137 #, c-format msgid "%s: byte %s: %s %.*s... too long" -msgstr "" +msgstr "%s: bajt %s: %s %.*s... predug" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Neočekivani EOF u datoteci snimke stanja" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" -msgstr "" +msgstr "%s: bajt %s: %s %s praćen s neispravnim bajtom 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" +"%s: bajt %s: (valjan raspon %s..%s)\n" +"\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" -msgstr "" +msgstr "%s: bajt %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" -msgstr "" +msgstr "%s: bajt %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Nedostaje kraj zapisa" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Neispravan inkrementalni oblik datoteke" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Nepodržana inačica inkrementalnog oblika: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" -msgstr "Izobličen direktorij za ispis: očekujem „%c”, pronašao %#3o" +msgstr "Izobličen direktorij za ispis: očekujem „%c“, pronašao %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" -msgstr "Izobličen direktorij za ispis: „X” udvostručen" +msgstr "Izobličen direktorij za ispis: „X“ udvostručen" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" -msgstr "Izobličen direktorij za ispis: prazno ime u „R”" +msgstr "Izobličen direktorij za ispis: prazno ime u „R“" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" -msgstr "Izobličen direktorij za ispis: prije „T” ne dolazi „R”" +# bp: Malformed > Nepravilan +# prije „T“ ne dolazi „R“ > „T“ ne prethodi „R“ +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" +msgstr "Nepravilan direktorij za ispis: „T“ ne prethodi „R“" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" -msgstr "Izobličen direktorij za ispis: prazno ime u „T”" +msgstr "Nepravilan direktorij za ispis: prazno ime u „T“" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" -msgstr "Izobličen direktorij za ispis: očekujem „%c”, pronašao kraj podataka" +msgstr "Nepravilan direktorij za ispis: očekujem „%c“, pronašao kraj podataka" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" -msgstr "Izobličen direktorij za ispis: „X” se uopće ne koristi" +msgstr "Nepravilan direktorij za ispis: „X“ se uopće ne koristi" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Ne mogu napraviti privremeni direktorij korištenjem predloška %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Ne uklanjam direktorij: ne mogu izvršiti stat" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: datoteka je na drugom uređaju: ne uklanjam" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Brišem %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Ne mogu ukloniti" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Izostavljam" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok ispunjen NUL-znakovima **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Kraj datoteke **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Praznine u zaglavlju gdje se očekuje numerička %s vrijednost" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1259,90 +1278,90 @@ msgstr "" "komplement" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Oktalna vrijednost iz arhive %.*s je izvan %s granica" # FIXME -- obsolescent -- TM -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Arhiva sadrži zastarjela base-64 zaglavlja" # FIXME?? -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Base-64 vrijednost s predznakom %s iz arhive je izvan %s granica" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Base-256 vrijednost iz arhive je izvan %s granica" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arhiva sadrži %.*s gdje je očekivana numerička %s vrijednost" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Vrijednost %s iz arhive je izvan %s raspona %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " veza na %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " nepoznata vrsta datoteke %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Dugačka veza--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Dugačko ime--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Zaglavlje dijela arhive--\n" # FIXME -- clarify against source -- TM -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Nastavljeno na bajtu %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Stvaram direktorij:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Mijenjam ime %s u %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Ne mogu preimenovati u %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Mijenjam ime %s natrag u %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Datoteka uklonjena prije nego što smo ju pročitali" @@ -1355,31 +1374,203 @@ msgstr "proces dijete" msgid "interprocess channel" msgstr "međuprocesni kanal" -#: src/names.c:360 -#, fuzzy +# bp: možda Izbor imena lokalne datoteke +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "Odabir lokalnih datoteka:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"dodaj navedenu DATOTEKU u arhivu (korisno ako njeno ime počinje crticom)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "DIR" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "promijeni u direktorij DIR" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "otkrij imena za otpakiranje ili napravi iz DATOTEKE" + +# bp: čita s NULL završena imena.... +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T čita praznim znakom završena imena, implicira --verbatim-files-from" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "onemogući utjecaj prethodne opcije --null" + +# original TK: ukloni navode imena datoteka pročitanih s -T (zadano) +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "ukloni navodnike s imena datoteka ili članova (zadano)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "ne uklanjaj navodnike s imena datoteka ili članova" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "-T doslovno čita nazive datoteka (ne gleda na opcije)" + +# bp: novi prijevod, stari fuziran. +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "-T tretira nazive datoteka koji počinju s „-“ kao opcije (zadano)" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "UZORAK" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "izostavi datoteke koje odgovaraju UZORKU" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "izostavi uzorke navedene u DATOTECI" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"izostavi sadržaj direktorija koji sadrže CACHEDIR.TAG, osim datoteke oznake" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "izostavi sve unutar direktorija koji sadrže CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "izostavi direktorije koji sadrže CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "izostavi sadržaj direktorija koji sadrži DATOTEKU osim nje same" + +# bp: novi msgid; možda treba FILE ne prevađati? +# TK: FILE mijenja u DATOTEKA +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" +"čitaj iz DATOTEKE uzorke izuzeća za svaki direktorij, ako DATOTEKA postoji" + +# bp: novi msgid +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"čitaj iz DATOTEKE uzorke izuzeća za svaki direktorij i njegove " +"poddirektorije, ako DATOTEKA postoji" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "izostavi sve iz direktorija koji sadrže DATOTEKU" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "izostavi direktorije koji sadrže DATOTEKU" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "izostavi sustavske direktorije kontrole inačice" + +# bp: novi msgid +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "čitaj uzorke izuzeća iz VCS „ignore“ datoteka" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "izostavi sigurnosne kopije i datoteke zaključavanja" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "rekurzivno uđi u direktorije (zadano)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "izbjegavaj automatsko spuštanje u direktorije" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Opcije podudaranja imena datoteka (utječe na uzorke za isključivanje i " +"uključivanje):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "uzorci podudaraju početak naziva datoteke" + +# bp: novi msgid +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "uzorci podudaraju iza svakog „/“ (zadano za izuzeća)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "zanemari veličinu slova" + +# bp: novi msgid +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "podudaranje razlikuje mala/velika slova (zadano)" + +# bp: novi msgid +# u wget.po naišao sam da je „wildcard“ višeznačnik, pa ga ovdje koristim. +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "upotrijebi višeznačnike (zadano za izuzeća)" + +# bp: novi msgid +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "doslovno podudaranje znakovnog niza (string)" + +# bp: novi msgid +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "višeznačnici podudaraju „/“ (zadano za izuzeća)" + +# originalno TK: Dio arhive %s ne odgovara %s +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "višeznačnici ne podudaraju „/“" + +# original TK naredba %s nije uspjela +#: src/names.c:768 msgid "command line" -msgstr "naredba %s nije uspjela" +msgstr "naredbeni redak" -#: src/names.c:378 -#, fuzzy, c-format +# original TK %s: popis datoteka je već pročitan +#: src/names.c:786 +#, c-format msgid "%s: file list requested from %s already read from %s" -msgstr "%s: popis datoteka je već pročitan" +msgstr "%s: zatražen popis datoteka od %s je već pročitan %s" -#: src/names.c:448 src/checkpoint.c:274 -#, fuzzy, c-format +# original TK ne mogu postaviti vrijeme na „%s“ +#: src/names.c:867 src/checkpoint.c:274 +#, c-format msgid "cannot split string '%s': %s" -msgstr "ne mogu postaviti vrijeme na „%s”" +msgstr "niz (string) „%s“: %s ne može se rastavit" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: pročitano ime datoteke sadrži prazan znak" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Znakovi za uspoređivanje uzoraka korišteni u imenima datoteka" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1387,57 +1578,56 @@ msgstr "" "Koristite --wildcards za omogućavanje uspoređivanja uzoraka ili --no-" "wildcards za potiskivanje ovog upozorenja" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Nije pronađen u arhivi" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Potrebna pojava nije pronađen u arhivi" # FIXME -- clean against source! (TM) -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Oznaka arhive ne odgovara" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Korištenje opcije -C u popisu datoteka nije dozvoljeno uz --listed-" "incremental" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Samo jedna opcija -C je dozvoljena uz --listed-incremental" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Opcije „-%s” i „-%s” obje zahtijevaju standardni ulaz" +msgstr "Opcije „-%s“ i „-%s“ obje zahtijevaju standardni ulaz" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Neispravan oblik arhive" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "GNU mogućnosti zatražene na nekompatibilnom obliku arhive" -#: src/tar.c:264 -#, fuzzy, c-format +#: src/tar.c:265 +#, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -"Nepoznat stil navođenja „%s”. Pokušajte „%s --quoting-style=help” za prikaz " +"Nepoznat stil navođenja „%s“. Pokušajte „%s --quoting-style=help“ za prikaz " "popisa." -#: src/tar.c:378 -#, fuzzy +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1447,7 +1637,7 @@ msgid "" " tar -tvf archive.tar # List all files in archive.tar verbosely.\n" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -"GNU „tar” sprema više datoteka u arhivu na vrpci ili disku i može vratiti " +"GNU „tar“ sprema više datoteka u arhivu na vrpci ili disku i može vratiti " "pojedinačne datoteke iz arhive.\n" "\n" "Primjeri:\n" @@ -1455,8 +1645,7 @@ msgstr "" " %s -tvf arhiva.tar # Opširno ispiši sve datoteke iz arhiva.tar.\n" " %s -xf arhiva.tar # Ekstrahiraj sve datoteke iz arhiva.tar.\n" -#: src/tar.c:387 -#, fuzzy +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1478,80 +1667,90 @@ msgstr "" " inače jednostavne\n" " never, simple uvijek radi jednostavne sigurnosne kopije\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Glavni način rada:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "ispiši sadržaj arhive" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "ekstrahiraj datoteke iz arhive" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "napravi novu arhivu" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "nađi razlike između arhive i datotečnog sustava" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "dodaj datoteke na kraj arhive" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "dodaj samo datoteke novije od kopije u arhivi" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "dodaj tar datoteke u arhivu" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "izbriši iz arhive (ne na magnetskim vrpcama!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "provjeri oznaku dijela arhive i izađi" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Modifikatori operacija:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "učinkovito upravljaj raštrkanim datotekama" -#: src/tar.c:448 +# bp: novi msgid +#: src/tar.c:424 +msgid "TYPE" +msgstr "Metoda" + +# bp: novi msgid +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "metoda za otkrivanje rupa" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "GLAVNI[.SPOREDNI]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "postavi inačicu raštrkanog oblika za korištenje (podrazumijeva --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "upravljaj inkrementalnim sigurnosnim kopijama starog GNU oblika" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "upravljaj inkrementalnim sigurnosnim kopijama novog GNU oblika" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "razina ispisa za stvorene ispisane-inkrementalne arhive" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "ne izlazi s kodom različitim od nule u slučaju nečitljivih datoteka" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1563,138 +1762,155 @@ msgstr "" "--list te kad je popis datoteka naveden u naredbenom retku ili uz opciju -T. " "BROJ je uobičajeno 1." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "arhiva se može pretraživati" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "arhiva se ne može pretraživati" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "ne provjeravaj brojeve uređaja pri stvaranju inkrementalnih arhiva" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "provjeri brojeve uređaja pri stvaranju inkrementalnih arhiva (zadano)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Upravljanje prepisivanjem:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "pokušaj provjeriti arhivu nakon pisanja u nju" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "ukloni datoteke nakon dodavanja u arhivu" -#: src/tar.c:485 -#, fuzzy +# bp: fuzirano +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" -msgstr "ne zamjenjuj postojeće datoteke pri ekstrakciji" +msgstr "" +"ne zamjenjuj postojeće datoteke pri ekstrakciji, tretiraj ih kao pogreške" -#: src/tar.c:488 -#, fuzzy +# bp: fuzirano, dodano +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" -msgstr "ne zamjenjuj postojeće datoteke pri ekstrakciji" +msgstr "ne zamjenjuj postojeće datoteke pri ekstrakciji, tiho ih preskoči" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "ne zamjenjuj postojeće datoteke novije od kopija u arhivi" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "prepiši postojeće datoteke pri ekstrakciji" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "ukloni svaku datoteku prije ekstrakcije preko nje" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "isprazni hijerarhije prije ekstrahiranja direktorija" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "očuvaj metapodatke postojećih direktorija" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "prepiši metapodatke postojećih direktorija pri ekstrakciji (zadano)" -#: src/tar.c:504 -#, fuzzy +# original TK prepiši postojeće datoteke pri ekstrakciji +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" -msgstr "prepiši postojeće datoteke pri ekstrakciji" +msgstr "očuvaj postojeće simboličke veze na direktorije prilikom ekstrahiranja" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "DIR" - -#: src/tar.c:507 +# bp: novi msgid +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" +"napravi poddirektorij radi izbjegavanja gubitka datoteka prilikom " +"ekstrahiranja" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Odaberi izlazni tok podataka:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "ekstrahiraj datoteke na standardni izlaz" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "NAREDBA" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "proslijedi ekstrahirane datoteke drugom programu kroz cjevovod" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "zanemari izlazne kodove djece" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "postupaj s izlaznim kodovima djece različitim od nule kao s greškama" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Upravljanje svojstvima datoteka:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "prisilno postavi IME kao vlasnika dodanih datoteka" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "prisilno postavi IME kao grupu dodanih datoteka" -#: src/tar.c:533 src/tar.c:768 +# bp: novi msgid +# FILE u DATOTEKA, jer je TK to radio ranije +# bp: možda je bolje ne prevoditi FILE +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "upotrijebi DATOTEKU za usporedbu UID-ova vlasnika datoteke i imena" + +# bp: novi msgid +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "upotrijebi DATOTEKU za usporedbu GID-ova i imena" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATUM-ILI-DATOTEKA" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "postavi mtime dodanih datoteka iz DATUM-ILI-DATOTEKA" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "PROMJENE" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "prisili (simboličke) PROMJENE moda dodanih datoteka" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METODA" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1704,11 +1920,11 @@ msgstr "" "čitanja (METODA='replace'; zadano), ili ne postavljanjem vremena " "(METODA='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "ne ekstrahiraj vrijeme uređivanja datoteke" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1716,19 +1932,19 @@ msgstr "" "pokušaj ekstrahirati datoteke s istim vlasništvom kakvo je u arhivi (zadano " "za administratora)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "otpakiraj datoteke kao trenutni korisnik (zadano za obične korisnike)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "uvijek koristi brojke za imena korisnika/grupe" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "izdvoji informacije o dozvolama datoteka (zadano za administratora)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1736,16 +1952,13 @@ msgstr "" "primijeni korisnički umask pri ekstrakciji dozvola iz arhive (zadano za " "obične korisnike)" -#: src/tar.c:557 +# bp: novi msgid +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" -msgstr "" +msgstr "članovi argument su navedeni u istom poretku kao datoteke u arhivi" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "isto kao -p i -s zajedno" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1753,189 +1966,193 @@ msgstr "" "odgodi postavljanje vremena uređivanja i dozvola ekstrahiranih direktorija " "do kraja ekstrakcije" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "poništi utjecaj opcije --delay-directory-restore" -#: src/tar.c:567 +# bp: novi msgid +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "POREDAK" -#: src/tar.c:571 +# bp: novi msgid +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "sortiranje direktorija: none (zadano) ili „name“" -#: src/tar.c:578 -#, fuzzy +# bp: fuzirano; dodano +#: src/tar.c:560 msgid "Handling of extended file attributes:" -msgstr "Upravljanje svojstvima datoteka:" +msgstr "Upravljanje proširenim svojstvima datoteka:" -#: src/tar.c:581 +# bp: novi msgid +#: src/tar.c:563 msgid "Enable extended attributes support" -msgstr "" +msgstr "Omogući podršku za proširenje svojstava datoteka" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" -msgstr "" +msgstr "Onemogući podršku za proširenje svojstava datoteka" -#: src/tar.c:584 src/tar.c:586 +# bp: sljedećih sedam novih mgsgid-ova +#: src/tar.c:566 src/tar.c:568 msgid "MASK" -msgstr "" +msgstr "MASKA" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" -msgstr "" +msgstr "specificiraj uključenje uzorak za xattr ključeve" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" -msgstr "" +msgstr "specificiraj izuzeće uzorak za xattr ključeve" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" -msgstr "" +msgstr "Omogući podršku za SELinux kontekst" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" -msgstr "" +msgstr "Onemogući podršku za SELinux kontekst" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" -msgstr "" +msgstr "Omogući podršku za POSIX ACLs" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" -msgstr "" +msgstr "Onemogući podršku za POSIX ACLs" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Odabir i zamjena uređaja:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARHIVA" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "koristi datoteku ili uređaj ARHIVA" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "datoteka arhive je lokalna iako sadrži dvotočje" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "koristi navedenu rmt NAREDBU umjesto rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "koristi udaljenu NAREDBU umjesto rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "navedi uređaj i gustoću" # FIXME -- volume -- find more suitable (ask others) -- TM -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "napravi/ispiši/ekstrahiraj višedjelnu arhivu" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "promijeni vrpcu nakon zapisivanja BROJ x 1024 bajtova" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "pokreni skriptu na kraju svake vrpce (podrazumijeva -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "koristi/ažuriraj broj dijela arhive u DATOTECI" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Podjela uređaja u blokove:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOKOVI" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOKOVI x 512 bajtova po zapisu" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "BROJ bajtova po zapisu, višekratnik 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "zanemari blokove u arhivi pretvorene u nulu (znači EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "ponovo napravi blokove pri čitanju (za 4.2BSD cjevovode)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Odabir oblika arhive:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "OBLIK" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "stvori arhivu zadanog oblika" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "OBLIK je jedan od sljedećih:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "stari V7 tar oblik" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "GNU oblik za tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x oblik" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) oblik" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) oblik" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "isto kao pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "isto kao --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "isto kao --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "ključna_riječ[[:]=vrijednost][,ključna_riječ[[:]=vrijednost]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "kontrolne pax ključne riječi" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEKST" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1943,280 +2160,139 @@ msgstr "" "Napravi arhivu s imenom dijela arhive TEKST. Pri ispisu/otpakiranju koristi " "TEKST za traženje uzorka za ime dijela arhive." -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Opcije kompresije:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "koristi sufiks arhive za određivanje programa za kompresiju" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "ne koristi sufiks arhive za određivanje programa za kompresiju" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROGRAM" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "filtriraj kroz PROGRAM (mora prihvaćati -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Odabir lokalnih datoteka:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"dodaj navedenu DATOTEKU u arhivu (korisno ako njeno ime počinje crticom)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "promijeni u direktorij DIR" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "otkrij imena za otpakiranje ili napravi iz DATOTEKE" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T čita praznim znakom završena imena, onemogućuje -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "onemogući utjecaj prethodne opcije --null" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "ukloni navode imena datoteka pročitanih s -T (zadano)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "ne uklanjaj navode imena datoteka pročitanih s -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "UZORAK" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "izostavi datoteke koje odgovaraju UZORKU" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "izostavi uzorke navedene u DATOTECI" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"izostavi sadržaj direktorija koji sadrže CACHEDIR.TAG, osim datoteke oznake" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "izostavi sve unutar direktorija koji sadrže CACHEDIR.TAG" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "izostavi direktorije koji sadrže CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "izostavi sadržaj direktorija koji sadrži DATOTEKU osim nje same" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "izostavi sve iz direktorija koji sadrže DATOTEKU" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "izostavi direktorije koji sadrže DATOTEKU" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "izostavi sustavske direktorije kontrole inačice" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "izostavi sigurnosne kopije i datoteke zaključavanja" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "izbjegavaj automatsko spuštanje u direktorije" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "ostani u lokalnom datotečnom sustavu pri stvaranju arhive" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "rekurzivno uđi u direktorije (zadano)" - -#: src/tar.c:761 -#, fuzzy +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" -msgstr "ne uklanjaj početne „/” iz imena datoteka" +msgstr "ne uklanjaj početne „/“ iz imena datoteka" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "slijedi simboličke veze; arhiviraj i ispiši datoteke na koje pokazuju" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "slijedi čvrste veze; arhiviraj i ispiši datoteke na koje se odnose" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "IME-ELEMENTA" -#: src/tar.c:767 -#, fuzzy +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "započni s elementom IME-ELEMENTA u arhivi" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "spremi samo datoteke novije od DATUM-ILI-DATOTEKA" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATUM" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "usporedi datum i vrijeme samo ako su podaci promijenjeni" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "KONTROLA" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "napravi sigurnosnu kopiju prije uklanjanja, odaberi KONTROLU inačice" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "NIZ" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -"napravi sigurnosnu kopiju prije uklanjanja, zamijeni uobičajeni sufiks („~” " +"napravi sigurnosnu kopiju prije uklanjanja, zamijeni uobičajeni sufiks („~“ " "osim ako je promijenjen varijablom okoline SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Pretvaranja imena datoteka:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "ukloni BROJ vodećih komponenti iz imena datoteka pri otpakiranju" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "IZRAZ" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "koristi sed zamjenu IZRAZA za promjenu imena datoteka" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Opcije podudaranja imena datoteka (utječe na uzorke za isključivanje i " -"uključivanje):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "zanemari veličinu slova" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "Dio arhive %s ne odgovara %s" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Informativni izlaz:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "opširno ispiši obrađene datoteke" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "KLJUČNA_RIJEČ" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "kontrola upozorenja" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "prikaži poruke o napretku svakih BROJ zapisa (zadano 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "RADNJA" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "izvrši RADNJU na svakoj kontrolnoj točki" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "ispiši poruku ako nisu ispisane sve veze" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2228,35 +2304,36 @@ msgstr "" "SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2. Također se prihvaćaju imena bez prefiksa " "SIG." -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "ispiši vremena uređivanja datoteka u UTC-u" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "ispiši potpunu rezoluciju vremena datoteke" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "pošalji opširan izlaz u DATOTEKU" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "prikaži broj bloka u arhivi uz svaku poruku" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "traži potvrdu svake radnje" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "prikaži zadane postavke za tar" -#: src/tar.c:847 +# bp: novi msgid +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" -msgstr "" +msgstr "prikaži valjane raspone za snapshot-datoteke polja" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2264,32 +2341,32 @@ msgstr "" "pri ispisu ili ekstrakciji, ispiši svaki direktorij koji ne odgovara " "uvjetima pretraživanja" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "prikaži imena datoteke ili arhive nakon pretvaranja" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STIL" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "postavi stil navođenja imena; pogledajte niže ispravne vrijednosti STILA" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "dodatno navedi znakove iz NIZA" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "onemogući navođenje za znakove iz NIZA" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Opcije kompatibilnosti:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2297,56 +2374,65 @@ msgstr "" "pri stvaranju, isto kao --old-archive; pri ekstrahiranju, isto kao --no-same-" "owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Ostale opcije:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "onemogući korištenje nekih potencijalno opasnih opcija" -#: src/tar.c:1010 -#, fuzzy +# bp: fuziran, dotjeran +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s: ne može se koristiti s %s" + +# bp: fuziran, dodana +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "" -"Ne možete navesti više od jedne od opcija „-Acdtrux” ili „--test-label”" +"Ne možete navesti više od jedne od opcija „-Acdtrux“, „--delete“ ili „--test-" +"label“" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Konfliktne opcije komprimiranja" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Nepoznato ime signala: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Datoteka s primjerom datuma nije pronađena" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Mijenjam %s za nepoznat oblik datuma %s" -#: src/tar.c:1140 -#, fuzzy, c-format +#: src/tar.c:1066 +#, c-format msgid "Option %s: Treating date '%s' as %s" -msgstr "Opcija %s: Postupam s datumom „%s” kao %s" +msgstr "Opcija %s: Postupam s datumom „%s“ kao %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "filtriraj arhivu kroz %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Ispravni argumenti opcije --quoting-style su:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2354,117 +2440,125 @@ msgstr "" "\n" "Uobičajeno ponašanje *ovog* programa tar je:\n" -#: src/tar.c:1330 -#, fuzzy +# bp: fuzirano, dodano +#: src/tar.c:1253 msgid "Invalid owner or group ID" -msgstr "Neispravan vlasnik" +msgstr "Neispravan vlasnik ili grupni ID" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Neispravan faktor pakiranja u blokove" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Neispravna duljina vrpce" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Neispravna vrijednost inkrementalne razine" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Više od jednog datuma praga" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Neispravna vrijednost raštrkane inačice" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' nije podržan na ovoj platformi" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "vrijednost --checkpoint nije cjelobrojna" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Neispravan mod naveden opcijom" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Neispravan broj" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"Opcija --preserve je zastarjela, koristite --preserve-permissions --preserve-" -"order umjesto nje" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Pogrešna veličina zapisa" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Veličina sloga mora biti višekratnik %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Neispravan broj elemenata" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Dozvoljena je samo jedna opcija --to-command" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Izobličen argument gustoće: %s" -#: src/tar.c:2205 -#, fuzzy, c-format +#: src/tar.c:2052 +#, c-format msgid "Unknown density: '%c'" -msgstr "Nepoznata gustoća: „%c”" +msgstr "Nepoznata gustoća: „%c“" -#: src/tar.c:2222 -#, fuzzy, c-format +#: src/tar.c:2069 +#, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" -msgstr "*Ovaj* tar ne podržava opcije „-[0-7][lmh]”" +msgstr "*Ovaj* tar ne podržava opcije „-[0-7][lmh]“" + +# bp: novi msgid +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: mjesto greške" + +# bp: fuzirano, dotjerano +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "greška u analiziranju „%s“" -#: src/tar.c:2235 +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[DATOTEKA]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Uzorak %s se ne može koristiti" +# bp: fuzirano, popravljeno +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "neispravan argument u %s" + +# bp: novi msgid +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "ne mogu rastaviti TAR_OPTIONS: %s" -#: src/tar.c:2389 -#, fuzzy, c-format +#: src/tar.c:2293 +#, c-format msgid "Old option '%c' requires an argument." -msgstr "Stara opcija „%c” zahtijeva argument." +msgstr "Stara opcija „%c“ zahtijeva argument." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence nema smisla bez popisa datoteka" -#: src/tar.c:2490 -#, fuzzy +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" -msgstr "Višedjelne arhive zahtijevaju opciju „-M”" +msgstr "Višedjelne arhive zahtijevaju opciju „-M“" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--level nema smisla bez --listed-incremental" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2472,75 +2566,83 @@ msgstr[0] "%s: Oznaka dijela arhive je predugačka (ograničenje je %lu bajt)" msgstr[1] "%s: Oznaka dijela arhive je predugačka (ograničenje je %lu bajta)" msgstr[2] "%s: Oznaka dijela arhive je predugačka (ograničenje je %lu bajtova)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Ne mogu provjeriti višedjelne arhive" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Ne mogu provjeriti komprimirane arhive" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Ne mogu koristiti višedjelne komprimirane arhive" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Ne mogu spojiti komprimirane arhive" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option se može koristiti samo na POSIX arhivama" -#: src/tar.c:2560 -#, fuzzy +# bp: fuzirano, popravljeno +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" -msgstr "--pax-option se može koristiti samo na POSIX arhivama" +msgstr "--acls se može koristiti samo na POSIX arhivama" -#: src/tar.c:2565 -#, fuzzy +# bp: fuzirano, popravljeno +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" -msgstr "--pax-option se može koristiti samo na POSIX arhivama" +msgstr "--selinux se može koristiti samo na POSIX arhivama" -#: src/tar.c:2570 -#, fuzzy +# bp: fuzirano, popravljeno +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" -msgstr "--pax-option se može koristiti samo na POSIX arhivama" +msgstr "--xattrs se može koristiti samo na POSIX arhivama" -#: src/tar.c:2597 +# bp: novi msgid +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Ne mogu odrediti naziv najvišeg direktorija; zadajte ga eksplicitno s --one-" +"top-level=DIR" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Duljina dijela arhive ne može biti manja od veličine zapisa" # LOL -- TM -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Kukavički odbijam napraviti praznu arhivu" -#: src/tar.c:2669 -#, fuzzy +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" -msgstr "Opcije „-Aru” nisu kompatibilne s „-f -”" +msgstr "Opcije „-Aru“ nisu kompatibilne s „-f -“" -#: src/tar.c:2766 -#, fuzzy +# bp: fuzirano, popravljeno +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" -msgstr "Morate navesti jednu od opcija „-Acdtrux” ili „--test-label”" +msgstr "" +"Morate navesti jednu od opcija „-Acdtrux“, „--delete“ ili „--test-label“" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Izlazim sa stanjem neuspjeha zbog prethodnih grešaka" -#: src/tar.c:569 +# bp: novi msid +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "sortiranje direktorija: none (zadano), „name“ ili „inode“" #: src/update.c:87 #, c-format @@ -2591,11 +2693,11 @@ msgid "Malformed extended header: missing newline" msgstr "Izobličeno prošireno zaglavlje: nedostaje novi redak" #: src/xheader.c:741 -#, fuzzy, c-format +#, c-format msgid "Ignoring unknown extended header keyword '%s'" -msgstr "Zanemarujem nepoznatu ključnu riječ proširenog zaglavlja „%s”" +msgstr "Zanemarujem nepoznatu ključnu riječ proširenog zaglavlja „%s“" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2604,28 +2706,28 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Prošireno zaglavlje %s=%s je izvan raspona %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Izobličeno prošireno zaglavlje: neispravan %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Izobličeno prošireno zaglavlje: suvišan %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Izobličeno prošireno zaglavlje: neispravan %s: neočekivan znak razdvajanja %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" @@ -2667,7 +2769,7 @@ msgstr "Kontrolna točka pisanja %u" msgid "Read checkpoint %u" msgstr "Kontrolna točka čitanja %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2675,70 +2777,74 @@ msgstr "" "genfile rukuje podatkovnim datotekama GNU paxutils skupa testova.\n" "OPCIJE su:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Opcije stvaranja datoteka:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "VELIČINA" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Napravi datoteku navedene VELIČINE" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Piši u datoteku IME umjesto na standardni izlaz" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Čitaj imena datoteka iz DATOTEKE" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T čita imena završena praznim (null) znakom" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" -msgstr "Popuni datoteku navedenim UZORKOM. UZORAK je „default” ili „zeros”" +msgstr "Popuni datoteku navedenim UZORKOM. UZORAK je „default“ ili „zeros“" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Veličina bloka za raštrkanu datoteku" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Stvori raštrkanu datoteku. Ostatak naredbenog retka zadaje mapu datoteke." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "POMAK" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Idi na zadani pomak prije pisanja podataka" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Opcije statistike datoteka:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Ispiši sadržaj statistike strukture za svaku navedenu datoteku. Uobičajeni " "OBLIK je: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Opcije sinkronog izvršavanja:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "OPCIJA" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2746,20 +2852,20 @@ msgstr "" "Izvrši ARGUMENTE. Korisno uz --checkpoint i jednu od opcija --cut, --append, " "--touch, --unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" "Izvrši zadane radnje (pogledajte dolje) pri dostizanju kontrolne točke BROJ" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Postavi datum za sljedeću opciju --touch" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Prikaži izvršene kontrolne točke i izlazno stanje NAREDBE" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2767,7 +2873,7 @@ msgstr "" "Radnje sinkronog izvršavanja. One se izvršavaju kad se dostigne broj " "kontrolne točke zadan opcijom --checkpoint." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2775,167 +2881,166 @@ msgstr "" "Skrati DATOTEKU na veličinu zadanu prethodnom opcijom --length (ili 0 ako " "nije zadano)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Dodaj VELIČINA bajtova u DATOTEKU. VELIČINA je zadana prethodnom opcijom --" "length." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Ažuriraj vrijeme pristupa i uređivanja DATOTEKE" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Izvrši NAREDBU" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Ukloni vezu DATOTEKE" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Neispravna veličina: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Broj izvan dozvoljenih granica: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Negativna veličina: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) nije uspio" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "tražena duljina datoteke %lu, stvarna %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "stvorena datoteka nije raštrkana" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" -msgstr "Greška analize broja kod „%s”" +msgstr "Greška analize broja kod „%s“" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Nepoznat oblik datuma" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGUMENTI...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" -msgstr "ne mogu otvoriti „%s”" +msgstr "ne mogu otvoriti „%s“" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "ne mogu tražiti" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "ime datoteke sadrži prazan (null) znak" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "ne mogu stvoriti raštrkane datoteke na standardnom izlazu, koristite opciju " "--file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" -msgstr "netočna maska (kod „%s”)" +msgstr "netočna maska (kod „%s“)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" -msgstr "Nepoznato polje „%s”" +msgstr "Nepoznato polje „%s“" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" -msgstr "ne mogu postaviti vrijeme na „%s”" +msgstr "ne mogu postaviti vrijeme na „%s“" -#: tests/genfile.c:692 -#, fuzzy, c-format +# bp: fuzirano. +# možda je „vezu“ suvišna +#: tests/genfile.c:760 +#, c-format msgid "cannot truncate `%s'" -msgstr "ne mogu ukloniti vezu „%s”" +msgstr "ne mogu ukloniti vezu „%s“" -#: tests/genfile.c:701 -#, fuzzy, c-format +#: tests/genfile.c:769 +#, c-format msgid "command failed: %s" msgstr "naredba %s nije uspjela" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" -msgstr "ne mogu ukloniti vezu „%s”" +msgstr "ne mogu ukloniti vezu „%s“" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Izlaz naredbe uspješan\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Naredba nije uspjela sa stanjem %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Naredba završena signalom %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Naredba zaustavljena signalom %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Naredba je izbacila jezgru\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Naredba završena\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat zahtijeva imena datoteka" -#~ msgid "sort names to extract to match archive" -#~ msgstr "razvrstaj imena za ekstrakciju da odgovaraju arhivi" - -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "--occurrence se ne može koristiti u traženom načinu rada" +#~ msgid "same as both -p and -s" +#~ msgstr "isto kao -p i -s zajedno" -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Ne mogu kombinirati --listed-incremental s --newer" - -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "--preserve-order nije kompatibilno s --listed-incremental" +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Opcija --preserve je zastarjela, koristite --preserve-permissions --" +#~ "preserve-order umjesto nje" #~ msgid "Field too long while reading snapshot file" #~ msgstr "Polje predugačko pri čitanju datoteke snimke stanja" @@ -2949,9 +3054,21 @@ msgstr "--stat zahtijeva imena datoteka" #~ msgid "Cannot get working directory" #~ msgstr "Ne mogu saznati trenutni radni direktorij" +#~ msgid "sort names to extract to match archive" +#~ msgstr "razvrstaj imena za ekstrakciju da odgovaraju arhivi" + #~ msgid "Invalid group" #~ msgstr "Neispravna grupa" +#~ msgid "--occurrence cannot be used in the requested operation mode" +#~ msgstr "--occurrence se ne može koristiti u traženom načinu rada" + +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "Ne mogu kombinirati --listed-incremental s --newer" + +#~ msgid "--preserve-order is not compatible with --listed-incremental" +#~ msgstr "--preserve-order nije kompatibilno s --listed-incremental" + #~ msgid "Extended header length is out of allowed range" #~ msgstr "Duljina proširenog zaglavlja je izvan dozvoljenih granica" diff --git a/po/hu.gmo b/po/hu.gmo index 60bcb4539df7c9eafa57ed6b69d2679539546a18..28f19a77c477a2a4428e049651c1f7767323bd61 100644 GIT binary patch delta 15657 zcmb8#30zcF-@x%Zh)^nSxS*n37X%a(R8+tP6;#w*5H&5Ofw{=YFoVp1O4_)U)sv-> zS*fM@lv$eExKx^DWQ(@hqUNJkwz;&~qAgbM??30D^*-DC-p_OVp8vV`p8eiC`n2}P zI&Urw^`C4Sy254{#>f!ENXA>68b)Lt!}zF^VMuvmin15>CCTByR%qb?^kXv|(Zevp zFdt1U!WdkF4RC{YJ1!yK*Te7|Ey(2bG>mR|gZ3_rCEklo@KcP$3n-ne*UK?l+4-UoFxG>eP8dyU?OA5ANb9@CG;|XksUt?#C=&eTD z3)6{nP&%?0`Jb_YKc?YHlm`0uF^nj@787tL%1o?62R`N}lSn3_uj)WLGCM{tGONbT zNau}R*b%?P0&JXS1ZU2R(!txY5;vlB$fS1za0oWSg=pg4*c1aO?f73N6Hn%6lpc0q zex!m?$ZQ)Pl##7RnUP~C4W2{kV7-2-WBsr_@eL>)UWkm%*oCsR-=Ngru0Q((ha=bf zjcPJ&DA<9r=7+E)UPPIhMhv4Z_CtxMXqR9d@peqY<7i^NfoecqwRzZ@@_8sDzYpcU zC$KH;8}E{dq2Ro>Nv3Kr1#Og%(eXIs!7w~1Gvq}X>Afhs{vfu(cd#LTsr?nD;d+DA z475ci&lrZCXx~^wMyC2Pl-+t<+hDL7aX*w1II$}(Mw$Ap*bYx2lV#Y3FiSWPWd`S> zbnG4s$5klptjBCTf__<(wpoV31~-Nw+rXHIGSyF`?2XS*M%IwKI$=Dvz-v%u&Vj*> z;ZWkOC=Ff2F4&dA4mc5|ojDkWTZS_KvbH-ZkUj7o%Jcm#$_U!?a7)kAw1c!c$Z{Lw zurn@0>DVrmhL7W9Y&=}mI|JpqTTnW_8QbGa!y-<35EjGg&F&dYl zO!;P%j=zqPcot3k9i@R7wz%Ba8)b$@qCAErn29%{%nj#=J+5=gWItqzK7D`pLE=ElzJ>PP-ejIB~y>g3X~DAMd?tD zjz31JAoLo;$it2(Bbklz0=X3vaW{6s(>jhEtp<>ZVU%a1bZivL47re1_8W`H$l4u1 z8QC`&h4sd$S93>X9~r4=w=s1n4WAgRI@)-g8hJNtM0pmR8)o7UC?ikJ zHH`Z5{7)hiOF<#ZjkjSEK8ms=@1bnQ)7TV^@v6Z{lo2JMtaT2WI1Qy9Kgv_H8sl&$ zHpG)C1N{nH(7tgM^C}m{U?iqt@bS{I17(e8W3Yp|{85w+J&UqrZ(ul{L+RM}C`%JL zK{c3(vPZ7N2%L$2*<^k)^>H!ES}nt7xDsXUH=(TUL6oVxppBZSmM&eJkKH-H7<=P( zl#!o9dE-S+QjhHzj3>Tx67!!*W)}rANgvPiFp`lc_sJZMrrn74|}z!fccqEv*ad5_?hh z%p8=>`w;fQmry!*30q>5>(pbIfZd3%LFvF;Ou@(eWMoquLs`o+C~J5LO$@zWEkP{G zNU~6Nc@9cLld%=LQ5v`vGjSKn8vlec6Jb-;t2qUwo!Kb&`Ts^Hnam?7BRY&(cnSGF z7=xy%O>{HLT0Vs`vSTO}eTOZuZob;Q(I_2FMwz)(9rx4mAe0##j%{e)7)>UMf*B~g zbrH&vY(*1aMp@f0Fb01>=|Hm^)W{N1rgRc^#ziPI^f=DMXR#e7+EvF!YRBSrHb0w( zjEsC+fttc2*nv2#P)$(+%40bMWp7N| zg{?}}S93H<1Cvo2o{jQCTY-b|Aj;$2(5?1PTdYsq4W$F=ell`nuGWLHW_O_Mg>~2- zw__3>M!7N6quz+o7(qM@<$4!3KtCqp9Vi2Q2BqFNw5KpbuDeJ^c6-k<9zmRl@wg9L z<5{$@F2nDNB`6iG#O}BWW%nP)E*M#^Hs=78^B(Mn58(j04y9vlyuqdO8^g)SiE=b? z8_L?gqmA;Zshoz=v2~b&2T&TggpDz=LVX4M<0Rtia2N(qI{qulW{j&;9U6(f*nh^Y zWMqn;LwQa=L>b8+I_@${ogaa{DR*I8T#qL1Ls{!nC`%MOTU|dM<+=*&gw>dgPoqrz z8BCMsKX#6~F(0LeOSRiDhxmPzk;hc2B^i#9#Dys3v$Shb2Jjk6gJ)1STf-YwM_QxI zL|<%;4)ix8{P5f16v>jHO~z;_I;+dT=T}h|=CAl$r3yEm0%S)82#~IPn)fh#bv(*QMqn(?Lpi@5WAIg!U49y)u+?p9?R%gMWE_r0JC3J)V=Eb%!qD5*6vkj( z;*lr~j6<3FS-8i>_Z>~*%sY58(2jA~XDPp=F&|}Q#n>KKpftP-rJYxB4W7bidH(0$ zsa^1+7@H6`xLZ}+4rM7aQ8v|V%)zDD6OZ69tY6J<100XCBp;x3^mml| zJKUqb6;qH&H;U0ekj!^vWUYFvP=93_iFw3-Lm9zGC?klwm-jz9P&VD$n1Kyf^3N$a z0<-Y~&clB9srSaSC`)+|Bk??@W8M3i|6XJ=?^g|1piKP^3{Dwl5l26uHl-aq6E8;T z_!HP0&tZ4$uu4sFE=tGm#X)!idt%ILevaXIOv2r(ng4h)XDE;hnzA!wEr((n7NcDF zFiMBs*5wfos=YD{WoqZ6T=z6ehd$S~eMs&8Jd{o9MX7g{j^Fo_krDrUr84wUD= z=_Bg5U#|8c9Kr=(Vh>DyRIPm>rW4!F z?0|!LG-RnP?1F1hUQn-MI_(=jl1awoO-ehCAif)=ffFbljM%I`rzzSZY(@Dhlm>QS zG=7DxvEGwvjbl;v#3&qt(=Z92M1L%q<7A|wkS+SxFNP71M7c2+>!AZ>L>`op+>Nri zo+?g1>BK{-xr?ZECaiLFt(f<%Wl`KfZ-7jCe}D zsH!l9xEf`q_TvC-98l$BP}X<>UX4poI=&obGjGSK_-=st?@lIVyP7gP$`sDUW_UlA z;*;1ogmXL8U(J$s=@DTR=hvfLzXwe`gxBJCn1>^uR-1Ayb|pTK4X~~M8CB2)+fpzQ z$D$9V!u=>~e+;AWca*hl`Kn5NyT!wP}?I=^d1!WIBgBkcCw!t>fsfPPtW8yK$ z68ViA$jIYWgjb;(o8v5$salFMBhO$C*4wKd(>%-~-h}eLIFB;bsn7GN#@n$kp2f-7 z@dfqR&cpu1@8V>6{+sMm1tlmw-l*fxa1n9G7x{M^+D!0(zl!CQnTw)o{$(nwDUdaL31#FV zud6BTjE#sbG_eBP;k_vDjU6cWeWv4%Z>XnYJl;!rDN22zZ>omlQ96{2AKF-EKbfu+ zw0v8Qa0tqp%|@BR07`=gwP#T_+0}>C8?iGM5Lcs&@B&W7(09~FtN^9{zoERMccCo7 zntrl9W!YJ}^so?L+PH0(v$G%sNtd>tp?+bEl} z^D*`6Eyir(jVK-a24(8o{e!;);0VmXPcRN+jx)2gZww=ojQKbKmti8lg+uTXN(GrG z)Q{8;P&ycKQjIVQ+Yt9b>Ckw*9#>#1{0?P_8+@piG7)7-vd}Nj;T$s3fz=p;Z(uw8 z3I||=k5t1WQLgvn6nq%v>G%!XW5ma*W8G2iOGhc6gHrD*l#cGk96a(d^DiT9e~N#p z!qM0d|AEqhs89F~U?1#>Td*U3f|(fpsd}Rg$HBzQum`@2Lonx_Cc z-i$KP-6-{+#x(5eKdYWo3p-PAC&~zRU>CVi$C2mMJA5d1qWnIT^Uq<4T!&I&-k0k9 zohUOFz~T4>O2f%tsUId@oJ{P0oy;gQoxfI7??qX=tvDXP!Tvbp8}-v{0d^qXg3`b{ zn2KTFs*GP34nC^v3KS>q3JD%SZDZfi6UNiN z@d+83ss_KRU73M0(z)0k*I_HH!FW8O%fl|I8H-10cnap?Ml|sf7Gm4q)Fxhlva|nNW=lFe3o3?i0e4Jn1ZoA!-|2-;(%J}DP$)A_^X zy*fXY{8{qnFbT_Xu0A)7{QWv#LH;iCl_+n|EK=<;o^o08cX2++FDH(YSx;I<{x>w~ zeU1!8A5T)2OniWNE9nE`1sG1*3*>8$BJvLqw4r>FE?kepi1*+$eQg#o51AZ(<8A)D zUZ1#^d;%wHj~{e-eeIq2MD0o3L;MytA@wDHf;56ud-SBPdx>|GR_ekhQTB=)VeCJH zB{w?N-oy=`aAKE^Q^-e28F4XrdHh!CbA!m=LXxAEE-TY+McMK11<$H~4U_C0I_9Mr z{BqtX>wgWY1C7Yel;bO1NwNxq?}9YWUrTu$&c>zs+)46xlcI0j=XX)CkbE9K zgco%A1T3H|xc)~7no#j3efQtBHzFTAV+ZHo#U(h8G?u(c+DJM=l4A^MBj@BOA{COq z39~Uzm$%jO=B+*aMjVA5Nh2tF3LDXp;iM_#Q%Uk1%i&cRywr?;P%g)-_zu?L`cve; z*X1F^_TUw~!gX0k%KB5*i}W33b#RodelgJMywIPF&|mu6`lWv^4>Z>AUOX7y}3D)6UWI%VlGLJVr>RS zkld7AA3US}BJm1kPm_jFb~h=NdS1n~q-av@(T~jcq_JEpM?QAqT7N_Ss6C#c&`v5P zT|?m``b0xwIetiuU7;l!Vh zYJy+6Q9dg1IE>U)SF}>wP2ck|*YH6Leo%O=2fui;^fmqUH3N0budd)i6Bkv;jU@R;COOWM-XLyC{1&z$o`{D@%SiR)A`Ty^4{4nQ9E&*@%{_b|ji-o{ z(TRSPgP#t;FKHy!qs-rri<^*1(-)L-B9+vcxG`xjX*Y3wk{ofQK9tG-{kDkoCUGz7 z_zw3G*B&2}UrxG-w3JkjYo6z%{7{kO6zT6a#y^9M{7wt!A`hwdXiw%N;!y0S%eQDh z)Ye`*oJR17|zLKav}La zx`9v0e@R(e;+Z0GeSPkB@~cT#lUh?YlJiyMAI5CrXv`t?C*4k(OmdLkC&}?4DVOw^ z^rJb2?~r2U497syLE>NZ#ZuOQ{AN-&2{>G&9>nc%gTAgQ`LD^(!Qb%?UH%w8N6MkR zD@l&&#J`~Y_ou;s?dVNGC_P_;FL7c&wj=eWEQa_lQY`WBD98NZpI82P?n>4e!98-+ z)!s+`eS_48>-OTc z!K?T&!nvzSS)^VhInH3X%3l66Tj!qVoc|tz7f35e)%qr~!D9doJV>sb@+#6$;`fOU zk>7?d;s+S1JKTVLJMx1`3pf`bmg69)3vqYS%_KQmD*VO(3LYki<)%kfp9h-(HLF6P{(f)CsC&yjY*^B`@f1z2Tt5Tnoj;I z{F!u|w2!z2Nsg-YfPT>C?S z^57xQ@{BP4Qj)^Anp93cL7$WR{@_?0W()M}UN@rpT)&2a_#2In1-Z-<+?sj{8W`Si^crAxH%jqjNIT852|EQ4oBB#qT z-S$$;YgSt21=Lb%#=AYHrz}`svEA)(Io;C}s#7xuT%Tb&OUqnNu1!j+y*f#1@Fo?N zdrFO@JkwWh*?nH~Pt|&T_HrLpsD>SOZ?S3j>iWHAyu&K8SGar$0e|M|&|HV*s3^2d zpQkLzWmQ@()8Q<)3VojPIl)e5m}M@@?zK#>Cuka;MMw=US-#U)K>HT$+Iifr(Sz2&pr9Y<8e(>aVtN z2cz>@jzDq#)%6?Y4a&_QGd3@0%;@pyCTm?dW4W!T>8&WZGN06Muk<(_X0g3ehU4;h znAqTIGOxaJd!f{Ju4JywU%Lcek6KAjxx*??H{DG3l?60C<-s*Ft~BuE3H=B>Ubh zvzG@aoN2B7LdMtZk z@t-!J><%Z(`=?oyME6S6MT96rzx~_glxtNwy*#K%S$3b5ZuUq{;kur3U5}pWDQR7kQ>tqg|6)rG?7ewU zlfbBzi$bQ%I5mHbVUMp$Fi*{YFxE?Cme|V*y&hLhz;s)sY<+K) zyJnrM*zTjmZkE*Sth9V3R@MIHynNEtZGpG$-x88m$z?uImEGsEyUn7Sbu(OUUQi{x zhdi!IUTE=dr@PR5rG6^0Ts0fL3Dpm*?m+6)<8tNB5?;ox{ma?x_J8vxr998HS0^88 z-hKb_zczPy1a5l?Z-^47+vhan?Jj$n#al5UaCr4iVSblYOwUT3m)rDNKDU$RiY%9R z|8j2?ckSOM<8{xe^wq565wa?4Hu^G5hUu!=?DN{?gHh>p)vTND@iJuT>0e*2BPZrv z8E&QBWsGJxlze0A1r zuB<4PFOA*B%Qv_rG|9b85_^f7DtvY?1EbVV)#}ws=gMmWyrYYq(o7YbfVcGJ8RkVj z=wDS|v$_0oU!lvLvs@)sdCeZ#hcz3E zt*XG`qhHu!udI5x<#t$AoOPPKt0m&C9^A+A)oaeS93?Ag{GTqD{a3TG+-JE;+4w$R z0#(mpT1HVhE?Jz5BN^D32Div+3oOF@uIrYeY?{gc;KVe;hp5s zzr4t7AN5VBC}jezf&$AO{A8w{_J;XOoK-v=YzuZI(^_(QXW4^$)N-5F^f?xf{pAO# z*i&WF6JCw7_3W-IXY5WnXE%q|EEq9ra8327MBYCpYvZ%3oF&G;YRb=+mHjHu!@p_k zzty*nwf*PL+yC#+lcZaQEmle(SIMdVUJjh(O-j>WRLz`6n# zkZ*`}JWddW`f-la5ZhU^FoJw7R>Xr?2~QyRI)xa9)#DwfGq%CnI3NA707LK{RG&|v zI#N8raav*>tcIxx9@D@KDymSi6f5IqtbqHlCLYB)co{X)z($VK0_&qXG8&uU0vwL- zp&F>sm|4SSSRebKW?~wS#-}_Kq9|NOb)Xtgp|egrGDs&4d6u&ZSrO+mOvOJj2>UfP z9UPC7$e%`a$Z5u`Ksc7iRCHqw24Fs_9nY&2>QVR>)kB}=<^fU2V4Yq_Th3h6jO;

)sHOb^_56F-4ePNET<>vmDO9IoC2GxgVii1znwcxs zkX9z|igl@b{9s16N`#+IPG~1;;stE>2uSU%ZZ* z%70NK3SmCAyZc};4#IMnW1Wp^Xc=mxn~=UcpQAQsskUZD8=^L4s-%5qIR%Y$KUTvl z*Z@nnGgI9JBgqG#W@Z+uBhO8E zfF#qyDAcCvgSBuRsv}QfC)|Z<=r*cDG40I^4M8#6^|gZXL zBkqRk&_tUrLfyX|`=jS`3K~fmFQq;R@u-ocVI(fM`99PL3b8m|L3Qi~YKDTkn>`YZ zwaN2P16z$%aTiv^&ym$|PGgFT^^fRb8eZ^->FFNS$WNg<_6KUM?qOT3-qUf|f6h>B zhig$IKaFM3)ysTG{89HMU^MndEy+yOCR~mIwC`-Apa%D$Msy6d*4NODC3~9()knQ8 zov<#B#B%r)YNV@BGw}xMx=&FJ{$lHI+PqvJv&3N-LiSm0#~9s z_7ZAo_Mtjli2msGHA_OrkUFR}Z;1_X2x`XWqeq1;6trfCtyeIHJg}en z_IE&ycpB=9wh8r`p2m7ulbzHUJENw02G+*{jKps+7o7o)lL&bjh;I#G{xwxcsHlMF zP_M@g)Y|zDG!Jm2HeYwt$a^~ssLfV@dfq|Q%zcBp@4EF4Mv(g^GyfWS z{bchR^+fe-K5CP!LA`cfRD&lm4t)oiwQr08#i)jkVKAP@SagP%k;I|)Mlx!to1>0p*m7y7(Ze$42Qbde5f@$Io!x0J5Be1~(tl7>SuTaoGKQi? zI39K198?3VP)oB3wdsx{`_1_t`Pe$~sV1L}fwb=&qmY0XP_JFcD6^S*pgPhY^;%`4 z)^IIqrrtz#@HlD@U9jh?j5e=nL)3G}qn^7KwFE~|d*l{+!YPEMnHlJWYH$p)HqIRE zi_1|{b`DEn{1{^^EJohR+5=tWeX%3md`2nL~X7e zsHyz{HNwA9HFRsOL{WHM|fT<7Q04AJdtCeZ$@3 z&E|{P5qz6sOtJ#2urCz|_vVrwwH>dSW(W3YC%`61OGlgV?iGag2DEP(aU-fDyD zKq_i!)}dzZIP%tcoEsF>^Pn8F2@_Elq@dp0xu~Cpd(e%iP;2)uMq{g7bNzVKb&Ih! zZo^po0$ZY!=Qz!w73#i87_RsK<)Q-bJ9g#7CDe$UJZ`3Z1Xd!SimG2?-HnXEIfH6Y zfBz~25vY#Dp=P2NYU!q7AUv8Nr zeis{I(i3L4PsY0B&*2Vy4>j`4Ddu(Dg6i1U=uyw_QK*CAQ_YvI8=fN{iGeQO?`h_f zJaoEw4M(Cj>3mejwxXu=ggx&!!!#6$YN$U3;VjfluCjT-4CY@`wx0@pc#dLuEJRJ& zEz|=l&n)^2t&@nF!l~E-mts5~Ms3Qws2Pi9TD7OzVla-k`IFWisCK^dP|%HqSPZMp zGT&@BwkEHOnwc~Vz{S`Q*WoZcifSlowwaM+Y)U>AHM4JED4s-h^k0m?s5$0*Uk`;^ zR7^(g)>T*)Kf#)K7S&T{E?-BefcmNG>&enFU{k( zA@rYb_K4>f3MHv1v%sunAcm4Bq8c8BYA6?9!X+4jQBRrox+^v#pO5wNeboIIu?m)X z+I(`uF`Rrb4#XMAbspz91#O}m=*IAc<~N=W*ou4+w#QFU?{V2hW=*?bBzda!8PwXp zjq1Q*)KXkR?U~w(&D+%+6UgUcXTATsDKIO}ebk!Gd&cy18|nc^(I1O1;h$G95ZmHf z)KdLq^PAY8yy;T=D;sJ6$8Z8xSZ4OrbksohU;*trHz;((jn6VIcmXTmnB`_IC!=1Q zmr%QYC+dB_gz89WzM1+IESfRwK>a5ehW;zeCXPj2pNvg#6?$SQ9HpQszK5MKX{Gro z_B1AtAHlJBAER;XbLK;|5_SGP)RbSv<`}rjbfhOLUxeBthp;K$Lp`U-^UQw}3ZtJl zJz9g>^ml8Z{GBY`zAy>rY}yyp5&M zk5@_0E9apwghCtC+N{PN_^q|hTC+5{7*G9f)S4Dz3-n)SKCNA_8~F%K#BKN(Uc%lu ze7$-84y-|b1(VR@zrlPsdSfjr2BLaA36t>!tcO>z99G|GemRZAGUV|%0NbEOv;s9l z2eB{S#W3u>$t+1OYKaOkO7H&(3L1&;%jOH%#+rp1(R$Q_f5&jF{)*ZCZLN72O#N2W znjgRryp7ec>Z@ic6HseE1bblyM(h3GOCf@aLezsQY&PHcNGwi17{3H7||sDV}AVs`sLWW>&sI1qPY9PK+Lx0(mHz*giPQLo1w)D5p=Yy1&2 zu=+Oh;du(<$Twg&JcezsW`U_6hQ-L2VkumS>i9aWiTlwrjKWz8n&P&vnJLRcP2oZe z#LYMn_hJPfM*Sc2H=vd~?1-=`=Xav6Ka6fXjf2p6-Fz7bqc-DqY=HM)Xa37lXt2{% zG(+vq(WndOpdNS(we}ZK4V8VvbTk4rl6I)28-eX`3O2$$=*BA;hZVf$OPYjL$On3v ze?1_R3SICFYSX-rwedTwgZEJl*V$z{(iU~yC{)8UQP)3@n(BS1J@7HM#LK7#>%VC} z?TM(R>Fc3Tg2Esyi6gNxrlY1v=QR@r*cI=fUdv8znQ#1BY)}3R_Q$%rnFXAV&F}{t zjFsOuuW1%)FC9YFdwkz96~jy>?_RK(3 z1G(sjJ5eKj3uAFFR>I53^&ZEy*Q|L>)b4DBO>qQjMpmJwbUo?;+pr;ikJ{~}_n8^% zidvEp*aD|wXMEG9|Tp1XO%TPUk1Iy!X48)JI7XE;Z@eV$U z@$Z|pU5bh1n{gao#2VQ512eE})E>*nMtBGlJrr))idG+*kv)dmOzSZU51}^URpjk+ zg7=%52|<0JB2Y^Zh1yFkP&1T-nz6^QHEu)=^bEE^zXQy_M%bQ$8~b5R%)=PWN8Nb9 z=B|Tgx5wdg)OW{l{2A47@k8b>t>y5vi`NjfX9j<4Mm!I-G<&cLUjLZ+SA+han9UP~ z8RT6t72iUQEcjFN>vmnNM?Mer;O!WM-=U`ZFVr3=f7mQlBr5NQ*_eja@dT;^R}VA) z6)BWHVtzb^U>Wj9aVd_&q4*EZ#{Qp~Z~h6?8oE9=Z$}eUN1sHk@p5c}2T>ikjgc61 z)N~*bo0AXoP|&Vig}PxIHpH{28!CKZ*1jc%k*A_&Y#!>tFQaDQeN@L!;1l>Wj>Dl} zngJff(mIcN9nYec%<~%sUkX=n0A9mH?E01YlrF-KXOd zXi2E49gnd%2esL}sLgy8+heWcMfZE0Q4|uWxP$6p>^EkFEm3PV1l6HQsMqan493bQ z%o@j_8tjEylCh|UU$o~xN6pw}R7c95H0^cAFungC3PU)t5zFIU3`PG_rb98P8(X02 zr(i8ygX-YBsF9t-#pw5~`7!=1s^OzJ884#-n)aP}YgS{D-v50R;?eouOicm~CY_8u z@hfbJ?jOuI{!!F}c488q!(LeLNAok{3DivN$4+*Z~8sm_6Z1rcjTHCD;&mV>>*LwXyD>X3Bb?rZf|S@mbV; z1@`=L)Xdz#o>=cMGt$ZECO?d$@OSKry{;B5p~qQGp#c@AurvByGY$2?81gLZI@D5p zfoFwCjm=RHegs?KDqH_G7F~}|==$sCSF^R)SnvNq3Vk?n3)Ntc8)mJhqt!Se*8qn-t>l9+t+q zTjrn9DLS24%kn;a@39nlM~o!jP1zT(l20X0le@|5QO>3O@X=EDP~nT|L;~?2@=b*2 zACj}gzeE`-UdQo7I%ORdD8E8HII<}}O2UibL_AbKo${Us7vWrD7j?08>JwYP2oDfn z5?bn)Xdn3Pwdhat$01w($Ugi$-nQlKc%7KWHC=6;F0X3K?J$}6lhEc}gr8v={zd3m zW7TW>oXfOd^por^Co0q1C{DytE{i`Bd@G!5_NG!;*Ou2%|KJFs?kGtkThY^A^Wgj~ z^2dp9s2E7pqn-V@OzpGri;hIA-i9GW1Q+S}(BNF+0fE#NNBuWj+MMHvR+M!N!%y*q z&4al%gg8llgWv@yI(k!%wq;KR3J0kuYa6rmMXy?4>UC_z%R~yX&{R3UqrWXj+3QB5 z-jqE!-=3R{;pFUTXQQnXF6x%+|Nk#XGL$r_YrP#;Dt)cSil@e_%TCV0V?zr;qw0P4pU zonc#6ellY0{({U zunfLSd_`GDb;=`&l0*`*fH+BgG>$L2g0CdrB!BoQ!^nr*in~_rKPQe8PuhwP@O|Q2 zd$XIejydFGP#>zzl&h$cqd51zW{S=s>ND(p2ds;&uW-!~%FhsGiKmEf_5Q!h34Jbg zG^R3!2R=CTeb=GS>o=SmOH`+vQr=%0Ck?5EZFgg%>389_4uA!EunnabmKqJB;5Eq11J^7d5lzZ0hj4j`OzGf2*xo z&jpoj`DJ@?7P&!WSu5#KpLU2qbn9&r_$PAJK;>!OgvF z-G?|qCpn%n6#Y5Go>x+ta!G7;iywBpVzERA%Jnr;9lG{DN9HZZ+b^z|zjsobcU|6z z?Rxm+|DM#SY?OO+dTvT;Mw&aiy?0vs7yZ1Cb@{Gr{+I#tyoCc6`sGg@@`HEY&?!Fo zyM_mQ*AL(6lRS<~qqB3;a?^4qrMa`R^U||2-RZgR(P>nUO36zb9p!#J_u-48v(s`W zrsw8zVeUisMrY-WPRntpXXfUmrHuCWPr2>#jv95Rw0C;uT$i_HcCO1?Ij5z|J2ltq z^0s-rN(pcF^c#NOm^po1*blny`2iqRP-k8n^eO4 z!NIaFZ_ST7`sR-~9PVv*_)lL?;zNV{-<|HXjFd@_XXHh>$ED;>%{;In!#w=IbNT;I z(|>y~Atlc}E-hn9T3%k7<4$y^rccddVh?N>o9>>NmYH|J+x_S)A8+B88_IdNpN{nL zhW&ibxF7QuIT(PFIM$lC|pv)yXI<6aqr!KKXZjdxhJM)=4rs$ m?gLv{s$6&4*eSVF({ggsy!&sL@bmt1zoBdQHJ9sqzyAZgvW0E{ diff --git a/po/hu.po b/po/hu.po index 3d219bc7..f5b818c2 100644 --- a/po/hu.po +++ b/po/hu.po @@ -3,63 +3,64 @@ # This file is distributed under the same license as the tar package. # # Gábor István , 2002. -# Gabor Kelemen , 2006, 2007, 2008, 2009, 2010, 2014. -#: src/create.c:1574 +# Gabor Kelemen , 2006, 2007, 2008, 2009, 2010, 2014, 2016. +# Balázs Úr , 2015. +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar 1.27\n" +"Project-Id-Version: tar 1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2014-04-04 20:22+0200\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-03-16 23:19+0100\n" "Last-Translator: Gabor Kelemen \n" "Language-Team: Hungarian \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.4\n" +"X-Generator: Lokalize 1.5\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "a(z) „%s” argumentum érvénytelen a következőhöz: %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "a(z) „%s” argumentum nem egyértelmű a következőhöz: „%s”" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Az érvényes argumentumok a következők:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s értéke nem nagyobb, mint %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Az ARGP_HELP_FMT paraméter egy értéket igényel" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: Az ARGP_HELP_FMT paraméternek pozitívnak kell lennie" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Ismeretlen ARGP_HELP_FMT paraméter" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Szemét az ARGP_HELP_FMT-ben: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -67,145 +68,150 @@ msgstr "" "A hosszú kapcsolók kötelező vagy elhagyható argumentumai a megfelelő rövid " "kapcsolókhoz is kötelezőek vagy elhagyhatóak." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Használat:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " vagy: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [KAPCSOLÓ...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "" "További információkért próbálja kiadni a „%s --help” vagy „%s --usage” " "parancsokat.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "A hibák a(z) %s címen jelenthetők.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Ismeretlen rendszerhiba" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "ezen súgószöveg megjelenítése" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "rövid használati utasítás megjelenítése" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NÉV" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "a program nevének beállítása" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "MP" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "szünet MP másodpercre (alapértelmezetten 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "a programverzió kiírása" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMHIBA) A verziószám ismeretlen???" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: túl sok argumentum\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMHIBA) A kapcsolót fel kellett volna ismerni???" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "íráshiba" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: a(z) „%s” kapcsoló nem egyértelmű, lehetőségek:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: a(z) „%s” kapcsoló nem egyértelmű\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: a(z) „--%s” kapcsoló nem enged meg argumentumot\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: a(z) „%c%s” kapcsoló nem enged meg argumentumot\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: a(z) „--%s” kapcsolóhoz argumentum szükséges\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: a(z) „--%s” kapcsoló ismeretlen\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: a(z) „%c%s” kapcsoló ismeretlen\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: érvénytelen kapcsoló -- „%c”\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: a kapcsoló egy argumentumot igényel -- „%c”\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: a „-W %s” kapcsoló nem egyértelmű\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: a „-W %s” kapcsoló nem enged meg argumentumot\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: a „-W %s” kapcsolóhoz argumentum szükséges\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "elfogyott a memória" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "A munkakönyvtár nem jegyezhető fel" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "a visszatérés meghiúsult a kiinduló munkakönyvtárba" @@ -231,11 +237,11 @@ msgstr "a visszatérés meghiúsult a kiinduló munkakönyvtárba" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "”" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "”" @@ -245,7 +251,7 @@ msgstr "”" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[iIyY]" @@ -255,16 +261,16 @@ msgstr "^[iIyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Csomagolta: %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Csomagolta: %s\n" @@ -272,11 +278,11 @@ msgstr "Csomagolta: %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "(C)" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -413,22 +419,22 @@ msgstr "" "\n" "A hibák a(z) %s címen jelenthetők.\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "A(z) %s hibái a(z) %s címen jelenthetők.\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "A(z) %s honlapja: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "A(z) %s honlapja: .\n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Általános segítség a GNU szoftverek használatához: " msgstr "Nem támogatott növekményes formátumverzió: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" "Rosszul formázott kiíratási könyvtár: a várt „%c” helyett %#3o található" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Rosszul formázott kiíratási könyvtár: az „X” többször szerepel" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Rosszul formázott kiíratási könyvtár: üres név az „R”-ben" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Rosszul formázott kiíratási könyvtár: a „T”-t nem előzi meg az „R”" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Rosszul formázott kiíratási könyvtár: üres név a „T”-ben" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Rosszul formázott kiíratási könyvtár: a várt „%c” helyett az adatok vége " "található" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "" "Rosszul formázott kiíratási könyvtár: az „X” soha nem került felhasználásra" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "" "Nem hozható létre ideiglenes könyvtár a következő sablon használatával: %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: a könyvtár nem kerül törlésre: nem érhető el" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: a fájl egy másik eszközön van: nem kerül törlésre" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s törlése\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: nem távolítható el" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: kihagyás" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blokk %s: ** A blokk üres **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "blokk %s: ** Fájlvége **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "blokk %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" "Üres értékek a fejléc azon részében, ahol a program a(z) %s számértéket várta" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1256,88 +1266,88 @@ msgstr "" "feltételezi, hogy kettes komplemens" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Az archívum %.*s oktális értéke túllépi a(z) %s tartományt" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Az archívum elavulófélben levő base-64-es fejléceket tartalmaz" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" "Az archívum előjeles base-64 karakterlánca (%s) túllépi a(z) %s tartományt" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Az archívum base-256-os értéke túllépi a(z) %s tartományt" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Az archívum %.*s értéket tartalmaz, ahol a program %s számértéket vár" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Az archívum %s értéke túllépi a(z) %s %s..%s tartományát" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " link a következőre: %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " ismeretlen fájltípus: %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Hosszú link--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Hosszú név--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Kötetfejléc--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Folytatva %s bájttól--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Könyvtár létrehozása:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "%s átnevezése a következőre: %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Nem nevezhető át a következőre: %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "%s helyreállítása a következő névre: %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: a fájl el lett távolítva a beolvasás előtt" @@ -1350,30 +1360,191 @@ msgstr "gyermekfolyamat" msgid "interprocess channel" msgstr "folyamatközi csatorna" -#: src/names.c:360 +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "Helyi fájlnévválasztás:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"az adott FÁJL hozzáadása az archívumhoz (hasznos, ha neve kötőjellel " +"kezdődik)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "KÖNYVTÁR" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "váltás a KÖNYVTÁR könyvtárba" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "kibontandó nevek lekérdezése vagy létrehozás a FÁJLBÓL" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "" +"a -T nullal lezárt neveket olvas, következik belőle a --verbatim-files-from" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "a korábbi --null kapcsoló hatásának letiltása" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" +"a bemeneti fájl vagy tagnevek idézettségének megszüntetése (alapértelmezett)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "ne szüntesse meg a bemeneti fájl vagy tagnevek idézettségét" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "a -T változatlan fájlneveket olvas (nincs kapcsolókezelés)" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "a -T a kötőjellel kezdődő fájlneveket kapcsolónak tekinti (alapeset)" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "MINTA" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "a MINTAKÉNT megadott fájlok kihagyása" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "a FÁJLBAN megadott minták kihagyása" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"a CACHEDIR.TAG-et tartalmazó könyvtárak tartalmának kihagyása, a címkefájl " +"kivételével" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak alatt minden kihagyása" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak kihagyása" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"a FÁJLT tartalmazó könyvtárak tartalmának kihagyása, a FÁJL kivételével" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "kizáró minták olvasása minden egyes könyvtárhoz a FÁJLBÓL, ha létezik" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"kizáró minták olvasása minden egyes könyvtárhoz és annak alkönyvtáraihoz a " +"FÁJLBÓL, ha létezik" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "a FÁJLT tartalmazó könyvtárak alatt minden kihagyása" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "a FÁJLT tartalmazó könyvtárak kihagyása" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "verziókezelő rendszer könyvtárainak kihagyása" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "kizárási minták olvasása a VCS ignore fájlokból" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "mentési és zárolási fájlok kihagyása" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "belépés a könyvtárakba rekurzívan (alapértelmezett)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "ne lépjen be automatikusan a könyvtárakba" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Fájlnévillesztés beállításai (érintik mind a kihagyási, mind a felvételi " +"mintákat):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "a minták illesztése a fájlnevek elejére" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "a minták illesztése bármely „/” után (alapértelmezett kihagyáskor)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "kis- és nagybetűk figyelmen kívül hagyása" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "kis- és nagybetűkre érzékeny illesztés (alapértelmezett)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "helyettesítő karakterek használata (alapértelmezett kihagyáskor)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "szó szerinti karakterlánc-illesztés" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "" +"a helyettesítő karakterek illeszkednek a „/” jelre (alapértelmezett " +"kihagyáskor)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "a helyettesítő karakterek nem illeszkednek a „/” jelre" + +#: src/names.c:768 msgid "command line" msgstr "parancssor" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: a(z) %s helyről kért fájllista már be van olvasva innen: %s" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "nem darabolható a(z) „%s” karakterlánc: %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: a beolvasott fájlnév null karaktert tartalmaz" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Mintaillesztő karaktereket használt a fájlnevekben" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1381,48 +1552,47 @@ msgstr "" "Használja a --wildcards kapcsolót a mintaillesztés engedélyezéséhez, vagy a " "--no-wildcards kapcsolót ezen figyelmeztetés letiltásához" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Nem található az archívumban" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: A szükséges előfordulás nem található az archívumban" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Hibás archívumcímke" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "A -C használata fájllistán belül nem engedélyezett a --listed-incremental " "kapcsolóval" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Csak egy -C engedélyezett a --listed-incremental kapcsolóval" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "" -"A(z) „-%s” és a(z) „-%s” kapcsolók mind a szabványos bemenetet igénylik" +msgstr "A(z) „%s” és a(z) „%s” kapcsolók mind a szabványos bemenetet igénylik" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Érvénytelen archívumformátum" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "GNU szolgáltatásokat kértél inkompatibilis az archívumformátumokon" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1430,7 +1600,7 @@ msgstr "" "A(z) „%s” idézési stílus ismeretlen. Próbálja a „%s --quoting-style=help” " "parancsot segítségért." -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1451,7 +1621,7 @@ msgstr "" " tar -xf archívum.tar # Kibontja az összes fájlt az archívum.tar\n" " fájlból.\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1473,81 +1643,89 @@ msgstr "" " egyébként egyszerű\n" " never, simple mindig egyszerű mentés létrehozása\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Fő működési mód:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "felsorolja egy archívum tartalmát" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "fájlok kibontása egy archívumból" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "új archívum létrehozása" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "különbségek keresése az archívum és a fájlrendszer között" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "fájlok hozzáfűzése egy archívum végéhez" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "csak az archívumban lévő másolatnál újabb fájlok hozzáfűzése" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "tar fájlok hozzáfűzése egy archívumhoz" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "törlés az archívumból (szalagon nem működik!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "az archívum kötetcímkéjének tesztelése és kilépés" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Műveletmódosítók:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "ritka fájlok hatékony kezelése" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "TÍPUS" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "lyukfelismerési módszer" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "MAGAS[.ALACSONY]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "a használandó ritka formátum verziójának beállítása (magával vonja\n" " a --sparse kapcsolót)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "régi GNU formátumú növekményes mentés kezelése" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "új GNU formátumú növekményes mentés kezelése" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "kiíratási szint a létrehozott listázott növekményes archívumhoz" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "ne lépjen ki nem nulla értékkel ha a fájl olvashatatlan" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1560,139 +1738,148 @@ msgstr "" "átadásra a parancssoron vagy a -T kapcsolón keresztül. A SZÁM " "alapértelmezett értéke az 1." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "az archívum kereshető" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "az archívumban nem lehet pozicionálni" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "ne ellenőrizze az eszközszámokat növekményes archívumok létrehozásakor" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "eszközszámok ellenőrzése növekményes archívumok létrehozásakor " "(alapértelmezett)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Felülírás felügyelete:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "kísérlet az archívum ellenőrzésére annak kiírása után" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "fájlok eltávolítása azok archívumhoz adása után" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "ne cserélje a meglévő fájlokat kibontáskor, kezelje ezeket hibaként" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" "ne cserélje a meglévő fájlokat kibontáskor, szó nélkül hagyja ki ezeket" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "ne cserélje az archív változatuknál újabb meglévő fájlokat" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "meglévő fájlok felülírása kibontáskor" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "minden egyes fájl eltávolítása a rá történő kibontás előtt" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "hierarchiák kiürítése könyvtár kibontása előtt" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "meglévő könyvtárak metaadatainak megőrzése" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "meglévő könyvtárak metaadatainak felülírása kibontáskor (alapértelmezett)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "könyvtárakra mutató meglévő szimlinkek megőrzése kibontáskor" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "KÖNYVTÁR" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "alkönyvtár létrehozása a laza fájlok kibontásának elkerüléséhez" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Kimeneti adatfolyam kiválasztása:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "fájlok kibontása a szabványos kimenetre" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "PARANCS" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "kibontott fájlok továbbítása másik program számára" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "utódok kilépési kódjainak figyelmen kívül hagyása" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "az utódok nem nulla kilépési kódjainak kezelése hibaként" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Fájlattribútumok kezelése:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "a NÉV kényszerítése a hozzáadott fájlok tulajdonosaként" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "a NÉV kényszerítése a hozzáadott fájlok csoportjaként" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "a FÁJL használata a fájltulajdonos UID-ek és nevek leképezésére" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "a FÁJL használata a fájltulajdonos GID-ek és nevek leképezésére" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DÁTUM-VAGY-FÁJL" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "a DÁTUM-VAGY-FÁJL dátumnál újabb fájlok mtime értékének beállítása" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "MÓDOSÍTÁSOK" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "a (szimbolikus) mód módosítások kényszerítése a hozzáadott fájlokra" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "MÓDSZER" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1702,11 +1889,11 @@ msgstr "" "olvasás után történő visszaállításával (MÓDSZER='replace'; alapértelmezett) " "vagy az időpontok be nem állításával az első helyen (MÓDSZER='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "ne bontsa ki a fájl módosításának időpontját" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1714,22 +1901,22 @@ msgstr "" "próbálja az archívumban létezővel azonos tulajdonossal kibontani a fájlokat " "(alapértelmezett a rendszergazdának)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" "fájlok kibontása a saját nevében (alapértelmezett normál felhasználóknak)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "mindig számok használata a felhasználó- vagy csoportnevekhez" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "a fájl jogosultságaival kapcsolatos információk kibontása (alapértelmezett a " "rendszergazda számára)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1737,18 +1924,14 @@ msgstr "" "a felhasználó umask értékének alkalmazása a jogosultságok kibontásakor az " "archívumból (alapértelmezett az egyszerű felhasználók számára)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" "a tagargumentumok ugyanabban a sorrendben kerülnek felsorolásra, mint az " "archívum fájljai" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "azonos, mint a -p és -s egyszerre" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1756,187 +1939,187 @@ msgstr "" "kibontott könyvtárak módosítási idői és jogosultságai beállításának " "késleltetése a kibontás befejeztéig" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "a --delay-directory-restore kapcsoló hatásának megszüntetése" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "SORREND" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "könyvtárrendezési sorrend: nincs (alapértelmezett) vagy név" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Kiterjesztett fájlattribútumok kezelése:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Kiterjesztett attribútumok támogatásának engedélyezése" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Kiterjesztett attribútumok támogatásának kikapcsolása" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "MASZK" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "Adja meg az xattr kulcsok felvételi mintáját" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "Adja meg az xattr kulcsok kihagyási mintáját" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "A SELinux kontextustámogatás bekapcsolása" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "A SELinux kontextustámogatás kikapcsolása" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "A POSIX ACL-ek támogatásának bekapcsolása" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "A POSIX ACL-ek támogatásának kikapcsolása" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Eszköz kiválasztása és váltása:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARCHÍVUM" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "az ARCHÍVUM archívumfájl vagy -eszköz használata" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "az archívumfájl helyi, még ha tartalmaz is kettőspontot" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "az adott rmt PARANCS használata az rmt helyett" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "a távoli PARANCS használata az rsh helyett" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "meghajtó és sűrűség megadása" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "többkötetes archívum létrehozása/listázása/kibontása" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "szalagváltás a SZÁM x 1024 bájt kiírása után" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "parancsfájl futtatása minden egyes szalag végén (-M esetén)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "a FÁJLBAN található számú kötet használata/frissítése" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Eszközblokkolás:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOKK" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "rekordonként BLOKK x 512 bájt" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "SZÁM bájt rekordonként, az 512 többszöröse" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "nullázott blokkok (EOF) mellőzése az archívumban" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "újrablokkolás olvasáskor (4.2BSD csövekhez)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Archívumformátum kiválasztása:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMÁTUM" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "az adott formátumú archívum létrehozása" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "A FORMÁTUM a következők egyike:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "régi V7 tar formátum" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "A tar <= 1.12 által használt GNU formátum" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x formátum" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) formátum" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) formátum" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "azonos a pax formátummal" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "azonos a --format=v7 formátummal" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "azonos a --format=posix formátummal" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "kulcsszó[[:]=érték][,kulcsszó[[:]=érték]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "a pax kulcsszavak irányítása" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "SZÖVEG" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1944,189 +2127,84 @@ msgstr "" "archívum létrehozása a SZÖVEG kötetnévvel. Listázáskor vagy kibontáskor " "használja a kötetnév keresési mintájaként a SZÖVEGET" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Tömörítési kapcsolók:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "archívum kiterjesztésének használata a tömörítőprogram meghatározására" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" "ne használja az archívum kiterjesztését a tömörítőprogram meghatározására" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "tömörítése a PROG használatával (el kell fogadnia a -d kapcsolót)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Helyi fájlválasztás:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"az adott FÁJL hozzáadása az archívumhoz (hasznos, ha neve kötőjellel " -"kezdődik)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "váltás a KÖNYVTÁR könyvtárba" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "kibontandó nevek lekérdezése vagy létrehozás a FÁJLBÓL" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "a -T nullal lezárt neveket olvas, letiltja a -C kapcsolót" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "a korábbi --null kapcsoló hatásának letiltása" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "" -"a -T segítségével beolvasott fájlnevek idézettségének megszüntetése " -"(alapértelmezett)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "ne szüntesse meg a -T segítségével beolvasott fájlnevek idézettségét" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "MINTA" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "a MINTAKÉNT megadott fájlok kihagyása" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "a FÁJLBAN megadott minták kihagyása" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"a CACHEDIR.TAG-et tartalmazó könyvtárak tartalmának kihagyása, a címkefájl " -"kivételével" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak alatt minden kihagyása" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak kihagyása" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"a FÁJLT tartalmazó könyvtárak tartalmának kihagyása, a FÁJL kivételével" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "a FÁJLT tartalmazó könyvtárak alatt minden kihagyása" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "a FÁJLT tartalmazó könyvtárak kihagyása" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "verziókezelő-könyvtárak kihagyása" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "mentési és zárolási fájlok kihagyása" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "ne lépjen be automatikusan a könyvtárakba" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "az archívum létrehozásakor maradjon a helyi fájlrendszeren" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "belépés a könyvtárakba rekurzívan (alapértelmezett)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "ne vágja le a kezdő „/” jelet a fájlnevekből" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "szimbolikus linkek követése; az általuk mutatott fájlok archiválása és " "kiíratása" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "közvetlen linkek követése; az általuk mutatott fájlok archiválása és " "kiíratása" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "TAGNÉV" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "kezdés a TAGNÉV tagnál az archívum olvasásakor" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "csak a DÁTUM-VAGY-FÁJL dátumnál újabb fájlok tárolása" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DÁTUM" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "dátum és idő összehasonlítása ha csak a dátum módosult" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "FELÜGYELET" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "mentés eltávolítás előtt, a FELÜGYELET verzió kiválasztása" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "KARAKTERLÁNC" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2134,102 +2212,62 @@ msgstr "" "mentés eltávolítás előtt, a szokásos utótag („~”, hacsak a " "SIMPLE_BACKUP_SUFFIX környezeti változó nem bírálja felül) felülbírálása" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Fájlnév-átalakítások:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "a fájlnevek SZÁM darab kezdő összetevőjének levágása kibontáskor" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "KIFEJEZÉS" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "A KIFEJEZÉS sed helyettesítőkifejezés használata fájlnevek átalakítására" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Fájlnévillesztés beállításai (érintik mind a kihagyási, mind a felvételi " -"mintákat):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "kis- és nagybetűk figyelmen kívül hagyása" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "a minták illesztése a fájlnevek elejére" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "a minták illesztése bármely „/” után (alapértelmezett kihagyáskor)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "kis- és nagybetűkre érzékeny illesztés (alapértelmezett)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "helyettesítő karakterek használata (alapértelmezett kihagyáskor)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "szó szerinti karakterlánc-illesztés" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "a helyettesítő karakterek nem illeszkednek a „/” jelre" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "" -"a helyettesítő karakterek illeszkednek a „/” jelre (alapértelmezett " -"kihagyáskor)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Informatív kimenet:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "feldolgozott fájlok bőbeszédű listázása" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "KULCSSZÓ" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "figyelmeztetés felügyelete" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "előrehaladási üzenetek megjelenítése minden SZÁM. rekordnál (alapértelmezés: " "10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "MÅ°VELET" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "a MÅ°VELET végrehajtása minden ellenőrzőponton" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "üzenet kiírása, ha nem minden link került kiíratásra" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SZIGNÁL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2241,35 +2279,35 @@ msgstr "" "Az engedélyezett szignálok: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 és SIGUSR2; a " "SIG előtag nélküli nevek is elfogadottak" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "a fájlmódosítási idők kiírása UTC szerint" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "fájl módosítási idejének kiírása teljes pontossággal" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "bőbeszédű kimenet küldése a FÁJLBA" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "az archívumon belüli blokkszám megjelenítése minden egyes üzenettel" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "megerősítés kérése minden egyes művelethez" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "a tar alapértelmezéseinek megjelenítése" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "érvényes tartományok megjelenítése a pillanatkép-fájl mezőkhöz" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2277,31 +2315,31 @@ msgstr "" "listázáskor vagy kibontáskor minden egyes, a keresési feltételnek meg nem " "felelő könyvtár listázása" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "fájl- vagy archívumnevek megjelenítése átalakítás után" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STÍLUS" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "az idézési stílus beállítása, az érvényes STÍLUS értékeket lásd alább" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "a KARAKTERLÁNCBÓL származó karakterek kiegészítő idézése" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "a KARAKTERLÁNCBÓL származó karakterek idézésének letiltása" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Kompatibilitási kapcsolók:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2309,15 +2347,22 @@ msgstr "" "létrehozáskor megegyezik a --old-archive kapcsolóval; kibontáskor a --no-" "same-owner kapcsolóval" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Egyéb kapcsolók:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "néhány potenciálisan káros kapcsoló használatának letiltása" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "a(z) „%s” kapcsoló nem használható a következővel: „%s”" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" @@ -2325,40 +2370,40 @@ msgstr "" "A következő kapcsolók közül egynél többet nem használhat: „-Acdtrux”, „--" "delete” vagy „--test-label”" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "A tömörítési kapcsolók ütköznek" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Ismeretlen szignálnév: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "A dátummintafájl nem található" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "%s cseréje az ismeretlen %s dátumformátumhoz" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "„%s” kapcsoló: A(z) „%s” dátum kezelése mint %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "az archívum tömörítése a(z) %s használatával" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "A --quoting-style kapcsoló érvényes paraméterei:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2366,187 +2411,198 @@ msgstr "" "\n" "*Ezen* tar alapértelmezései:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "Érvénytelen tulajdonos- vagy csoportazonosító" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Érvénytelen blokkolási tényező" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Érvénytelen szalagméret" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Hibás növekményszintérték" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Egynél több küszöbdátum" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Érvénytelen ritka verzió érték" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" "Az --atime-preserve='system' nem támogatott ezen az operációs rendszeren" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "A --checkpoint értéke nem egy egész" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Érvénytelen mód került megadásra a kapcsolóban" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Érvénytelen szám" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"A --preserve kapcsoló elavult, használja a --preserve-permissions --preserve-" -"order kapcsolókat helyette" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Érvénytelen rekordméret" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "A rekordméretnek %d többszörösének kell lennie." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Érvénytelen elemszám" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Csak egy --to-command kapcsoló engedélyezett" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Rosszul formázott sűrűségargumentum: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Ismeretlen sűrűség: „%c”" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "A „-[0-7][lmh]” kapcsolókat *ez* a tar NEM támogatja" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: a hiba helye" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "hiba a(z) „%s” elemzésekor" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[FÁJL]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "a --%s kapcsoló nem használható a következővel: %s" +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "nem kapcsoló argumentumok ebben: %s" -#: src/tar.c:2389 +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "nem darabolható a TAR_OPTIONS: %s" + +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "A régi „%c” kapcsoló paramétert igényel." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "a --occurrence értelmetlen fájllista nélkül" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Több archívumfájl esetén szükséges a „-M” kapcsoló" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "a --level értelmetlen a --listed-incremental nélkül" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: A kötetcímke túl hosszú (a korlát %lu bájt)" msgstr[1] "%s: A kötetcímke túl hosszú (a korlát %lu bájt)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "A többkötetes archívumok nem ellenőrizhetők" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "A tömörített archívumok nem ellenőrizhetők" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Nem használhatók többkötetes tömörített archívumok" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Tömörített archívumok nem fűzhetők össze" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "a --pax kapcsoló csak POSIX archívumokon használható" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "a --acls kapcsoló csak POSIX archívumokon használható" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "a --selinux kapcsoló csak POSIX archívumokon használható" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "a --xattrs kapcsoló csak POSIX archívumokon használható" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Nem lehet kikövetkeztetni a felsőszintű könyvtár nevét; állítsa be világosan " +"a --one-top-level=KVT kapcsolóval" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "A kötet hossza nem lehet kisebb a rekord méreténél" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Üres archívum létrehozása visszautasítva" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Az „-Aru” kapcsolók összeférhetetlenek a „-f -” kapcsolóval" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "Meg kell adnia a következő kapcsolók egyikét: „-Acdtrux”, „--delete” vagy „--" "test-label”" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Kilépés hibaállapottal a korábbi hibák miatt" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "könyvtárrendezési sorrend: nincs (alapértelmezett), név vagy inode" #: src/update.c:87 #, c-format @@ -2603,36 +2659,36 @@ msgid "Ignoring unknown extended header keyword '%s'" msgstr "" "A(z) „%s” ismeretlen kiterjesztett fejléc kulcsszó figyelmen kívül marad" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Az előállított kulcsszó/érték pár túl hosszú (kulcsszó: %s, hossz: %s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "A kiterjesztett fejléc %s=%s értéke túllépi a(z) %s..%s tartományát" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Rosszul formázott kiterjesztett fejléc: érvénytelen %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Rosszul formázott kiterjesztett fejléc: többlet %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Rosszul formázott kiterjesztett fejléc: érvénytelen %s: váratlan határoló " "(%c)" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" @@ -2675,7 +2731,7 @@ msgstr "%u. írási ellenőrzőpont" msgid "Read checkpoint %u" msgstr "%u. olvasási ellenőrzőpont" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2683,72 +2739,76 @@ msgstr "" "a genfiles adatfájlokat kezel a GNU paxutils tesztcsomag számára.\n" "A KAPCSOLÓK:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Fájllétrehozási kapcsolók:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "MÉRET" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Az adott MÉRETÅ° fájl létrehozása" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Írás a NÉV nevű fájlba a szabványos kimenet helyett" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Fájlnevek beolvasása a FÁJLBÓL" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "a -T nullal lezárt neveket olvas" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "A fájl feltöltése az adott MINTÁVAL. A MINTA a 'default' (alapértelmezett) " "vagy 'zeros' (nullák) egyike" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Egy blokk mérete ritka fájlhoz" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Ritka fájl előállítása. A parancssor többi része megadja a fájlleképezést." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "ELTOLÁS" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Az adott eltolásra pozicionálás az adatok kiírása előtt" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Fájlstatisztika kapcsolói:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "A stat struktúra tartalmának kiírása minden egyes megadott fájlhoz. Az " "alapértelmezett FORMÁTUM: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Szinkron végrehajtási kapcsolók:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "KAPCSOLÓ" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2756,22 +2816,22 @@ msgstr "" "Az adott ARGS végrehajtása. Hasznos a --checkpoint és a --cut, --append, --" "touch vagy --unlink egyikével" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" "Az adott művelet (lásd alább) végrehajtása a SZÁM-adik ellenőrzőpont elérése " "után" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Dátum beállítása a következő --touch kapcsoló számára" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" "Végrehajtott ellenőrzőpontok és a PARANCS kilépési állapotának megjelenítése" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2779,7 +2839,7 @@ msgstr "" "Szinkron végrehajtási tevékenységek. Ezek a --checkpoint kapcsoló által " "megadott számú ellenőrzőpont elérésekor kerülnek végrehajtásra." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2787,155 +2847,165 @@ msgstr "" "A FÁJL csonkolása az előző --length kapcsoló által megadott méretre (vagy " "nullára, ha nincs megadva)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "MÉRET bájt hozzáfűzése a FÁJLHOZ. A MÉRETET az előző --length kapcsoló adja " "meg." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "A FÁJL hozzáférési és módosítási idejének frissítése" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "A PARANCS végrehajtása" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "A FÁJL törlése" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Érvénytelen méret: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "A szám kívül esik az engedélyezett tartományon: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Negatív méret: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "a stat(%s) meghiúsult" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "a kért fájlhossz %lu, a tényleges %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "a létrehozott fájl nem ritka" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Hiba a(z) „%s” közelében található szám elemzésekor" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Ismeretlen dátumformátum" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGUMENTUMOK...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "a(z) „%s” nem nyitható meg" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "Nem lehet pozicionálni" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "a fájlnév null karaktert tartalmaz" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "nem állíthatók elő ritka fájlok a szabványos kimeneten, használja a --file " "kapcsolót" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "helytelen maszk (a(z) „%s” közelében)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Ismeretlen mező: „%s”" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "nem állítható be az idő a következőn: „%s”" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "a(z) „%s” nem csonkítható" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "A(z) „%s” parancs meghiúsult" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "a(z) „%s” nem törölhető" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "A parancs sikeresen befejeződött\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "A parancs meghiúsult a következő állapottal: %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "A parancs befejeződött a következő szignállal: %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "A parancs leállítva a következő szignállal: %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "A parancs hibakeresési kimenetet adott vissza\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "A parancs befejeződött\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "a --stat fájlneveket igényel" +#~ msgid "same as both -p and -s" +#~ msgstr "azonos, mint a -p és -s egyszerre" + +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "A --preserve kapcsoló elavult, használja a --preserve-permissions --" +#~ "preserve-order kapcsolókat helyette" + #~ msgid "--occurrence cannot be used with %s" #~ msgstr "a --occurrence nem használható ezzel: %s" diff --git a/po/id.gmo b/po/id.gmo index 5fb522aed8f77f469e851b4134057713842fb101..daf01250e50ef11c590b88ebb4f02eff664b3f73 100644 GIT binary patch delta 19494 zcmdto2Y6If;`i}8fFJ?sodA~-Ldk?6NRyHP0gilB*W_}a<2d6QIZgp~Y3De;#zgudG$B*A#5OvC-&pL5ak}Bc;VJWgBpIE_I0rl8b=U^)#-8{%_QyTg z0b3s7IAgFksvwJT1g7vrya)Awj%0Sh0vw3bP%RP1GCVy+B#+1*Q~}zJbQ~(@3_@DT zS%N&%xfuK6E-b;1u@g=oWeQk=D@mV$D$sX09=nfroYuGyU0jas@B-9xQr8k0K;#8f z3IC3|K|iWTYdKSqvNJ@I6$)I?%4YaTKb+3z0H97o)oN3Do`f;nC=h z_0CT@RYbazaUrVDH)Cgf4%IRrSv!m~=_1S}KZ1T-k1p;)Rb-E~71i%XdL*jGb5Pd> zu?Jp=y%>MatzN`&oDFen^qy3`Q4w;tW*FRG|v62AkpesIIyci}7*P zgIi8?9LAwD0>@w&b^n`DE%h>{RD*vIQOP<_GJ|R?_98tORe(57!Rt^D`Va?Ux5=hu zict@$L>25>R1c%HfDxH@^&4#P7H)c=;f5oPKQ_Udli+#wSikimDr_%n}L{em^iLXYL`~hr_Z=j2x zp&rocD05*Bs)fd&H@&cs^m0@a--^1=>!|zeL!F;BjTIFKVM`p6BGQ=1SX7@EqKk`A z)9n=Oh!>)6a0B+mM^Od-$flbzr!?ILp<18>v+yibjW0$OXq!zxkGekf4Uu_7+D$h# zsX#3Zt57xBf`jlin{G72)L;lUC4V@oU`L`_Xc5xtP7Kv`_oFKI4tBxsQA>KenciSc zIsJ$Pd^8>E!B5XJCH)Ci^B%KJ!G@u_Y7$PsWyrX7uE#=rA64^y$1r7a3g+M()OD*- z>&4}$E_oC?YyQ7RMDz6v)B_tGYiiU5HAqIGi!)I-ilAoA1(=JQQ1ky8R88MTwZz|0 z=e3$+9ykD%Kh~z_VjG_CR1on>Xb)VD?a1GZ>az#28NP{X>h~}Y8_hKZ9)gFFE=CQm zxu_Ocfa;<$R7I*#eSSKsrLM!2B99PJU%hWVlmRh>v>!*{5>!nuL#<>F;&}WH2jIy0 zX8tcjHSu~Jh`Uf@=W~o>*W(~qw0tri$N;vuB77tsD1Bz?$G3mk;D_MOEZ8Y>i*1i0DC$7Mj7*8TEjn zScuC|efwKfOWc8)UT>lv)O(S+Za5Z@o`tGV3MbVILqs>) zh@J3uY>$tjO8N$>>E5yFJvRLbstLcs?)W$Cg6)@>2j!u<8+Vp_*teuE0|4iLamv_E%iwV?jaHc>Xfeawnr!ye-%jpFvgVBh;AK zZ__OUe57dpyF^BC;AGUa*@iRlVbl#;l$a9dpt`CURpW)I8?Qvw^n6rHUXLvIP6pM) zKcKGbP-^Z!5Y<&jU{jv&loMg#JJrZ??(DMZR%PbGAPyt{B-FIL9W}V#K^5df)U<09 zG+kJLYN@HH0+yr3)JgXEW;~MgPE6^>KM>K43(8FwEJMxrb=Vj0LiO3}s0V(B>Y5G} zEU(xP)nco#IqtGPi-(YY-TDstNPmFE_+bU@uZ1G7(me1u%qD#r=HNzDO&-Bz_-E88 zE()2Zji73{7IppxR84oHTI36BkL6|zO~>KnKZIHM^>W%@5BLWedT@4?S;`nSeR6&-Y&c6VQ@CMYh-jgDtLGul^#HQ7z zhV4-`D@5IRo;8H(yVI}_Zb!=Q?8X6jRK&c5R$!3yIvk8&qwdo)YPxzDYS5=ji3}pL z0W~TgvnTAsv84Ogn6=2jX)!|9f;vk7AChPfxI3hibt+sDcfM*_9H9kY0m5 zH2*V1jwj; zK}VtrwgCN_{~L+uf+tZY?!|uCe5GlTd{mP!#nHGC{rC#1fQ?rfb8#B!>8KiCj@|HK zY>#i){LieNR#O4Z{|Q9&z@^v%&q5XC5>(&aj=IsC*a5$_>8x5)^BmOlJO)*O8f=5x zu`ND@>bl*if@Pg#9EPdMWGp5!9Dj?N4XBZ>f2EzegW0gKceP$-sz?Q zb5JdF3UpuMQ;_TwQqc#U~`4#jb#N1C3oS<-zXW^X-B^IHU>9t<)^u?%RDo0DiOeE0 z3+LiBsHXY~)x<5&F*O;5Ii$y~(h(etccPkj zH+n6GYQc^dngY$lqcs2HL~=RsAgXUaz`pn+Y8v*r$UL|ZUD9(<=f_d!Z^W^9Hx9zD zQPZ%;#ncunP_ybeRF{2@6R^!CbOFzIjv*4oWvD^;JZki|_>Eb3a&ZdjQY^+Ts2YBW zt1$ag^MK1x(=&tginAMaUNCLC_BYs?^d5BaTTHbh(&;iYhz6n-h{c$PXQOJm4OQYd zu@JjmZkl!x>Uac?#Pz7_U$puAQKP;u{W}!{sFvD{L-51(w7*7urz=dKB+w+uMD4ApY`Q4i>Rm2oO+P_M%Fcqyu@Zn}#0SL6jU)Hgp^ zdu}jaDuw8hKM@;aDeA@*r~+JpP4Q{e;C%_(;+NJ&8%;}fzyk7fu@D!aTJEZpJ@5#s z24AB_{eY{@H{Vj!;7Q}*xDB&$4|c;w*O;ZX2R0+!2S?%{JON8k4|>q%e}F?tXJ2b7 zlA1+CC!B^|@h0q#J8k+S)NJrwX9iaeYMRYP4aQ5+kFTTpzUlSm#zU|P>7}UqmSHbE z4b^hjVh_##mxwec<15sHu^&~FCcouXiY-wET7YW86i&dcs2YBWn%_tN&KSi$q%T8V zcQ1~@cWk=z4Q6bO$9&EIDk7A`*?>LqK6LRlREfVs&5|xRn)G1oLV7x?ugh$DCAJ`a zF{QUwicoa zUS`v4PzAWzroTb8Z0DOz%ebftPr{U%DnP`=vv479LeUNOK>n=WZjMkFvFA23-vc;>^u^X!aR})i8B?H{sDxQiw8`}Mq(Gz3s41FfgSKXR1L004Wb*YTda55m5`7__#rdRhG1*b$Ky#@fj#g& zRKc8wnE|XDhoGkA1v~7Q5UNXdV=rvG)3o$ZY)g9b&XmbGj*Jy#gs=$T!WP)$5&pJ^ z12G#r|-uMQpPxqr9)a?&ueviS0r01gwycKocv#758EJZ|3@^{n&2RzDu zM#15@0I$Iy?!#`lc$Zm{SK(;VTT$12f-dgEG1&Pr({*!D1*||-;5^0wdpobn$bKS7m**t@%RYpeEpYbnU8&NF^<3#4#j&= zHUAh-!tPJ$eENSqk>+IVLKmM!)$j|{{BHZS`775H)cn5+)pT32JwAyp?#6!jqdngD z8FSuPoJjtB%)={Dv+FS|;`z>QA}z4jv!*Erqo&6=R1IdJR>U=^0$heFz^!;B?!sJj zo-;KYfCEV0fEsj9V*o$FK{(@ibDve18bZcJMD(DCQR#270CQe2E8uacroIA?!dGp& z*Ndi0PQ)qXpKa4mLFBuc47TAI+_-ilG{)ZE3|FS9Z6ja|v@mPEcbwQ6; z%!7_bUAO{uzY5_O;bs6pNLO*7cXr--Oe zmZJvG<=7v$qaXi*T2NZQWx8kxDqW5md~0ob1FFlmqZXLGI1RJjHe+WVwj&+HB3z9+ zKee5Rns6_w&wB1Q3rGlilfDsE^2afQpQCE@yLU_tUPjg2dDo;zpt_<2yWpkxDc*{G ze2o4-n0^Egq;H#LAhrVyl8;N>w1x~qH!Z8&OU8BC3FUun)HR z(4>c1PsCQ_pNG2cN<0Lg!>0HOPRF;gAJ2CNd}QY1OdLbH4430|s2XQ|Y{tZB)RoE`b?#(65r?UlGnD_aF91FYa+Nd2bOGkk`r`;*@julCXYONgu>yh!FGyd6vN5Q3)T*MtFFcrAWU-u;9hh--@J7a;u`{4Gw$ z^KchIzjX%honfN~(V-Fj{~;&;@t|yzm`T2-O957)R>>2HUqhHpds%Q1yMb^8 z=_vk98T=k2{Q+SkVFKX+@=hmQMaZR6e^>wOw~?@t(1T3vsIcp8E=M zEhzdOL3|D2cf=3h$8Yug=ZS8xxhLZs!cBw_7e8wA>o}(_ zf+yHGi<$GRjklwQRraB4QMG%9@FMZ<9J>{@LcTzlOZ=}oV=9RR!6D;l!fgbta>rt0 zE-KV9e)~wDWTMXZIGkf=k*D7utb2%mO8i@7@pO0xIT3<>hZ3?m){pCI?fDZ`!X1PS zWc&g3yNvi#CVJ4nKiP{uv(_DaiAY!Sz9lp!-U~O|bMkoD6y+1%Cmcz-FJ=g*aIT*3 zd_v-BJO|IhQo=jLeFXj1654ZN5gtu=i136xcDJ<~$9s|g3gJZZ@=4Ff%SksUbSAwS z=MrM%cOhJ@=Z_^rzmc4fLukbT{q80VCcc#L7vlF2G6emaa-M#991GwuJm1SP|Fk0= zB07)oIq_{c#$MAL&mgZe;Ta$GUqs}3PG~{+J@M-ZhjP+btov;x(w4koSVEXocL2ND z^ZF5=VdInWKGL5NwiB)+Y$4SBPP36gUi*`1!OdF}`V(Fwy_g%g#4pC%30D#xA%8G= zGq5*l{Z7YfLQmoaUJfrC(kpEIVl1=g+AQZ(8{u=oNiDaD2RUhojXy;EIl_gc+hCZW z-_7_JLY(+(csQXm@$<10;dSCI2@QYq$gd#d7Mr=3bkN58s{ijKv6C>3a0&49z)67MEp#9tdqUghhLGmig1a>|EEOy5Dv2^ z5Ot2TH|a@UZ_@g|qrW5X0^+%Z96~kWDSO^kcoJb1VHx2L!Vw&QjL?p71>p^XejN$y zYuGH%Vku74??i*sh0OKjbs+s$d+Z4Ep0;tFHj^-dydRa|_a?`l!*!_py+PPS`c=Zc zg!f2)hXq`7DDfe?HL?WB8l%U@kgfBR#Uw`YJ_#WvIgsxn3mk#nfoOl+; z9wqc3bRg^{-;ehZni0<;TuS%{>B}$&%L%LX{?~7?_b+QdnX_#C7UG8ye;%*I>DZK@ z-`j-ogwZ_wRPweGvWQ=Tf3)Yc=XgHx&#~_JcOoufAE6QFKcVMu_GA{Lz23Q$^iG0)XIonn@5>1{k^URu7{Zx^(S*|odEVIv|8pqG%?yeTtWX08 zcM>0HPHEwAjq?+~xAtZ>3_7aWv2JcoX>Oid7Ah|fmbrnr8;QoM17Wv36b?E$@iFfF zNL3`dD&l3hiQ1Z=y&||e5et+i{^_F3(?d7JSXnvqyxjwP2WANdwR(5?&*(*-8MKJiYMGya78j0S9Qu`(Q2-61L0UOP*%&4 zKz(NBg5j6?IGF2(IH9^ERFRA(<43wR(Re&m5(U7!E~} zt4S6%^REsh5-}a34x@W!wv1lkb4#O!KO9^c4AbASU}+*6tMyK!0^wjF9(3cugd0jw=9+M*G?WO}nu7WL(MZr= zfAzS@)8?c*jPKvZ+{JsG`X`p@JAPE-(m)AMXLtl7Jl0j2LnX;XFz&{aH8s&#!kHY3 zd*>u7gYGf2=T2MT7EPM*%ZKL{&rtonYI4iETcnRKswj#4+Xoe!Q~t$s8XWx>kI6h( zbV{RCZXyuNb>o4RRG~T$skQY@L@R>aImTd2MBRWJr<198BES@h#%SSql^ckaR)$sv z^V~qBOkK`kiqq;rt|<$x43#DAOr!NQ>QqpBNq$yV@#;V|{gR50$#S`E%=MR+*B@58 zoC#EdZeMp2qm-#ocd>U=chpEw*HA!8z{&Y__e!ih_-3yC^>t@xJ_N#M4T!r-Ly?2- zyD}IniN=HB+WK3q{^dJStYWiBG`O2r&j!WJ&&mv&oc49CA1~h6Juqm-r0*~8l~=*4 zq&bwdi&6dAl}t{$pek6qDjF-(49ZQvTKr!6+9|QNtXdqRD=K2qWQ{v*a;Di-zpru8 z-0A7Vk6N7Be$?8=gJvefi4cukS3}!iS`C;XZmxf3t{bgMgrbr3gc;l0&zW32$C({2 zvw2zy)3Zi&^5v)hHe+4NJCD_2j5|-=p#qnwSG)<&(#l#m+dC(2v*;4QDC<#ge%cQX{7{T3y54HOtJh;V*anxz6l@x_kQ<75GOkSro3W zT$0OrUO#J?jjWx65|yF&APuO@88dSlrOJ~UxvULlrL%owW?UpuH!_2<>QIEyI-okl zQpfo`)HKY5fzF)Zft##~g$@kF19#!}iC?@&Gq2PW2Bx2%ot@b+`>sYqO9G`;^jADt zULIPlg*Nvz-cZR1Bbh~l70Ro%-)~Qd#?sF%>X^#Un#b&6aK`B@@42yPnE6_(HMYT3 z_U;Uelr0Rgj6K zBE~hB^4v(Wx+Iv2(YpG1$Gt4&95^u&3g;bo8E|)9rBg!X2jcd0b6y@xiWUHu(GiTT z3dMselnPOQ#ARl!3e>VLwO6t1`E?IXKQZUJW@W)}kk?xJgt=#on8$k0fOGx+%3!#L zksY(iWIRw2%+(U^R-5HXZxRMsG?Jf{eq-)m4l4^r;-N(C7%nKyP2V{$yKqG^>J9OD zqLwmh9OpCc>mFc_`n{v$%;OjXESW5odgJD2cFh~uBy~bG>2;DfOlyLrq4HW&ghVCF zB|X3#EGjKa#FDES1i5~{sgGB7C3&wT{NX@JFkClL9q*P&*08v}pY9SZ_g2@R-^}$| z$F#&R-7KE@biw{c!-5rB1QTv`P@U$^ES@>Bc#eNo(ad6ZRb^1idZ5gkLZLaFzKHD0pGrkaSs>CMEPgqgHw!QB0PA&`IVW1}W%2$Grteyk7{-Js zIq=%nD`#btPoT=cNbBmT{VWo!HB*w;(RN)QB5uedUe_#=&3Wtr*Ow3dUAzwlLS6#fenjWg+;%NOx72kknSlEuB(K9v6A83@~ zLo&F!G@L98x~$;bm+v;sxnQ8Qvi|B??^PY5ybU^BxAb0}Q>M)*&eNLVeWo#w;*JL2 zue$Hl|H(VleUcnEX|5a6E7&$qWF`>X=$?$x`TI9ZQ_DeEH#0uc<7(+(nQ<3%z)GO z`%?dJ_hxSQf4w)0r+b{f@zA=xNqXPuqtf@D{>RbYIQkdcv@#|r-@tXv5)214m3RdP z_})qnIkR_W;~B5`vb5(i8@5cznrz>{*q*IE>&{-@7uh`1K>?;I3mB_(EW`-ZTP~e@ z_Tx?c{(v@VPp%!D`Rwd0U)?V4$+gq#cWF->#WIox8a436sor@c+O*Eoa>knIqQyp>e8i*H!=ReBdLyZd>)gVQ1#dW784} zt9}V~!&Pogu$mfI#nY`XDfz##Ws6>NN2Ao#S@T`9ZKLyQ`HG@AB|(~=4y_w1q*(p~ ze4>W~)tWC!Mvk|8OC%!|6@2Rk5`iRRso_4ZOtaJ*6`H)&B`kfasy+$LboDlNDRy?8 z#+a%5nr5xn6B2CeCb46WR{n}T-NYn=ufbNy+|fQqTRIiy7q@h&mBD;Xin?E4_du`2 zgVo9UHZXN>_>6dvu^w>wUMUUziVfaG{(e)%lMcRX+XhuvLD=N=NI&UIKYp1zdS)7de3FwXCEJ^O7OuLWu@c}oNm@Z z?-i8ZeR;CkF~Ms73{#aUULW^0nW??ry;qcGreFC@2Fn z`ta1oFFo$+-9u)3TfSrJvKcCYT(gEZysYjUBR}2snwwHut2tT|jMXjd?CQJ`<*hAs z3w%!8slTsZ>y!F3*NZj0cm0;IIuO@eqQOPprqHxNmE9Ebx1AzhtQFp^ynW$;XEfXv z*1bQQL5pt&ilrw8_fEfllMVo{%G-w+d8|e`wzB; z&FlAu_{=~pHp~mhQds0c1sD@HbnhaQ4`v3 z7LWVcMzL;EA9R`7NSSrupLUCE==j51ZQvL8il%uP0TGJl^(J$bH&cyGD({ z1E**;iA33oX~*}ojU$Ibe4233RMkdJgCxB7AI-w&b&$_m#xj4I;){YgL0Rnva&W^P zB!9|b-|KphFXc*a?9^YJmA>f%KBvr&8TI}OX_=BWg^L(Sm?ZTqPz!cnD z$KwH(odb(Q-Hy}@jf1zLj(6kAKrG3&{GaX__XaGt^V>JXue)hx*OpTo=kfkp#e1oY z_X_Jtl*N-RXpz5Y*3_x9=M^zC^d_^jG&AA$X})yD9j$t*?Yu3eZ9n@_Q_Y&k=V*H6 z9p9w4t!~%q7{(QUORjV)`1}l~E4S7jS*raPAL|WwBDLD-{EDsTpSND@EB}?7$^Ufo z8QHeN*DGni_1S3Fzu&yiK(h*@U(0MyPr0jaddEZU(#3c6lYVEp8Sa(LWxdGQDeKM~;{Kfx2TgpE?a)mFGeDn$5z+b(kOpkdiXP*5N z&;P>S@xR$RE_v)uU;lqIo=j&A%pCT_vyCPn*c+NTRvImhR{d<(SfBUH-8?Y;=98EI E5AGyoN&o-= delta 11883 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, 1999, 2002. -# Arif E. Nugroho , 2008, 2009, 2010. +# Arif E. Nugroho , 2008, 2009, 2010, 2011, 2012, 2013, 2014. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar 1.23.90\n" +"Project-Id-Version: tar 1.28\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2010-07-14 10:00+0700\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2014-08-02 10:00+0700\n" "Last-Translator: Arif E. Nugroho \n" "Language-Team: Indonesian \n" "Language: id\n" @@ -19,46 +19,46 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argumen %s untuk %s tidak valid" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argumen %s untuk %s ambigu" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Argumen yang valid adalah:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s nilai lebih kecil atau sama dengan %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT parameter membutuhkan sebuah nilai" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT parameter harus positif" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Parameter ARGP_HELP_FMT tidak diketahui" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Sampah dalam ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -66,143 +66,148 @@ msgstr "" "Argumen wajib atau opsional ke pilihan panjang juga wajib atau opsional " "untuk argumen pendek yang berkorespondennya." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Penggunaan:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " atau: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [PILIHAN...]" -#: gnu/argp-help.c:1686 -#, fuzzy, c-format +#: gnu/argp-help.c:1688 +#, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" -msgstr "Coba `%s --help' atau `%s --usage' untuk informasi lebih lanjut.\n" +msgstr "Coba '%s --help' atau '%s --usage' untuk informasi lebih lanjut.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Laporkan bug ke %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Kesalahan sistem tidak dikenal" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "berikan daftar bantuan ini" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "berikan sebuah pesan penggunaan singkat" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NAMA" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "set nama aplikasi" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SECS" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "berhenti untuk DETIK detik (baku 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "tampilkan versi aplikasi" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(APLIKASI ERROR) Tidak ada versi yang dikenal!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Terlalu banyak argumen\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(APLIKASI ERROR) Pilihan seharusnya telah dikenali!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "error menulis" -#: gnu/getopt.c:549 gnu/getopt.c:578 -#, fuzzy, c-format +#: gnu/getopt.c:575 gnu/getopt.c:604 +#, c-format msgid "%s: option '%s' is ambiguous; possibilities:" -msgstr "%s: pilihan '%s' ambigu\n" +msgstr "%s: pilihan '%s' ambigu" + +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: pilihan '-W %s' ambigu\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: pilihan '--%s' tidak mengijinkan sebuah argumen\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: pilihan '%c%s' tidak mengijinkan sebuah argumen\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: pilihan '--%s' membutuhkan sebuah argumen\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: pilihan tidak dikenal '--%s'\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: pilihan tidak dikenal '%c%s'\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: pilihan -- '%c' tidak valid\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: pilihan membutuhkan sebuah argumen -- '%c'\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: pilihan '-W %s' ambigu\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: pilihan '-W %s' tidak mengijinkan sebuah argumen\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: pilihan '-W %s' membutuhkan sebuah argumen\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "kehabisan memori" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "tidak dapat menyimpan direktori kerja sekarang" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "gagal untuk kembali ke direktori kerja inisial" @@ -228,11 +233,11 @@ msgstr "gagal untuk kembali ke direktori kerja inisial" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "`" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "'" @@ -242,7 +247,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[yY]" @@ -252,16 +257,16 @@ msgstr "^[yY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Dibungkus oleh %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Dibungkus oleh %s\n" @@ -269,11 +274,11 @@ msgstr "Dibungkus oleh %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "(C)" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -412,22 +417,22 @@ msgstr "" "\n" "Laporkan bug ke: %s\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Laporkan %s bug ke: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s halaman rumah: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s halaman rumah: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "Bantuan umum menggunakan aplikasi GNU: \n" @@ -539,7 +544,7 @@ msgid "Cannot connect to %s: resolve failed" msgstr "Tidak dapat menghubungi ke %s: penelusuran gagal" #: lib/rtapelib.c:502 -#, fuzzy, c-format +#, c-format msgid "Cannot redirect files for remote shell" msgstr "Tidak dapat menjalankan remote shell" @@ -592,8 +597,8 @@ msgstr "Unexpected tidak terduga" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Manipulasi sebuah tape drive, menerima perintah dari proses remote" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "NOMOR" @@ -601,10 +606,11 @@ msgstr "NOMOR" msgid "set debug level" msgstr "tentukan tingkat penelusuran" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "BERKAS" @@ -617,7 +623,7 @@ msgstr "tentukan keluaran nama berkas penelusuran" msgid "cannot open %s" msgstr "tidak dapat membuka %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "terlalu banyak argumen" @@ -626,112 +632,111 @@ msgstr "terlalu banyak argumen" msgid "Garbage command" msgstr "Perintah sampah" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Ini sepertinya bukan sebuah tar archive" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Total byte dibaca" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Total byte ditulis" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Total byte dihapus: %s\n" +msgstr "Total byte dihapus" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(pipe)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "Refusing to read archive contents from terminal (missing -f option?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "Refusing to write archive contents to terminal (missing -f option?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Nilai record_size tidak valid" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Tidak diberikan nama archive" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Tidak dapat memverifikasi stdin/stdout archive" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Archive terkompres. Gunakan %s pilihan" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Tidak dapat update compressed archives" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Berada pada awal tape, berhenti sekarang" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Terlalu banyak errors, berhenti" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Ukuran record = %lu blok" msgstr[1] "Ukuran record = %lu blok" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Blok tidak sesuai (%lu byte) dalam arsip" msgstr[1] "Blok tidak sesuai (%lu byte) dalam arsip" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Tidak dapat backspace file archives; kemungkinan tidak bisa dibaca tanpa -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek tidak dapat berhenti di sebuah batas rekaman" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: berisi nomor volum yang tidak valid" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Nomor volum overflow" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Mempersiapkan volume #%d untuk %s dan tekan return: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "EOF pada saat user reply diharapkan" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "PERINGATAN: Archive tidak lengkap" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -743,65 +748,65 @@ msgstr "" " q Batalkan tar\n" " y or newline Lanjutkan operasi\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Spawn sebuah subshell\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Tampilkan daftar ini\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Tidak ada new volume; keluar.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Nama berkas tidak dispesifikasikan. Coba lagi.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Masukan tidak valid. Ketik ? untuk bantuan.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "Perintah %s gagal" -#: src/buffer.c:1491 -#, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s mungkin dilanjutkan di volume ini: header berisi nama terpotong" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s tidak dilanjutkan di volume ini" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s mungkin dilanjutkan di volume ini: header berisi nama terpotong" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s adalah ukuran yang salah (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Volume ini di luar urutan (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Label archive tidak cocok dengan %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Volume %s tidak sesuai dengan %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -809,7 +814,7 @@ msgstr "" "%s: nama berkas terlalu panjang untuk diurutkan dalam sebuah GNU multivolume " "header, dipotong" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "tulis tidak berhenti di batas blok" @@ -820,20 +825,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Hanya dapat membaca %lu dari %lu byte" msgstr[1] "Hanya dapat membaca %lu dari %lu byte" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Isi berbeda" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Unexpected EOF dalam archive" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Tipe berkas berbeda" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Mode berbeda" @@ -849,7 +854,7 @@ msgstr "Gid berbeda" msgid "Mod time differs" msgstr "Mod time berbeda" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Ukuran berbeda" @@ -858,140 +863,139 @@ msgstr "Ukuran berbeda" msgid "Not linked to %s" msgstr "Tidak dilink ke %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Symlink berbeda" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Nomor perangkat berbeda" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Verifikasi " -#: src/compare.c:473 -#, fuzzy, c-format +#: src/compare.c:477 +#, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Tipe berkas '%c' tidak dikenal, lakukan diff sebagai berkas normal" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Archive berisi nama berkas dengan awalan dihapus." -#: src/compare.c:535 -#, fuzzy +#: src/compare.c:539 msgid "Archive contains transformed file names." -msgstr "Arsip berisikan header base-64 yang kadaluarsas" +msgstr "Arsip berisikan header yang kadaluarsas" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Verifikasi mungkin gagal untuk menemukan berkas orisinil." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "GAGAL VERIFIKASI: header %d tidak valid terdeteksi" msgstr[1] "GAGAL VERIFIKASI: header %d tidak valid terdeteksi" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Sebuah lone blok nol di %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: berisi sebuah cache direktori tag %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "nilai %s dari %s di luar jangkauan %s..%s; menggantikan %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "nilai %s dari %s di luar dari jangkauan %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Membuat header oktal negatif" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: nama berkas terlalu panjang (maksimal %d); tidak di-dump" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: nama berkas terlalu panjang (tidak dapat memisahkan); tidak di-dump" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: nama link terlalu panjang; tidak di-dump" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Berkas diperkecil %s byte; dipadding dengan nol" msgstr[1] "%s: Berkas diperkecil %s byte; dipadding dengan nol" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: file berada pada filesistem yang berbeda; tidak di-dump" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "isi tidak didump" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tipe file tidak dikenal; file diabaikan" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Hilang hubungan ke %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: berkas tidak berubah; tidak di-dump" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: berkas adalah archive; tidak di-dump" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "direktori tidak didump" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: berkas berubah saat kita membacanya" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: soket diabaikan" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: door diabaikan" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Skip ke header berikutnya" @@ -1009,55 +1013,55 @@ msgstr "%s: implausibly penanda waktu lama %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: penanda %s adalah %s dalam masa datang" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Inkonsistensi tidak diharapkan ketika membuat direktori" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" -msgstr "" +msgstr "%s: skipping existing file" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Direktori diganti nama sebelum statusnya dapat diperoleh" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Sedang extract contiguous file sebagai regular file" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Mencoba extract symbolic link sebagai hard link" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "" "%s: Tidak dapat mengekstrak -- berkas adalah kelanjutan dari volume lain" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Tidak terduga nama header panjang" -#: src/extract.c:1542 -#, fuzzy, c-format +#: src/extract.c:1587 +#, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Tipe berkas tidak dikenal '%c', diekstraksi sebagai berkas normal" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Saat ini %s adalah lebih baru atau berumuran sama" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Tidak dapat melakukan backup berkas ini" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Tidak dapat mengubah nama %s ke %s" @@ -1073,9 +1077,9 @@ msgid "%s: Directory is new" msgstr "%s: Direktori adalah baru" #: src/incremen.c:566 -#, fuzzy, c-format +#, c-format msgid "%s: directory is on a different filesystem; not dumped" -msgstr "%s: file berada pada filesistem yang berbeda; tidak di-dump" +msgstr "%s: directory berada pada filesistem yang berbeda; tidak di-dump" #: src/incremen.c:587 #, c-format @@ -1087,9 +1091,8 @@ msgid "Invalid time stamp" msgstr "Time stamp tidak valid" #: src/incremen.c:1047 -#, fuzzy msgid "Invalid modification time" -msgstr "Waktu modifikasi (detik) tidak valid" +msgstr "Waktu modifikasi tidak valid" #: src/incremen.c:1057 msgid "Invalid modification time (nanoseconds)" @@ -1106,217 +1109,220 @@ msgstr "Nomor inode tidak valid" #: src/incremen.c:1137 #, c-format msgid "%s: byte %s: %s %.*s... too long" -msgstr "" +msgstr "%s: byte %s: %s %.*s... too long" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Tidak terduga EOF dalam berkas snapshot" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" -msgstr "" +msgstr "%s: byte %s: %s %s followed by invalid byte 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" -msgstr "" +msgstr "%s: byte %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" -msgstr "" +msgstr "%s: byte %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Hilang pengakhir rekaman" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Format berkas incremental buruk" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Versi format incremental tidak didukung: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Salah bentuk dumpdir: diduga '%c' tetapi ditemukan %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Salah bentuk dumpdir: 'X' terduplikasi" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Salah bentuk dumpdir: nama kosong dalam 'R'" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Salah bentuk dumpdir: 'T' tidak diawali oleh 'R'" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Salah bentuk dumpdir: nama kosong dalam 'T'" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Salah bentuk dumpdir: diduga '%c' tetapi ditemukan akhir dari data" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Salah bentuk dumpdir: 'X' tidak pernah digunakan" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Tidak dapat membuat direktori sementara menggunakan template %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Tidak menghapus direktori: tidak dapat memperoleh statistik" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: direktori berada di perangkat yang berbeda: tidak menghapus" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Menghapus %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Tidak dapat menghapus" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Mengabaikan" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok dari KOSONG **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Akhir dari Berkas **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Kosong dalam header saat diharapkan nilai %s numerik" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "Nilai oktal arsip %.*s di luar batasan %s; asumsikan komplemen dua" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Nilai oktal arsip %.*s di luar batasan %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Arsip berisikan header base-64 yang kadaluarsas" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Arsip yang ditandatangahi dengan string base-64 %s di luar batasan %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Nilai arsip base-256 di luar batasan %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arsip berisikan %.*s ketika nilai numerik %s diharapkan" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Nilai arsip %s dari %s di luar batasan %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " link ke %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " tipe file tidak dikenal %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Link Panjang--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Nama Panjang--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Volume Header--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Diteruskan pada byte %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Membuat direktori:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Mengganti nama %s ke %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s:Tidak dapat mengganti nama ke %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Mengganti nama %s kembali ke %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Berkas dihapus sebelum kita membacanya" @@ -1329,31 +1335,189 @@ msgstr "proses anak" msgid "interprocess channel" msgstr "saluran interproses" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Pemilihan berkas lokal:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"tambahkan berkas yang diberikan ke archive (berguna jika namanya berawal " +"dengan sebuah dash)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "DIR" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "pindah ke direktori DIR" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "dapatkan nama untuk ekstrak atau buat dari BERKAS" + +#: src/names.c:77 #, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T baca nama berakhiran kosong, non-aktifkan -C" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "non-aktifkan efek dari pilihan --null sebelumnya" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "unquote nama berkas baca dengan (baku)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "jangan unquote nama berkas baca dengan" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "POLA" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "jangan masukan berkas, berikan sebagai sebuah POLA" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "jangan masukan pola yang terdaftar dalam BERKAS" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"jangan masukan isi dari direktori berisi CACHEDIR.TAG, kecuali untuk berkas " +"tag itu sendiri" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "jangan masukan apapun dibawah direktori berisi CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "jangan masukan direktori berisi CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"jangan masukan isi dari direktori berisi BERKAS, kecuali untuk BERKAS itu " +"sendiri" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "read exclude patterns for each directory from FILE, if it exists" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "jangan masukan apapun dibawah direktori berisi BERKAS" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "jangan masukan direktori berisi BERKAS" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "jangan masukan direktori sistem pengontrol direktori" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "read exclude patterns from the VCS ignore files" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "abaikan berkas cadangan dan berkas kunci" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "rekursif kedalam direktori (baku)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "hindari penurunan secara otomatis dalam direktori" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Pilihan nama berkas cocok (mempengaruhi baik pola exclude dan include):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "pencocokan pola nama berkas mulai" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "pencocokan polah setelah '/' apapun (baku untuk exclusion)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "abaikan perbedaan huruf besar dan huruf kecil" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "pencocokan dengan memperhatikan huruf besar dan huruf kecil (baku)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "gunakan wildcards (baku untuk exclusion)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "pencocok verbatim string" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "wildcards cocok '/' (baku untuk exclusion)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "wildcards tidak cocok '/'" + +#: src/names.c:768 msgid "command line" -msgstr "Perintah %s gagal" +msgstr "Perintah gagal" -#: src/names.c:378 -#, fuzzy, c-format +#: src/names.c:786 +#, c-format msgid "%s: file list requested from %s already read from %s" -msgstr "%s: daftar berkas telah dibaca" +msgstr "%s: file list requested from %s daftar berkas telah dibaca %s" -#: src/names.c:448 src/checkpoint.c:274 -#, fuzzy, c-format +#: src/names.c:867 src/checkpoint.c:274 +#, c-format msgid "cannot split string '%s': %s" -msgstr "tidak dapat menset waktu di `%s'" +msgstr "tidak dapat menset waktu di '%s': %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: nama berkas yang dibaca berisi karakter nul" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Pola pencocokan karakter digunakan dalam nama berkas." -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1361,56 +1525,55 @@ msgstr "" "Gunakan --wildcards untuk mengaktifkan pencocokan pola, atau --no-wildcards " "untuk menekan peringatan ini" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Tidak ditemukan dalam archive" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Kejadian yang diinginkan tidak ditemukan dalam archive" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Label archive tidak cocok" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Menggunakan pilihan -C didalam daftar berkas tidak diijinkan dengan --listed-" "incremental" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Hanya satu pilihan -C yang diijinkan dengan --listed-incremental" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Pilihan `-%s' dan `-%s' membutuhkan standard masukan" +msgstr "Pilihan '-%s' dan '-%s' membutuhkan standard masukan" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Format archive tidak valid" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Feature GNU dibutuhkan untuk format archive yang tidak kompatibel" -#: src/tar.c:264 -#, fuzzy, c-format +#: src/tar.c:265 +#, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -"Gaya quoting `%s' tidak diketahui. Coba `%s --quoting-style=help' untuk " +"Gaya quoting '%s' tidak diketahui. Coba '%s --quoting-style=help' untuk " "memperoleh daftar." -#: src/tar.c:378 -#, fuzzy +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1420,7 +1583,7 @@ msgid "" " tar -tvf archive.tar # List all files in archive.tar verbosely.\n" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -"GNU `tar' menyimpan beberapa berkas bersama dalam sebuah tape tunggal atau " +"GNU 'tar' menyimpan beberapa berkas bersama dalam sebuah tape tunggal atau " "disk archive, dan dapat dikembalikan ke berkas individu dari archive " "tersebut.\n" "\n" @@ -1430,8 +1593,7 @@ msgstr "" "secara rinci.\n" " tar -xf archive.tar # Bongkar semua berkas dari archive.tar.\n" -#: src/tar.c:387 -#, fuzzy +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1442,7 +1604,7 @@ msgid "" " nil, existing numbered if numbered backups exist, simple otherwise\n" " never, simple always make simple backups\n" msgstr "" -"Akhiran dari backup adalah `~', kecuali bila diset dengan --suffix atau " +"Akhiran dari backup adalah '~', kecuali bila diset dengan --suffix atau " "SIMPLE_BACKUP_SUFFIX.\n" "Version control dapat diset dengan --backup atau VERSION_CONTROL, nilainya:\n" "\n" @@ -1452,80 +1614,88 @@ msgstr "" "sebaliknya\n" " never, simple selalu buat cadangan sederhana\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Mode operasi utama:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "daftar isi dari sebuah archive" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "ekstrak berkas dari sebuah archive" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "buat sebuah archive baru" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "cari perbedaan diantara archive dan sistem berkas" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "tambahkan berkas ke akhir dari sebuah archive" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "hanya tambahkan berkas yang lebih bari dari salinan dalam archive" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "tambahkan berkas tar ke sebuah archive" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "hapus dari archive (bukan dalam pita mag!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "test label volume archive dan keluar" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Pemodifikasi operasi:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "tangani berkas sparse secara efisien" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "set versi dari format sparse untuk digunakan (mengimplikasikan --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "tangani format GNU lama incremental backup" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "tangani format GNU barus incremental backup" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "tingkat `dump' untuk pembuatan `listed-incremental archive'" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "jangan keluar dengan bukan nol dalam berkas tidak dapat dibaca" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1537,141 +1707,147 @@ msgstr "" "diff, --extract atau --list dan ketika sebuah daftar dari berkas diberikan " "baik dalam baris perintah atau melalui pilihan -T; JUMLAH baku ke 1" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "pencarian tidak dapat dilakukan dalam archive" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "pencarian tidak dapat dilakukan dalam archive" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" "tidak dapat memeriksa nomor perangkat ketika membuat archive incremental" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "periksa nomor perangkat ketika membuat incremental archive (baku)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Overwrite kontrol:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "mencoba untuk memverifikasi archive setelah menulisnya" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "hapus berkas setelah menambahkannya ke archive" -#: src/tar.c:485 -#, fuzzy +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "jangan timpa berkas yang sudah ada ketika mengekstrak" -#: src/tar.c:488 -#, fuzzy +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "jangan timpa berkas yang sudah ada ketika mengekstrak" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "jangan timpa berkas yang sudah ada yang lebih baru dari salinan archivenya" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "overwrite berkas yang sudah ada ketika mengekstrak" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "hapus setiap berkas sebelum mengekstrak diatasnya" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "kosongkan susunan sebelum mengekstrak ke direktori" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "jaga metadata dari direktori yang sudah ada" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "overwrite metadata dari direktori yang sudah ada ketika mengekstrak (baku)" -#: src/tar.c:504 -#, fuzzy +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" -msgstr "overwrite berkas yang sudah ada ketika mengekstrak" - -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "DIR" +msgstr "preserve berkas yang sudah ada ketika mengekstrak" -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "create a subdirectory to avoid having loose files extracted" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Pilih stream keluaran:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "ekstrak berkas ke standar keluaran" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "PERINTAH" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "pipe berkas terekstrak ke aplikasi lain" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "abaikan kode keluaran dari anak" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "perlakukan kode keluaran bukan nol dari anak sebagai error" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Penanganan dari atribut berkas:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "paksa NAMA sebagai pemilik untuk berkas yang ditambahkan" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "paksa NAMA sebagai grup untuk berkas yang ditambahkan" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATE-ATAU-BERKAS" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "set mtime untuk berkas yang ditambahkan dari DATE-OR-FILE" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "PERUBAHAN" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "paksa PERUBAHAN (simbolik) mode untuk berkas yang ditambahkan" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METODE" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1681,11 +1857,11 @@ msgstr "" "setelah membaca (METODE='replace'; baku) atau dengan tidak menset waktu di " "tempat pertama (METODE='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "jangan ekstrak waktu modifikasi berkas" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1693,19 +1869,19 @@ msgstr "" "mencoba mengekstrak berkas dengan kepemilikan yang sama yang ada dalam " "archive (baku untuk pengguna super)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "ekstrak berkas seperti dirimu (baku untuk pengguna biasa)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "selalu gunakan nomor untuk nama pengguna/grup" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "ekstrak informasi mengenai ijin berkas (baku untuk superuser)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1713,16 +1889,13 @@ msgstr "" "aplikasikan umask pengguna ketika mengekstrak ijin dari archive (baku untuk " "pengguna biasa)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" +"member arguments are listed in the same order as the files in the archive" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "sama seperti baik -p dan -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1730,188 +1903,187 @@ msgstr "" "tunda konfigurasi waktu modifikasi dan ijin untuk direktori terekstrak " "sampai akhir dari ekstrasi" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "batalkan efek dari pilihan --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "ORDER" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "directory sorting order: none (default) or name" -#: src/tar.c:578 -#, fuzzy +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Penanganan dari atribut berkas:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" -msgstr "" +msgstr "Enable extended attributes support" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" -msgstr "" +msgstr "Disable extended attributes support" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" -msgstr "" +msgstr "MASK" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" -msgstr "" +msgstr "specify the include pattern for xattr keys" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" -msgstr "" +msgstr "specify the exclude pattern for xattr keys" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" -msgstr "" +msgstr "Enable the SELinux context support" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" -msgstr "" +msgstr "Disable the SELinux context support" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" -msgstr "" +msgstr "Enable the POSIX ACLs support" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" -msgstr "" +msgstr "Disable the POSIX ACLs support" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Pemilihan dan pengubahan perangkat:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARCHIVE" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "gunakan berkas archive atau perangkat ARCHIVE" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "berkas archive adalah lokal walaupun ini memiliki sebuah kolon" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "gunakan PERINTAH rmt yang diberikan daripad rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "gunakan PERINTAH remote daripada rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "spesifikasikan drive dan kepadatan" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "buat/daftar/ekstrak multi-volume archive" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "ubah pita setelah menulis ANGKA x 1024 bytes" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "jalankan script di akhir dari setiap pite (mengimplikasikan -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "gunakan/update jumlah volume dalam BERKAS" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Bloking perangkat:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOK" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOK x 512 byte per detik" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "JUMLAH dari byte per rekaman, kelipatan dari 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "abaikan blok yang dinolkan dalam archive (berarti EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "reblok saat kita baca (untuk 4.2BSD pipes)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Pemilihan format archive:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "buat archive dari format yang diberikan" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMAT adalah satu dari berikut:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "format tar lama V7" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "format gnu tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "format GNU tar 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "format POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "format POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "sama seperti pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "sama seperti --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "sama seperti --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "kata kunci[[:]=nilai][,kata kunci[[:]=nilai]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "kontrol kata kunci pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEKS" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1919,185 +2091,79 @@ msgstr "" "buat archive dengan nama volume TEKS; di waktu daftar/ekstrak, gunakan TEKS " "sebagai sebuah pola globbing untuk nama volume" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Pilihan kompresi:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "gunaka nama akhiran archive untuk menentukan aplikasi kompresi" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "jangan gunakan nama akhiran archive untuk menentukan aplikasi kompresi" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "saring melalui PROG (harus menerima -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Pemilihan berkas lokal:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"tambahkan berkas yang diberikan ke archive (berguna jika namanya berawal " -"dengan sebuah dash)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "pindah ke direktori DIR" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "dapatkan nama untuk ekstrak atau buat dari BERKAS" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T baca nama berakhiran kosong, non-aktifkan -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "non-aktifkan efek dari pilihan --null sebelumnya" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "unquote nama berkas baca dengan -T (baku)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "jangan unquote nama berkas baca dengan -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "POLA" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "jangan masukan berkas, berikan sebagai sebuah POLA" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "jangan masukan pola yang terdaftar dalam BERKAS" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"jangan masukan isi dari direktori berisi CACHEDIR.TAG, kecuali untuk berkas " -"tag itu sendiri" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "jangan masukan apapun dibawah direktori berisi CACHEDIR.TAG" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "jangan masukan direktori berisi CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"jangan masukan isi dari direktori berisi BERKAS, kecuali untuk BERKAS itu " -"sendiri" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "jangan masukan apapun dibawah direktori berisi BERKAS" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "jangan masukan direktori berisi BERKAS" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "jangan masukan direktori sistem pengontrol direktori" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "abaikan berkas cadangan dan berkas kunci" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "hindari penurunan secara otomatis dalam direktori" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "tetap dalam sistem berkas lokal ketika membuat archive" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "rekursif kedalam direktori (baku)" - -#: src/tar.c:761 -#, fuzzy +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" -msgstr "jangan hilangkan awalan `/' dari nama berkas" +msgstr "jangan hilangkan awalan '/' dari nama berkas" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "ikuti symlinks; berkas archive dan dump yang mereka tunjuk ke" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "ikuti hard links; berkas archive dan dump yang mereka refer ke" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "NAMA-ANGGOTA" -#: src/tar.c:767 -#, fuzzy +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "berawal di anggota NAMA-ANGGOTA dalam archive" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "hanya simpan berkas lebih baru dari DATE-OR-FILE" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "TANGGAL" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "bandingkan tanggal dan waktu hanya ketika data berubah" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "KONTROL" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "backup sebelum penghapusan, pilih PENGONTROL versi" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "STRING" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2105,100 +2171,60 @@ msgstr "" "backup sebelum penghapusan, override akhiran biasa ('~' kecuali di override " "oleh variabel lingkungan SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Transformasi nama berkas:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "hilangkan NOMOR yang mengawali komponen dari nama berkas di waktu ekstraksi" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "EKSPRESI" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "gunakan sed EKSPRESI replace untuk mengubah nama berkas" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Pilihan nama berkas cocok (mempengaruhi baik pola exclude dan include):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "abaikan perbedaan huruf besar dan huruf kecil" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "pencocokan pola nama berkas mulai" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "pencocokan polah setelah `/' apapun (baku untuk exclusion)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "pencocokan dengan memperhatikan huruf besar dan huruf kecil (baku)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "gunakan wildcards (baku untuk exclusion)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "pencocok verbatim string" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "wildcards tidak cocok `/'" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "wildcards cocok `/' (baku untuk exclusion)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Keluaran informative:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "proses daftar berkas secara verbose" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "KATA KUNCI" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "pengendali peringatan" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "tampilkan pesan perkembangan setiap rekaman ke ANGKA (baku 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "AKSI" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "jalankan AKSI disetiap titik pemeriksaan" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "tampilkan sebuah pesan jika tidak seluruh link didump" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SINYAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2210,35 +2236,35 @@ msgstr "" "adalah: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 dan SIGUSR2; nama tanpa awalah SIG " "juga diterima" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "tampilkan waktu modifikasi berkas dalam UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "tampilkan waktu berkas sampai ke resolusi penuh" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "kirim keluaran verbose ke BERKAS" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "tampilkan jumlah blok didalam archive dengan setiap pesan" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "minta konfirmasi untuk setiap aksi" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "tampilkan tar baku" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" -msgstr "" +msgstr "show valid ranges for snapshot-file fields" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2246,31 +2272,31 @@ msgstr "" "ketika mendaftar atau mengekstrak, daftar setiap direktori yang tidak cocok " "dengan kriteria pencarian" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "tampilkan berkas atau nama berkas setelah transformasi" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "GAYA" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "set nama quoting gaya; lihat dibawah untuk nilai GAYA yang valid" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "sebagai tambahan karakter quote dari STRING" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "non-aktifkan quoting untuk karakter dari STRING" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Pilihan yang kompatibel:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2278,57 +2304,63 @@ msgstr "" "ketika membuat, sama seperti --old-archive; ketika mengekstrak, sama seperti " "--no-same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Pilihan lain:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "non-aktifkan penggunaan dari pilihan berbahaya yang berpotensial" -#: src/tar.c:1010 -#, fuzzy +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "'%s' Tidak dapat mencari ke '%s'" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "" -"Anda tidak bisa menspesifikasikan lebih dari satu pilihan `-Acdtrux' atau `--" +"Anda tidak bisa menspesifikasikan lebih dari satu pilihan '-Acdtrux' atau '--" "test-label'" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Pilihan kompresi konflik" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Nama sinyal: %s tidak dikenal" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Tanggal contoh berkas tidak ditemukan" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Menggantikan %s untuk format tanggal tidak dikenal %s" -#: src/tar.c:1140 -#, fuzzy, c-format +#: src/tar.c:1066 +#, c-format msgid "Option %s: Treating date '%s' as %s" -msgstr "Pilihan %s: memperlakukan tanggal `%s' sebagai %s" +msgstr "Pilihan %s: memperlakukan tanggal '%s' sebagai %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "saring archive melalui %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Argumen yang valid untuk pilihan --quoting-style adalah:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2336,193 +2368,197 @@ msgstr "" "\n" "*Ini* tar baku ke:\n" -#: src/tar.c:1330 -#, fuzzy +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "Pemilik tidak valid" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Faktor bloking tidak valid" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Panjang tape tidak valid" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Nilai tingkat peningkatan tidak valid" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Lebih dari satu treshold date" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Nilai versi sparse tidak valid" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "pilihan --atime-preserve='system' tidak didukung di platform ini" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "nilai --checkpoint bukan sebuah integer" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Mode tidak tepat diberikan pada pilihan" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Nomor tidak valid" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"Pilihan --preserve sudah ditinggalkan, lebih baik gunakan --preserve-" -"permissions --preserve-order" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Ukuran record tidak valid" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Jumlah record harus kelipatan dari %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Jumlah dari elemen tidak valid" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Hanya satu pilihan --to-command yang diijinkan" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Salah bentuk kepadatan argumen: %s" -#: src/tar.c:2205 -#, fuzzy, c-format +#: src/tar.c:2052 +#, c-format msgid "Unknown density: '%c'" -msgstr "Kepadatan tidak diketahui: `%c'" +msgstr "Kepadatan tidak diketahui: '%c'" -#: src/tar.c:2222 -#, fuzzy, c-format +#: src/tar.c:2069 +#, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" -msgstr "Pilihan `-[0-7][lmh]' tidak didukung oleh tar *ini*" +msgstr "Pilihan '-[0-7][lmh]' tidak didukung oleh tar *ini*" + +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" -#: src/tar.c:2235 +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Error parsing nomor didekat `%s'" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[BERKAS]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Pola %s tidak dapat digunakan" +msgid "non-option arguments in %s" +msgstr "argumen %s untuk %s tidak valid" -#: src/tar.c:2389 +#: src/tar.c:2198 #, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "tidak dapat menset waktu di '%s': %s" + +#: src/tar.c:2293 +#, c-format msgid "Old option '%c' requires an argument." -msgstr "Pilihan 'lama' `%c' membutuhkan argument." +msgstr "Pilihan 'lama' '%c' membutuhkan argument." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence tidak berarti tanpa sebuah daftar berkas" -#: src/tar.c:2490 -#, fuzzy +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Berkas multiple archive membutuhkan pilihan '-M'" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--level tidak berarti tanpa --listed-incremental" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Label volume terlalu panjang (batasnya adalah %lu byte)" msgstr[1] "%s: Label volume terlalu panjang (batasnya adalah %lu byte)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Tidak dapat verifikasi multi-volume archives" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Tidak dapat verify compressed archives" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Tidak dapat menggunakan multi-volume compressed archives" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Tidak dapat update compressed archives" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option hanya dapat digunakan dalam archive POSIX" -#: src/tar.c:2560 -#, fuzzy +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" -msgstr "--pax-option hanya dapat digunakan dalam archive POSIX" +msgstr "--acls hanya dapat digunakan dalam archive POSIX" -#: src/tar.c:2565 -#, fuzzy +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" -msgstr "--pax-option hanya dapat digunakan dalam archive POSIX" +msgstr "--selinux hanya dapat digunakan dalam archive POSIX" -#: src/tar.c:2570 -#, fuzzy +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" -msgstr "--pax-option hanya dapat digunakan dalam archive POSIX" +msgstr "--xattrs hanya dapat digunakan dalam archive POSIX" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Cannot deduce top-level directory name; please set it explicitly with --one-" +"top-level=DIR" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Panjang volume tidak dapat lebih kecil dari ukuran rekaman" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Secara takut menolak untuk membuat sebuah archive kosong" -#: src/tar.c:2669 -#, fuzzy +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" -msgstr "Pilihan '-Aru' tidak kompatibel dengan `-f -'" +msgstr "Pilihan '-Aru' tidak kompatibel dengan '-f -'" -#: src/tar.c:2766 -#, fuzzy +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" -"Anda harus menspesifikasikan salah satu dari pilihan `-Acdtrux' atau `--test-" +"Anda harus menspesifikasikan salah satu dari pilihan '-Acdtrux' atau '--test-" "label'" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Keluar dengan status gagal karena error error sebelumnya" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "directory sorting order: none (default), name or inode" #: src/update.c:87 #, c-format @@ -2572,11 +2608,11 @@ msgid "Malformed extended header: missing newline" msgstr "Salah bentuk ekstensi header: hilang baris baru" #: src/xheader.c:741 -#, fuzzy, c-format +#, c-format msgid "Ignoring unknown extended header keyword '%s'" -msgstr "Mengabaikan kata kunci ekstensi `%s' yang tidak diketahui" +msgstr "Mengabaikan kata kunci ekstensi '%s' yang tidak diketahui" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2585,27 +2621,27 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Ekstensi header %s=%s diluar dari jangkauan %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Salah bentuk ekstensi header: tidak valid %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Salah bentuk ekstensi header: kelebihan %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Salah bentuk ekstensi header: tidak valid %s: tidak diduga pembatas %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Salah bentuk ekstensi header: tidak valid %s: jumlah dari nilai ganjil" @@ -2646,7 +2682,7 @@ msgstr "Menulis titik pemeriksaan %u" msgid "Read checkpoint %u" msgstr "Membaca titik pemeriksaan %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2654,69 +2690,73 @@ msgstr "" "genfile memanipulasi berkas data untuk suite pemeriksaan GNU paxutils.\n" "PILIHAN adalah:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Pilihan pembuatan berkas:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "UKURAN" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Buat berkas dari UKURAN yang diberikan" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Tulis ke berkas NAMA, daripada ke standar keluaran" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Baca nama berkas dari BERKAS" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T baca nama berakhiran null" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "Isi berkas dengan POLA yang diberikan. POLA adalah 'baku' atau 'nol'" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Ukuran dari sebuah blok untuk berkas sparse" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "Buat berkas sparse. Sisa dari baris perintah memberikan peta berkas." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "OFSET" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Cari ke ofset yang diberikan sebelum menulis data" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Pilihan statistik berkas:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Tampilkan isi dari statistik struk untuk setiap berkas yang diberikan. " "FORMAT baku adalah: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "pilihan eksekusi synchronous:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "PILIHAN" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2724,22 +2764,22 @@ msgstr "" "Jalankan ARG. Berguna dengan --checkpoint dan satu dari --cut, --append, --" "touch, --unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" "Lakukan aksi yang diberikan (lihat dibawah) ketika mencapai titik " "pemeriksaan NOMOR" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Set tanggal untuk pilihan --touch selanjutnya" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" "Tampilkan titik pemeriksaan yang dijalankan dan status keluar dari PERINTAH" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2747,7 +2787,7 @@ msgstr "" "Aksi eksekusi synchronous. Ini dijalankan ketika titik pemeriksaan nomor " "yang diberikan oleh pilihan --checkpoint dicapai." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2755,167 +2795,164 @@ msgstr "" "Potong BERKAS ke ukuran yang dispesifikasikan oleh pilihan --length " "sebelumnya (atau 0, jika ini tidak diberikan)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Tambahkan UKURAN bytes ke BERKAS. UKURAN yang diberikan oleh pilihan --" "length sebelumnya." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Update waktu akses dan modifikasi dari BERKAS" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Jalankan PERINTAH" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Putus BERKAS" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Ukuran: %s tidak valid" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Jumlah diluar dari jangkauan yang diijinkan: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Ukuran negatif: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) gagal" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "panjang berkas yang diminta %lu, sebenernya %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "pembuatan berkas tidak sparse" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Error parsing nomor didekat `%s'" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Format tanggal tidak diketahui" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARG...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "tidak dapat membuka `%s'" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "Tidak dapat mencari" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "nama berkas berisi karakter null" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "tidak dapat menghasilkan berkas sparse di standar keluaran, gunakan pilihan " "--file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "mask tidak benar (didekat `%s')" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Field `%s' tidak diketahui" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "tidak dapat menset waktu di `%s'" -#: tests/genfile.c:692 -#, fuzzy, c-format +#: tests/genfile.c:760 +#, c-format msgid "cannot truncate `%s'" -msgstr "tidak dapat memutus `%s'" +msgstr "tidak dapat memutus '%s'" -#: tests/genfile.c:701 -#, fuzzy, c-format +#: tests/genfile.c:769 +#, c-format msgid "command failed: %s" msgstr "Perintah %s gagal" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "tidak dapat memutus `%s'" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Perintah keluar secara sukses\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Perintah gagal dengan status %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Perintah berakhir di sinyal %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Perintah berhenti di sinyal %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Perintah memberika core dump\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Perintah berakhir\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat membutuhkan nama berkas" -#~ msgid "sort names to extract to match archive" -#~ msgstr "urutkan nama untuk mengekstrak supaya cocok dengan archive" - -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "--occurrence tidak dapat digunakan dalam mode operasi yang diminta" +#~ msgid "same as both -p and -s" +#~ msgstr "sama seperti baik -p dan -s" -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Tidak dapat menggabungkan --listed-incremental dengan --newer" - -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "--preserve-order tidak kompatibel dengan --listed-incremental" +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Pilihan --preserve sudah ditinggalkan, lebih baik gunakan --preserve-" +#~ "permissions --preserve-order" #~ msgid "Field too long while reading snapshot file" #~ msgstr "Field terlalu panjang ketika membaca berkas snapshot" @@ -2935,9 +2972,21 @@ msgstr "--stat membutuhkan nama berkas" #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Direktori dihapus sebelum kita membacanya" +#~ msgid "sort names to extract to match archive" +#~ msgstr "urutkan nama untuk mengekstrak supaya cocok dengan archive" + #~ msgid "Invalid group" #~ msgstr "Grup tidak valid" +#~ msgid "--occurrence cannot be used in the requested operation mode" +#~ msgstr "--occurrence tidak dapat digunakan dalam mode operasi yang diminta" + +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "Tidak dapat menggabungkan --listed-incremental dengan --newer" + +#~ msgid "--preserve-order is not compatible with --listed-incremental" +#~ msgstr "--preserve-order tidak kompatibel dengan --listed-incremental" + #~ msgid "Extended header length is out of allowed range" #~ msgstr "Ekstensi panjang header diluar dari jangkauan yang diijinkan" diff --git a/po/it.gmo b/po/it.gmo index 38ff1ddc66a442472c6fbb2e59432953c4fbe09f..d313ba742913eea64f46c6fda40a7d72d712b85b 100644 GIT binary patch delta 15515 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 c75e_2$^YtZR)@AZj&<(HO_3sH#|9TGUp`(WRwU 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 Q{@$R!s<^xlZUyK2Ke8lCqyPW_ diff --git a/po/it.po b/po/it.po index e4d608ec..d72c3483 100644 --- a/po/it.po +++ b/po/it.po @@ -1,67 +1,67 @@ # Italian translation of GNU tar. -# Copyright (C) 2008, 2009, 2010, 2011, 2013 Free Software Foundation, Inc. +# Copyright (C) 2008, 2009, 2010, 2011, 2013, 2014, 2016 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. # # Lele Gaifax , 1996. # Marco d'Itri , 1998. -# Milo Casagrande , 2008-2010, 2011, 2013. +# Milo Casagrande , 2008-2010, 2011, 2013, 2014, 2016. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar-1.27\n" +"Project-Id-Version: tar-1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2013-10-09 10:20+0200\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-03-15 12:18+0100\n" "Last-Translator: Milo Casagrande \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8-bit\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" -"X-Generator: Gtranslator 2.91.6\n" +"X-Generator: Poedit 1.8.7\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argomento %s non valido per %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argomento %s ambiguo per %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Gli argomenti validi sono:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: il valore %s è minore o uguale a %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: il parametro ARGP_HELP_FMT richiede un valore" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: il parametro ARGP_HELP_FMT deve essere positivo" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: parametro ARGP_HELP_FMT sconosciuto" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Spazzatura in ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -69,143 +69,148 @@ msgstr "" "Gli argomenti obbligatori o facoltativi per le opzioni estese lo sono anche " "per le corrispondenti opzioni brevi." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Uso:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " o: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [OPZIONE...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Provare \"%s --help\" o \"%s --usage\" per ulteriori informazioni.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Segnalare i bug a %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Errore di sistema sconosciuto" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "Mostra questo aiuto" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "Mostra un breve messaggio sull'uso" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NOME" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "Imposta il nome del programma" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEC" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "Resta in attesa per SEC secondi (predefinito 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "Stampa la versione del programma" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ERRORE DEL PROGRAMMA) Nessuna versione conosciuta." -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: troppi argomenti\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ERRORE DEL PROGRAMMA) L'opzione dovrebbe essere stata riconosciuta." -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "Errore di scrittura" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: l'opzione \"%s\" è ambigua; possibilità:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: l'opzione \"%s\" è ambigua\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: l'opzione \"--%s\" non accetta un argomento\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: l'opzione \"%c%s\" non accetta un argomento\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: l'opzione \"--%s\" richiede un argomento\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opzione \"--%s\" non riconosciuta\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opzione \"%c%s\" non riconosciuta\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opzione non valida -- \"%c\"\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: l'opzione richiede un argomento -- \"%c\"\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: l'opzione \"-W %s\" è ambigua\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: l'opzione \"-W %s\" non accetta un argomento\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: l'opzione \"-W %s\" richiede un argomento\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "memoria esaurita" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "Impossibile registrare la directory di lavoro corrente" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "Impossibile ritornare alla directory di lavoro iniziale" @@ -231,11 +236,11 @@ msgstr "Impossibile ritornare alla directory di lavoro iniziale" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "\"" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "\"" @@ -245,7 +250,7 @@ msgstr "\"" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[sSyY].*" @@ -255,16 +260,16 @@ msgstr "^[sSyY].*" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN].*" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pacchetto creato da %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Pacchetto creato da %s\n" @@ -272,11 +277,11 @@ msgstr "Pacchetto creato da %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -415,22 +420,22 @@ msgstr "" "Segnalare i bug a: %s\n" "Segnalare i bug di traduzione a: \n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Segnalare i bug di %s a: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Sito web di %s: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Sito web di %s: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "Aiuto per l'utilizzo di software GNU: \n" @@ -598,8 +603,8 @@ msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" "Manipola un dispositivo a nastro, accettando comandi da un processo remoto" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "NUMERO" @@ -607,10 +612,11 @@ msgstr "NUMERO" msgid "set debug level" msgstr "Imposta il livello di debug" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "FILE" @@ -623,7 +629,7 @@ msgstr "Imposta il nome del file di output per il debug" msgid "cannot open %s" msgstr "impossibile aprire %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "troppi argomenti" @@ -632,114 +638,117 @@ msgstr "troppi argomenti" msgid "Garbage command" msgstr "Comando spazzatura" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Questo non sembra un archivio tar" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Byte totali letti" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Byte totali scritti" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Byte totali eliminati: %s\n" +msgstr "Byte totali eliminati" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(pipe)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" +"Lettura del contenuto dell'archivio dal terminale non consentita (manca " +"l'opzione -f?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" +"Scrittura del contenuto dell'archivio sul terminale non consentita (manca " +"l'opzione -f?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Valore di record_size non valido" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Non è stato indicato il nome di un archivio" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Impossibile verificare archivi su stdin/stdout" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "L'archivio è compresso. Usare l'opzione %s." -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Impossibile aggiornare archivi compressi" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "All'inizio del nastro, uscita immediata" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Troppi errori, uscita" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Dimensioni del record = %lu blocco" msgstr[1] "Dimensioni del record = %lu blocchi" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Blocco non allineato nell'archivio (%lu byte)" msgstr[1] "Blocco non allineato nell'archivio (%lu byte)" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Impossibile muoversi all'indietro nel file dell'archivio; potrebbe non " "essere\n" "leggibile senza l'opzione -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek non si è fermata al limite di un record" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: contiene un numero di volume non valido" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Overflow del numero di volume" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Preparare il volume #%d per %s e premere Invio: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Ricevuto EOF quando era attesa la risposta dell'utente" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "Attenzione: l'archivio non è completo" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -751,67 +760,67 @@ msgstr "" " q Termina tar\n" " y o Invio Continua l'operazione\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Esegue una subshell\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Stampa questo elenco\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Nessun nuovo volume; uscita.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Nome file non specificato. Riprovare.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Input non valido. Premere ? per l'aiuto.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "comando \"%s\" non riuscito" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "%s non continua su questo volume" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s potrebbe continuare su questo volume: l'intestazione contiene un nome " "troncato" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "%s non continua su questo volume" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s è la dimensione sbagliata (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Questo volume è fuori sequenza (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "L'archivio non ha un'etichetta corrispondente a %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Il volume %s non corrisponde a %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -819,7 +828,7 @@ msgstr "" "%s: il nome del file è troppo lungo per essere scritto in un'intestazione " "GNU multi-volume, troncato" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "write non si è fermata al limite di un record" @@ -830,20 +839,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "È stato possibile leggere solo %lu byte di %lu" msgstr[1] "È stato possibile leggere solo %lu byte di %lu" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "I contenuti sono differenti" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "EOF inatteso nell'archivio" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "I tipi dei file sono diversi" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "I modi sono diversi" @@ -859,7 +868,7 @@ msgstr "I GID sono diversi" msgid "Mod time differs" msgstr "Gli orari di modifica sono diversi" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Le dimensioni sono diverse" @@ -868,139 +877,139 @@ msgstr "Le dimensioni sono diverse" msgid "Not linked to %s" msgstr "Non è collegato a %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "I collegamenti simbolici sono diversi" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "I numeri dei device sono diversi" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Verifica " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: tipo di file \"%c\" sconosciuto, confrontato come un file normale" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "L'archivio contiene nomi di file con i prefissi iniziali rimossi." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "L'archivio contiene nomi di file trasformati." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "La verifica potrebbe non riuscire a trovare i file originali." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "Errore di verifica: trovata %d intestazione non valida" msgstr[1] "Errore di verifica: trovate %d intestazioni non valide" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Un singolo blocco di zeri a %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: contiene un'etichetta di directory cache %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "valore %s fuori dall'intervallo (%s) %s..%s; sostituzione con %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "valore %s fuori dall'intervallo (%s) %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Generazione delle intestazioni ottali negative" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: il nome del file è troppo lungo (max %d); non archiviato" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: il nome del file è troppo lungo (impossibile dividerlo); non archiviato" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: il nome del collegamento è troppo lungo; non archiviato" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: file ristretto di %s byte; riempito con zeri" msgstr[1] "%s: file ristretto di %s byte; riempito con zeri" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: il file si trova su un altro file system; non archiviato" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "contenuti non archiviati" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: tipo di file sconosciuto; file ignorato" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Collegamenti mancanti a %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: il file non è modificato; non archiviato" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: il file è l'archivio; non archiviato" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "directory non archiviata" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: file modificato mentre era in lettura" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: socket ignorato" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: door ignorata" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Passaggio alla prossima intestazione" @@ -1019,40 +1028,40 @@ msgstr "%s: orario %s inverosimilmente vecchio" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: l'orario %s è %s secondi nel futuro" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: incoerenza inaspettata nel creare la directory" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "%s: file esistente saltato" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: directory rinominata prima di poterne estrarre lo stato" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Estrazione file contigui come file normali" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "" "Tentativo di estrazione dei collegamenti simbolici come collegamenti fisici" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: impossibile estrarre -- il file continua da un altro volume" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Intestazione di nome lungo inattesa" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: tipo di file \"%c\" sconosciuto, estratto come file normale" @@ -1064,17 +1073,17 @@ msgstr "%s: tipo di file \"%c\" sconosciuto, estratto come file normale" # quote (file_name))); # return 0; # } -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Il file %s corrente è più recente o ha la stessa data" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: impossibile eseguire il backup di questo file" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Impossibile rinominare %s in %s" @@ -1124,16 +1133,16 @@ msgstr "Numero dell'inode non valido" msgid "%s: byte %s: %s %.*s... too long" msgstr "%s: byte %s: %s %.*s... troppo lungo" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "EOF inatteso nel file di snapshot" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "%s: byte %s: %s %s seguito dal byte non valido 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" @@ -1142,113 +1151,113 @@ msgstr "" "%s: byte %s: (intervallo valido %s..%s)\n" "\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "%s: byte %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "%s: byte %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Record finale mancante" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Formato file incrementale errato" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Versione formato incrementale non supportata: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "dumpdir malformata: atteso \"%c\", ma trovato %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "dumpdir malformata: \"X\" duplicata" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "dumpdir malformata: nessun nome in \"R\"" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "dumpdir malformata: \"T\" non preceduta da \"R\"" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "dumpdir malformata: nessun nome in \"T\"" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "dumpdir malformata: atteso \"%c\", ma trovata la fine dei dati" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "dumpdir malformata: \"X\" mai usata" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Impossibile creare la directory temporanea usando il modello %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: eliminazione directory non eseguita: impossibile fare stat" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: la directory si trova su un altro device: non eliminata" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: eliminazione di %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: impossibile rimuoverlo" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: omesso" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blocco %s: ** Blocco di NUL **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "blocco %s: ** Fine del file **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "blocco %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Trovati spazi nell'intestazione dove era atteso il valore numerico %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1256,88 +1265,88 @@ msgstr "" "che sia in complemento a due" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Il valore ottale %.*s dell'archivio è fuori dall'intervallo %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "L'archivio contiene intestazioni base-64 obsolete" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" "La stringa base-64 con segno %s dell'archivio è fuori dall'intervallo %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Il valore base-256 dell'archivio è fuori dall'intervallo %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "L'archivio contiene %.*s dove era atteso il valore numerico %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Il valore %s dell'archivio è fuori dall'intervallo (%s) %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " collegamento a %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " tipo di file sconosciuto %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Collegamento lungo--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Nome lungo--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Intestazione del volume--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Continua al byte %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Creazione directory:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Rinomina di %s in %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: impossibile rinominarlo in %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Rinomina di %s nuovamente in %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: file rimosso prima di poterlo leggere" @@ -1350,30 +1359,189 @@ msgstr "il processo figlio" msgid "interprocess channel" msgstr "il canale tra processi" -#: src/names.c:360 +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "Selezione dei nomi file locali:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "Aggiunge FILE all'archivio (utile se il nome inizia con un trattino)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "DIR" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "Passa alla directory DIR" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "Prende i nomi da estrarre o creare dal file FILE" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T legge nomi terminati da NULL, implica --verbatim-files-from" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "Disabilita l'effetto dell'opzione --null precedente" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" +"Toglie i caratteri di citazione dai nomi dei file o dei membri (predefinito)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "Non toglie i caratteri di citazione dai nomi dei file o dei membri" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "-T legge i nomi file come sono (senza gestione opzioni)" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" +"-T considera i nomi file che iniziano con un trattino come opzioni " +"(predefinito)" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "MODELLO" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "Esclude i file i cui nomi corrispondono a MODELLO" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "Esclude i modelli elencati in FILE" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"Esclude i contenuti delle directory contenenti CACHEDIR.TAG, a parte il " +"file .TAG stesso" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "Esclude tutto quanto all'interno di directory contenenti CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "Esclude le directory contenenti CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"Esclude i contenuti delle directory contenenti FILE, a parte FILE stesso " + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "Legge i modelli di esclusione per ogni directory da FILE (se esiste)" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"Legge i modelli di esclusione per ogni directory e sotto-directory da FILE " +"(se esiste)" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "Esclude tutto quanto all'interno di directory contenenti FILE" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "Esclude le directory contenenti FILE" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "Esclude le directory dei sistemi di controllo della versione" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "Legge i file di esclusione dai file \"ignore\" dei CVS" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "Esclude i file di backup e di blocco" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "Entra ricorsivamente nelle directory (predefinito)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "Non entra automaticamente nelle directory" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Opzioni di corrispondenza del nome del file (vale sia per i modelli di " +"esclusione che inclusione):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "I modelli corrispondono all'inizio del nome del file" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" +"I modelli corrispondono dopo qualsiasi \"/\" (predefinito per le esclusioni)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "Non fa differenza tra maiuscole e minuscole" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "Considera diverse le maiuscole e le minuscole (predefinito)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "Utilizza i metacaratteri (predefinito per le esclusioni)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "Corrispondenza letterale della stringa" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "I metacaratteri corrispondono \"/\" (predefinito per le esclusioni)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "I metacaratteri non corrispondono \"/\"" + +#: src/names.c:768 msgid "command line" msgstr "riga di comando" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: l'elenco file richiesto da %s è già stato letto da %s" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "impossibile dividere la stringa \"%s\": %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: il nome di file letto contiene un carattere NULL" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Usati caratteri di corrispondenza nei nomi dei file." -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1381,47 +1549,47 @@ msgstr "" "Usare --wildcards per abilitare la corrispondenza o --no-wildcards per " "disabilitare l'avviso" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: non trovato nell'archivio" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: occorrenza richiesta non trovata nell'archivio" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Etichetta dell'archivio non corrispondente" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "L'utilizzo dell'opzione -C all'interno dell'elenco dei file non è consentita " "con --listed-incremental" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Solo un'opzione -C è consentita con --listed-incremental" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Le opzioni \"-%s\" e \"-%s\" richiedono entrambe lo standard input" +msgstr "Le opzioni \"%s\" e \"%s\" richiedono entrambe lo standard input" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: formato dell'archivio non valido" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Richieste funzionalità GNU su un formato di archivio incompatibile" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1429,7 +1597,7 @@ msgstr "" "Stile di citazione \"%s\" non conosciuto. Provare \"%s --quoting-style=help" "\" per visualizzarne un elenco." -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1448,7 +1616,7 @@ msgstr "" " tar -tvf archivio.tar # Elenca i file in archivio.tar\n" " tar -xf archivio.tar # Estrae tutti i file da archivio.tar\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1470,81 +1638,89 @@ msgstr "" " nil, existing Numerati se esistono backup numerati, altrimenti semplici\n" " never, simple Esegue sempre backup semplici\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Modi operativi principali:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "Elenca i contenuti dell'archivio" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "Estrae file da un archivio" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "Crea un nuovo archivio" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "Trova differenze tra l'archivio e il file system" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "Accoda i file alla fine di un archivio" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "Accoda solo i file più recenti della copia nell'archivio" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "Aggiunge il contenuto di un altro archivio" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "Elimina dall'archivio (non su nastri magnetici)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "Verifica l'etichetta di volume dell'archivio ed esce" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Modificatori delle operazioni:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "Gestisce efficientemente i file sparsi" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "TIPO" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "Tecnica per rilevare i buchi" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" # (ndt) hmmm... formato sparso... -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "Imposta la versione da usare per il formato sparso (implica --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "gestisce i vecchi backup incrementali GNU" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "Gestisce il nuovo formato di backup incrementali GNU" # (ndt) suggerimenti? -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "Livello di dump per l'archivio a lista incrementale creato" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "Non esce con non-zero quando ci sono file non leggibili" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1557,139 +1733,148 @@ msgstr "" "sulla riga di comando o attraverso l'opzione -T; il valore predefinito di " "NUMERO è 1" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "L'archivio è posizionabile" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "L'archivio non è posizionabile" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "Non controlla i numeri del device quando crea archivi incrementali" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "Controlla i numeri del device quando crea archivi incrementali (predefinito)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Controlli di sovrascrittura:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "Tenta di verificare l'archivio dopo averlo scritto" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "Rimuove i file dopo averli aggiunti all'archivio" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" "Durante l'estrazione non sovrascrive i file esistenti, li considera errori" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "Durante l'estrazione non sovrascrive i file esistenti, li ignora" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "Non sostituisce i file esistenti più recenti delle copie nell'archivio" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "Sovrascrive i file esistenti durante l'estrazione" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "Rimuove ogni file prima di estrarre su di esso" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "Svuota le directory prima di estrarle" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "Preserva i metadati delle directory esistenti" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "Sovrascrive i metadati delle directory esistenti durante l'estrazione " "(predefinito)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "Mantiene i collegamenti simbolici a directory durante l'estrazione" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "DIR" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "Crea una sotto-directory per non avere file sparsi" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Selezione stream di output:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "Estrae i file sullo standard output" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "COMANDO" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "Invia in pipe i file estratti a un altro programma" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "Ignora il codice di uscita dei figli" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "Considera i codici di uscita non-zero come un errore" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Gestione degli attributi dei file:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "Forza NOME come proprietario per i file aggiunti" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "Forza NOME come gruppo per i file aggiunti" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "Usa FILE per mappare gli UID dei proprietari del file e i nomi" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "Usa FILE per mappare i GID dei proprietari del file e i nomi" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATA-O-FILE" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "Imposta mtime per i file aggiunti da DATA-O-FILE" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "CAMBI" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "Forza il modo CAMBI (simbolico) per i file aggiunti" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METODO" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1699,11 +1884,11 @@ msgstr "" "dopo la lettura (METODO=\"replace\"; predefinito) o impostando l'orario " "all'inizio (METODO=\"system\")" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "Non estrae l'orario di ultima modifica del file" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1711,22 +1896,22 @@ msgstr "" "Cerca di estrarre i file con lo stesso proprietario come presente " "nell'archivio (predefinito per il super utente)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" "Estrae i file come l'utente attuale (predefinito per gli utenti normali)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "Usa sempre i numeri per i nomi di utente/gruppo" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "Estrae informazioni riguardo i permessi dei file (predefinito per il super-" "utente)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1734,16 +1919,12 @@ msgstr "" "Applica la umask dell'utente nell'estrarre i permessi dall'archivio " "(predefinito per gli utenti normali)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "Gli argomenti sono elencati nello stesso ordine dei file nell'archivio" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "Come -p e -s assieme" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1751,187 +1932,187 @@ msgstr "" "Ritarda l'impostazione dei tempi di modifica e dei permessi delle directory " "estratte al termine dell'estrazione" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "Annulla l'effetto dell'opzione --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "ORDINAMENTO" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "Ordinamento della directory: none (predefinito) o name" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Gestione degli attributi estesi dei file:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Abilita supporto degli attributi estesi" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Disabilita supporto degli attributi estesi" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "MASCHERA" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "Specifica il modello di inclusione per le chiavi xattr" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "Specifica il modello di esclusione per le chiavi xattr" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "Abilita supporto contesto SELinux" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "Disabilita supporto contesto SELinux" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "Abilita support ACL POSIX" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "Disabilita supporto ACL POSIX" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Selezione e cambio del device:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARCHIVIO" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "Usa come archivio il file o il dispositivo ARCHIVIO" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "L'archivio è locale anche se contiene \":\"" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "Usa il COMANDO rmt indicato invece di rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "Usa il COMANDO remoto invece di rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "Indica drive e densità" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "Crea, elenca, estrae archivi multi-volume" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "Cambia il nastro dopo avere scritto NUMERO × 1024 byte" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "Esegue lo script alla fine di ogni nastro (implica -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "Usa/aggiorna il numero del volume nel FILE" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Blocchi del device:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOCCHI" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "Usa record di BLOCCHI × 512 byte" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "NUMERO di byte per record, multiplo di 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "Ignora i blocchi a zero nell'archivio (significa EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "Rifà i blocchi durante la lettura (per le pipe di 4.2BSD)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Selezione formato di archiviazione:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMATO" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "Crea archivi nel formato indicato" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMATO è uno dei seguenti:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "Vecchio formato di tar V7" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "Formato GNU di tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "Formato GNU di tar 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "Formato POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "Formato POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "Come pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "Come --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "Come --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "PAROLA_CHIAVE[[:]=VALORE][,PAROLA_CHIAVE[[:]=VALORE], ...]" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "Controlla le parole chiavi di pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TESTO" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1939,189 +2120,87 @@ msgstr "" "Crea l'archivio con TESTO come nome di volume; durante l'elencazione o " "l'estrazione, usa TESTO come modello di glob per ogni volume" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Opzioni di compressione:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "" "Usa il suffisso dell'archivio per determinare il programma di compressione" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" "Non usa il suffisso dell'archivio per determinare il programma di " "compressione" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "Filtra attraverso PROG (deve accettare -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Selezione dei file locali:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "Aggiunge FILE all'archivio (utile se il nome inizia con un trattino)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "Passa alla directory DIR" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "Prende i nomi da estrarre o creare dal file FILE" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T legge nomi terminati da NULL, disabilita -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "Disabilita l'effetto dell'opzione --null precedente" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "" -"Toglie i caratteri di citazione dai nomi dei file letti con -T (predefinito)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "Non toglie i caratteri di citazione dai nomi dei file letti con -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "MODELLO" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "Esclude i file i cui nomi corrispondono a MODELLO" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "Esclude i modelli elencati in FILE" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"Esclude i contenuti delle directory contenenti CACHEDIR.TAG, a parte il " -"file .TAG stesso" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "Esclude tutto quanto all'interno di directory contenenti CACHEDIR.TAG" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "Esclude le directory contenenti CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"Esclude i contenuti delle directory contenenti FILE, a parte FILE stesso " - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "Esclude tutto quanto all'interno di directory contenenti FILE" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "Esclude le directory contenenti FILE" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "Esclude le directory dei sistemi di controllo della versione" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "Esclude i file di backup e di blocco" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "Non entra automaticamente nelle directory" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "Resta nel file system locale durante la creazione dell'archivio" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "Entra ricorsivamente nelle directory (predefinito)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "Non rimuove le \"/\" iniziali dai nomi dei file" # (ndt) hmmm... non molto chiara... -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "Segue i collegamenti simbolici; archivia ed esegue il dump dei file a cui " "puntano" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "Segue i collegamenti fisici; archivia ed esegue il dump dei file a cui si " "riferiscono" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "NOME" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "Inizia dal membro NOME durante la lettura dell'archivio" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "Archivia solo i file più recenti di DATA-O-FILE" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATA" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "Confronta data e ora solo quando il contenuto è cambiato" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "CONTROLLO" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "Esegue un backup prima di rimuovere, usando il CONTROLLO di versione" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "STRINGA" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2129,102 +2208,63 @@ msgstr "" "Esegue un backup prima di rimuovere, sovrascrivendo il suffisso \"~\" a meno " "che non sia sovrascritto dalla variabile d'ambiente SIMPLE_BACKUP_SUFFIX" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Trasformazioni dei nomi di file:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "Toglie NUMERO componenti iniziali dai nomi dei file durante l'estrazione" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "ESPRESSIONE" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "Usa un'ESPRESSIONE di sostituzione di sed per trasformare i nomi dei file" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Opzioni di corrispondenza del nome del file (vale sia per i modelli di " -"esclusione che inclusione):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "Non fa differenza tra maiuscole e minuscole" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "I modelli corrispondono all'inizio del nome del file" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" -"I modelli corrispondono dopo qualsiasi \"/\" (predefinito per le esclusioni)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "Considera diverse le maiuscole e le minuscole (predefinito)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "Utilizza i metacaratteri (predefinito per le esclusioni)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "Corrispondenza letterale della stringa" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "I metacaratteri non corrispondono \"/\"" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "I metacaratteri corrispondono \"/\" (predefinito per le esclusioni)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Output informativo:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "Elenca prolissamente i file elaborati" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "PAROLACHIAVE" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "Controllo di avviso" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "Visualizza un messaggio di avanzamento ogni NUMERO-esimo record (predefinito " "10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "AZIONE" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "Esegue l'azione a ogni punto di controllo" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "Stampa un messaggio se non tutti i collegamenti sono archiviati" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SEGNALE" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2236,35 +2276,35 @@ msgstr "" "sono: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 e SIGUSR2; sono accettati anche i " "nomi senza il prefisso SIG" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "Stampa le date di modifica del file in formato UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "Stampa la data del file in tutti i suoi dettagli" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "Invia l'output prolisso al FILE" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "Mostra il numero di blocco nell'archivio con ogni messaggio" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "Chiede conferma per ogni azione" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "Mostra le impostazioni predefinite di tar" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "Mostra gli intervalli validi per i campi snapshot-file" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2272,33 +2312,33 @@ msgstr "" "All'elencazione o all'estrazione, elenca ogni directory che non corrisponde " "al criterio di ricerca" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "Mostra il nome del file o dell'archivio dopo la trasformazione" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STILE" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "Imposta lo stile di citazione del nome; consultare più sotto per i valori di " "STILE consentiti" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "Caratteri di citazione aggiuntivi da STRINGA" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "Disabilita la citazione per i caratteri dalla STRINGA" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Opzioni di compatibilità:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2306,15 +2346,22 @@ msgstr "" "Alla creazione, uguale a --old-archive; all'estrazione, uguale a --no-same-" "owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Altre opzioni:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "Disabilita l'uso di alcune opzioni potenzialmente dannose" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "L'opzione \"%s\" non può essere usata con \"%s\"" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" @@ -2322,40 +2369,40 @@ msgstr "" "Non è possibile indicare più di un'opzione \"-Acdtrux\", \"--delete\" o \"--" "test-label\"" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Conflitto tra le opzioni di compressione" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Nome del segnale sconosciuto: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "File campione della data non trovato" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Sostituzione di %s al posto del formato di data sconosciuto %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Opzione %s: la data \"%s\" viene considerata come %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "Filtra l'archivio attraverso %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Argomenti validi per l'opzione --quoting-style sono:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2363,187 +2410,198 @@ msgstr "" "\n" "Questa versione di tar ha le seguenti impostazioni predefinite:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "Proprietario o ID gruppo non valido" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Fattore del blocco non valido" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Lunghezza del nastro non valida" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Valore del livello incrementale non valido" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Più di una data di soglia" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Valore versione sparsa non valido" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve=\"system\" non è supportato su questa piattaforma" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "Il valore --checkpoint non è un intero" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Modo fornito sull'opzione non valido" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Numero non valido" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"L'opzione --preserve è deprecata, usare --preserve-permissions --preserve-" -"order" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Dimensione del record non valida" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "La dimensione del record deve essere un multiplo di %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Numero di elementi non valido" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Consentita solo un'opzione --to-command" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Argomento densità non corretto: \"%s\"" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Densità sconosciuta: \"%c\"" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Le opzioni \"-[0-7][lmh]\" non sono gestite da questa versione di tar" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: posizione dell'errore" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "Errore nell'analizzare %s" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[FILE]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "L'opzione --%s non può essere usata con %s" +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "argomenti non opzione in %s" + +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "impossibile dividere TAR_OPTIONS: %s" -#: src/tar.c:2389 +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "La vecchia opzione \"%c\" richiede un argomento." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence non ha senso senza un elenco di file" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Archivi multipli richiedono l'opzione \"-M\"" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "L'opzione --level non è utilizzabile senza --listed-incremental" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: l'etichetta di volume è troppo lunga (il limite è %lu byte)" msgstr[1] "%s: l'etichetta di volume è troppo lunga (il limite sono %lu byte)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Impossibile verificare archivi multi-volume" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Impossibile verificare archivi compressi" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Impossibile usare archivi multi-volume compressi" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Impossibile concatenare archivi compressi" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option può essere usata solo su archivi POSIX" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "--acls può essere usata solo su archivi POSIX" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "--selinux può essere usata solo su archivi POSIX" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "--xattrs può essere usata solo su archivi POSIX" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Impossibile determinare il nome della directory principale, impostarlo con --" +"one-top-level=DIR" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" "La lunghezza del volume non può essere minore della dimensione del record" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Rifiuto totale di creare un archivio vuoto" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Le opzioni \"-Aru\" sono incompatibili con \"-f -\"" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "È necessario specificare una delle opzioni \"-Acdtrux\", \"--delete\" o \"--" "test-label\"" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Uscita con stato di fallimento in base agli errori precedenti" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "Ordinamento della directory: none (predefinito), name o inode" #: src/update.c:87 #, c-format @@ -2597,7 +2655,7 @@ msgstr "Intestazione estesa malformata: manca un newline" msgid "Ignoring unknown extended header keyword '%s'" msgstr "Parola chiave sconosciuta \"%s\" dell'intestazione estesa ignorata" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2606,28 +2664,28 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "L'intestazione estesa %s=%s è fuori dall'intervallo %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Intestazione estesa malformata: %s=%s non valido" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Intestazione estesa malformata: %s=%s in eccesso" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Intestazione estesa malformata: %s non valido: delimitatore %c non atteso" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" @@ -2669,7 +2727,7 @@ msgstr "Punto di controllo di scrittura %u" msgid "Read checkpoint %u" msgstr "Punto di controllo di lettura %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2677,72 +2735,76 @@ msgstr "" "genfile manipola i file per la suite di test GNU paxutils.\n" "Le opzioni sono:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Opzioni di creazione file:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "DIMENSIONE" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Crea file della DIMENSIONE indicata" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Scrive sul file NOME invece dello standard output" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Legge i nomi dei file da FILE" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T legge nomi terminati da NULL" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "Riempie il file con il MODELLO fornito. MODELLO è \"default\" o \"zeros\"" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Dimensione del blocco per il file sparso" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Genera file sparso. Il resto della riga di comando fornisce la mappa del " "file." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "OFFSET" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Si posiziona all'OFFSET indicato prima di scrivere i dati" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Opzioni per le statistiche:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Stampa i contenuti di struct stat per ogni file dato. Il FORMATO predefinito " "è:" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Opzioni di esecuzione sincrona:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "OPZIONE" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2750,22 +2812,22 @@ msgstr "" "Esegue ARGOMENTI. Utile con --checkpoint e uno tra --cut, --append, --touch, " "--unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" "Esegue l'azione indicata (consultare più sotto) al raggiungimento del punto " "di controllo NUMERO" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Imposta la data per l'opzione --touch successiva" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" "Visualizza i punti di controllo eseguiti e lo stato di uscita del COMANDO" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2773,7 +2835,7 @@ msgstr "" "Azioni di esecuzione sincrona. Queste sono eseguite quando viene raggiunto " "il punto di controllo fornito dall'opzione --checkpoint." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2781,85 +2843,85 @@ msgstr "" "Tronca il FILE alla dimensione specificata dall'opzione --length precedente " "(0 se non viene fornita)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Aggiunge DIMENSIONE byte al FILE. DIMENSIONE è fornita dall'opzione --length " "precedente." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Aggiorna l'orario di accesso e modifica del FILE" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Esegue il COMANDO" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Esegue l'unlink di FILE" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Dimensione non valida: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Numero fuori dall'intervallo consentito: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Dimensione negativa: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) non riuscita" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "lunghezza file richiesta %lu, effettiva %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "il file creato non è sparso" # (ndt) ? -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Errore nell'analizzare il numero vicino a \"%s\"" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Formato data non conosciuto" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGOMENTI...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "impossibile aprire \"%s\"" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "impossibile eseguire seek" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "il nome del file contiene caratteri NULL" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" @@ -2867,79 +2929,77 @@ msgstr "" "file" # (ndt) ? -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "maschera non corretta (vicino a \"%s\")" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Campo \"%s\" sconosciuto" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "impossibile impostare l'orario su \"%s\"" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "impossibile troncare \"%s\"" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "comando non riuscito: \"%s\"" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "impossibile eseguire l'unlink di %s" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Comando eseguito con successo\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Comando non riuscito con lo stato %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Comando terminato al segnale %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Comando fermato al segnale %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Il comando ha fatto un dump del core\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Comando terminato\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat richiede i nomi dei file" -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "--occurrence non può essere usata con %s" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Impossibile combinare --listed-incremental e --newer" - -#~ msgid "--verify cannot be used with %s" -#~ msgstr "--verify non può essere usata con %s" +#~ msgid "same as both -p and -s" +#~ msgstr "Come -p e -s assieme" -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "--preserve-order non è compatibile con --listed-incremental" +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "L'opzione --preserve è deprecata, usare --preserve-permissions --preserve-" +#~ "order" diff --git a/po/ja.gmo b/po/ja.gmo index 6df323d1bd8439215228d33d0bc1fa95c61feee6..353eebab89e7a55c1fa336c318295132b53e133f 100644 GIT binary patch delta 15289 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 S|Ciee*6yg~Uvwg*{Qm%DuBWX4 delta 12722 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 R`Qb+1{zGMam46B<^grgHNB;l- diff --git a/po/ja.po b/po/ja.po index dc272437..b614c398 100644 --- a/po/ja.po +++ b/po/ja.po @@ -1,18 +1,18 @@ -# Japanese messages for GNU tar 1.27 -# Copyright (C) 1999, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. +# Japanese messages for GNU tar 1.28.90 +# Copyright (C) 1999, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. -# Masahito Yamaga , 2013. +# Masahito Yamaga , 2016. # derived from the version by # Daisuke Yamashita , 1999-2001. # Masahito Yamaga , 2007. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: GNU tar 1.27\n" +"Project-Id-Version: GNU tar 1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2013-10-07 08:18+0900\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-03-15 20:12+0900\n" "Last-Translator: Masahito Yamaga \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -21,46 +21,46 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=0;\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "°ú¿ô %s ¤Ï %s ¤ËÂФ·¤Æ̵¸ú¤Ç¤¹" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "°ú¿ô %s ¤Ï %s ¤ËÂФ·¤Æ¤¢¤¤¤Þ¤¤¤Ç¤¹" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Àµ¤·¤¤°ú¿ô¤Ï:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s ÃÍ¤Ï %s ¤è¤ê¾®¤µ¤¤¤«Åù¤·¤¤" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT ¥Ñ¥é¥á¡¼¥¿¤ÏÃͤ¬É¬Í×" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT ¥Ñ¥é¥á¡¼¥¿¤ÏÀµ¤ÎÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: ̤ÃΤΠARGP_HELP_FMT ¥Ñ¥é¥á¡¼¥¿" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "ARGP_HELP_FMT ¤Ë¥´¥ß: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -68,143 +68,148 @@ msgstr "" "Ť¤¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ëɬ¿Ü¤Þ¤¿¤ÏǤ°Õ¤Î°ú¿ô¤ÏÂбþ¤¹¤ëû¤¤¥ª¥×¥·¥ç¥ó¤ËÂФ·¤Æ¤â" "ɬ¿Ü¤Þ¤¿¤ÏǤ°Õ¤Ç¤¹." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "»ÈÍÑË¡:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " ¤Þ¤¿¤Ï: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [¥ª¥×¥·¥ç¥ó...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï '%s --help' ¤Þ¤¿¤Ï '%s --usage' ¤Ç.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï %s ¤Þ¤Ç.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "ÉÔÌÀ¤Ê¥·¥¹¥Æ¥à¥¨¥é¡¼" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "¤³¤Î¥Ø¥ë¥×°ìÍ÷¤òɽ¼¨" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "û¤¤»ÈÍÑË¡¥á¥Ã¥»¡¼¥¸¤òɽ¼¨" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NAME" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "¥×¥í¥°¥é¥à̾¤ò»ØÄê" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SECS" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "SECS ÉÃÄä»ß (ɸ½à 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "¥×¥í¥°¥é¥à¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(¥×¥í¥°¥é¥à¥¨¥é¡¼) ¥Ð¡¼¥¸¥ç¥óÉÔÌÀ!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: °ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(¥×¥í¥°¥é¥à¥¨¥é¡¼) ¥ª¥×¥·¥ç¥óǧ¼±ÉÔǽ!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "½ñ¤­¹þ¤ß¥¨¥é¡¼" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: ¥ª¥×¥·¥ç¥ó '%s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹. ²ÄǽÀ­¤¬¤¢¤ë¤Î¤Ï" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: ¥ª¥×¥·¥ç¥ó '%s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó '--%s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó '%c%s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó '--%s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: ̤ÃΤΥª¥×¥·¥ç¥ó '--%s'\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: ̤ÃΤΥª¥×¥·¥ç¥ó '%c%s'\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ̵¸ú¤Ê¥ª¥×¥·¥ç¥ó -- '%c'\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹ -- '%c'\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "¥á¥â¥ê¤ò»È¤¤ÀÚ¤ê¤Þ¤·¤¿" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "¸½ºß¤Î¥ï¡¼¥¯¥Ç¥£¥ì¥¯¥È¥ê¤òµ­Ï¿¤Ç¤­¤Þ¤»¤ó" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "½é´ü¥ï¡¼¥¯¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤ë¤Î¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" @@ -230,11 +235,11 @@ msgstr " #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "`" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "'" @@ -244,7 +249,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[yY]" @@ -254,16 +259,16 @@ msgstr "^[yY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "¥Ñ¥Ã¥±¡¼¥¸²½: %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "¥Ñ¥Ã¥±¡¼¥¸²½: %s\n" @@ -271,11 +276,11 @@ msgstr " #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "(C)" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -416,22 +421,22 @@ msgstr "" "\n" "¥Ð¥°¥ì¥Ý¡¼¥È°¸Àè: %s\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "%s ¥Ð¥°¤Î¥ì¥Ý¡¼¥È°¸Àè: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ¥Û¡¼¥à¥Ú¡¼¥¸: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s ¥Û¡¼¥à¥Ú¡¼¥¸: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "GNU ¥½¥Õ¥È¥¦¥§¥¢»ÈÍѾå¤Î°ìÈÌŪ¥Ø¥ë¥×: \n" @@ -596,8 +601,8 @@ msgstr "ͽ msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "±ó³Ö¥×¥í¥»¥¹¤«¤é¤ÎÌ¿Îá¤ò¼õ¤±ÉÕ¤±¤Æ¥Æ¡¼¥×¥É¥é¥¤¥Ö¤òÁàºî" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "NUMBER" @@ -605,10 +610,11 @@ msgstr "NUMBER" msgid "set debug level" msgstr "¥Ç¥Ð¥Ã¥°¥ì¥Ù¥ë¤òÀßÄê" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "FILE" @@ -621,7 +627,7 @@ msgstr " msgid "cannot open %s" msgstr "%s ¤ò³«¤±¤Þ¤»¤ó" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹" @@ -630,112 +636,111 @@ msgstr " msgid "Garbage command" msgstr "ÉÔÍפʥ³¥Þ¥ó¥É" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "¤³¤ì¤Ï tar ¥¢¡¼¥«¥¤¥Ö¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "ÁíÆɤ߹þ¤ß¥Ð¥¤¥È¿ô" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Áí½ñ¤­½Ð¤·¥Ð¥¤¥È¿ô" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Áíºï½ü¥Ð¥¤¥È¿ô: %s\n" +msgstr "Áíºï½ü¥Ð¥¤¥È¿ô" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(¥Ñ¥¤¥×)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "üËö¤«¤é¥¢¡¼¥«¥¤¥Ö¤ÎÆâÍƤòÆɤ߼è¤ë¤Î¤òµñÈÝ (-f ¥ª¥×¥·¥ç¥ó¤Î»ØÄê˺¤ì?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "üËö¤Ë¥¢¡¼¥«¥¤¥Ö¤ÎÆâÍƤò½ñ¤­½Ð¤¹¤Î¤òµñÈÝ (-f ¥ª¥×¥·¥ç¥ó¤Î»ØÄê˺¤ì?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "record_size ¤¬Ìµ¸ú¤ÊÃͤǤ¹" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "¥¢¡¼¥«¥¤¥Ö̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "ɸ½àÆþ½ÐÎϤΥ¢¡¼¥«¥¤¥Ö¤Ï¸¡¾Ú¤Ç¤­¤Þ¤»¤ó" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï°µ½Ì¤µ¤ì¤Æ¤¤¤Þ¤¹. %s ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤­¤Þ¤»¤ó" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "¥Æ¡¼¥×¤ÎÀèƬ¤Ç¤¹. ½èÍý¤òÃæ»ß¤·¤Þ¤¹" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "¥¨¥é¡¼¤¬Â¿¤¹¤®¤Þ¤¹. ½èÍý¤òÃæ»ß¤·¤Þ¤¹" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "µ­Ï¿¥µ¥¤¥º = %lu ¥Ö¥í¥Ã¥¯" msgstr[1] "µ­Ï¿¥µ¥¤¥º = %lu ¥Ö¥í¥Ã¥¯" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ö¥í¥Ã¥¯ (%lu ¥Ð¥¤¥È)" msgstr[1] "¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ö¥í¥Ã¥¯ (%lu ¥Ð¥¤¥È)" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò¸å¤íÊý¸þ¤ËÌ᤻¤Þ¤»¤ó. -i ¤Ê¤·¤Ç¤ÏÆɤá¤Ê¤¤¤«¤âÃΤì¤Þ¤»¤ó." -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek ¤òµ­Ï¿¤Î¶­³¦¤Ç»ß¤á¤Þ¤»¤ó" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: ̵¸ú¤Ê¥Ü¥ê¥å¡¼¥àÈÖ¹æ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "¥Ü¥ê¥å¡¼¥àÈֹ椬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "¥Ü¥ê¥å¡¼¥à #%d (%s) ¤ò½àÈ÷¤·¤Þ¤¹. ¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "¥æ¡¼¥¶¤¬±þÅú¤¹¤ë EOF ¤¬É¬ÍפȤʤê¤Þ¤¹" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "·Ù¹ð: ¥¢¡¼¥«¥¤¥Ö¤¬ÉÔ´°Á´¤Ç¤¹" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -747,67 +752,67 @@ msgstr "" " q tar ¤ò½ªÎ»\n" " y ¤Þ¤¿¤Ï²þ¹Ô Áàºî¤ò·Ñ³\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! ¥µ¥Ö¥·¥§¥ë¤òµ¯Æ°\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? ¤³¤Î¥ê¥¹¥È¤òɽ¼¨\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "¿·¤·¤¤¥Ü¥ê¥å¡¼¥à¤¬¤¢¤ê¤Þ¤»¤ó. ½ªÎ»¤·¤Þ¤¹.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "¥Õ¥¡¥¤¥ë̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó. ¤â¤¦°ìÅÙ.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "ÉÔÀµ¤ÊÆþÎÏ. ? ¤Ç¥Ø¥ë¥×¤òɽ¼¨\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "%s ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "%s ¤Ï¤³¤Î¥Ü¥ê¥å¡¼¥à¾å¤ÇϢ³¤·¤Æ¤¤¤Þ¤»¤ó" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s ¤Ï¤³¤Î¥Ü¥ê¥å¡¼¥à¾å¤Ç¤ª¤½¤é¤¯Ï¢Â³¤·¤Æ¤¤¤Þ¤¹: ¥Ø¥Ã¥À¤Ï¾Êά¤µ¤ì¤¿Ì¾Á°¤ò´Þ¤ó¤Ç" "¤¤¤Þ¤¹" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "%s ¤Ï¤³¤Î¥Ü¥ê¥å¡¼¥à¾å¤ÇϢ³¤·¤Æ¤¤¤Þ¤»¤ó" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s ¤ÏÉÔÀµ¤Ê¥µ¥¤¥º¤Ç¤¹ (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "¤³¤Î¥Ü¥ê¥å¡¼¥à¤ÏϢ³¤·¤Æ¤¤¤Þ¤»¤ó (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï %s ¤Ë°ìÃפ¹¤ë¥é¥Ù¥ë¤¬ÉÕ¤¤¤Æ¤¤¤Þ¤»¤ó" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "¥Ü¥ê¥å¡¼¥à %s ¤Ï %s ¤Ë°ìÃפ·¤Þ¤»¤ó" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -815,7 +820,7 @@ msgstr "" "%s: ¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤Æ GNU ¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¥Ø¥Ã¥À¤ËÊݸ¤Ç¤­¤Ê¤¤¤Î¤ÇÀÚ¤ê¼Î¤Æ" "¤Þ¤¹" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "½ñ¤­¹þ¤ß¤¬¥Ö¥í¥Ã¥¯¶­³¦¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó" @@ -826,20 +831,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "%lu ¥Ð¥¤¥È¤À¤±¤ò %lu ¥Ð¥¤¥È¤«¤éÆɤ߹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿" msgstr[1] "%lu ¥Ð¥¤¥È¤À¤±¤ò %lu ¥Ð¥¤¥È¤«¤éÆɤ߹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "ÆâÍƤ¬°Û¤Ê¤ê¤Þ¤¹" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤Ëͽ´ü¤»¤Ì EOF ¤¬¤¢¤ê¤Þ¤¹" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤¬°Û¤Ê¤ê¤Þ¤¹" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "¥â¡¼¥É¤¬°Û¤Ê¤ê¤Þ¤¹" @@ -855,7 +860,7 @@ msgstr " msgid "Mod time differs" msgstr "ºÇ½ª½¤Àµ»þ¹ï¤¬°Û¤Ê¤ê¤Þ¤¹" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "¥µ¥¤¥º¤¬°Û¤Ê¤ê¤Þ¤¹" @@ -864,138 +869,138 @@ msgstr " msgid "Not linked to %s" msgstr "%s ¤Ë¥ê¥ó¥¯¤·¤Æ¤¤¤Þ¤»¤ó" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬°Û¤Ê¤ê¤Þ¤¹" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "¥Ç¥Ð¥¤¥¹Èֹ椬°ã¤¤¤Þ¤¹" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "¸¡¾Ú" -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: ̤ÃΤΥե¡¥¤¥ë¥¿¥¤¥× '%c', Ä̾ï¥Õ¥¡¥¤¥ë¤Èº¹Ê¬¤ò¼è¤ê¤Þ¤¹" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤ËÀÜƬ¼­¤¬ºï½ü¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤¬¤¢¤ê¤Þ¤¹." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "¥¢¡¼¥«¥¤¥Ö¤ËÊÑ´¹¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "¸µ¤Î¥Õ¥¡¥¤¥ë¤Î½êºß³Îǧ¤Ë¼ºÇÔ¤·¤¿²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "³Îǧ¼ºÇÔ: %d ¸Ä¤Î̵¸ú¤Ê¥Ø¥Ã¥À¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿" msgstr[1] "³Îǧ¼ºÇÔ: %d ¸Ä¤Î̵¸ú¤Ê¥Ø¥Ã¥À¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "%s ¤Ë¸ÉΩ¤·¤¿¥¼¥í¥Ö¥í¥Ã¥¯" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: ¥­¥ã¥Ã¥·¥å ¥Ç¥£¥ì¥¯¥È¥ê ¥¿¥° %s ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "ÃÍ %s ¤Ï %s ¤ÎÈÏ°Ï %s..%s ¤Ë¤¢¤ê¤Þ¤»¤ó -- %s ¤òÂåÍÑ" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "ÃÍ %s ¤Ï %s ¤ÎÈÏ°Ï %s..%s ¤Ë¤¢¤ê¤Þ¤»¤ó" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Éé¤Î 8 ¿Ê¥Ø¥Ã¥À¤òÀ¸À®¤·¤Þ¤¹" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: ¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤ë (ºÇÂç %d) ¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: ¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤ë (ʬ³äÉÔǽ) ¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: ¥ê¥ó¥¯Ì¾¤¬Ä¹²á¤®¤ë¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: %s ¥Ð¥¤¥È¾®¤µ¤¯¤Ê¤Ã¤¿¤Î¤Ç¡¢¥¼¥í¤ÇËä¤á¤Þ¤¹" msgstr[1] "%s: %s ¥Ð¥¤¥È¾®¤µ¤¯¤Ê¤Ã¤¿¤Î¤Ç¡¢¥¼¥í¤ÇËä¤á¤Þ¤¹" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: ¥Õ¥¡¥¤¥ë¤Ï°Û¤Ê¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "ÆâÍƤò¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: ̤ÃΤΥե¡¥¤¥ë·Á¼°; ¥Õ¥¡¥¤¥ë¤Ï̵»ë¤µ¤ì¤Þ¤¹" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "%s ¤Ø¤Î¥ê¥ó¥¯¤¬¤¢¤ê¤Þ¤»¤ó." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: Êѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: ¤Ï¥¢¡¼¥«¥¤¥Ö¤Ê¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: Æɤ߹þ¤ó¤À¥Õ¥¡¥¤¥ë¤¬Êѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: ¥½¥±¥Ã¥È¤Ï̵»ë¤·¤Þ¤¹" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: door ¤Ï̵»ë¤·¤Þ¤¹" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "¼¡¤Î¥Ø¥Ã¥À¤ò¥¹¥­¥Ã¥×¤·¤Þ¤¹" @@ -1013,54 +1018,54 @@ msgstr "%s: msgid "%s: time stamp %s is %s s in the future" msgstr "%s: ¥¿¥¤¥à¥¹¥¿¥ó¥× %s ¤Ï %s ÉÃÀè¤ò¼¨¤·¤Æ¤¤¤Þ¤¹" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥êºîÀ®»þ¤ËÉÔ¬¤ÎÌ·½â¤¬µ¯¤³¤ê¤Þ¤·¤¿" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "%s: ´û¸¥Õ¥¡¥¤¥ë¤ò¥¹¥­¥Ã¥×¤·¤Þ¤¹" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¾õÂÖ¤òŸ³«¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ëÁ°¤Ë̾Á°¤òÊѹ¹¤µ¤ì¤Þ¤·¤¿" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Ϣ³¤·¤¿¥Õ¥¡¥¤¥ë¤òÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼è¤ê½Ð¤·¤Þ¤¹" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¥Ï¡¼¥É¥ê¥ó¥¯¤È¤·¤Æ¼è¤ê½Ð¤·¤Æ¤ß¤Þ¤¹" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: ¼è¤ê½Ð¤»¤Þ¤»¤ó -- ¥Õ¥¡¥¤¥ë¤ÏÊ̤Υܥê¥å¡¼¥à¤«¤é³¤¤¤Æ¤¤¤Þ¤¹" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "ͽ´ü¤»¤ÌŤ¤Ì¾Á°¥Ø¥Ã¥À" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: ̤ÃΤΥե¡¥¤¥ë¥¿¥¤¥× '%c', Ä̾ï¥Õ¥¡¥¤¥ë¤È¤·¤ÆÃê½Ð" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "¸½ºß¤Î %s ¤ÎÊý¤¬¿·¤·¤¤¤«Æ±¤¸" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "%s ¤Î̾Á°¤ò %s ¤ËÊѹ¹¤Ç¤­¤Þ¤»¤ó" @@ -1110,16 +1115,16 @@ msgstr "̵ msgid "%s: byte %s: %s %.*s... too long" msgstr "%s: ¥Ð¥¤¥È %s: %s %.*s... Ĺ²á¤®¤Þ¤¹" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤Ëͽ´ü¤»¤Ì EOF" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "%s: ¥Ð¥¤¥È %s: %s %s ¤¬ÉÔÀµ¤Ê¥Ð¥¤¥È 0x%02x ¤Ë³¤¤¤Æ¤¤¤Þ¤¹" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" @@ -1128,199 +1133,199 @@ msgstr "" "%s: ¥Ð¥¤¥È %s: (ÀµÅö¤ÊÈÏ°Ï %s..%s)\n" "\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "%s: ¥Ð¥¤¥È %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "%s: ¥Ð¥¤¥È %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "½ªÃ¼µ­Ï¿¤Ê¤·" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "ÉÔÀµ¤ÊÁýʬ¥Õ¥¡¥¤¥ë·Á¼°" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "̤¼ÂÁõ¤ÎÁýʬ·Á¼°¥Ð¡¼¥¸¥ç¥ó: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: '%c' ¤¬¤¢¤ë¤Ù¤­¤È¤³¤í¤Ë %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'X' ¤¬½ÅÊ£" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'R' ¤Ë¶õ¤Î̾Á°" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'T' ¤¬ 'R' ¤ÎÁ°¤Ë¤Ê¤¤" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'T' ¤Ë¶õ¤Î̾Á°" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: '%c' ¤¬¤¢¤ë¤Ù¤­¤È¤³¤í¤Ë¥Ç¡¼¥¿¤Î½ªÃ¼" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'X' ¤¬Ì¤»ÈÍÑ" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "¥Æ¥ó¥×¥ì¡¼¥È %s ¤ò»È¤Ã¤Æ°ì»þ¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ì¤Þ¤»¤ó" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤·¤Þ¤»¤ó: ¾õÂÖ¤¬Ê¬¤«¤ê¤Þ¤»¤ó" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤Ï°Û¤Ê¤ë¥Ç¥Ð¥¤¥¹¾å¤Ë¤¢¤ë¤Î¤Ç¾Ãµî¤·¤Þ¤»¤ó" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s ¤òºï½ü\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: ºï½ü¤Ç¤­¤Þ¤»¤ó" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: ¾Êά¤·¤Þ¤¹" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "¥Ö¥í¥Ã¥¯ %s: ** NUL ¤Î¥Ö¥í¥Ã¥¯ **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "¥Ö¥í¥Ã¥¯ %s: ** ¥Õ¥¡¥¤¥ë¤Î½ªÃ¼ **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "¥Ö¥í¥Ã¥¯ %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "¿ôÃÍ %s ¤È¤Ê¤ë¤Ù¤­¥Ø¥Ã¥À°ÌÃÖ¤¬¶õ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "8 ¿Ê¿ôÃÍ %.*s ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹ -- 2 ¤ÎÊä¿ô¤È¸«¤Ê¤·¤Þ¤¹" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "8 ¿Ê¿ôÃÍ %.*s ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "¥¢¡¼¥«¥¤¥Ö¤ËÇѤ줿 base-64 ¥Ø¥Ã¥À¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Éä¹æÉÕ¤­ base-64 ʸ»úÎó %s ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "base-256 ÃÍ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "¥¢¡¼¥«¥¤¥Ö¤Ë %.*s ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤³¤Ï¿ôÃÍ %s ¤È¤Ê¤ë¤Ï¤º¤Ç¤¹" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎÃÍ %s ¤Ï %s ¤ÎÈÏ°Ï %s..%s Æâ¤Ë¤¢¤ê¤Þ¤»¤ó" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " %s ¤Ø¤Î¥ê¥ó¥¯\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " ÉÔÌÀ¤Ê¥Õ¥¡¥¤¥ë¥¿¥¤¥× %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Ť¤¥ê¥ó¥¯--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Ť¤Ì¾Á°--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--¥Ü¥ê¥å¡¼¥à¥Ø¥Ã¥À--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--¥Ð¥¤¥È %s ¤ÇϢ³--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "̾Á°¤ò %s ¤«¤é %s ¤ËÊѹ¹¤·¤Þ¤¹\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: ̾Á°¤ò %s ¤ËÊѹ¹¤Ç¤­¤Þ¤»¤ó" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "̾Á°¤ò %s ¤«¤é %s ¤ËÌᤷ¤Þ¤¹\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Æɤ߹þ¤ß°ÊÁ°¤Ëºï½ü¤µ¤ì¤Þ¤·¤¿" @@ -1333,30 +1338,182 @@ msgstr " msgid "interprocess channel" msgstr "¥×¥í¥»¥¹´Ö¥Á¥ã¥Í¥ë" -#: src/names.c:360 +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë̾ÁªÂò:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"»ØÄꤵ¤ì¤¿ FILE ¤ò¥¢¡¼¥«¥¤¥Ö¤ËÄɲà (¥À¥Ã¥·¥å ' ¤Ç»Ï¤Þ¤ë¥Õ¥¡¥¤¥ë̾¤Î¾ì¹ç¤ËÊØ" +"Íø)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "DIR" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "¥Ç¥£¥ì¥¯¥È¥ê DIR ¤Ø°ÜÆ°" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "Ãê½Ð¤Þ¤¿¤ÏºîÀ®¤¹¤ë̾Á°¤ò¥Õ¥¡¥¤¥ë FILE ¤«¤é¼èÆÀ" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T ¤¬ null ¤Ç½ª¤ï¤ë̾Á°¤òÆɤ߹þ¤ß; --verbatim-files-from ¤ò°Å¼¨" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "Á°¤Î --null ¥ª¥×¥·¥ç¥ó¤Î¸ú²Ì¤ò̵¸ú²½" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼Ì¾¤ò°úÍѽªÎ»¤¹¤ë (ɸ½à)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼Ì¾¤ò°úÍѽªÎ»¤·¤Ê¤¤" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "-T ¤¬¥Õ¥¡¥¤¥ë̾¤òʸ»úÄ̤ê¤ËÆɤ߹þ¤ß (¥ª¥×¥·¥ç¥ó½èÍý¤Ê¤·)" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "-T ¤¬¥Õ¥¡¥¤¥ë̾¤ò¥À¥Ã¥·¥å¤Ç»Ï¤Þ¤ë¥ª¥×¥·¥ç¥ó¤È¤·¤Æ½èÍý (ɸ½à)" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "PATTERN" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "PATTERN ¤Ë°ìÃפ¹¤ë¥Õ¥¡¥¤¥ë¤ò½ü³°" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "FILE ¤ËÎóµó¤µ¤ì¤¿¥Ñ¥¿¡¼¥ó¤ò½ü³°" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "¥¿¥°¥Õ¥¡¥¤¥ë¼«¿È¤ò½ü¤¯ CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍƤò½ü³°" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "FILE ¼«¿È¤ò½ü¤¯ FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍƤò½ü³°" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "³Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î½ü³°¥Ñ¥¿¡¼¥ó¤òFILE (¸ºß¤¹¤ë¾ì¹ç) ¤«¤éÆɤ߼è¤ê" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"³Æ¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Î½ü³°¥Ñ¥¿¡¼¥ó¤òFILE (¸ºß¤¹¤ë¾ì¹ç) " +"¤«¤éÆɤ߼è¤ê" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "¥Ð¡¼¥¸¥ç¥ó´ÉÍý¥·¥¹¥Æ¥à¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "½ü³°¥Ñ¥¿¡¼¥ó¤òVCS̵»ë¥Õ¥¡¥¤¥ë¤«¤éÆɤ߼è¤ê" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½ü³°¤·¤Æ¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò½ç·«¤ê¤Ë²¼¤Ã¤Æ¤¤¤¯ (default)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¼«Æ°Åª¤Ë²¼¤Ã¤Æ¤¤¤«¤Ê¤¤" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "¥Õ¥¡¥¤¥ë̾°ìÃ×¥ª¥×¥·¥ç¥ó (½ü³°/Êñ´Þ¤Îξ¥Ñ¥¿¡¼¥ó¤ËºîÍÑ):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "¥Õ¥¡¥¤¥ë̾¤ÎÀèƬ¤È¥Ñ¥¿¡¼¥ó¤¬°ìÃ×" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "Ǥ°Õ¤Î '/' °Ê¹ß¤Ë¥Ñ¥¿¡¼¥ó¤¬°ìÃ× (ɸ½à¤Ç½ü³°)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "Âçʸ»ú¾®Ê¸»ú¤ò̵»ë" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "Âçʸ»ú¾®Ê¸»ú¤ò¹Íθ¤·¤Æ°ìÃ× (ɸ½à)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍÑ (ɸ½à¤Ç½ü³°)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "Ãà¸ìŪʸ»úÎó°ìÃ×" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ '/' ¤Ë°ìÃ× (ɸ½à¤Ç½ü³°)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ '/' ¤Ë°ìÃפ·¤Ê¤¤" + +#: src/names.c:768 msgid "command line" msgstr "¥³¥Þ¥ó¥É¥é¥¤¥ó" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: %s ¤«¤éÍ׵ᤵ¤ì¤¿¥Õ¥¡¥¤¥ë°ìÍ÷¤Ï´û¤Ë %s ¤«¤éÆɤ߹þ¤ßºÑ¤ß" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "ʸ»úÎó '%s' ¤òʬ³ä¤Ç¤­¤Þ¤»¤ó: %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: Æɤ߹þ¤Þ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ë¥Ì¥ëʸ»ú" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤Îʸ»ú¤¬¥Õ¥¡¥¤¥ë̾¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1364,52 +1521,52 @@ msgstr "" "¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤òÍ­¸ú¤Ë¤¹¤ë¤Ê¤é --wildcards, ¤³¤Î·Ù¹ð¤òÍ޻ߤ¹¤ë¤Ê¤é --no-" "wildcards ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: ¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: ¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "¥¢¡¼¥«¥¤¥Ö¥é¥Ù¥ë¤¬°ìÃפ·¤Þ¤»¤ó" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "¥Õ¥¡¥¤¥ë¥ê¥¹¥ÈÆâ¤Ç -C ¥ª¥×¥·¥ç¥ó¤Ï --listed-incremental ¤È°ì½ï¤Ë»È¤¨¤Þ¤»¤ó" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "-C ¥ª¥×¥·¥ç¥ó¤Ï 1¤Ä¤À¤±¤Ê¤é --listed-incremental ¤È°ì½ï¤Ë»È¤¨¤Þ¤¹" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "¥ª¥×¥·¥ç¥ó '-%s' ¤È '-%s' ¤Ï¤É¤Á¤é¤âɸ½àÆþÎϤ¬É¬ÍפǤ¹" +msgstr "¥ª¥×¥·¥ç¥ó '%s' ¤È '%s' ¤Ï¤É¤Á¤é¤âɸ½àÆþÎϤ¬É¬ÍפǤ¹" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: ̵¸ú¤Ê¥¢¡¼¥«¥¤¥Ö·Á¼°" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "GNU ÆÃÍ­¤Îµ¡Ç½¤Ï¡¢Èó¸ß´¹¤Ê·Á¼°¤òɬÍפȤ·¤Þ¤¹" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "ÉÔÌÀ¤Ê°úÍÑ·Á¼° '%s', '%s --quoting-style=help' ¤Ç°ìÍ÷ɽ¼¨." -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1429,7 +1586,7 @@ msgstr "" "¼¨.\n" " tar -xf archive.tar # archive.tar ¤«¤éÁ´¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤¹.\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1450,79 +1607,87 @@ msgstr "" " ¤½¤¦¤Ç¤Ê¤±¤ì¤Ðñ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë\n" " never, simple ¾ï¤Ëñ½ã¤Ê¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "¼çÁàºî¥â¡¼¥É:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎÆâÍƤò°ìÍ÷ɽ¼¨" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "¥¢¡¼¥«¥¤¥Ö¤«¤é¥Õ¥¡¥¤¥ë¤òÃê½Ð" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "¿·¤·¤¤¥¢¡¼¥«¥¤¥Ö¤òºîÀ®" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "¥¢¡¼¥«¥¤¥Ö¤È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤Î°ã¤¤¤ò¸«ÉÕ¤±¤ë" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎËöÈø¤Ë¥Õ¥¡¥¤¥ë¤òÄɲÃ" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤è¤ê¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¤ß¤òÄɲÃ" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "¥¢¡¼¥«¥¤¥Ö¤Ë tar ¥Õ¥¡¥¤¥ë¤òÄɲÃ" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "¥¢¡¼¥«¥¤¥Ö¤«¤éºï½ü (¼§µ¤¥Æ¡¼¥×¾å¤Ç¤Ï¥À¥á!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "¥¢¡¼¥«¥¤¥Ö¤Î¥Ü¥ê¥å¡¼¥à¥é¥Ù¥ë¤ò¥Æ¥¹¥È¤·¤Æ½ªÎ»" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Áàºî¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ëÉղõ¡Ç½:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "¤Þ¤Ð¤é¤Ë¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤ò¸ú²ÌŪ¤Ë½èÍý" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "TYPE" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "·ê¤ò¸¡ÃΤ¹¤ëµ»½Ñ" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "¤Þ¤Ð¤é (sparse) ·Á¼°¤Î¥Ð¡¼¥¸¥ç¥ó¤òÀßÄê (--sparse ¤Î°ÕÌ£¤ò´Þ¤à)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "¸Å¤¤ GNU ·Á¼°¤Î¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½èÍý" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "¿·¤·¤¤ GNU ·Á¼°¤Î¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½èÍý" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "ºî¤é¤ì¤¿ listed-incremental ¥¢¡¼¥«¥¤¥Ö¤ËÂФ¹¤ë¥À¥ó¥×¥ì¥Ù¥ë" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "Æɤ߹þ¤á¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ë¤ª¤¤¤ÆÈó¥¼¥í¤Ç½ªÎ»¤·¤Þ¤»¤ó" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1534,135 +1699,144 @@ msgstr "" "¥Õ¥¡¥¤¥ë°ìÍ÷¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤« -T ¥ª¥×¥·¥ç¥ó·Ðͳ¤Î¤É¤Á¤é¤«¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¤Î" "¤ßÍ­¸ú. NUMBER ¤Ïɸ½à¤Ç 1." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï¸¡º÷²Äǽ" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï¸¡º÷²Äǽ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¢¡¼¥«¥¤¥ÖºîÀ®»þ¤Ë¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤ò¥Á¥§¥Ã¥¯¤·¤Ê¤¤" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¢¡¼¥«¥¤¥ÖºîÀ®»þ¤Ë¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤ò¥Á¥§¥Ã¥¯¤¹¤ë (ɸ½à)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "À©¸æ¤ò¾å½ñ¤­:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "¥¢¡¼¥«¥¤¥Ö¤ò½ñ¤­½Ð¤·¤¿¸å¤Ë¸¡¾Ú" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤Ë²Ã¤¨¤¿¸å¤Çºï½ü" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¤Î¥Õ¥¡¥¤¥ë¤òÃÖ¤­´¹¤¨¤º, ¥¨¥é¡¼¤È¤·¤Æ°·¤¦" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¤Î¥Õ¥¡¥¤¥ë¤òÃÖ¤­´¹¤¨¤º, ¤½¤Î¤Þ¤Þ¥¹¥­¥Ã¥×¤¹¤ë" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "¥¢¡¼¥«¥¤¥Ö¥³¥Ô¡¼¤è¤ê¿·¤·¤¤´û¸¥Õ¥¡¥¤¥ë¤òÃÖ¤­´¹¤¨¤Ê¤¤" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "³Æ¡¹¤Î¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æ¾å½ñ¤­¤¹¤ëÁ°¤Ëºï½ü" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¼è¤ê½Ð¤¹Á°¤Ë³¬Áؤò¶õ¤Ë" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "´û¸¥Ç¥£¥ì¥¯¥È¥ê¤Î¥á¥¿¥Ç¡¼¥¿¤òÊݸ" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¥Ç¥£¥ì¥¯¥È¥ê¤Î¥á¥¿¥Ç¡¼¥¿¤ò¾å½ñ¤­ (ɸ½à)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î´û¸¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò°Ý»ý" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "DIR" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "loose file¤ò¼è¤ê½Ð¤»¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "½ÐÎÏ¥¹¥È¥ê¡¼¥à¤òÁªÂò" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æɸ½à½ÐÎϤ˽ÐÎÏ" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "COMMAND" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤ÆÊÌ¤Î¥×¥í¥°¥é¥à¤Ë½ÐÎÏ" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "»Ò¥×¥í¥»¥¹¤Î½ªÎ»¥³¡¼¥É¤ò̵»ë" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "»Ò¥×¥í¥»¥¹¤ÎÈó¥¼¥í½ªÎ»¥³¡¼¥É¤ò¥¨¥é¡¼¤È¤·¤Æ½èÍý" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "¥Õ¥¡¥¤¥ë°À­¤Î½èÍý" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤ò NAME ¤ËÊѹ¹" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤ò NAME ¤ËÊѹ¹" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "¥Õ¥¡¥¤¥ë½êÍ­¼Ô UID ¤È̾Á°¤ò¥Þ¥Ã¥×¤¹¤ë¤Î¤Ë FILE ¤ò»ÈÍÑ" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "¥Õ¥¡¥¤¥ë½êÍ­¼Ô GID ¤È̾Á°¤ò¥Þ¥Ã¥×¤¹¤ë¤Î¤Ë FILE ¤ò»ÈÍÑ" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATE-OR-FILE" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "DATE-OR-FILE ¤«¤éÄɲåե¡¥¤¥ë¤Î mtime ¤òÀßÄê" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "CHANGES" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î (¥·¥ó¥Ü¥ê¥Ã¥¯) ¥â¡¼¥É¤ò CHANGES ¤ËÊѹ¹" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METHOD" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1671,11 +1845,11 @@ msgstr "" "ºÇ½ª¥¢¥¯¥»¥¹»þ¹ï¤ò, Æɤ߹þ¤ß¸å¤ËÉü¸µ¤¹¤ë (METHOD='replace'; ɸ½à) ¤«ºÇ½é¤ËÀß" "Äꤷ¤Ê¤¤ (METHOD='system') ¤«¤Î¤É¤Á¤é¤«¤ÎÊýË¡¤Ç¥À¥ó¥×¥Õ¥¡¥¤¥ë¾å¤Ç°Ý»ý" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "¥Õ¥¡¥¤¥ë¤Î¹¹¿·»þ¹ï¤ò¼è¤ê½Ð¤µ¤Ê¤¤" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1683,222 +1857,218 @@ msgstr "" "¥¢¡¼¥«¥¤¥ÖÆâ¤ÈƱ¤¸½êÍ­¼Ô¤Î¤Þ¤Þ¤Ç¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æ¤ß¤ë (¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ç¤Ï" "¥Ç¥Õ¥©¥ë¥È)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "¤¢¤Ê¤¿¼«¿È¤Î¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼è¤ê½Ð¤¹ (°ìÈ̥桼¥¶¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "¥æ¡¼¥¶Ì¾/¥°¥ë¡¼¥×̾¤È¤·¤Æ¾ï¤Ë¿ô»ú¤ò»È¤¦" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "¥Õ¥¡¥¤¥ë°À­¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÃê½Ð (superuser ¤Ç¤Ïɸ½à)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" "¥¢¡¼¥«¥¤¥Ö¤«¤é°À­¤òÃê½Ð¤¹¤ëºÝ¤Ë¥æ¡¼¥¶¤Î umask ¤òŬÍÑ (°ìÈ̥桼¥¶¤Ç¤Ïɸ½à)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "¥á¥ó¥Ð¡¼°ú¿ô¤Ï¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥Õ¥¡¥¤¥ë¤ÈƱ¤¸½çÈÖ¤Çʤó¤Ç¤¤¤Þ¤¹" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "-p ¤È -s ¤ÎξÊý¤ò»ØÄꤷ¤¿¤â¤Î¤ÈƱ¤¸" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" "Ãê½Ð¤¬½ªÎ»¤¹¤ë¤Þ¤ÇÃê½Ð¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤È°À­¤ÎÀßÄê¤òÃ٤餻¤ë" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "--delay-directory-restore ¥ª¥×¥·¥ç¥ó¤Î¸ú²Ì¤ò¼è¤ê¾Ã¤·" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "½çÈÖ" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ÎʤÓÂؤ¨½ç: ¤Ê¤· (ɸ½à) ¤Þ¤¿¤Ï̾Á°" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "³ÈÄ¥¥Õ¥¡¥¤¥ë°À­¤Î½èÍý" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "³Èĥ°À­Âбþ¤òÍ­¸ú¤Ë" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "³Èĥ°À­Âбþ¤ò̵¸ú¤Ë" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "MASK" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "xattr ¥­¡¼¤ËÂФ¹¤ëÊñ´Þ¥Ñ¥¿¡¼¥ó¤ò»ØÄê" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "xattr ¥­¡¼¤ËÂФ¹¤ë½ü³°¥Ñ¥¿¡¼¥ó¤ò»ØÄê" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "SELinux ¥³¥ó¥Æ¥¯¥¹¥ÈÂбþ¤òÍ­¸ú¤Ë" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "SELinux ¥³¥ó¥Æ¥¯¥¹¥ÈÂбþ¤ò̵¸ú¤Ë" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "POSIX ACL Âбþ¤òÍ­¸ú¤Ë" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "POSIX ACL Âбþ¤ò̵¸ú¤Ë" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "¥Ç¥Ð¥¤¥¹¤ÎÁªÂò¤ÈÀÚÂØ:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARCHIVE" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥Ð¥¤¥¹ ARCHIVE ¤ò»ÈÍÑ" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ï¥³¥í¥ó¤ò´Þ¤ó¤Ç¤¤¤Æ¤â¥í¡¼¥«¥ë" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "»ØÄꤵ¤ì¤¿ rmt COMMAND ¤ò rmt ¤ÎÂå¤ï¤ê¤Ë»ÈÍÑ" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "rsh ¤ÎÂå¤ï¤ê¤Ë COMMAND ¤ò»ÈÍÑ" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "¥É¥é¥¤¥Ö¤ÈÌ©ÅÙ¤ò»ØÄê" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®/°ìÍ÷/Ãê½Ð" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "NUMBER x 1024 ¥Ð¥¤¥È¤ò½ñ¤­½Ð¤·¤¿¸å¤Ç¥Æ¡¼¥×¤òÊѹ¹" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "³Æ¡¹¤Î¥Æ¡¼¥×¤ÎºÇ¸å¤Ç¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô (-M ɬ¿Ü)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "FILE Ãæ¤Î¥Ü¥ê¥å¡¼¥àÈÖ¹æ¤ò»ÈÍÑ/¹¹¿·" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "¥Ç¥Ð¥¤¥¹¥Ö¥í¥Ã¥­¥ó¥°:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOCKS" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "¥ì¥³¡¼¥É¤¢¤¿¤ê BLOCKS x 512 ¥Ð¥¤¥È" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "¥ì¥³¡¼¥É¤¢¤¿¤ê NUMBER ¥Ð¥¤¥È. 512 ¤ÎÇÜ¿ô" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤Î¥¼¥í¥Ö¥í¥Ã¥¯ (¤Ä¤Þ¤ê EOF) ¤ò̵»ë" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "Æɤ߽Ф·¤¿¤è¤¦¤ËºÆ¥Ö¥í¥Ã¥¯ (4.2BSD ¥Ñ¥¤¥×ÍÑ)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "¥¢¡¼¥«¥¤¥Ö·Á¼°¤ÎÁªÂò" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "»ØÄꤵ¤ì¤¿·Á¼°¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMAT ¤Ï¼¡¤Î¤¦¤Á¤Î 1¤Ä:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "¸Å¤¤ V7 tar ·Á¼°" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "GNU tar 1.12 °ÊÁ°¤Î·Á¼°" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x ·Á¼°" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) ·Á¼°" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) ·Á¼°" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "pax ¤ÈƱ¤¸" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "--format=v7 ¤ÈƱ¤¸" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "--format=posix ¤ÈƱ¤¸" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "keyword[[:]=value][,keyword[[:]=value]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "pax ¥­¡¼¥ï¡¼¥É¤òÀ©¸æ" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEXT" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1906,179 +2076,79 @@ msgstr "" "¥Ü¥ê¥å¡¼¥à̾ TEXT ¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®. °ìÍ÷/Ãê½Ð»þ¤Ë TEXT ¤ò¥Ü¥ê¥å¡¼¥à̾¤ËÂФ¹" "¤ëÃê½Ð¥Ñ¥¿¡¼¥ó¤Ë»ÈÍÑ" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "°µ½Ì¥ª¥×¥·¥ç¥ó:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "°µ½Ì¥×¥í¥°¥é¥à¤ò·è¤á¤ë¤Î¤Ë¥¢¡¼¥«¥¤¥ÖÀÜÈø¼­¤ò»ÈÍѤ¹¤ë" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "°µ½Ì¥×¥í¥°¥é¥à¤ò·è¤á¤ë¤Î¤Ë¥¢¡¼¥«¥¤¥ÖÀÜÈø¼­¤ò»ÈÍѤ·¤Ê¤¤" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "PROG ·Ðͳ¤Ç¥Õ¥£¥ë¥¿ (-d ¤ò¼õ¤±ÉÕ¤±¤ëɬÍפ¢¤ê)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ëÁªÂò:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"»ØÄꤵ¤ì¤¿ FILE ¤ò¥¢¡¼¥«¥¤¥Ö¤ËÄɲà (¥À¥Ã¥·¥å ' ¤Ç»Ï¤Þ¤ë¥Õ¥¡¥¤¥ë̾¤Î¾ì¹ç¤ËÊØ" -"Íø)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "¥Ç¥£¥ì¥¯¥È¥ê DIR ¤Ø°ÜÆ°" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "Ãê½Ð¤Þ¤¿¤ÏºîÀ®¤¹¤ë̾Á°¤ò¥Õ¥¡¥¤¥ë FILE ¤«¤é¼èÆÀ" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T ¤¬ null ¤Ç½ª¤ï¤ë̾Á°¤òÆɤ߹þ¤ß, -C ¤ò̵¸ú²½" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "Á°¤Î --null ¥ª¥×¥·¥ç¥ó¤Î¸ú²Ì¤ò̵¸ú²½" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "-T ¤ÇÆɤ߹þ¤ó¤À¥Õ¥¡¥¤¥ë̾¤ò°úÍѽªÎ»¤¹¤ë (ɸ½à)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "-T ¤ÇÆɤ߹þ¤ó¤¿¥Õ¥¡¥¤¥ë̾¤ò°úÍѽªÎ»¤·¤Ê¤¤" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "PATTERN" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "PATTERN ¤Ë°ìÃפ¹¤ë¥Õ¥¡¥¤¥ë¤ò½ü³°" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "FILE ¤ËÎóµó¤µ¤ì¤¿¥Ñ¥¿¡¼¥ó¤ò½ü³°" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "¥¿¥°¥Õ¥¡¥¤¥ë¼«¿È¤ò½ü¤¯ CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍƤò½ü³°" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "FILE ¼«¿È¤ò½ü¤¯ FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍƤò½ü³°" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "¥Ð¡¼¥¸¥ç¥ó´ÉÍý¥·¥¹¥Æ¥à¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½ü³°¤·¤Æ¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¼«Æ°Åª¤Ë²¼¤Ã¤Æ¤¤¤«¤Ê¤¤" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "¥¢¡¼¥«¥¤¥ÖºîÀ®»þ¤Ë¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¸ÂÄê" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò½ç·«¤ê¤Ë²¼¤Ã¤Æ¤¤¤¯ (default)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "¥Õ¥¡¥¤¥ë̾¤«¤éÀèƬ¤Î '/' ¤ò¼è¤ê½ü¤«¤Ê¤¤" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¤¿¤É¤ë; ¤½¤ì¤é¤¬»Ø¤¹¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤·¤Æ¥À¥ó¥×" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "¥Ï¡¼¥É¥ê¥ó¥¯¤ò¤¿¤É¤ë; ¤½¤ì¤é¤¬»Ø¤¹¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤·¤Æ¥À¥ó¥×" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "MEMBER-NAME" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎÆɤ߼è¤ê»þ¤Ë¥á¥ó¥Ð¡¼ MEMBER-NAME ¤Ç³«»Ï" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "DATE-OR-FILE ¤è¤ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¤ß¤ò³ÊǼ" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATE" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿»þ¤À¤±ÆüÉÕ¤ª¤è¤Ó»þ¹ï¤òÈæ³Ó" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "CONTROL" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "ºï½üÁ°¤Ë¥Ð¡¼¥¸¥ç¥ó´ÉÍý¤ò CONTROL ¤Ë¤·¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "STRING" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2086,95 +2156,59 @@ msgstr "" "ºï½üÁ°¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×, Ä̾ï¤ÎÀÜÈø¼­ (´Ä¶­ÊÑ¿ô SIMPLE_BACKUP_SUFFIX ¤¬Ì¤ÀßÄê¤Ê" "¤é '~') ¤ò¾å½ñ¤­" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "¥Õ¥¡¥¤¥ë̾ÊÑ´¹:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "Ãê½Ð»þ¤Ë¥Õ¥¡¥¤¥ë̾¤«¤éÀèƬ¤Î NUMBER ¸Ä¤Î¥³¥ó¥Ý¥Í¥ó¥È¤ò½üµî" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "EXPRESSION" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "¥Õ¥¡¥¤¥ë̾¤ÎÊÑ´¹¤Ë sed ¤ÎÃÖ´¹ EXPRESSION ¤ò»ÈÍÑ" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "¥Õ¥¡¥¤¥ë̾°ìÃ×¥ª¥×¥·¥ç¥ó (½ü³°/Êñ´Þ¤Îξ¥Ñ¥¿¡¼¥ó¤ËºîÍÑ):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "Âçʸ»ú¾®Ê¸»ú¤ò̵»ë" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "¥Õ¥¡¥¤¥ë̾¤ÎÀèƬ¤È¥Ñ¥¿¡¼¥ó¤¬°ìÃ×" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "Ǥ°Õ¤Î '/' °Ê¹ß¤Ë¥Ñ¥¿¡¼¥ó¤¬°ìÃ× (ɸ½à¤Ç½ü³°)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "Âçʸ»ú¾®Ê¸»ú¤ò¹Íθ¤·¤Æ°ìÃ× (ɸ½à)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍÑ (ɸ½à¤Ç½ü³°)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "Ãà¸ìŪʸ»úÎó°ìÃ×" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ '/' ¤Ë°ìÃפ·¤Ê¤¤" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ '/' ¤Ë°ìÃ× (ɸ½à¤Ç½ü³°)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "¾ðÊó:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "½èÍý¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤ò¾éŤËɽ¼¨" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "KEYWORD" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "·Ù²ü´ÉÀ©" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "NUMBER (ɸ½à 10) ÈÖÌܤε­Ï¿¤´¤È¤Ë¿ÊĽ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "ACTION" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "³Æ¸¡Ìä¤Ç ACTION ¤ò¼Â¹Ô" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "Á´¤Æ¤Î¥ê¥ó¥¯¤¬¥À¥ó¥×¤µ¤ì¤Ê¤¤¾ì¹ç¥á¥Ã¥»¡¼¥¸¤òɽ¼¨" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2185,79 +2219,86 @@ msgstr "" "»þ¤ËÁí¥Ð¥¤¥È¿ô¤òɽ¼¨. µö²Ä¤µ¤ì¤¿ SIGNAL ¤Ï: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 " "¤ª¤è¤Ó SIGUSR2. SIG ÀÜƬ¼­¤¬¤Ê¤¤Ì¾Á°¤Ç¤â²Ä" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "¥Õ¥¡¥¤¥ë¤Î¹¹¿·»þ¹ï¤ò UTC ¤Çɽ¼¨" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "¥Õ¥¡¥¤¥ë¤Î»þ¹ï¾ðÊó¤ò´°Á´·Á¼°¤Çɽ¼¨" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "¾éĹ½ÐÎϤò FILE ¤ËÁ÷¿®" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥Ö¥í¥Ã¥¯¿ô¤ò³Æ¡¹¥á¥Ã¥»¡¼¥¸ÉÕ¤­¤Çɽ¼¨" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "Á´¤Æ¤ÎÆ°ºî¤ò³Îǧ" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "tar ¤Î´ûÄêÃͤòɽ¼¨" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤ÎÎΰè¤ÎÀµÅö¤ÊÈϰϤòɽ¼¨" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "°ìÍ÷¤äÃê½Ð»þ¤Ë, ¸¡º÷´ð½à¤Ë°ìÃפ·¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤ò³Æ¡¹°ìÍ÷ɽ¼¨" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "ÊÑ´¹¸å¤Ë¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥¢¡¼¥«¥¤¥Ö̾¤òɽ¼¨" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STYLE" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "̾Á°°úÍÑ·Á¼°¤òÀßÄê. Í­¸ú¤Ê STYLE Ãͤϲ¼µ­»²¾È." -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "¹¹¤Ë STRING ¤«¤éʸ»ú¤ò°úÍÑ" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "STRING ¤«¤é¤Îʸ»ú°úÍѤò̵¸ú¤Ë" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "¸ß´¹¥ª¥×¥·¥ç¥ó:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "ºîÀ®»þ¤Ï --old-archive ¤ÈƱ¤¸. Ãê½Ð»þ¤Ï --no-same-owner ¤ÈƱ¤¸" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "¤½¤Î¾¥ª¥×¥·¥ç¥ó:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "ÀøºßŪ¤Ë³²¤Ë¤Ê¤ë¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤò̵¸ú¤Ë" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "'%s' ¤Ï '%s' ¤È°ì½ï¤Ë»È¤¨¤Þ¤»¤ó" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" @@ -2265,40 +2306,40 @@ msgstr "" "'-Acdtrux', '--delete' ¤Þ¤¿¤Ï '--test-label' ¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á 2¤Ä°Ê¾å»ØÄꤹ¤ë" "¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "°µ½Ì¥ª¥×¥·¥ç¥ó¤¬¿©¤¤°ã¤Ã¤Æ¤¤¤Þ¤¹" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "̤ÃΤΥ·¥°¥Ê¥ë̾: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "ÆüÉÕ¥µ¥ó¥×¥ë¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "̤ÃΤÎÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î %2$s Âå¤ï¤ê¤Ë %1$s ¤È¤·¤Þ¤¹" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "¥ª¥×¥·¥ç¥ó %s: ÆüÉÕ '%s' ¤ò %s ¤È¤·¤Æ°·¤¦" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "%s ·Ðͳ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò¥Õ¥£¥ë¥¿" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "--quoting-style ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ëÍ­¸ú¤Ê°ú¿ô:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2306,186 +2347,197 @@ msgstr "" "\n" "¡Ö¤³¤Î¡×tar ¤Îµ¬ÄêÃÍ:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "̵¸ú¤Ê½êÍ­¼Ô¤Þ¤¿¤Ï¥°¥ë¡¼¥×ID" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "̵¸ú¤Ê¥Ö¥í¥Ã¥­¥ó¥°°ø»Ò" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "̵¸ú¤Ê¥Æ¡¼¥×¤ÎŤµ" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "̵¸ú¤ÊÁýʬ¥ì¥Ù¥ëÃÍ" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "1¤Ä°Ê¾å¤ÎÉßµï¤È¤Ê¤ëÆüÉÕ" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "̵¸ú¤Ê¤Þ¤Ð¤é (sparse) ¥Ð¡¼¥¸¥ç¥óÃÍ" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' ¤Ï¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "--checkpoint ÃͤÏÀ°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥â¡¼¥É¤Ï̵¸ú¤Ç¤¹" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "̵¸ú¤Ê¿ô" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"--preserve ¥ª¥×¥·¥ç¥ó¤ÏÇÑ»ßͽÄê¤Ê¤Î¤Ç, Âå¤ï¤ê¤Ë --preserve-permissions --" -"preserve-order ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "̵¸ú¤Êµ­Ï¿¥µ¥¤¥º" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "µ­Ï¿¥µ¥¤¥º¤Ï %d ¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó" -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "̵¸ú¤Ê¥¨¥ì¥á¥ó¥È¿ô" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "--to-command ¥ª¥×¥·¥ç¥ó¤Ï 1¤Ä¤À¤±µö²Ä" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "ÉÔÀµ·Á¼°¤ÎÌ©ÅÙ°ú¿ô: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "̤ÃΤÎÌ©ÅÙ: '%c'" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "¥ª¥×¥·¥ç¥ó '-[0-7][lmh]' ¤Ï¡Ö¤³¤Î¡×tar ¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: ¥¨¥é¡¼¤Î¾ì½ê" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "%s ¤Î¹½Ê¸Ê¬ÀÏ»þ¤Ë¥¨¥é¡¼" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[¥Õ¥¡¥¤¥ë]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "--%s ¤Ï %s ¤È°ì½ï¤Ë»È¤¨¤Þ¤»¤ó" +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "%s ¤ËÈ󥪥ץ·¥ç¥ó°ú¿ô" -#: src/tar.c:2389 +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "TAR_OPTIONS ¤òʬ³ä¤Ç¤­¤Þ¤»¤ó: %s" + +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "¸Å¤¤¥ª¥×¥·¥ç¥ó '%c' ¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤¹" -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence ¤Ï¥Õ¥¡¥¤¥ë°ìÍ÷¤¬¤Ê¤±¤ì¤Ð̵°ÕÌ£" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Ê£¹ç·¿¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ë¤Ï '-M' ¥ª¥×¥·¥ç¥ó¤¬É¬ÍפǤ¹" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--listed-incremental ¤Ê¤·¤Î --level ¤Ï̵°ÕÌ£¤Ç¤¹" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: ¥Ü¥ê¥å¡¼¥à¥é¥Ù¥ë¤¬Ä¹¤¹¤®¤Þ¤¹ (%lu ¥Ð¥¤¥ÈÀ©¸Â)" msgstr[1] "%s: ¥Ü¥ê¥å¡¼¥à¥é¥Ù¥ë¤¬Ä¹¤¹¤®¤Þ¤¹ (%lu ¥Ð¥¤¥ÈÀ©¸Â)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¥¢¡¼¥«¥¤¥Ö¤ò³Îǧ¤Ç¤­¤Þ¤»¤ó" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï³Îǧ¤Ç¤­¤Þ¤»¤ó" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¤Ë°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï»È¤¨¤Þ¤»¤ó" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤ÏÏ¢·ë¤Ç¤­¤Þ¤»¤ó" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "--acls ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "--selinux ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "--xattrs ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"¥È¥Ã¥×¥ì¥Ù¥ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò¿äÄêÉÔǽ; --one-top-level=DIR ¤ÇÌÀ¼¨Åª¤Ë»ØÄꤷ¤Æ" +"¤¯¤À¤µ¤¤" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "¥Ü¥ê¥å¡¼¥àĹ¤Ï¥ì¥³¡¼¥É¥µ¥¤¥º¤è¤ê¾®¤µ¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "¶õ¤Î¥¢¡¼¥«¥¤¥ÖºîÀ®¤Ï¤´ÍƼϴꤤ¤Þ¤¹" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "¥ª¥×¥·¥ç¥ó '-Aru' ¤È '-f -' ¤È¤ÏÁêÍƤì¤Þ¤»¤ó" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "'-Acdtrux', '--delete' ¤Þ¤¿¤Ï '--test-label' ¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á¡¢¤¤¤º¤ì¤« 1¤Ä¤ò" "»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Á°¤Î¥¨¥é¡¼¤Ë¤è¤ê¼ºÇÔ¥¹¥Æ¡¼¥¿¥¹¤Ç½ªÎ»¤·¤Þ¤¹" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "¥Ç¥£¥ì¥¯¥È¥êʤÓÂؤ¨½ç: ¤Ê¤· (ɸ½à), ̾Á°¤Þ¤¿¤Ïi¥Î¡¼¥É" #: src/update.c:87 #, c-format @@ -2539,34 +2591,34 @@ msgstr " msgid "Ignoring unknown extended header keyword '%s'" msgstr "̤ÃΤγÈÄ¥¥Ø¥Ã¥À¥­¡¼¥ï¡¼¥É '%s' ¤ò̵»ë" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "À¸À®¤µ¤ì¤¿¥­¡¼¥ï¡¼¥É¤ÈÃͤΥڥ¢¤¬Ä¹²á¤®¤Þ¤¹ (¥­¡¼¥ï¡¼¥É=%s, Ťµ=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "³ÈÄ¥¥Ø¥Ã¥À %s=%s ¤Ï %s..%s ¤ÎÈÏ°ÏÆâ¤Ë¤¢¤ê¤Þ¤»¤ó" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s=%s ¤ÏÉÔÀµ" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s=%s ¤Ï;ʬ" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s ¤Ï̵¸ú: ͽ´ü¤»¤Ì¶èÀÚ¤êʸ»ú %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s ¤Ï̵¸ú: ´ñ¿ôÃÍ" @@ -2607,7 +2659,7 @@ msgstr " msgid "Read checkpoint %u" msgstr "¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È %u ¤òÆɤ߹þ¤ß¤Þ¤¹" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2615,69 +2667,73 @@ msgstr "" "genfile ¤Ï GNU paxutils ¥Æ¥¹¥È¥»¥Ã¥È¤ËÂФ·¤Æ¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤òÁàºî¤·¤Þ¤¹.\n" "¥ª¥×¥·¥ç¥ó¤Ï:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "¥Õ¥¡¥¤¥ëºîÀ®¥ª¥×¥·¥ç¥ó:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "SIZE" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "»ØÄꤵ¤ì¤¿ SIZE ¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "ɸ½à½ÐÎϤÎÂå¤ï¤ê¤Ë¥Õ¥¡¥¤¥ë NAME ¤Ë½ÐÎÏ" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "FILE ¤«¤é¥Õ¥¡¥¤¥ë̾¤òÆɤ߹þ¤ß" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T ¤Ï null ¤Ç½ª¤ï¤ë̾Á°¤òÆɤ߹þ¤ß¤Þ¤¹" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "»ØÄꤵ¤ì¤¿ PATTERN ¤Ç¥Õ¥¡¥¤¥ë¤òËä¤á¤Þ¤¹. PATTERN ¤Ï 'default' ¤Þ¤¿¤Ï 'zeros'" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "¤Þ¤Ð¤é¤Ê (sparse) ¥Õ¥¡¥¤¥ë¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "¤Þ¤Ð¤é¤Ê (sparse) ¥Õ¥¡¥¤¥ë¤òÀ¸À®. »Ä¤ê¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥Õ¥¡¥¤¥ë¥Þ¥Ã¥×¤ò»ØÄê." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "¥ª¥Õ¥»¥Ã¥È" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "¥Ç¡¼¥¿¤ò½ñ¤­½Ð¤¹Á°¤Ë»ØÄꤵ¤ì¤¿¥ª¥Õ¥»¥Ã¥È¤Þ¤Ç¸¡º÷" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "¥Õ¥¡¥¤¥ëÅý·×¥ª¥×¥·¥ç¥ó:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "³Æ¡¹¤Î»ØÄê¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ struct stat ¤ÎÆâÍƤòɽ¼¨. ɸ½à FORMAT ¤Ï: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Ʊ»þ¼Â¹Ô¥ª¥×¥·¥ç¥ó:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "OPTION" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2685,19 +2741,19 @@ msgstr "" "ARGS ¤ò¼Â¹Ô. --checkpoint ¤ª¤è¤Ó --cut, --append, --touch, --unlink ¤ÎÃæ¤Î 1" "¤Ä¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤È¤è¤¤" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È NUMBER Åþã»þ¤Ë»ØÄꤵ¤ì¤¿¥¢¥¯¥·¥ç¥ó (²¼µ­»²¾È) ¤ò¼Â¹Ô" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "¼¡¤Î --touch ¥ª¥×¥·¥ç¥ó¤ÇÆüÉÕ¤òÀßÄê" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "¼Â¹Ô¤µ¤ì¤¿¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È¤È COMMAND ¤Î½ªÎ»¥¹¥Æ¡¼¥¿¥¹¤òɽ¼¨" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2705,7 +2761,7 @@ msgstr "" "Ʊ»þ¼Â¹Ô¥¢¥¯¥·¥ç¥ó. ¤³¤ì¤é¤Ï --checkpoint option ¤Ç»ØÄꤵ¤ì¤¿¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È" "ÈÖ¹æ¤ËÅþ㤷¤¿¤È¤­¤Ë¼Â¹Ô¤µ¤ì¤ë." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2713,160 +2769,158 @@ msgstr "" "FILE ¤ò --length ¥ª¥×¥·¥ç¥ó (¤Þ¤¿¤Ï»ØÄ꤬¤Ê¤±¤ì¤Ð 0) ¤Ç»ØÄꤵ¤ì¤¿¥µ¥¤¥º¤ËÀÚ¤ê" "¼Î¤Æ" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "FILE ¤Ë SIZE ¥Ð¥¤¥ÈÄɵ­. SIZE ¤ÏÁ°¤Î --length ¥ª¥×¥·¥ç¥ó¤Ç»ØÄê." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "FILE ¤ÎºÇ½ª¥¢¥¯¥»¥¹»þ¹ï¤ÈºÇ½ª¹¹¿·»þ¹ï¤ò¹¹¿·" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "COMMAND ¤ò¼Â¹Ô" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "FILE ¤ò unlink" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "̵¸ú¤Ê¥µ¥¤¥º: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Èֹ椬µö²Ä¤µ¤ì¤¿Èϰϳ°: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Éé¤Î¥µ¥¤¥º: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) ¼ºÇÔ" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "Í׵ᤵ¤ì¤¿¥Õ¥¡¥¤¥ëĹ %lu, ¼ÂºÝ¤ÎÃÍ %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "ºîÀ®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¥¹¥Ñ¡¼¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "`%s' ¤Î¶á¤¯¤Ç¿ô»ú¤ò¹½Ê¸Ê¬ÀÏ»þ¤Ë¥¨¥é¡¼" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "̤ÃΤÎÆüÉÕ·Á¼°" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGS...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "`%s' ¤ò³«¤±¤Þ¤»¤ó" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "Áܤ·½Ð¤»¤Þ¤»¤ó" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "¥Õ¥¡¥¤¥ë̾¤¬¥Ì¥ëʸ»ú¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "¤Þ¤Ð¤é¤Ê (sparse) ¥Õ¥¡¥¤¥ë¤òɸ½à½ÐÎϤ˽ñ¤­½Ð¤»¤Þ¤»¤ó. --file ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "ÉÔÀµ¤Ê¥Þ¥¹¥¯ (`%s' ¤Ë¶á¤¤)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "̤ÃΤΥե£¡¼¥ë¥É `%s'" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "`%s' ¤Ë»þ¹ï¤òÀßÄê¤Ç¤­¤Þ¤»¤ó" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "`%s' ¤ò truncate ¤Ç¤­¤Þ¤»¤ó" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "¥³¥Þ¥ó¥É¼ºÇÔ: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "`%s' ¤ò unlink ¤Ç¤­¤Þ¤»¤ó" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "¥³¥Þ¥ó¥É¤¬Àµ¾ï½ªÎ»\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "¥³¥Þ¥ó¥É¤¬¥¹¥Æ¡¼¥¿¥¹ %d ¤Ç¼ºÇÔ\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "¥³¥Þ¥ó¥É¤¬¥·¥°¥Ê¥ë %d ¤Ç½ªÎ»\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "¥³¥Þ¥ó¥É¤¬¥·¥°¥Ê¥ë %d ¤ÇÄä»ß\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "¥³¥Þ¥ó¥É¤¬¥³¥¢¤ò¥À¥ó¥×\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "¥³¥Þ¥ó¥É¤¬½ªÎ»\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat ¤Ë¤Ï¥Õ¥¡¥¤¥ë̾¤¬É¬Í×" -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "--occurrence ¤Ï %s ¤È°ì½ï¤Ë»È¤¨¤Þ¤»¤ó" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "--listed-incremental ¤È --newer ¤È¤ò·ë¹ç¤Ç¤­¤Þ¤»¤ó" - -#~ msgid "--verify cannot be used with %s" -#~ msgstr "--verify ¤Ï %s ¤È°ì½ï¤Ë»È¤¨¤Þ¤»¤ó" +#~ msgid "same as both -p and -s" +#~ msgstr "-p ¤È -s ¤ÎξÊý¤ò»ØÄꤷ¤¿¤â¤Î¤ÈƱ¤¸" -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "--preserve-order ¤Ï --listed-incremental ¤ÈξΩ¤·¤Þ¤»¤ó" +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "--preserve ¥ª¥×¥·¥ç¥ó¤ÏÇÑ»ßͽÄê¤Ê¤Î¤Ç, Âå¤ï¤ê¤Ë --preserve-permissions --" +#~ "preserve-order ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤" diff --git a/po/ko.gmo b/po/ko.gmo index 552f40023aa2d94a6e5c8b11bdca0703bff00033..f3fe4a2328b7b02c9553c30081d272bbec4d4619 100644 GIT binary patch delta 25 hcmca6b4_N$4h|kOT?12HLo)>fODogOM>r<20sw8`2g?8e delta 25 hcmca6b4_N$4h|j@T?2DnBXb2KV=Lp$M>r<20sw8t2gd*a diff --git a/po/ko.po b/po/ko.po index 39e650aa..b764f675 100644 --- a/po/ko.po +++ b/po/ko.po @@ -2,12 +2,12 @@ # Copyright (C) 1996 Free Software Foundation, Inc. # Bang Jun-Young , 1996-1997. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: GNU tar 1.12\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 1997-05-30 22:55+0900\n" "Last-Translator: Bang Jun-Young \n" "Language-Team: Korean \n" @@ -16,60 +16,60 @@ msgstr "" "Content-Type: text/plain; charset=EUC-KR\n" "Content-Transfer-Encoding: 8-bit\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "ºÎÀûÀýÇÑ ³¯Â¥ Çü½Ä `%s'" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, fuzzy, c-format msgid "ambiguous argument %s for %s" msgstr "¸ðÈ£ÇÑ ÆÐÅÏ `%s'" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr "" -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 #, fuzzy msgid " [OPTION...]" msgstr "" @@ -78,133 +78,138 @@ msgstr "" "\n" # -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "´õ ¸¹Àº Á¤º¸¸¦ º¸·Á¸é `%s --help' ÇϽʽÿÀ.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "¾Ë ¼ö ¾ø´Â ½Ã½ºÅÛ ¿À·ù" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 #, fuzzy msgid "memory exhausted" msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³²" # -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "ÇöÀç µð·ºÅ丮¸¦ ¾Ë ¼ö ¾ø½À´Ï´Ù" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "" @@ -230,11 +235,11 @@ msgstr "" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "" @@ -244,7 +249,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "" @@ -254,16 +259,16 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -271,11 +276,11 @@ msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" @@ -584,8 +589,8 @@ msgstr " msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "" @@ -593,10 +598,11 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "" @@ -610,7 +616,7 @@ msgstr "" msgid "cannot open %s" msgstr "%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "" @@ -621,123 +627,123 @@ msgid "Garbage command" msgstr "¾µ¸ð¾ø´Â ¸í·É" # -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "ÀÌ°ÍÀº tar ¾ÆÄ«À̺êó·³ º¸ÀÌÁö ¾Ê½À´Ï´Ù" # -#: src/buffer.c:574 +#: src/buffer.c:577 #, fuzzy msgid "Total bytes read" msgstr "ÃÑ ¾²¿©Áø ¹ÙÀÌÆ®: " # -#: src/buffer.c:576 +#: src/buffer.c:579 #, fuzzy msgid "Total bytes written" msgstr "ÃÑ ¾²¿©Áø ¹ÙÀÌÆ®: " # -#: src/buffer.c:577 +#: src/buffer.c:580 #, fuzzy msgid "Total bytes deleted" msgstr "ÃÑ ¾²¿©Áø ¹ÙÀÌÆ®: " -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "record_size·Î ºÎÀûÀýÇÑ °ª" # -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "¾ÆÄ«À̺ê À̸§ÀÌ ÁÖ¾îÁöÁö ¾Ê¾Ò½À´Ï´Ù" # -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Ç¥ÁØÀÔ/Ãâ·Â ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "" # -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °»½ÅÇÒ ¼ö ¾ø½À´Ï´Ù" # -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Å×ÀÌÇÁÀÇ ½ÃÀÛ ºÎºÐ¿¡¼­ Áö±Ý Á¾·áÇÔ" # -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "¿À·ù°¡ ³Ê¹« ¸¹¾Æ¼­ Á¾·áÇÕ´Ï´Ù" -#: src/buffer.c:944 +#: src/buffer.c:947 #, fuzzy, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "·¹ÄÚµå Å©±â = %d ºí·°" msgstr[1] "·¹ÄÚµå Å©±â = %d ºí·°" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "" msgstr[1] "" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "" # -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, fuzzy, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "º¼·ý #%d(%s¸¦ À§ÇÑ)¸¦ ÁغñÇÏ°í ¸®ÅÏÀ» Ä¡¼¼¿ä: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "»ç¿ëÀÚÀÇ ÀÀ´äÀÌ ÇÊ¿äÇÑ °÷¿¡ EOF°¡ ÀÖÀ½" # -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "°æ°í: ¾ÆÄ«À̺갡 ºÒ¿ÏÀüÇÕ´Ï´Ù" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -749,77 +755,77 @@ msgstr "" " ! ¼­ºê¼ÐÀ» ½ÇÇàÇÕ´Ï´Ù\n" " ? ÀÌ ¸ñ·ÏÀ» ÀμâÇÕ´Ï´Ù\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr "" # -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "»õ º¼·ýÀÌ ¾Æ´Ô; Á¾·á.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "" # -#: src/buffer.c:1491 -#, fuzzy, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" msgstr "%s´Â ÀÌ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù" # -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" +#: src/buffer.c:1523 +#, fuzzy, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s´Â ÀÌ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù" # -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, fuzzy, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s´Â À߸øµÈ Å©±âÀÔ´Ï´Ù (%ld != %ld + %ld)" # -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "ÀÌ º¼·ýÀº ¼ø¼­¸¦ ¹þ¾î³µ½À´Ï´Ù" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, fuzzy, c-format msgid "Archive not labeled to match %s" msgstr "`%s'¿Í ÀÏÄ¡Çϵµ·Ï ¶óº§ÀÌ ºÙÁö ¾ÊÀº ¾ÆÄ«À̺ê" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, fuzzy, c-format msgid "Volume %s does not match %s" msgstr "º¼·ý `%s'°¡ `%s'¿Í ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" # -#: src/buffer.c:1917 +#: src/buffer.c:1949 #, fuzzy msgid "write did not end on a block boundary" msgstr "ºí·° °æ°è°¡ ¾Æ´Ñ ºÎºÐ¿¡¼­ ¾ÆÄ«À̺ê %sÀÇ EOF °ËÃâ" @@ -832,24 +838,24 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "%d ¹ÙÀÌÆ®(%ld ¹ÙÀÌÆ® Áß)¸¸ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù" msgstr[1] "%d ¹ÙÀÌÆ®(%ld ¹ÙÀÌÆ® Áß)¸¸ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 #, fuzzy msgid "Contents differ" msgstr "¸ðµå°¡ ´Ù¸¨´Ï´Ù" # -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "¾ÆÄ«À̺꿡 ¿¹±âÄ¡ ¾ÊÀº EOF" # -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 #, fuzzy msgid "File type differs" msgstr "Å©±â°¡ ´Ù¸¨´Ï´Ù" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "¸ðµå°¡ ´Ù¸¨´Ï´Ù" @@ -869,7 +875,7 @@ msgid "Mod time differs" msgstr "º¯°æ ½Ã°¢ÀÌ ´Ù¸¨´Ï´Ù" # -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Å©±â°¡ ´Ù¸¨´Ï´Ù" @@ -880,91 +886,91 @@ msgid "Not linked to %s" msgstr "%s¿¡ ¿¬°áµÇÁö ¾ÊÀ½" # -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "±âÈ£¸µÅ©°¡ ´Ù¸¨´Ï´Ù" # -#: src/compare.c:318 +#: src/compare.c:322 #, fuzzy msgid "Device number differs" msgstr "ÀåÄ¡ ¹øÈ£°¡ ¹Ù²î¾úÀ½" # -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "°ËÁõ " # -#: src/compare.c:473 +#: src/compare.c:477 #, fuzzy, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: ¾Ë ¼ö ¾ø´Â ÆÄÀÏ Å¸ÀÔ; ÆÄÀÏÀÌ ¹«½ÃµÊ" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "" # -#: src/compare.c:614 +#: src/compare.c:618 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "°ËÁõ ½ÇÆÐ: %d°³ÀÇ ºÎÀûÀýÇÑ Çì´õ°¡ °ËÃâµÊ" msgstr[1] "°ËÁõ ½ÇÆÐ: %d°³ÀÇ ºÎÀûÀýÇÑ Çì´õ°¡ °ËÃâµÊ" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "" # -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, fuzzy, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" # -#: src/create.c:638 +#: src/create.c:639 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½" # -#: src/create.c:1084 +#: src/create.c:1102 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -972,62 +978,62 @@ msgstr[0] "%s: msgstr[1] "%s: ÆÄÀÏÀÌ %d ¹ÙÀÌÆ® ÁÙ¾îµë, (¿Í¿ì!)" # -#: src/create.c:1182 +#: src/create.c:1200 #, fuzzy, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: ´Ù¸¥ ÆÄÀϽýºÅÛ »ó¿¡ ÀÖÀ½; ´ýÇÁµÇÁö ¾ÊÀ½" # -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 #, fuzzy msgid "contents not dumped" msgstr " (ÄÚ¾î Ãâ·ÂµÊ)" # -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: ¾Ë ¼ö ¾ø´Â ÆÄÀÏ Å¸ÀÔ; ÆÄÀÏÀÌ ¹«½ÃµÊ" # -#: src/create.c:1551 +#: src/create.c:1569 #, fuzzy, c-format msgid "Missing links to %s." msgstr " %s·Î ¸µÅ©\n" # -#: src/create.c:1712 +#: src/create.c:1730 #, fuzzy, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½" # -#: src/create.c:1721 +#: src/create.c:1739 #, fuzzy, c-format msgid "%s: file is the archive; not dumped" msgstr "%s´Â ¾ÆÄ«À̺êÀÔ´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "" # -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "´ÙÀ½ Çì´õ·Î °Ç³Ê ¶Ü" @@ -1046,58 +1052,58 @@ msgstr "" msgid "%s: time stamp %s is %s s in the future" msgstr "" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "¿¬¼ÓµÇ¾î ÀÖ´Â ÆÄÀÏÀ» ÀÏ¹Ý ÆÄÀÏ·Î ÃßÃâÇÔ" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "±âÈ£ ¸µÅ©¸¦ ÇÏµå ¸µÅ©·Î ÃßÃâÇÏ°í ÀÖ½À´Ï´Ù" -#: src/extract.c:1528 +#: src/extract.c:1573 #, fuzzy, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "`%s'¸¦ ÃßÃâÇÒ ¼ö ¾ø½À´Ï´Ù -- ÀÌ ÆÄÀÏÀº ´Ù¸¥ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖ½À´Ï´Ù" # -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 #, fuzzy msgid "Unexpected long name header" msgstr "¾ÆÄ«À̺ê ÆÄÀÏ¿¡ ¿¹±âÄ¡ ¾ÊÀº EOF" # -#: src/extract.c:1542 +#: src/extract.c:1587 #, fuzzy, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: ¾Ë ¼ö ¾ø´Â ÆÄÀÏ Å¸ÀÔ; ÆÄÀÏÀÌ ¹«½ÃµÊ" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: ÀÌ ÆÄÀÏÀ» ¹é¾÷ÇÒ ¼ö ¾ø¾ú½À´Ï´Ù" # -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "%s¸¦ %s·Î À̸§À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù" @@ -1153,229 +1159,229 @@ msgid "%s: byte %s: %s %.*s... too long" msgstr "" # -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "¾ÆÄ«À̺ê ÆÄÀÏ¿¡ ¿¹±âÄ¡ ¾ÊÀº EOF" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "" # -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "" # -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s¸¦ Áö¿ò\n" # -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, fuzzy, c-format msgid "%s: Cannot remove" msgstr "%s¸¦ Áö¿ï ¼ö ¾ø½À´Ï´Ù" # -#: src/list.c:217 +#: src/list.c:219 #, fuzzy, c-format msgid "%s: Omitting" msgstr "%s¸¦ »ý·«" -#: src/list.c:235 +#: src/list.c:237 #, fuzzy, c-format msgid "block %s: ** Block of NULs **\n" msgstr "ºí·° %10ld: ** NUL·Î µÈ ºí·° **\n" -#: src/list.c:261 +#: src/list.c:263 #, fuzzy, c-format msgid "block %s: ** End of File **\n" msgstr "ºí·° %10ld: ** ÆÄÀÏÀÇ ³¡ **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, fuzzy, c-format msgid "block %s: " msgstr "ºí·° %10ld: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" # -#: src/list.c:883 +#: src/list.c:884 #, fuzzy, c-format msgid "Archive base-256 value is out of %s range" msgstr "ÀÌ º¼·ýÀº ¼ø¼­¸¦ ¹þ¾î³µ½À´Ï´Ù" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "" # -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " %s·Î ¸µÅ©\n" # -#: src/list.c:1302 +#: src/list.c:1281 #, fuzzy, c-format msgid " unknown file type %s\n" msgstr " ¾Ë ¼ö ¾ø´Â ÆÄÀÏ Å¸ÀÔ `%c'\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "" # -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--º¼·ý Çì´õ--\n" # -#: src/list.c:1336 +#: src/list.c:1315 #, fuzzy, c-format msgid "--Continued at byte %s--\n" msgstr "--%ld ¹ÙÀÌÆ® °¿¡ °è¼ÓµÊ--\n" # -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "µð·ºÅ丮¸¦ ¸¸µå´Â Áß:" # -#: src/misc.c:726 +#: src/misc.c:733 #, fuzzy, c-format msgid "Renaming %s to %s\n" msgstr "%s¸¦ %s·Î À̸§ ¹Ù²Þ" # -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, fuzzy, c-format msgid "%s: Cannot rename to %s" msgstr "%s¸¦ %s·Î À̸§À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù" # -#: src/misc.c:759 +#: src/misc.c:766 #, fuzzy, c-format msgid "Renaming %s back to %s\n" msgstr "%s¸¦ %s·Î À̸§ ¹Ù²Þ" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "" @@ -1388,83 +1394,235 @@ msgstr "" msgid "interprocess channel" msgstr "" -#: src/names.c:360 +# +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Ç¥ÁØÀԷ¿¡ ´ëÇÑ ¾ÆÄ«À̺ê" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "" + +# +#: src/names.c:73 +#, fuzzy +msgid "change to directory DIR" +msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" + +#: src/names.c:136 +msgid "ignore case" +msgstr "" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "" + +#: src/names.c:768 msgid "command line" msgstr "" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "" # -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, fuzzy, c-format msgid "cannot split string '%s': %s" msgstr "%s¸¦ %s·Î ±âÈ£¸µÅ©ÇÒ ¼ö ¾ø½À´Ï´Ù" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" # -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: ¾ÆÄ«À̺꿡 ¾øÀ½" # -#: src/names.c:845 +#: src/names.c:1263 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: ¾ÆÄ«À̺꿡 ¾øÀ½" -#: src/names.c:879 +#: src/names.c:1297 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "`%s'¿Í ÀÏÄ¡Çϵµ·Ï ¶óº§ÀÌ ºÙÁö ¾ÊÀº ¾ÆÄ«À̺ê" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "`-%s'°ú `-%s' ¿É¼ÇÀº ¸ðµÎ Ç¥ÁØ ÀÔ·ÂÀÌ ÇÊ¿äÇÕ´Ï´Ù" -#: src/tar.c:164 +#: src/tar.c:165 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "ºÎÀûÀýÇÑ ³¯Â¥ Çü½Ä `%s'" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1475,7 +1633,7 @@ msgid "" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1487,81 +1645,89 @@ msgid "" " never, simple always make simple backups\n" msgstr "" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "" # -#: src/tar.c:425 +#: src/tar.c:401 #, fuzzy msgid "create a new archive" msgstr "¾ÆÄ«À̺꿡 ¿¹±âÄ¡ ¾ÊÀº EOF" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1569,646 +1735,517 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "" # -#: src/tar.c:483 +#: src/tar.c:461 #, fuzzy msgid "remove files after adding them to the archive" msgstr "¾ÆÄ«À̺꿡 ÀÖ´Â À̸§µé¿¡¼­ µå¶óÀ̺ê ÁöÁ¤¹®À» Á¦°ÅÇÔ" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "" # -#: src/tar.c:627 +#: src/tar.c:609 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" # -#: src/tar.c:653 +#: src/tar.c:635 #, fuzzy msgid "Archive format selection:" msgstr "Ç¥ÁØÀԷ¿¡ ´ëÇÑ ¾ÆÄ«À̺ê" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:684 +#: src/tar.c:666 #, fuzzy msgid "Compression options:" msgstr "Çò°¥¸®´Â ¾ÐÃà ¿É¼Ç" -#: src/tar.c:686 +#: src/tar.c:668 #, fuzzy msgid "use archive suffix to determine the compression program" msgstr "¾ÐÃà ÇÁ·Î±×·¥¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:688 +#: src/tar.c:670 #, fuzzy msgid "do not use archive suffix to determine the compression program" msgstr "¾ÐÃà ÇÁ·Î±×·¥¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" - -# -#: src/tar.c:712 -#, fuzzy -msgid "change to directory DIR" -msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -msgid "unquote input file or member names (default)" -msgstr "" - -#: src/tar.c:722 -msgid "do not unquote input file or member names" -msgstr "" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "" - # -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "Àý´ë ¸µÅ©µé¿¡¼­ ¾Õ¿¡ ºÙÀº `/'¸¦ Á¦°ÅÇÔ" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2216,237 +2253,252 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "" # -#: src/tar.c:842 +#: src/tar.c:752 #, fuzzy msgid "ask for confirmation for every action" msgstr "»ç¿ëÀÚÀÇ È®ÀÎÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "`-Acdtrux' ¿É¼Ç Áß Çϳª ÀÌ»óÀ» ÁöÁ¤ÇÏ¸é ¾È µË´Ï´Ù" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Çò°¥¸®´Â ¾ÐÃà ¿É¼Ç" -#: src/tar.c:1079 +#: src/tar.c:1005 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1330 +#: src/tar.c:1253 #, fuzzy msgid "Invalid owner or group ID" msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¼ÒÀ¯ÀÚ°¡ ÁÖ¾îÁü" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¸ðµå°¡ ÁÖ¾îÁü" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 +#: src/tar.c:1864 #, fuzzy msgid "Invalid record size" msgstr "record_size·Î ºÎÀûÀýÇÑ °ª" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "·¹ÄÚµå Å©±â´Â %dÀÇ ¹è¼ö°¡ µÇ¾î¾ß ÇÕ´Ï´Ù." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2205 +#: src/tar.c:2052 #, fuzzy, c-format msgid "Unknown density: '%c'" msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "`-[0-7][lmh]' ¿É¼ÇÀº ÀÌ tar¿¡¼± Áö¿øµÇÁö ¾Ê½À´Ï´Ù" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +# +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "%s¸¦ ´Ý´Â µ¿¾È ¿À·ù ¹ß»ý" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "" +#: src/tar.c:2183 +#, fuzzy, c-format +msgid "non-option arguments in %s" +msgstr "ºÎÀûÀýÇÑ ³¯Â¥ Çü½Ä `%s'" + # -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2198 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "%s¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù" +msgid "cannot split TAR_OPTIONS: %s" +msgstr "%s¸¦ %s·Î ±âÈ£¸µÅ©ÇÒ ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:2389 +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "´ÙÁß ¾ÆÄ«À̺ê ÆÄÀÏÀº `-M' ¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2454,73 +2506,77 @@ msgstr[0] "" msgstr[1] "" # -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù" # -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù" # -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "¾ÐÃàµÈ ´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù" # -#: src/tar.c:2543 +#: src/tar.c:2462 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °»½ÅÇÒ ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "" -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr "`-Aru' ¿É¼ÇÀº `-f -'°ú µ¿½Ã¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "`-Acdtrux' ¿É¼Çµé Áß Çϳª¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2577,34 +2633,34 @@ msgstr "" msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" @@ -2647,252 +2703,256 @@ msgstr " msgid "Read checkpoint %u" msgstr "°Ë»çÁöÁ¡ %d¸¦ ÀÐÀ½" -#: tests/genfile.c:111 +#: tests/genfile.c:115 #, fuzzy msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" msgstr "GNU tar ½ÃÇè µµ±¸¿ë µ¥ÀÌÅÍ ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù.\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 #, fuzzy msgid "File creation options:" msgstr "Çò°¥¸®´Â ¾ÐÃà ¿É¼Ç" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" -#: tests/genfile.c:188 +#: tests/genfile.c:193 #, fuzzy msgid "Update the access and modification times of FILE" msgstr "%s: Á¢±Ù ½Ã°¢°ú ¼öÁ¤ ½Ã°¢À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, fuzzy, c-format msgid "Invalid size: %s" msgstr "ºÎÀûÀýÇÑ ³¯Â¥ Çü½Ä `%s'" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, fuzzy, c-format msgid "Unknown date format" msgstr "¾Ë ¼ö ¾ø´Â ½Ã½ºÅÛ ¿À·ù" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "" # -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, fuzzy, c-format msgid "cannot open `%s'" msgstr "%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù" # -#: tests/genfile.c:434 +#: tests/genfile.c:443 #, fuzzy msgid "cannot seek" msgstr "%s¸¦ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'" # -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "%s¸¦ statÇÒ ¼ö ¾ø½À´Ï´Ù" # -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "%s¸¦ statÇÒ ¼ö ¾ø½À´Ï´Ù" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "" # -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "¸µÅ© %s¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "" @@ -3053,10 +3113,6 @@ msgstr "" #~ msgid "Not a regular file" #~ msgstr "ÀϹÝÀûÀÎ ÆÄÀÏÀÌ ¾Æ´Ô" -# -#~ msgid "Error while closing %s" -#~ msgstr "%s¸¦ ´Ý´Â µ¿¾È ¿À·ù ¹ß»ý" - # #~ msgid "Does not exist" #~ msgstr "°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù" diff --git a/po/ky.gmo b/po/ky.gmo index 778ba9194e9e37c82aba9951542b85e30e98971b..a37c94032809a5e21556e76e0f58a410713b6ae4 100644 GIT binary patch delta 8934 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 delta 9149 zcmYk=2YgOv|Httw5;KI@MB=uxNJJ1sqV`N`?-^nSK~QSkiP_kMnzd zRildbY3ZOIv^>=Z_5XZx9k0Lh>M!r#b)9pcbIo(#x_Ou9#=V~I+eN*Wc^G5X^Cto$ z3K8EXzv$+r6@PX z64(Qa;HW^iF##lLRPdi!&!6J>B}U^-R6|My854!k*at_W9*~8l@jiy2SFr7QI3`lA zkJWHJssR@;67M2|VM@FCRDY5f)X=O$HE2JM$1A7?#Dy}vn2c1Jov8ZjSQDS4dQ`ot z{d_~LLAfvLL5r~heu{PQ8fpsMg=wB{*Z^DO5Y&a4$S9gCSQMWloisjSc0EL)8c-K& zVNcA1i%@H0Ir`up$787bTtZFJkI0m|O#sc%95!)GK@IID)JPmbI%jU7hAkzbo<2c;e2#uthKc2)rZ%d9gB(XXjz>-5RAgD1!&sB&n>!@BL1~_Ow|3iqISz+bQdPMMbZ!-poS`( zZt4a-Q8$=~`oMhj!W~!;_o62rMNQcWbm46*g0HXy7KyT-4@51#=BN%%jbi)@kgTUd zE#Ho6&^c5?ZlIWa()V13*1brztMy;7n zbs2v~->jlSJ-&cy@qJW7JnGq@^~J`N!?7WbM)hDXdgC{!Dfj_3VlS~2`mzFbzYr{r zZ=nl2p{^h2CegN9fQX)M2+09s0O(ol4$6?V(en8gz8ya$I+;v%y2w_>@0H&nH^Io)^?yNaw{_&waPz2 zUUKFatc^veWXqf8sBJnHnOe75OOisxSuBIGZ`mGqMJ=)+SPsXb=6(sP2g^~rV=Zb< z&!KvJ6HDVCsFCw-Xh)_Tsv|L|o+qG>_WyVi4dqPKzFmPXT#o^G9QEKIPz}6`{AXVA zM~kyzBfIF5Q1{u3y6zO}eegZ%O9Lycq_md6FC#kmvR>cMFe4dr7DME|CC^*6=Q zlslnD;xu~UT~v?mp?X?`y`-TIMRlM)_Q1BNMfWkr;eOQhp3QAT{F^iW>Om|O`e1j| zNQ^+WFcmddD^NqZ1M}c*?1Fbu=VMyfMcE$nQcgqNHy!m}*n;Z7A=GoeL%vST!xoHx zev*Ke)?my{InuE%dQfhFG~P5st=?G}gu79T^Ey_+r>F<{wPM&Y8nqo)qaJ()b=^%= z19G`r+ig+9u`g=K=VJkUg}PyZHugawsO{7onRYW7HS|Z(8?#U&cM~h%6V$dV$@r_j zDe8UD3)L|9FcP(FIcg}kJ08P|l&|10e1^d|Al{gPI1j7hAE?g-ylr+5#t|#h7ZmfleP(6E$TFu4UTWg{} z<&NmW(Wntxg1Y_+R>r?D0?T#a_oViJJV_W8v#}C>>i8`(P39%4=Pf$gSMw;;h|NXS zuX8+uYS3fUgM2&LDTzWgtTC!%{je;~!{R*OeCSjh!cfZBP&dle+0Jc6^rc)AHI&Uz z4<6&V8rg~FBx#XXGa(9N#S!QJiL&qqCQ zH)@1#p>E{O=GKjBqqbK97Q+cnc^-OG-h|qQyHMAkN4{9iUsxO?dNTgeB+Yu-ui;dz zPB|0R zeeo-#GR3aY{nwfZBF1LMzB<0``wT)fgh^Wx56mw zfEvkkEQ0&79DeC0IZbj0HD}xV+c(=~WTBeS0rn@;WUNhjpHsevqbXNRv_DptqCe#` z$ObY$BQHl2HPHU7pMpHXoWWWcI>?TIyDy2RAPsBaA*_V|K{cr8U^|4-Sc>vc9D-?B zAMc^oL?D$cBhwD`fR9j%`4+asd_(P2wny4-k}!_-XD*TG!R2_%uu#q0*b28G(`Fu` z)lq)llYt0Et%R z3S_IBY-FLE%E|V^sW_GLSE#kpW|VEnRIEVx3v7sY&=adLFU>Fn)xcydh$k=tvru#I zF^19Q`6hrwEv|tY!USxOpCQY@c&9L|IMVSbs%J&UQinsa4qnFss%Lm&(GM9s(;d~2 zlbDL7$J@2A65V>xa}qTm{vA8yQ&3ZI17~3632Y_YhO8@-G?8J&EUbs&?;0~5hhRSZ z9b@n**1*U~_9tE<>il)|!GBL;{PU7LqJn8L&rowTXtHhLHdN2Or#Sl?)!oU zTeUoaAVr`eu0#gdfcQB#qK4KNuy;7$xg4~8oggWV*xNjf5JG3lr|%g?xL(Tqi{ z)-;U8OUNvkLNkqFcFZhf2bzCSLpx}e{ai9?8&1Y>+=I-P`2jm)kJAN{ z83W(54`_p|Cvy^8V!d?xf|-UDDX&Kj@d=!Vf1<8Wox}RTr>K!gm}|eBCSV21hcOVp zM?UX1dH8fCDx$DC_Q0mN0o&rw=&$qhZI3#kdX$dk@c<6M>!_)SSzuqa$yk;08mx(D zP*d;%wJ6&z)O&$3Pa`Qo#RpgbGf{JY1hqEqU@LSjvOiFUq1M7))KGdZwsyxJly~6> zEU?6G(+S8%FxmJa#%0+0Cpb-W9>3J~APYNDuC>hGFdf4@7%J2@E418hs}@*|@(iqt zdoT~)LoPRuF&_U!7dBd9r>Z}OP+o#TcnIB%NbZotVc<%;+EY+(sLdFL$FU$j#9(}Z zn!_rq?4paqP|BTgIHsc3%md_76SdklI14rOFEJ9UuVMVVk@R0}sEd zy6_}w8~ugqY1CTVpjgzDwMNxe`^j&reHlnUOg{k-$+iL%h*=;ZQ0{uC07yF^-9y>CLs2(gs&1E*m z;uE}xk$dfX!6TD*0_9fN9bcfX@3PN+{Z7QblrP|L4EvP#0?#+ANSa}Z{k)8@Cl170 zxCER0%b2Bj63o71;*w<2bDIx$V#n)EYXEt??gB$5sa!|5_xM zNwoO#9kQ?7E;x(wR_uUbhwb@PR6{S~J6QaP-L~^EjDbOi&kz!!FoYhXLdL$C#YhT0t-C+r*t;xNk1um|qOWb{7C z4^f~I$T8EySNQ=HXr^< zBvAJ$md616gji4B688`+D6Q6<NrD; zb1pBJQ^S~0Zb$f1jwiIu4iP^S0|^~2&KJb?*pg^MXjkYsOhn{l_FZ#ZBazMpYpF~p zHWB40>o`uN5UmMb-=-P$J<%HvATPL_{{;gk*7?k0^0`D5@g0%hsqatz=Fy*eznltY zVmbx4bD`?Ar&s5kWCEz~Kwb;=4Hu3xFqP0GuBE&YJ+Uz^By@aC{6dT)25@dP5lPgb z+#K~Iw>f{wMgU>W1bo@kg zBTpkja%$|qjBb#-U-9Q1PP8Gqk*_356On|DE5roO>G(HMpFA_C^#6Z8A|37&r{fPq zVWKvnV?I&OxrfSq$cGUj9_-UcRCIJsM&l65VT6}cw-WDD?&Xx1U@ppYh%v7Isdb+Ee25k`Y1!*lt>{) zQn}PQ(G>?#_Y6A`BQqMgiiJ%eYfJ5H;`Nb4zS${s!G6SP;!Z}ItC+h2XBQJks3}S$ zl6zw|@#Zm$dL74z?Zi_;$33Db=SJa=#Cy(l?~z|3t`R!Q5Os1g)*ILSLGG#b+=app z=Y&{8bf)gAQ&+>eVOh#O$xq-iT;QDVPF{s5KrEx~B{817qjSC(`8@LXi5T*8n4cI+ z4Ax7z2bDUG5|hcNqOVh@`d}vyCjXnrLwOD{fINZFv5<0gBAL+9oA4p}Ipw*I89K>v z(_%*Rd=uoHR9$KE>i8{D{Ed2@J4=iw+Nt0idmTq`Z4sg=h;VU6)$^dEC>%M zSk09G`|DlVsbBBPI(T_o=9!f7egU0=vi4=|&N}SM yI+Q&)Vb*TikWu|=>Ae>=7x+Ju*7Ah_ diff --git a/po/ky.po b/po/ky.po index 1bc00b4a..2130732c 100644 --- a/po/ky.po +++ b/po/ky.po @@ -3,12 +3,12 @@ # This file is distributed under the same license as the PACKAGE package. # Azilet Beishenaliev , 2007. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: tar 1.18\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 2007-09-01 01:06+0100\n" "Last-Translator: Azilet Beishenaliev \n" "Language-Team: Kirghiz \n" @@ -21,47 +21,47 @@ msgstr "" "X-Poedit-Country: KYRGYZSTAN\n" "X-Poedit-SourceCharset: utf-8\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "%2$s үчүн %1$s аргументи жарабайт" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "%2$s үчүн %1$s аргументи так эмес" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Жарактуу аргументтер мындай:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s, %s'тен кичине же барабар" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT параметринин мааниси болуш керек" # положительный кыргызча кандайле? -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT параметринин мааниси оң болуш керек" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: ARGP_HELP_FMT параметри белгисиз" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "ARGP_HELP_FMT параметри бузук: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -70,144 +70,149 @@ msgstr "" "жараша жазылса, кыска жазылган опциялар менен да сөзсүз түрдө же тилекке " "жараша жазылат." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Колдонулушу:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " же: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [ОПЦИЯ...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Толук маалымат үчүн `%s --help' же `%s --usage' деп жазгыла.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Каталарды бул жерге билдиргиле %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Белгисиз система катасы" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "Бул жардам тизмесин көрсөтөт" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "Колдонуу жөнүндө кыска маалымат көрсөтөт" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "АТЫ" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "Программага ат кой" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "СЕК" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "СЕК секунда күтүңүз (алдынала - 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "программанын версиясын көрсөтөт" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ПРОГРАММАДА КАТА) Версиясы белгисиз!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Аргументтердин саны көп\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ПРОГРАММАДА КАТА) Опция билиниш керек болчу!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: `%s' опциясы так эмес\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: `-W %s' опциясы так эмес\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: `--%s' опциясы менен аргумент колдонулбайт\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: `%c%s' опциясы менен аргумент колдонулбайт\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: `%s' опциясы менен аргумент болуш керек\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: бул опция түшүнүксүз `--%s'\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: бул опция түшүнүксүз `%c%s'\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: жараксыз опция -- %c\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: бул опциянын аргументи болуш керек -- %c\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: `-W %s' опциясы так эмес\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: `-W %s' опциясы менен аргумент колдонулбайт\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: `%s' опциясы менен аргумент болуш керек\n" # Памятты эмне дейбиз яя? ;) -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "Память жетпей калды" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "Учурдагы папка алмаштырылбайтат" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, fuzzy, c-format msgid "failed to return to initial working directory" msgstr "Учурдагы папка сакталбайтат" @@ -233,11 +238,11 @@ msgstr "Учурдагы папка сакталбайтат" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "„" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "“" @@ -248,7 +253,7 @@ msgstr "“" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[оО]" @@ -259,16 +264,16 @@ msgstr "^[оО]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[жЖ]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -276,11 +281,11 @@ msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "Каталарды бул жерге билдиргиле %s.\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "Каталарды бул жерге билдиргиле %s.\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" @@ -582,8 +587,8 @@ msgstr "Архивде күтүлбөгөн жерде файлдын соңу msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "N" @@ -591,10 +596,11 @@ msgstr "N" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "ФАЙЛ" @@ -607,7 +613,7 @@ msgstr "" msgid "cannot open %s" msgstr "`%s' ачылбай жатат" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "аргументтердин саны көп" @@ -616,109 +622,109 @@ msgstr "аргументтердин саны көп" msgid "Garbage command" msgstr "Туура эмес команда" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Бул tar-архиви эмес окшойт" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Алынган жалпы байт" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Жазылган жалпы байт" -#: src/buffer.c:577 +#: src/buffer.c:580 #, fuzzy msgid "Total bytes deleted" msgstr "Өчүрүлгөн жалпы байт: %s\n" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(канал)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "record_size мааниси жарабайт" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Архивдин аты берилген жок" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Архивдин stdin/stdout текшерүүсү болбой жатат" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Архив кысыштырылган абалда. %s опциясын колдонгула" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Кысыштырылган архивдерди жаңырталбай калды" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Лентанын башына келди, иш бүттү" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Өтө көп ката бар, иш бүттү" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Маалыматтын көлөмү = %lu блок" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Архивде түз жайлашпаган блок бар (%lu байт)" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Архивдеги файл өчпөй калды; архив ачылбаса -i деп колдонгула" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek маалыматтын чегинде токтогон жок" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: жараксыз том номери бар" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Томдун номери батпай калды" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "%2$s үчүн %1$d-томду даярдап Enter'ди басыңыз: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Колдонуучудан жооп күтүбатканда файлдын соңу келип калды" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "ЭСКЕРТҮҮ: Архив толук эмес" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -729,72 +735,72 @@ msgstr "" " q\t\ttar программасынын ишин бүтүр\n" "y же Ввод\t\tИшти улант\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Команда строкасын ач\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Бул тизмени жаз\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Жаңы том жок; иш бүттү.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Файлдын аты берилген жок. Кайра жазып көргүлө.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Туура эмес ввод. Жардам үчүн ? жазгыла.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "%s командасы аткарылбай калды" -#: src/buffer.c:1491 -#, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s бул томдо уланса керек: башкы-маалыматта аты кыскартылыптыр" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s мунун бул томдо уландысы жок" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s бул томдо уланса керек: башкы-маалыматта аты кыскартылыптыр" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s көлөмү туура эмес (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Бул том иретте эмес" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Архивдин тамгасы %s менен келишпей жатат" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "%s тому %s менен келишпей жатат" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" "%s: файлдын аты көп-томдук GNU башкы-маалымат үчүн өтө узун, кыскартылды" -#: src/buffer.c:1917 +#: src/buffer.c:1949 #, fuzzy msgid "write did not end on a block boundary" msgstr "rmtlseek маалыматтын чегинде токтогон жок" @@ -805,20 +811,20 @@ msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "%2$lu байттан %1$lu гана окулду" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Мазмундары окшобойт" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Архивде күтүлбөгөн жерде файлдын соңу бар" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Файл түрү окшошпойт" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Укук абалдары окшошпойт" @@ -834,7 +840,7 @@ msgstr "Gid окшошпойт" msgid "Mod time differs" msgstr "Алмаштыруу убактылары окшошпойт" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Көлөмү окшошпойт" @@ -843,137 +849,137 @@ msgstr "Көлөмү окшошпойт" msgid "Not linked to %s" msgstr "%s жака шилтенген эмес" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Символикалык шилтеме окшошпойт" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Аспап номери окшошпойт" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Текшерүү " -#: src/compare.c:473 +#: src/compare.c:477 #, fuzzy, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: `%c' файл түрү бүлгисиз, жөнөкөй файл катары салыштырды" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Архивдин ичинде префикстери алынган файл аттары бар." -#: src/compare.c:535 +#: src/compare.c:539 #, fuzzy msgid "Archive contains transformed file names." msgstr "Архивде эски түрдөгү base-64 башкы-маалымат бар" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Текшерүү учурунда алгачкы файлдар табылбай калышы мүмкүн." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "ТЕКШЕРҮҮ КАТАСЫ: %d жараксыз башкы маалымат табылды" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "%s болгон жерде нөлдүк блок бар" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: мунун ичинде %s деген кэш-папка белгиси бар; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "%s мааниси %s диапазонунун тышында %s..%s; ордуна %s коюлат" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "%s мааниси %s диапазонунун тышында %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Терс сегиздик системасында башкы маалыматтар даярдалууда" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: файлдын аты өтө узун (эң көп %d болот); кошулбайт" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: файлдын аты өтө узун (бөлүнбөйт); кошулбайт" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: шилтеменин аты өтө узун; кошулбайт" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Файл %s байтка азайды; нөлдөр менен толтурулат" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: файл башка файл-системасында; кошулбайт" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "астындагылар кошулган жок" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Файлдын түрү белгисиз; файл каралбайт" -#: src/create.c:1551 +#: src/create.c:1569 #, fuzzy, c-format msgid "Missing links to %s." msgstr "%s жака шилтемелер жок.\n" -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: файл алмашкан жок; кошулбайт" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: файл архив экен; кошулбайт" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "папка кошулган жок" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: файлды окуу учурунда файл алмашты" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: сокет каралбайт" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: door каралбайт" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Эмики башкы-маалыматка өттү" @@ -991,54 +997,54 @@ msgstr "%s: %s убакыт тамгасы өтө эски" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: %s убакыт тамгасы %s сек. келечекте" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Папка ачыбатканда күтүлбөгөн нерселер болду" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Папканын статусу билинелектен мурун аты алмашып кетти" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Удаа болгон файлдар жөнөкөй файл катары чыгарылып жатат" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Символикалык шилтемелерди түз шилтеме катары чыгарууга аракет кылынат" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Чыгарылган жок -- файл башка томдон уланып келиптир" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Башкы-маалымат узун" -#: src/extract.c:1542 +#: src/extract.c:1587 #, fuzzy, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: `%c' файл түрү бүлгисиз, жөнөкөй файл катары чыгарылды" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Азыркы %s жаңыраак же бирдей" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Бул файлдын резерв копиясы алыналбай калды" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "%s файлы %s деп алмаштыралбай калды" @@ -1090,129 +1096,130 @@ msgid "%s: byte %s: %s %.*s... too long" msgstr "" # snapshot? -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Снэпшот файлда күтүлбөгөн жерде файлдын соңу (EOF) бар" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Записьтерди бөлүүчү символ жок" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Файлдын форматы туура эмес" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Форматтын бул версиясы иштетиле албайт: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Кошулуучу папка бузук: '%c' күтүлгөн бирок %#3o келди" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Кошулуучу папка бузук: 'X' копиялары бар" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Кошулуучу папка бузук: 'R' менен берилген ат бош" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Кошулуучу папка бузук: 'T'дан мурун 'R' жок" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Кошулуучу папка бузук: 'T' менен берилген ат бош" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Кошулуучу папка бузук: '%c' күтүлгөн бирок датанын соңу келди" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Кошулуучу папка бузук: 'X' эч колдонулган жок" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "%s шаблонун колдонуп убактылуу жаңы папка ачылган жок" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Папка өчүрүлгөн жок: stat иштебей койду" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: бул папка башка аспапта жайгашкан: өчүрүлбөйт" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s өчүрүлүп жатат\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Өчүрүлбөй жатат" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Муну аттады" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "блок %s: ** нөлдөр болгон блок **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "блок %s: ** Файлдын соңу **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "блок %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Башкы-маалыматта сан түрүндө %s болотурган жерде бош жерлер бар" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1220,89 +1227,89 @@ msgstr "" "экилик системадагы терси алынды" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "" "Архивдин сегиздик системадагы мааниси болгон %.*s %s диапазонунун тышында" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Архивде эски түрдөгү base-64 башкы-маалымат бар" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Архивдеги base-64 түрүндөгү %s сөзү %s диапазонунун тышында" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Архивдин base-256 мааниси %s диапазонунун тышында" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "" "Архивдин ичинде %.*s бар, алардын ордунда сан түрүндө %s болушу керек эле" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Архивдин %s мааниси %s түрүнүн %s..%s диапазонунда эмес" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " %s жака шилтеме\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " белгисиз файл түрү %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Узун шилтеме--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Узун ат--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Томдун башкы-маалыматы--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--%s-байттан баштап уланды--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Жаңы папка ачылыбатат:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "%s'тин атын %s деп алмаштырды\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Аты %s деп алмаштыралбай калды" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "%s'тин атын кайра %s деп алмаштырды\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Файл окулганча өчүрүлүп кетти" @@ -1318,32 +1325,196 @@ msgstr "туулган процесс" msgid "interprocess channel" msgstr "процесс-аралык канал" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Локалдуу файлдарды тандоо:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "ФАЙЛды архивге кош (файлдын аты тире менен баштаган учурда пайдалуу)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "ПАПКА" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "ПАПКА папкасына өт" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "чыгарылатурган же жаңы ачылатурган файлдарды АТЫ деген файлдан кара" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T опциясы нөл менен бүткөн аттарды окуйт, -C опциясы өчүрүлөт" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "" + +#: src/names.c:82 +#, fuzzy +msgid "unquote input file or member names (default)" +msgstr "" +"-T менен алынган файлдардын аттарындагы ковычкалар өчүрүлөт (алдынала " +"тандалат)" + +#: src/names.c:84 +#, fuzzy +msgid "do not unquote input file or member names" +msgstr "-T менен алынган файлдардын аттарындагы ковычкалар калаберет" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "ШАБЛОН" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "ШАБЛОН менен уйкаш файлдар ишке алынбайт" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "ФАЙЛда тизмеленген шаблондор менен уйкаш файлдар ишке алынбайт" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"CACHEDIR.TAG файлы болгон папкалардын астындагылары тэг файлдан тышкарысы " +"кошулбайт" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "CACHEDIR.TAG файлы болгон папкалардын астындагыларынын баары кошулбайт" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "CACHEDIR.TAG файлы болгон папкалар кошулбайт" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"ФАЙЛ файлы болгон папкалардын астындагылары ФАЙЛ файлындан тышкарысы " +"кошулбайт" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "ФАЙЛ файлы болгон папкалардын астындагыларынын баары кошулбайт" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "ФАЙЛ файлы болгон папкалар кошулбайт" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "папкалардын тереңине кирет (алдынала тандалган)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "папкалардын тереңине кирип кетүүнү токтот" + +# inclusion, exclusion - Kyrgyz equiv? +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "Файлдын атына уйкаштыруу опциялары (бардык шаблондорго тиешелүү):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "шаблондор файлдын атынын башталышы менен уйкаштырылат" + +#: src/names.c:134 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" +"шаблондор `/' символунан кийин келген ар жерде уйкашына каралат (алдынала " +"тандалган)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "тамгалардын чоң-кичинесине каралбайт" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "уйкаштырууда тамгалардын чоң-кичинесине каралат (алдынала тандалган)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "шаблондор колдонулат (иштен алынбаган файлдарга алдынала тандалат)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "кандай жазылса ошондой колдонулат" + +#: src/names.c:144 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" +msgstr "шаблондор `/' символун издейт (алдынала тандалган)" + +#: src/names.c:146 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "шаблондор `/' символун издебейт" + +#: src/names.c:768 #, fuzzy msgid "command line" msgstr "%s командасы аткарылбай калды" -#: src/names.c:378 +#: src/names.c:786 #, fuzzy, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: файл тизмеси окулган" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, fuzzy, c-format msgid "cannot split string '%s': %s" msgstr "`%s'ке убакыт аталган жок" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: алынган файлдын атында бош тамгалар бар" -#: src/names.c:824 +#: src/names.c:1242 #, fuzzy msgid "Pattern matching characters used in file names" msgstr "Файлдын аттарында уйкаштарды издөө үчүн колдонулган тамгалар бар." -#: src/names.c:826 +#: src/names.c:1244 #, fuzzy msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " @@ -1351,45 +1522,45 @@ msgid "" msgstr "" "Уйкаштарды издөө үчүн --wildcards опциясын колдонуңуз, же --no-wildcards" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Архивде табылган жок" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Керектүү нерселер архивде табылган жок" -#: src/names.c:879 +#: src/names.c:1297 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Архивдин тамгасы %s менен келишпей жатат" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "`-%s' жана `-%s' опцияларына стандарт кирүү(input) керек" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Архивдин форматы жарабайт" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Бул форматтагы архив үчүн жарабаган GNU өзгөчөлүктөрү суралууда" -#: src/tar.c:264 +#: src/tar.c:265 #, fuzzy, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1397,7 +1568,7 @@ msgstr "" "Ковычкалардын түрү белгисиз - `%s'. Тизмени көрүүгө `%s --quoting-" "style=help' жазгыла." -#: src/tar.c:378 +#: src/tar.c:354 #, fuzzy msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " @@ -1420,7 +1591,7 @@ msgstr "" " tar -xf archive.tar # Аты archive.tar болгон архивдин ичиндеги " "баардык файлдарды чыгарат.\n" -#: src/tar.c:387 +#: src/tar.c:363 #, fuzzy msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" @@ -1443,82 +1614,90 @@ msgstr "" "жөнөкөй вариант\n" " never, simple ар дайым жөнөкөй резерв копиялар сакталат\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Негизги иштөө абалы:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "архивдин ичиндеги файлдарды тизмелейт" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "архивден файлдарды чыгарат" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "жаңы архив жаратат" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "архив менен файл система айырмаларын табат" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "файлдарды архивдин аягына кошот" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "архивдин ичиндегилерден жаңы болгон файлдарды гана кошот" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "tar файлын архивге кошот" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "архивден өчүрөт (магниттик ленталарда жарабайт!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "архивдик томдун атын текшерет анан бүтүрөт" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Иштөөнүн модификаторлору:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "кеңири жайлашкан файлдарды эфектүү түрдө колго ал" +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + # major, minor -#: src/tar.c:448 +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "БАШКЫ[.КИЙИНКИ]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "кеңири жайлаштыруу форматынын версиясын тандайт (--sparce опциясы кошулган " "болот)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "эски GNU форматындагы резервдөө методун колго ал" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "жаңы GNU форматындагы резервдөө методун колго ал" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "окулбаган файлдар келгенде нөл болбогон статус менен ишти бүтүрбө" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1530,142 +1709,151 @@ msgstr "" "файлдардын аттары команда строкасында же -T опциясы менен берилгенде гана " "жарактуу болот. N-дин мааниси алдынала 1ге барабар." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "Архивдин ичиндегилерди издесе болот" -#: src/tar.c:467 +#: src/tar.c:445 #, fuzzy msgid "archive is not seekable" msgstr "Архивдин ичиндегилерди издесе болот" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "үстүнө көчүрүү контролу:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "архивди сактагандан кийин текшерүүгө аракет кылат" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "файлдарды архивге кошулгандан кийин өчүрөт" -#: src/tar.c:485 +#: src/tar.c:463 #, fuzzy msgid "don't replace existing files when extracting, treat them as errors" msgstr "файлдарды чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрбө" -#: src/tar.c:488 +#: src/tar.c:466 #, fuzzy msgid "don't replace existing files when extracting, silently skip over them" msgstr "файлдарды чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрбө" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "мурун бар болгон файл архивдеги копиясындан жаңы болсо аны алмаштырба" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрөт" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "бар болгон файлдын ордуна көчүрүүдөн мурун ал файлды өчүрөт" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "папканы чыгарардан мурун баардык иерархияларды өчүрөт" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "мурун бар болгон папкалардын мета-касиеттерин корго" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "чыгаруу учурунда бар болгон папкалардын мета-даталардын үстүнө жазылат " "(алдынала тандалат)" -#: src/tar.c:504 +#: src/tar.c:482 #, fuzzy msgid "preserve existing symlinks to directories when extracting" msgstr "чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрөт" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "ПАПКА" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Чыгаруу() жолун танда:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "файлдарды стандарт чыгарууга (output) жөнөт" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "КОМАНДА" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "" "архивден чыккан файлдарды канал(pipe) жолу менен башка программага жөнөтөт" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "туулган процесстердин бүтүрүү кодторуна караба" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "туулган процесстердин нөл болбогон бүтүрүү кодторун ката деп ишке ал" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Файлдын өзгөчөлүктөрүн колго алууда:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "кошулган файлдардын ээсин АТЫ деп кой" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "кошулган файлдардын группасын АТЫ деп кой" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "ДАТА-ЖЕ-ФАЙЛ" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "кошулган файлдардын алмашуу убактысын ДАТА-ЖЕ-ФАЙЛ дан ал" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "УКУК" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "кошулган файлдардын укук абалын УКУК деп кой" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "МЕТОД" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1675,32 +1863,32 @@ msgstr "" "сакта (МЕТОД='replace'; алдынала тандалат) же колдонуу убакыттарын " "алмашырбай туруп сактап кал (МЕТОД='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "файлдын алмаштыруу убактын чыгарбайт" -#: src/tar.c:545 +#: src/tar.c:529 #, fuzzy msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "ээсин ошол бойдон калтырып файлдарды чыгарууга аракет кылат" -#: src/tar.c:547 +#: src/tar.c:531 #, fuzzy msgid "extract files as yourself (default for ordinary users)" msgstr "файлдарды өзүңдүкү катары чыгарат" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "ээси/группа аттарын ардайым номерлер менен көрсөтөт" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "файлдын уруксат маалыматын да чыгар (суперколдонуучуга алдынала тандалат)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1708,16 +1896,12 @@ msgstr "" "архивден уруксат маалыматын чыгарыбатканда колдонуучунун umask'ын колдон " "(жөн колдонуучуларга алдынала тандлат)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "-p жана -s менен бирдей" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1725,190 +1909,190 @@ msgstr "" "чыгарылган папкалардын колдонуу убакыттарын жана уруксаттарын чыгаруу иши " "бүткөндөн кийин коёт" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "--delay-directory-restore опциясынын эффектин токтотот" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 #, fuzzy msgid "Handling of extended file attributes:" msgstr "Файлдын өзгөчөлүктөрүн колго алууда:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Аспапты тандоо жана ага өтүү:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "АРХИВ" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "АРХИВ деген архивдик файлды же аспапты колдонот" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "архивдик файлда эки точка болушуна карабастан ал локалдуу" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "rmt'нин ордуна КОМАНДА колдонулат" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "rsh'тын ордуна КОМАНДА колдонулат" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "драйв жана анын тыгыздыгын белгиле" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "көп томдуу архивди жарат/тизмеле/чыгар" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "N x 1024 байт жазгандан кийин лентаны алмаштыр" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "ар лентанын аягында скриптти иштет (-M опциясы колдонулат)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "ФАЙЛ файлынын ичиндеги том номерин колдон/жаңырт" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Аспаптын блоктолушу:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "БЛОК" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "ар маалыматка БЛОК x 512 байт түшөт" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "Ар маалыматка N байт түшөт, 512 көбөйтүндүсү" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "архивдеги нөлдүү блокторду өтүп кетет (EOF жөнүндө)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "окубатканда кайрадан блокторго бөлүп чык (4.2BSD каналдары үчүн)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Архивдин форматын тандоо:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "ФОРМАТ" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "тандалган форматта архив жаратат" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "ФОРМАТ булардан бирөө болот:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "эски V7 tar форматы" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "tar <= 1.12 версиясында болгондой GNU форматы" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x форматы" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) форматы" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) форматы" # pax деген gid,atime сияктуу нерселер -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "pax менен бирдей" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "--format=v7 менен бирдей" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "--format=posix менен бирдей" # keyword эмне болот? -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "ачкыч-сөз[[:]=мааниси][,ачкыч-сөз[[:]=мааниси]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "контролдоо үчүн pax ачкыч сөздөрү" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "ТЕКСТ" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1916,189 +2100,85 @@ msgstr "" "том аты ТЕКСТ болгон архив жарат; тизмелөө/чыгаруу учурунда, ТЕКСТ дегенди " "том атынын глоб шаблону катары колдон" -#: src/tar.c:684 +#: src/tar.c:666 #, fuzzy msgid "Compression options:" msgstr "Бирбирине келишпеген кысыштыруу опциялары берилди" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "ПРОГ" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "ПРОГ менен ишке ал (-d опциясы болушу керек)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Локалдуу файлдарды тандоо:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "ФАЙЛды архивге кош (файлдын аты тире менен баштаган учурда пайдалуу)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "ПАПКА папкасына өт" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "чыгарылатурган же жаңы ачылатурган файлдарды АТЫ деген файлдан кара" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T опциясы нөл менен бүткөн аттарды окуйт, -C опциясы өчүрүлөт" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "" -"-T менен алынган файлдардын аттарындагы ковычкалар өчүрүлөт (алдынала " -"тандалат)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "-T менен алынган файлдардын аттарындагы ковычкалар калаберет" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "ШАБЛОН" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "ШАБЛОН менен уйкаш файлдар ишке алынбайт" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "ФАЙЛда тизмеленген шаблондор менен уйкаш файлдар ишке алынбайт" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"CACHEDIR.TAG файлы болгон папкалардын астындагылары тэг файлдан тышкарысы " -"кошулбайт" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "CACHEDIR.TAG файлы болгон папкалардын астындагыларынын баары кошулбайт" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "CACHEDIR.TAG файлы болгон папкалар кошулбайт" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"ФАЙЛ файлы болгон папкалардын астындагылары ФАЙЛ файлындан тышкарысы " -"кошулбайт" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "ФАЙЛ файлы болгон папкалардын астындагыларынын баары кошулбайт" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "ФАЙЛ файлы болгон папкалар кошулбайт" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "папкалардын тереңине кирип кетүүнү токтот" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "архивди жасабатканда локалдуу файл системасында кал" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "папкалардын тереңине кирет (алдынала тандалган)" - -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "файл аттарынын башындагы '/'терди өчүрбө" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "символикалык шилтемелерге барат; алар көрсөткөн файлдарды архивге кошот" -#: src/tar.c:765 +#: src/tar.c:697 #, fuzzy msgid "follow hard links; archive and dump the files they refer to" msgstr "" "символикалык шилтемелерге барат; алар көрсөткөн файлдарды архивге кошот" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "МҮЧӨНҮН-АТЫ" -#: src/tar.c:767 +#: src/tar.c:699 #, fuzzy msgid "begin at member MEMBER-NAME when reading the archive" msgstr "архивдеги МҮЧӨНҮН-АТЫ мүчөсүнөн башта" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "ДАТА-ЖЕ-ФАЙЛ'дан жаңы болгон файлдарды гана сакта" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "ДАТА" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "датасы алмашканда гана дата жана убактысын салыштыр" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "CONTROL" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "өчүрөрдөн мурун копиясын сактап кал, CONTROL версиясын танда" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "STRING" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2106,105 +2186,63 @@ msgstr "" "өчүрөрдөн мурун копиясын сактап калат, жалпы колдонулган суфикс кошулат (бул " "суфикс SIMPLE_BACKUP_SUFFIX жолу менен алмаштырылбаган болсо '~' болот)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Файлдын атынын алмашуулары:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "чыгаруу учурунда файл аттарынын башындагы N компонентти алып салат" # выражение кыргызча кандай? СҮЙЛӨМ башка жерде да бар -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "СҮЙЛӨМ" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "файлдардын аттарын алмаштыруу үчүн sed replace EXPRESSION колдонгула" -# inclusion, exclusion - Kyrgyz equiv? -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "Файлдын атына уйкаштыруу опциялары (бардык шаблондорго тиешелүү):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "тамгалардын чоң-кичинесине каралбайт" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "шаблондор файлдын атынын башталышы менен уйкаштырылат" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" -"шаблондор `/' символунан кийин келген ар жерде уйкашына каралат (алдынала " -"тандалган)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "уйкаштырууда тамгалардын чоң-кичинесине каралат (алдынала тандалган)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "шаблондор колдонулат (иштен алынбаган файлдарга алдынала тандалат)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "кандай жазылса ошондой колдонулат" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "шаблондор `/' символун издебейт" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "шаблондор `/' символун издейт (алдынала тандалган)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Маалыматтандыруу:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "ишке алынган файлдарды кеңири маалыматы менен тизмеле" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "" -#: src/tar.c:819 +#: src/tar.c:729 #, fuzzy msgid "warning control" msgstr "үстүнө көчүрүү контролу:" # Ушу 'record' сөзүнө жакшы котормо табалбай койдум # 'маалымат' деп жазыбаттым эле, бул жерде келишпей калаткен -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "ар N записьтен кийин маалымат берип турат (алдынала 10 болот)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "баардык шилтемелер кошулбай калса билдирүү жазып чыгар" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "СИГНАЛ" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2216,36 +2254,36 @@ msgstr "" "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 жана SIGUSR2; SIG префикси жазылбаган " "аттарын да колдонсо болот." -#: src/tar.c:834 +#: src/tar.c:744 #, fuzzy msgid "print file modification times in UTC" msgstr "файлды алмаштыруу датасын UTC түрүндө көрсөт" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "чыккан кеңири маалыматты ФАЙЛ файлына жибер" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "ар билдирүүдө архивдин ичиндеги блок номерин көрсөт" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "ар ишти аткарууга макулдук сурап тур" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "tar'да алдынала коюлган опцияларды көрсөтөт" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2253,33 +2291,33 @@ msgstr "" "тизмелөө же чыгаруу учурунда издөө критериясына жатпаган папкаларды да " "тизмелейт" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "алмаштыруудан кийин файлдын же архивдин аттарын көрсөтөт" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "СТИЛЬ" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "аттарга ковычка кошуу стилин тандаңыз; жарактуу СТИЛЬ түрдөрү төмөндө " "көрсөтүлөт." -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "STRING ичинде болгон тамгаларга кошумча ковычка кошот" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "STRING ичинде болгон тамгаларга ковычка кошпойт" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Келишүү опциялары:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2287,56 +2325,63 @@ msgstr "" "жаңы архив жасабатканда --old-archive менен бирдей; чыгарыбатканда --no-same-" "owner менен бирдей" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Башка опциялар:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "зыяндуу көрүнгөн опцияларды колдонууга тыюуу салат" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, fuzzy, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s: %s орунуна баралбай жатат" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "`-Acdtrux' опцияларынан бирөөнү гана колдоно аласыңар" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Бирбирине келишпеген кысыштыруу опциялары берилди" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Сигналдын аты белгисиз: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Датанын шаблон файлы табылган жок" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Белгисиз %1$s дата форматынын ордуна %2$s коюлат" -#: src/tar.c:1140 +#: src/tar.c:1066 #, fuzzy, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "%s опциясы: `%s' датасын %s деп алды" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "архивди gzip менен ишке ал" -#: src/tar.c:1214 +#: src/tar.c:1137 #, fuzzy msgid "Valid arguments for the --quoting-style option are:" msgstr "--quoting-style опциясы үчүн мындай аргументтер бар:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2344,188 +2389,199 @@ msgstr "" "\n" "*Бул* tar алдынала мындай иштетилет:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 #, fuzzy msgid "Invalid owner or group ID" msgstr "Ээси жарабайт" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Блок көлөмү жараксыз" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Лентанын узундугу жараксыз" -#: src/tar.c:1521 +#: src/tar.c:1483 #, fuzzy msgid "Invalid incremental level value" msgstr "Файлдын форматы туура эмес" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Бирден көп ченемдөөчү дата бар" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "кеңири жайлаштыруу форматынын версиясы жарактуу эмес" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "Бул платформада --atime-preserve='system' опциясы иштебейт" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "--checkpoint опциясына жазылган аргумент сан эмес" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Опцияда жарабаган укук абалы берилди" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Жарабаган номер" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Маалымат көлөмү жарабайт" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Маалыматтын көлөмү %d көбөйтүндүсү болушу керек." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Элементтердин саны жарабайт" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "--to-command опциясы бир эле жолу жазылыш керек" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Тыгыздык аргументи туура эмес: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, fuzzy, c-format msgid "Unknown density: '%c'" msgstr "Түшүнүксүз тыгыздык: `%c'" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "*Бул* tar `-[0-7][lmh]' опцияларын иштетпейт" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "`%s' жанындагы санды окубатканда ката чыкты" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[ФАЙЛ]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "%s шаблону колдонулбайт" +msgid "non-option arguments in %s" +msgstr "%2$s үчүн %1$s аргументи жарабайт" + +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "`%s'ке убакыт аталган жок" -#: src/tar.c:2389 +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "Эски болгон `%c' опциясына параметр керек." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "Файл тизмеси болбосо --occurrence дегендин мааниси болбойт" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "Бир нече архив файлы болсо `-M' опциясы колдонулушу керек" -#: src/tar.c:2498 +#: src/tar.c:2412 #, fuzzy msgid "--level is meaningless without --listed-incremental" msgstr "Файл тизмеси болбосо --occurrence дегендин мааниси болбойт" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Томдун тамгасы өтө узун (эң көп %lu байт боло алат)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Көп-томдуу архивдерди текшералбай калды" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Кысыштырылган архивдерди текшералбай калды" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Көп-томдуу кысыштырылган архивдерди колдоналбай калды" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Кысыштырылган архивдер кошулалбайт" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option POSIX архивдеринде гана колдонула алат" -#: src/tar.c:2560 +#: src/tar.c:2486 #, fuzzy msgid "--acls can be used only on POSIX archives" msgstr "--pax-option POSIX архивдеринде гана колдонула алат" -#: src/tar.c:2565 +#: src/tar.c:2491 #, fuzzy msgid "--selinux can be used only on POSIX archives" msgstr "--pax-option POSIX архивдеринде гана колдонула алат" -#: src/tar.c:2570 +#: src/tar.c:2496 #, fuzzy msgid "--xattrs can be used only on POSIX archives" msgstr "--pax-option POSIX архивдеринде гана колдонула алат" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Бош архив жаратуудан уялып баш тартып жатат" -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr "`-Aru' опциялары `-f -' менен келишпейт" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "`-Acdtrux' опцияларынан бирөөнү тандап колдонуңуз" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2583,36 +2639,36 @@ msgstr "Кеңейтилген башкы-маалымат бузук: жаңы msgid "Ignoring unknown extended header keyword '%s'" msgstr "Кеңейтилген башкы-маалыматта белгисиз `%s' сөзү каралбайт" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Чыккан ачкыч-сөз/маани экилиги ото узун (ачкыч-сөз=%s, узундугу=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "%s=%s түрүндөгү кеңейтилген башкы-маалымат %s..%s диапазондун тышында" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Кеңейтилген башкы-маалымат бузук: %s=%s туура эмес" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Кеңейтилген башкы-маалымат бузук: %s=%s ашыкча көп" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Кеңейтилген башкы-маалымат бузук: туура эмес %s: күтүлбөгөн жерде бул - %c - " "бөлүүчү символ бар" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Кеңейтилген башкы-маалымат бузук: туура эмес %s: так санда маани бар" @@ -2653,7 +2709,7 @@ msgstr "Жазууну текшерүү жери: %u" msgid "Read checkpoint %u" msgstr "Окуунун текшерүү жери: %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2661,74 +2717,78 @@ msgstr "" "genfile, GNU paxutils пакетинин дата файлдарын ишке алат.\n" "ОПЦИЯЛАР мындай:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Жаңы файл ачуу опциялары:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "КӨЛӨМ" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Көсөтүлгөн КӨЛӨМдө жаңы файл ач" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Стандарт чыгарууга жазбай, АТЫ деген файлга жаз" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Файлдын аттарын ФАЙЛдан ал" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T опциясы бош/нөл (null) менен бүткөн аттарды окуйт" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "Файлды тандалган ШАБЛОН менен толтурат. ШАБЛОН 'default' же 'zeros' болот" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Кеңири жайлашкан файлдын блок көлөмү" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Файлды кеңири жайлаштыр. Кийинки команда строкаларында файлдын картасы бар." -#: tests/genfile.c:144 +#: tests/genfile.c:148 #, fuzzy msgid "OFFSET" msgstr "ОРУН" # seek the given offset - orunga jyl -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "данный(data) жазаардан мурун айтылган орунга жыл" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Файлдын статистикасынын опциялары:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Алынган ар бир файл үчүн struct stat курамын көрсөтөт. Алдынала тандалган " "ФОРМАТ мындай: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Синхрондуу иштетүүнүн опциялары:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 #, fuzzy msgid "OPTION" msgstr " [ОПЦИЯ...]" -#: tests/genfile.c:164 +#: tests/genfile.c:169 #, fuzzy msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " @@ -2737,19 +2797,19 @@ msgstr "" "Жазылган КОМАНДАны иштет. Бул --checkpoint жана --cut, --append, --touch " "бирөөсү менен колдонулганда пайдалуу" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "N текшерүү жерине жеткенде буларды (төмөндү карагыла) аткар" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Эмики --touch опциясы үчүн дата жазгыла" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Өтүлгөн текшерүү жердерди жана КОМАНДАнын бүтүрүү статусун көрсөтөт" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2757,7 +2817,7 @@ msgstr "" "Синхрондуу аткаруу иштери. Булар --checkpoint опциясы менен берилгенн " "текшерүү жерине жеткенде аткарылат." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2765,163 +2825,156 @@ msgstr "" "ФАЙЛды --length опциясы менен берилген көлөмгө кыскартат (берилбеген болсо 0 " "болот)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "ФАЙЛга КӨЛӨМ байт кошот. КӨЛӨМ --length опциясы менен берилет." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "ФАЙЛдын колдонуу жана алмашуу убакыттарын жаңылайт." -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Бул команданы иштеткиле - КОМАНДА" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Жараксыз көлөм: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Сан жарактуу маанилердин тышында: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Көлөмү терс сан: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) аткарылбай калды" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "`%s' жанындагы санды окубатканда ката чыкты" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Датанын форматы түшүнүксүз" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[АРГУМЕНТТЕР...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "`%s' ачылбай жатат" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "издөө болбой калды" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "файлдын атында бош тамга бар" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "кеңири(чоң) файлдарды стандарт чыгарууга жибералбайт, --file опциясын " "колдонуңуз" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "туура эмес маска (`%s' жанында)" # фиелд деген кандай болот? -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Белгисиз поле `%s'" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "`%s'ке убакыт аталган жок" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "`%s' ачылбай жатат" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, fuzzy, c-format msgid "command failed: %s" msgstr "%s командасы аткарылбай калды" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "`%s' ачылбай жатат" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Команда толук аткарылды\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Команда %d статусу менен аткарылбай калды\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Команда %d сигналы менен жабылды\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Команда %d сигналы менен токтотулду\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Команда core dump менен бүттү\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Команда жабылды\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat опциясы менен файл аттары жазылыш керек" -#~ msgid "sort names to extract to match archive" -#~ msgstr "чыгатурган файлдарды архивдегидей кылып сортто" - -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "Колдонулган иштетүү абалда --occurrence колдонулбайт" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "--listed-incremental менен --newer чогу колдонулбайт" +#~ msgid "same as both -p and -s" +#~ msgstr "-p жана -s менен бирдей" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: мындай опция колдонулбайт -- %c\n" @@ -2993,6 +3046,9 @@ msgstr "--stat опциясы менен файл аттары жазылыш к #~ msgid "suppress this warning." #~ msgstr "опциясы менен бул эскертүүнү көрсөтпөс кыл." +#~ msgid "sort names to extract to match archive" +#~ msgstr "чыгатурган файлдарды архивдегидей кылып сортто" + #~ msgid "filter the archive through bzip2" #~ msgstr "архивди bzip2 менен ишке ал" @@ -3006,6 +3062,12 @@ msgstr "--stat опциясы менен файл аттары жазылыш к #~ msgstr "" #~ "Эскертүү: -I опциясы иштетилбейт; балким -j же -T дегиңиз келди эле?" +#~ msgid "--occurrence cannot be used in the requested operation mode" +#~ msgstr "Колдонулган иштетүү абалда --occurrence колдонулбайт" + +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "--listed-incremental менен --newer чогу колдонулбайт" + #~ msgid "Error exit delayed from previous errors" #~ msgstr "Ката үчүн ишти бүтүрүү, мурунку каталардан улам кеч аткарылды" diff --git a/po/ms.gmo b/po/ms.gmo index 13d55969dbf10df59858872a2f82db1d90386225..ae745320c58a2d3dd34ac37e7ad54f824caf7b10 100644 GIT binary patch delta 25 hcmez6^~-C+S}`6oT?12HLo)>fODogOJH-z20RVk>2(17B delta 25 hcmez6^~-C+S}`6IT?2DnBXb2KV=Lp$JH-z20RVko2&n)7 diff --git a/po/ms.po b/po/ms.po index fae62a84..38ad34ef 100644 --- a/po/ms.po +++ b/po/ms.po @@ -2,12 +2,12 @@ # Copyright (C) 2002 Free Software Foundation, Inc. # Hasbullah Bin Pit , 2002. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: tar 1.13.25\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 2002-11-23 02:38+0800\n" "Last-Translator: Hasbullah Bin Pit \n" "Language-Team: Malay \n" @@ -16,193 +16,198 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "hujah tidak sah %s bagi %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "hujah kabur %s bagi %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Hujah sah adalah:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr "" -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 #, fuzzy msgid " [OPTION...]" msgstr "" "\n" "Pengunaan : %s [OPSYEN]...\n" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Cuba '%s --help' untuk maklumat lanjut.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, fuzzy, c-format msgid "Report bugs to %s.\n" msgstr "" "\n" "Lapor pepijat ke .\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Ralat sistem tidak diketahui" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, fuzzy, c-format msgid "%s: Too many arguments\n" msgstr "%s: opsyen `%s' memerlukan hujah\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: opsyen `%s' adalah kabur\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: opsyen `-W %s' adalah kabur\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: opsyen `--%s' tidak mengizinkan hujah\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: opsyen %c%s' tidak mengizinkan hujah\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: opsyen `%s' memerlukan hujah\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opsyen tidak dikenali `--%s'\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opsyen tidak dikenali '%c%s'\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opsyen tidak sah -- %c\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: opsyen memerlukan hujah -- %c\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: opsyen `-W %s' adalah kabur\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: opsyen `-W %s' tidak mengizinkan hujah\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opsyen `%s' memerlukan hujah\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "memori keletihan" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "Tak dapat tukar direktori kerja" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, fuzzy, c-format msgid "failed to return to initial working directory" msgstr "Tak dapat simpan direktori kerja" @@ -228,12 +233,12 @@ msgstr "Tak dapat simpan direktori kerja" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "`" # ui/galeon.glade.h:3 -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "'" @@ -243,7 +248,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "" @@ -253,16 +258,16 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -270,11 +275,11 @@ msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" @@ -388,22 +393,22 @@ msgstr "" "\n" "Lapor pepijat ke .\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "Menukarnama %s kembali ke %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" @@ -582,8 +587,8 @@ msgstr "" " --version Output maklumat versi.\n" " --help Output bantuan ini.\n" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "" @@ -591,10 +596,11 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "" @@ -607,7 +613,7 @@ msgstr "" msgid "cannot open %s" msgstr "Tak dapat tutup" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "" @@ -616,114 +622,113 @@ msgstr "" msgid "Garbage command" msgstr "Arahan sampah" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Ia nampaknya bukan seperti arkib tar" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "" -#: src/buffer.c:576 +#: src/buffer.c:579 #, fuzzy msgid "Total bytes written" msgstr "Jumlah byte ditulis: %s (%sB, %sB/s)\n" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Jumlah byte ditulis: %s (%sB, %sB/s)\n" +msgstr "" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(paip)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Nilai tidak sah bagi record_size" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Tiada nama arkib diberi" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Tak dapat menentusahkan arkib stdin/stdout" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Tak dapat mengemaskini arkib termampat" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Pada permulaan pita, keluar sekarang" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Terlalu banyak ralat, keluar" -#: src/buffer.c:944 +#: src/buffer.c:947 #, fuzzy, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Saiz rekod = %lu blok" msgstr[1] "Saiz rekod = %lu blok" -#: src/buffer.c:965 +#: src/buffer.c:968 #, fuzzy, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Blok tidak dijajar (%lu byte) pada arkib" msgstr[1] "Blok tidak dijajar (%lu byte) pada arkib" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "tak dapat backspace fail arkib; ia mungkin tak boleh dibaca tanpa -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: mengandungi nombor volum yg tidak sah" -#: src/buffer.c:1160 +#: src/buffer.c:1183 #, fuzzy msgid "Volume number overflow" msgstr "Nombor volum melimpah" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Menyedia volum #%d bagi %s dan tekan return: " # libgnomeui/gnome-app-helper.c:127 -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "EOF dimana maklumbalas pengguna dijangka" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "AMARAN: Arkib tidak lengkap" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -735,71 +740,71 @@ msgstr "" " ! Spawn subshell\n" " ? Cetak senarai ini\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Tiada volum baru; keluar.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, fuzzy, c-format msgid "%s command failed" msgstr "Arahan '%s' gagal" -#: src/buffer.c:1491 -#, fuzzy, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s tidak bersambung pada volum ini" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s tidak bersambung pada volum ini" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, fuzzy, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s tidak bersambung pada volum ini" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s adalah salah saiz (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Volum ini tidak dalam turutan" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Arkib tidak dilabelkan supaya memadan %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Volum %s tidak sepadan %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "" @@ -810,20 +815,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Hanya boleh membaca %lu drpd %lu byte" msgstr[1] "Hanya boleh membaca %lu drpd %lu byte" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Kandungan berlainan" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "EOF tanpa diduga pada arkib" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Jenis fail berbeza" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Mod berbeza" @@ -839,7 +844,7 @@ msgstr "Gid berbeza" msgid "Mod time differs" msgstr "Masa mod berbeza" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Saiz berbeza" @@ -848,138 +853,138 @@ msgstr "Saiz berbeza" msgid "Not linked to %s" msgstr "Tidak dipautkan ke %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Symlink berbeza" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Nombor beranti berbeza" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Tentusah" -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Jenis fail tak dikenali '%c', berlainan dengan fail normal" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "" -#: src/compare.c:614 +#: src/compare.c:618 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "GAGAL TENTUSAH: %d pengepala tak sah dikesan" msgstr[1] "GAGAL TENTUSAH: %d pengepala tak sah dikesan" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "nilai %s diluar julat %s %s..%s; menggantikan %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "nilai %s diluar julat %s %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Menjana pengepala oktal negatif" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, fuzzy, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: fail tidak berubah; tidak dilonggokkan" -#: src/create.c:611 +#: src/create.c:612 #, fuzzy, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: fail tidak berubah; tidak dilonggokkan" -#: src/create.c:638 +#: src/create.c:639 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: fail tidak berubah; tidak dilonggokkan" -#: src/create.c:1084 +#: src/create.c:1102 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Fail mengucup sebanyak %s byte; pad dengan sifar" msgstr[1] "%s: Fail mengucup sebanyak %s byte; pad dengan sifar" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: fail adalah pada sistemfail lain; tidak dilonggokkan" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Jenis fail tak dikenali; fail diabaikan" -#: src/create.c:1551 +#: src/create.c:1569 #, fuzzy, c-format msgid "Missing links to %s." msgstr "Pautan ke %s\n" -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: fail tidak berubah; tidak dilonggokkan" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: fail adalah arkib; tidak dilonggokkan" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: fail berubah bila kami membacanya" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: soket diabaikan" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: pintu diabaikan" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Melangkah ke pengepala berikut" @@ -997,55 +1002,55 @@ msgstr "" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: setem masa %s adalah %lu pada masa akan datang" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Ketidakkonsistenan luar dugaan bila membuat direktori" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Direktori ditukarnama sebelum statusnya boleh diekstrak" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Mengekstrak fail bersambung sebagai fail biasa" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Cuba mengekstrak pautan simbolik sebagai pautan keras" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Tak dapat ekstrak -- fail bersambung dari volum lain" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 #, fuzzy msgid "Unexpected long name header" msgstr "Penghujungan tanpa diduga data imej PNM" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Jenis fail tak dikenali '%c', diekstrak sebagai fail biasa" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Tak dapat backup fail ini" -#: src/extract.c:1767 +#: src/extract.c:1814 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: Tak dapat menukarnama ke %s" @@ -1096,216 +1101,216 @@ msgstr "Nombot inod tidak sah" msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "EOF tanpa diduga pada arkib" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "Tak dapat memperuntukkan memori bagi faktor pemblokan %d" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, fuzzy, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: fail adalah pada sistemfail lain; tidak dilonggokkan" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Memadam %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: tak dapat buang" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok TIADA **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Akhir Fail **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Pengepala kosong dimana nilai %s numerik dijangka" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "Nilai oktal arkib %.*s diluar julat %s; anggap kedua-dua pelengkap" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Nilai oktal arkib %.*s diluar julat %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Rentetan %s base-64 ditandatangani arkibadalah diluar julat %s " -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Nilai base-256 arkub adalah diluar julat %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arkib mengandungi %.*s dimana nilai %s numerik dijangka" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Nilai %s arkib adalah dijuar julat %s %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr "Pautan ke %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr "jenis fail tak diketahui %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Pengepala Volum--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Bersambung pada byte %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Mencipta direktori:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Menukarnama %s ke %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Tak dapat menukarnama ke %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Menukarnama %s kembali ke %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Fail dibuang sebelum kami membacanya" @@ -1318,81 +1323,232 @@ msgstr "proses anak" msgid "interprocess channel" msgstr "saluran antaraproses" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "opsyen format arkib konflik" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "" + +#: src/names.c:73 +#, fuzzy +msgid "change to directory DIR" +msgstr "Tak dapat tukar direktori kerja" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" + +#: src/names.c:136 +msgid "ignore case" +msgstr "" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "" + +#: src/names.c:146 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "Volum %s tidak sepadan %s" + +#: src/names.c:768 #, fuzzy msgid "command line" msgstr "Arahan '%s' gagal" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Tak dijumpai pada arkib" -#: src/names.c:845 +#: src/names.c:1263 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Tak dijumpai pada arkib" -#: src/names.c:879 +#: src/names.c:1297 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Arkib tidak dilabelkan supaya memadan %s" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "Opsyen `-%s' dan `-%s' kedua-duanya memerlukan input piawai" -#: src/tar.c:164 +#: src/tar.c:165 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "%s: Kumpulan tidak sah" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:378 +#: src/tar.c:354 #, fuzzy msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " @@ -1412,7 +1568,7 @@ msgstr "" "verbose.\n" " %s -xf arkib.tar # Ekstrak semua fail drpd arkib.tar.\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1424,80 +1580,88 @@ msgid "" " never, simple always make simple backups\n" msgstr "" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "" -#: src/tar.c:425 +#: src/tar.c:401 #, fuzzy msgid "create a new archive" msgstr "EOF tanpa diduga pada arkib" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1505,640 +1669,511 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "" -#: src/tar.c:516 +#: src/tar.c:494 #, fuzzy msgid "extract files to standard output" msgstr "Ralat ketika menulis ke output piawai" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "" -#: src/tar.c:627 +#: src/tar.c:609 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "Tak dapat menentusah arkib multi-volume" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:653 +#: src/tar.c:635 #, fuzzy msgid "Archive format selection:" msgstr "opsyen format arkib konflik" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:684 +#: src/tar.c:666 #, fuzzy msgid "Compression options:" msgstr "Opsyen mampatan konflik" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" - -#: src/tar.c:712 -#, fuzzy -msgid "change to directory DIR" -msgstr "Tak dapat tukar direktori kerja" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -msgid "unquote input file or member names (default)" -msgstr "" - -#: src/tar.c:722 -msgid "do not unquote input file or member names" -msgstr "" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "" - -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "Membuang awalan `%.*s' drpd nama ahli" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "Volum %s tidak sepadan %s" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2146,306 +2181,324 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, fuzzy, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s: Tak dapat rayau ke %s" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "Anda tak boleh nyatakan lebih drpd satu opsyen `-Acdtrux'" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Opsyen mampatan konflik" -#: src/tar.c:1079 +#: src/tar.c:1005 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr "jenis fail tak diketahui %s\n" -#: src/tar.c:1103 +#: src/tar.c:1029 #, fuzzy msgid "Date sample file not found" msgstr "Fail tarikh tidak dijumpai" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Mengganti %s bagi format tarikh tak diketahui %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1330 +#: src/tar.c:1253 #, fuzzy msgid "Invalid owner or group ID" msgstr "Pemilik tidak sah" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Faktor pemblokan tidak sah" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "panjang pita tidak sah" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Mod tidak sah diberi pada opsyen" -#: src/tar.c:1925 +#: src/tar.c:1800 #, fuzzy msgid "Invalid number" msgstr "Nombot inod tidak sah" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Saiz rekod tidak sah" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Saiz rekod mesti dalam gandaan %d." -#: src/tar.c:2042 +#: src/tar.c:1913 #, fuzzy msgid "Invalid number of elements" msgstr "panjang pita tidak sah" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Opsyen `-[0-7][lmh]' tak disokong oleh tar *ini*" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "" -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "%s: Tak dapat rayau ke %s" +msgid "non-option arguments in %s" +msgstr "hujah tidak sah %s bagi %s" + +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "" -#: src/tar.c:2389 +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "OPsyen lama `%c' memerlukan hujah." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "Fail akrib beraneka memerlukan opsyen `-M'" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2515 +#: src/tar.c:2429 #, fuzzy, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Label volum adalah terlalu panjang (had adalah %lu byte)" msgstr[1] "%s: Label volum adalah terlalu panjang (had adalah %lu byte)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Tak dapat menentusah arkib multi-volume" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Tak dapat menentusahkan arkib termampat" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Tak dapat menggunakan arkib multi-volume termampat" -#: src/tar.c:2543 +#: src/tar.c:2462 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Tak dapat mengemaskini arkib termampat" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Secara dayus enggan mencipta arkib kosong" -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Opsyen `-Aru' tak serasi dengan `-f -'" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Anda mesti nyatakan satu drpd opsyen `-Acdtrux'" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2502,34 +2555,34 @@ msgstr "" msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, fuzzy, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Nilai %s arkib adalah dijuar julat %s %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" @@ -2570,254 +2623,255 @@ msgstr "Menulis titiksemak %d" msgid "Read checkpoint %u" msgstr "Membaca titiksemak %d" -#: tests/genfile.c:111 +#: tests/genfile.c:115 #, fuzzy msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" msgstr "Menjana fail data untuk suit ujian GNU tar.\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 #, fuzzy msgid "File creation options:" msgstr "Opsyen mampatan konflik" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "" -#: tests/genfile.c:131 +#: tests/genfile.c:135 #, fuzzy msgid "Write to file NAME, instead of standard output" msgstr "Ralat ketika menulis ke output piawai" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, fuzzy, c-format msgid "Invalid size: %s" msgstr "Setem masa tidak sah" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, fuzzy, c-format msgid "Number out of allowed range: %s" msgstr "Nombor inod diluar julat" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, fuzzy, c-format msgid "Unknown date format" msgstr "Ralat sistem tidak diketahui" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "" -#: tests/genfile.c:434 +#: tests/genfile.c:443 #, fuzzy msgid "cannot seek" msgstr "Tak dapat tutup" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr "jenis fail tak diketahui %s\n" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "%s: Tak dapat rayau ke %s" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "%s: Tak dapat menukarnama ke %s" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, fuzzy, c-format msgid "command failed: %s" msgstr "Arahan '%s' gagal" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "%s: Tak dapat symlink ke %s" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, fuzzy, c-format msgid "Command failed with status %d\n" msgstr "Anak mati dengan isyarat %d" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, fuzzy, c-format msgid "--stat requires file names" msgstr "Nama fail modul" -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Tak boleh gabung --listed-incremental dengan --newer" - #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opsyen salah -- %c\n" @@ -3012,6 +3066,9 @@ msgstr "Nama fail modul" #~ msgid "Written by John Gilmore and Jay Fenlason." #~ msgstr "Ditulis oleh John Gilmore dan Jay Fenlason." +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "Tak boleh gabung --listed-incremental dengan --newer" + #~ msgid "Error exit delayed from previous errors" #~ msgstr "Ralat keluar dilewatkan drpd ralat terdahulu" diff --git a/po/nb.gmo b/po/nb.gmo index 2cacef0ec548d018e04670e1af49586b94e3b61a..9a122a114ba6a38ad314ef6c8743cac1f14d9ada 100644 GIT binary patch literal 60767 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

*j6s9 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

C<~>=4eP7%8_h8<)YcRkZNJ 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 Nh+VSj+Z*mB{~w&|oaz7o literal 4092 zcmb7`O^h5z6~`+OKC+Mi4j%~wQWzUz>|XEsd&dFo+PiiZf3hErkU*$sx~8W+JykVE=c6W4RJt0;t&owz-@yN2M7q13lhIq-LtzP2tjLm|5IJB zU%ik2d#`_g=)rF*t_AKVxLF?fm0<>OrO63myXxgXh5agI@w41Mh;L0`Ir` zKLQW2{#CpF9e9?tdWTXU1I~dT1~f-6;S;6Iw<}<-|l}G{1EG(f#ToG zpvdilN5Ox9BLBp@mHG&H43u+LK-vEy_&B%&%DLZa*WU*}$oeG^73yX16W}YL`1dyu zSJk5rDTV3kad1d3H25&<=jWPud=HfKeh$hxzXm@I{sCMBAK}nPz-3UL-vZBr6Hwyx z6HtS{Y4=|TmsmfBQ=b7hK#AXTpuGQMQ1bQ)DDVFT`~Y|eqa;5^K=J!3DDREHGvJG$ z#O=2rN2u4pkAi;%CH@a%q{R0)$Ro81MqYs8R{=`C?t{Xo7eP7ar=XnwDkysX1WLXh zA}C_dlc2nR36yic49d9!Q1sjf<-G5J;?EDkr@&u=68}Gg692!04}g*@(IYvM=W=Q8 zw{c7UgsY-wfm<%IMfA%h_K1y?fI7l0m-rx;_$rrh`9%Ds)X5e}Wwb?>k`u8HbE5r{ z3yBM~P*5gb3I8RQavkSB#w}cvOE@b2%k|j?_WqN~cuA>C%x0J5O>!@Bp64dSI9(QY zs4J(BhBmYF^H$88}$<%6z?Q~z6JQta)@TONeKkcYJj#y`tK}?qt;P*-nm>po`Ggda5) z1w!4zig#Ei^lAeHRsATf)Ya5?(>x|^l-f*PEiydl_l*x~-A>Yy^~hyL=g=AQ@E4=A zw~0t?L>t!koX@@*isy{F;WAwnaAc;72L~5;Tn&h!v+@IT2d?B`BCBq?JsTs-;=%IN znw_=)FA|?Zf;~USMiq&RtFeI9Ml?f<8E`E~ndr1(-5CF&|Iut-ZOZn{xXocP9=G|m zl!|V0r8cLd*coPWThaqEM{uP=O6P_gJrwm7IhfV_mUEg|PPOsg`LJJhZE zu@)8_=ozzq5vGCqZM3L6O*N=zS2k|0-@MwUh zOVdeOl+s*OtONN^9jM#h-GybzdX}I*!1<0A3W+m|^NXkEHq6-hD!CEzB1-0fRi$>qp?SiVXMJNneZ;+bUOd~)i%K6Sct`t0$A(+dj-CL3l_ z$U&{#;?mOjWZ_)0a8@rabxtqo8*5v7b#rU(dK#)^%cnM!DYewmYheuiHivgjX^Hm&J0h^VWTy7j0fc=w!>JBWcQhhc21gr0a&G-BLeo-Evuo-TSf~J$GaM z#@c=m7Uvh{XbzRJ7(v7C=n7Vx9G7WfFX|r6GMMUf>zlWd3m48VC5!vQVllOotWk1w zoV=qiB;BH#n~j*FZ0ChkOof(;vM+{ksL+|LT839~Dr}Nd5opFzM_-}c<9sWh`XM#h zNNy7t%ls+I{Q+aO)O#~!d?R+PMnUs_DODdtl^>WY4BfcU=>#K0LWYi=O`QRyD--AT zu1uUM`=x{);qI=*=o9=5WgRWGyXp#@e*>+0SDRsA?8N@ojGTa@Qc>&%+MrCG*#mWr zb`U+|Einp$sD$k(Ztw1LpU|y1vGs zw}?dB@?EbTR_J~yro?%*|0Wwnzo2LThu6)46AsA5)Biu!2d7pN-&fb-%oCGCli4jm>kXxNBh^Exh_XDn2(aBVNwNT#Eau>)gs13@C2nuJeMTNdz6_~m6> zCH>kC#RV}d5~q@sLXmc2nXCvv9yavZIQ+895By5-AwI?t$>=_Q^ zw`ie5!1X|froY74${gc+FUYjwJ9qZZYV0@i-4RXZ!$@jU2$TAjZNey`EEzLJd7#ka zD4QwTZYUsGjeUTaN4miZW?5`Z%`6io%_Ni3k%6mLR`0BAY_46Gffn0YG_PNmC0, 1996. +# Norwegian (BokmÃ¥l) translation of GNU tar. +# Copyright (C) 2016 Free Software Foundation, Inc. +# This file is distributed under the same license as the tar package. +# Karl Anders Øygard , 1996. +# Espen Skjelnes Johnsen , 1997. +# Johnny A. Solbu , 2016. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: GNU tar 1.12\n" +"Project-Id-Version: tar 1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 1997-06-05 19:39 MET DST\n" -"Last-Translator: Espen Skjelnes Johnsen \n" -"Language-Team: Norwegian-bokmål \n" -"Language: \n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-03-29 07:42+0100\n" +"Last-Translator: Åka Sikrom \n" +"Language-Team: Norwegian Bokmaal \n" +"Language: nb\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8-bit\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.5.4\n" -#: gnu/argmatch.c:135 -#, fuzzy, c-format +#: gnu/argmatch.c:133 +#, c-format msgid "invalid argument %s for %s" -msgstr "Ugyldig datoformat «%s»" +msgstr "%s er et ugyldig argument for %s" -#: gnu/argmatch.c:136 -#, fuzzy, c-format +#: gnu/argmatch.c:134 +#, c-format msgid "ambiguous argument %s for %s" -msgstr "Tvetydig mønster «%s»" +msgstr "%s er et flertydig argument for %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" -msgstr "" +msgstr "Følgende argumenter er gyldige:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" -msgstr "" +msgstr "ARGP_HELP_FMT: verdien av %s er lik eller lavere enn %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" -msgstr "" +msgstr "%.*s: parameteret ARGP_HELP_FMT mÃ¥ ha en verdi" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" -msgstr "" +msgstr "%.*s: parameteret ARGP_HELP_FMT mÃ¥ være positivt" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" -msgstr "" +msgstr "%.*s: Ukjent «ARGP_HELP_FMT»-parameter" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" -msgstr "" +msgstr "Søppel i ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" +"Argumenter som er obligatoriske eller valgfrie for lange valg er ogsÃ¥ " +"henholdsvis obligatoriske eller valgfrie for tilsvarende korte valgnavn." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" -msgstr "" +msgstr "Bruk:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " -msgstr "" +msgstr " eller: " -#: gnu/argp-help.c:1659 -#, fuzzy +#: gnu/argp-help.c:1661 msgid " [OPTION...]" -msgstr "" -"\n" -"Bruk: %s [FLAGG]...\n" +msgstr " [VALG …]" -#: gnu/argp-help.c:1686 -#, fuzzy, c-format +#: gnu/argp-help.c:1688 +#, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" -msgstr "Tast «%s --help» for mer informasjon.\n" +msgstr "Prøv «%s --help» eller «%s --usage» for mer informasjon.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" -msgstr "" +msgstr "Rapporter programfeil til %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" -msgstr "Unkjent systemfeil" +msgstr "Ukjent systemfeil" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" -msgstr "" +msgstr "vis denne hjelpeteksten" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" -msgstr "" +msgstr "vis en kort bruksanvisning" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" -msgstr "" +msgstr "NAVN" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" -msgstr "" +msgstr "endre programnavn" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" -msgstr "" +msgstr "SEK" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" -msgstr "" +msgstr "heng i valgt antall SEKunder (standard: 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" -msgstr "" +msgstr "skriv ut programversjon" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" -msgstr "" +msgstr "(PROGRAMFEIL) Ingen versjon er kjent." -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" -msgstr "" +msgstr "%s: For mange argumenter\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" -msgstr "" +msgstr "(PROGRAMFEIL) Valget burde blitt gjenkjent." -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" -msgstr "" +msgstr "skrivefeil" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" -msgstr "" +msgstr "%s: valget «%s» er flertydig, og kan bety følgende:" -#: gnu/getopt.c:626 gnu/getopt.c:630 -#, fuzzy, c-format +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: valget «%s» er flertydig\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 +#, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "Gammelt flagg «%c» behøver et argument." +msgstr "%s: valget «--%s» tillater ikke argumenter\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 -#, fuzzy, c-format +#: gnu/getopt.c:667 gnu/getopt.c:672 +#, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "Gammelt flagg «%c» behøver et argument." +msgstr "%s: valget «%c%s» tillater ikke argumenter\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 -#, fuzzy, c-format +#: gnu/getopt.c:715 gnu/getopt.c:734 +#, c-format msgid "%s: option '--%s' requires an argument\n" -msgstr "Gammelt flagg «%c» behøver et argument." +msgstr "%s: valget «--%s» krever et argument\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "" +msgstr "%s: «--%s» er et ukjent valg\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "" +msgstr "%s: «%c%s» er et ukjent valg\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "" +msgstr "%s: -- «%c» er et ukjent valg\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 -#, fuzzy, c-format +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 +#, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "Gammelt flagg «%c» behøver et argument." +msgstr "%s: valget -- «%c» krever et argument\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "" +msgstr "%s: valget «-W %s» er flertydig\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 -#, fuzzy, c-format +#: gnu/getopt.c:1004 gnu/getopt.c:1022 +#, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "Gammelt flagg «%c» behøver et argument." +msgstr "%s: valget «-W %s» tillater ikke argumenter\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 -#, fuzzy, c-format +#: gnu/getopt.c:1043 gnu/getopt.c:1061 +#, c-format msgid "%s: option '-W %s' requires an argument\n" -msgstr "Gammelt flagg «%c» behøver et argument." +msgstr "%s: valget «-W %s» krever et argument\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 -#, fuzzy +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" -msgstr "Minne oppbrukt" +msgstr "minnet er fullt" -#: gnu/openat-die.c:40 -#, fuzzy, c-format +#: gnu/openat-die.c:38 +#, c-format msgid "unable to record current working directory" -msgstr "Kunne ikke finne navnet på aktiv filkatalog" +msgstr "klarte ikke Ã¥ huske gjeldende arbeidsmappe" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" -msgstr "" +msgstr "klarte ikke Ã¥ gÃ¥ tilbake til opprinnelig arbeidsmappe" #. TRANSLATORS: #. Get translations for open and closing quotation marks. @@ -227,13 +236,13 @@ msgstr "" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" -msgstr "" +msgstr "«" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" -msgstr "" +msgstr "»" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. @@ -241,9 +250,9 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" -msgstr "" +msgstr "^[jJ]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. @@ -251,28 +260,28 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" -msgstr "" +msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" -msgstr "" +msgstr "Pakket av %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" -msgstr "" +msgstr "Pakket av %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" -msgstr "" +msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" +"Dette er fri programvare. Du stÃ¥r fritt til Ã¥ endre og dele den videre.\n" +"Det stilles INGEN GARANTI, i den grad dette tillates innenfor gjeldende " +"lovverk.\n" +"\n" #. TRANSLATORS: %s denotes an author name. -#: gnu/version-etc.c:104 +#: gnu/version-etc.c:102 #, c-format msgid "Written by %s.\n" -msgstr "" +msgstr "Skrevet av %s.\n" #. TRANSLATORS: Each %s denotes an author name. -#: gnu/version-etc.c:108 +#: gnu/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" -msgstr "" +msgstr "Skrevet av %s og %s.\n" #. TRANSLATORS: Each %s denotes an author name. -#: gnu/version-etc.c:112 +#: gnu/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" -msgstr "" +msgstr "Skrevet av %s, %s og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:119 +#: gnu/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" +"Skrevet av %s, %s, %s\n" +"og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:126 +#: gnu/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Skrevet av %s, %s, %s,\n" +"%s and %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:133 +#: gnu/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" +"Skrevet av %s, %s, %s,\n" +"%s, %s og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:141 +#: gnu/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" +"Skrevet av %s, %s, %s,\n" +"%s, %s, %s og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:149 +#: gnu/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" +"Skrevet av %s, %s, %s,\n" +"%s, %s, %s, %s\n" +"og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:158 +#: gnu/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Skrevet av %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:169 +#: gnu/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" +"Skrevet av %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, %s og andre.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" +"\n" +"Rapporter programfeil til: %s\n" +"Rapporter oversettelsesfeil til \n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" -msgstr "" +msgstr "Rapporter programfeil i %s til: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" -msgstr "" +msgstr "Nettside for %s: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" -msgstr "" +msgstr "Nettside for %s: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" +"Generell hjelp til bruk av GNU-programvare: \n" #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. #. Directly translating this to another language will not work, first because #. %s itself is not translated. #. Translate it as `%s: Function %s failed'. #: lib/paxerror.c:60 lib/paxerror.c:73 -#, fuzzy, c-format +#, c-format msgid "%s: Cannot %s" -msgstr "Kan ikke utføre «stat» på filen %s" +msgstr "%s: Klarte ikke Ã¥ utføre %s" #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. #. Directly translating this to another language will not work, first because @@ -419,408 +456,398 @@ msgstr "Kan ikke utf #: lib/paxerror.c:86 #, c-format msgid "%s: Warning: Cannot %s" -msgstr "" +msgstr "%s: Advarsel: klarte ikke Ã¥ utføre %s" #: lib/paxerror.c:95 -#, fuzzy, c-format +#, c-format msgid "%s: Cannot change mode to %s" -msgstr "%s: Kan ikke endre modus til %0.4o" +msgstr "%s: Klarte ikke Ã¥ endre modus til %s" #: lib/paxerror.c:103 -#, fuzzy, c-format +#, c-format msgid "%s: Cannot change ownership to uid %lu, gid %lu" -msgstr "%s: Kan ikke endre eier til uid %d, gid %d" +msgstr "%s: Klarte ikke Ã¥ endre eierskap til uid %lu, gid %lu" #: lib/paxerror.c:129 -#, fuzzy, c-format +#, c-format msgid "%s: Cannot hard link to %s" -msgstr "Kan ikke lese link %s" +msgstr "%s: Klarte ikke Ã¥ lage hard lenke til %s" #: lib/paxerror.c:181 lib/paxerror.c:213 -#, fuzzy, c-format +#, c-format msgid "%s: Read error at byte %s, while reading %lu byte" msgid_plural "%s: Read error at byte %s, while reading %lu bytes" -msgstr[0] "Lesefeil ved byte %ld under lesing av %d bytes i fil %s" -msgstr[1] "Lesefeil ved byte %ld under lesing av %d bytes i fil %s" +msgstr[0] "%s: Lesefeil ved byte %s under lesing av %lu byte" +msgstr[1] "%s: Lesefeil ved byte %s under lesing av %lu byte" #: lib/paxerror.c:194 -#, fuzzy, c-format +#, c-format msgid "%s: Warning: Read error at byte %s, while reading %lu byte" msgid_plural "%s: Warning: Read error at byte %s, while reading %lu bytes" -msgstr[0] "Lesefeil ved byte %ld under lesing av %d bytes i fil %s" -msgstr[1] "Lesefeil ved byte %ld under lesing av %d bytes i fil %s" +msgstr[0] "%s: Advarsel: lesefeil ved byte %s under lesing av %lu byte" +msgstr[1] "%s: Advarsel: lesefeil ved byte %s under lesing av %lu byte" #: lib/paxerror.c:261 -#, fuzzy, c-format +#, c-format msgid "%s: Cannot seek to %s" -msgstr "Kan ikke skrive til %s" +msgstr "%s: Klarte ikke Ã¥ søke til %s" #: lib/paxerror.c:277 #, c-format msgid "%s: Warning: Cannot seek to %s" -msgstr "" +msgstr "%s: Advarsel: klarte ikke Ã¥ søke til %s" #: lib/paxerror.c:286 -#, fuzzy, c-format +#, c-format msgid "%s: Cannot create symlink to %s" -msgstr "%s: Kunne ikke lage symbolisk link til «%s»" +msgstr "%s: Klarte ikke Ã¥ lage symbolisk lenke til %s" #: lib/paxerror.c:351 -#, fuzzy, c-format +#, c-format msgid "%s: Wrote only %lu of %lu byte" msgid_plural "%s: Wrote only %lu of %lu bytes" -msgstr[0] "%s: Kunne bare skrive %d av %d bytes'" -msgstr[1] "%s: Kunne bare skrive %d av %d bytes'" +msgstr[0] "%s: Skrev bare %lu av %lu byte" +msgstr[1] "%s: Skrev bare %lu av %lu byte" # #: lib/paxnames.c:140 -#, fuzzy, c-format +#, c-format msgid "Removing leading `%s' from member names" -msgstr "Tar bort ledende «/» fra absolutte linker" +msgstr "Fjerner ledende «%s» fra medlemsnavn" # #: lib/paxnames.c:141 -#, fuzzy, c-format +#, c-format msgid "Removing leading `%s' from hard link targets" -msgstr "Tar bort ledende «/» fra absolutte linker" +msgstr "Fjerner ledende «%s» fra hardlenke-mÃ¥l" #: lib/paxnames.c:154 msgid "Substituting `.' for empty member name" -msgstr "" +msgstr "Erstatter tomt medlemsnavn med «.»" #: lib/paxnames.c:155 msgid "Substituting `.' for empty hard link target" -msgstr "" +msgstr "Erstatter tomt hardlenke-mÃ¥l med «.»" #: lib/rtapelib.c:299 #, c-format msgid "exec/tcp: Service not available" -msgstr "exec/tcp: Tjenesten er ikke tilgjengelig" +msgstr "exec/tcp: tjenesten er ikke tilgjengelig" #: lib/rtapelib.c:303 #, c-format msgid "stdin" -msgstr "stdin" +msgstr "standard innkanal" #: lib/rtapelib.c:306 #, c-format msgid "stdout" -msgstr "stdout" +msgstr "standard utkanal" #: lib/rtapelib.c:429 #, c-format msgid "Cannot connect to %s: resolve failed" -msgstr "" +msgstr "Klarte ikke Ã¥ koble til %s. Navnoppslag mislyktes" #: lib/rtapelib.c:502 -#, fuzzy, c-format +#, c-format msgid "Cannot redirect files for remote shell" -msgstr "Kan ikke eksekvere \"remote shell\"" +msgstr "Klarte ikke Ã¥ videresende filer til eksternt skall" #: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" -msgstr "Kan ikke eksekvere \"remote shell\"" +msgstr "Klarte ikke Ã¥ kjøre eksternt skall" #: rmt/rmt.c:432 msgid "Seek direction out of range" -msgstr "" +msgstr "Søkeretning er utenfor tillatt rekkevidde" #: rmt/rmt.c:438 -#, fuzzy msgid "Invalid seek direction" -msgstr "Ugyldig modus gitt i flagg" +msgstr "Ugyldig søkeretning" #: rmt/rmt.c:446 msgid "Invalid seek offset" -msgstr "" +msgstr "Ugyldig søkeforskyvning" #: rmt/rmt.c:452 msgid "Seek offset out of range" -msgstr "" +msgstr "Søkeforskyvning er utenfor tillatt rekkevidde" #: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608 -#, fuzzy msgid "Invalid byte count" -msgstr "Ugyldig datoformat «%s»" +msgstr "Ugyldig antall byte" #: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625 msgid "Byte count out of range" -msgstr "" +msgstr "Opptelling av byte er utenfor tillatt rekkevidde" #: rmt/rmt.c:558 -#, fuzzy msgid "Premature eof" -msgstr "rmtd: For tidlig filslutt\n" +msgstr "For tidlig slutt pÃ¥ fil" #: rmt/rmt.c:601 -#, fuzzy msgid "Invalid operation code" -msgstr "Ugyldig eier gitt i flagg" +msgstr "Ugyldig handlingskode" #: rmt/rmt.c:636 rmt/rmt.c:680 msgid "Operation not supported" -msgstr "" +msgstr "Handlinga støttes ikke" #: rmt/rmt.c:664 -#, fuzzy msgid "Unexpected arguments" -msgstr "Uventet filslutt i ødelagte navn" +msgstr "Uventede argumenter" #: rmt/rmt.c:689 msgid "Manipulate a tape drive, accepting commands from a remote process" -msgstr "" +msgstr "Styr en bÃ¥ndstasjon, og godta kommandoer fra eksterne prosesser" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" -msgstr "" +msgstr "NUMMER" #: rmt/rmt.c:697 msgid "set debug level" -msgstr "" +msgstr "endre feilsøkningsnivÃ¥" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" -msgstr "" +msgstr "FIL" #: rmt/rmt.c:699 msgid "set debug output file name" -msgstr "" +msgstr "endre navn pÃ¥ feilsøkingsfil" #: rmt/rmt.c:715 rmt/rmt.c:783 -#, fuzzy, c-format +#, c-format msgid "cannot open %s" -msgstr "Kan ikke åpne %s" +msgstr "klarte ikke Ã¥ Ã¥pne %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" -msgstr "" +msgstr "for mange argumenter" #: rmt/rmt.c:822 msgid "Garbage command" msgstr "Ugyldig kommando" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Dette ser ikke ut som et tar-arkiv" # -#: src/buffer.c:574 -#, fuzzy +#: src/buffer.c:577 msgid "Total bytes read" -msgstr "Totalt antall bytes skrevet: " +msgstr "Antall leste byte" # -#: src/buffer.c:576 -#, fuzzy +#: src/buffer.c:579 msgid "Total bytes written" -msgstr "Totalt antall bytes skrevet: " +msgstr "Antall skrevne byte" # -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Totalt antall bytes skrevet: " +msgstr "Antall slettede byte" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" -msgstr "" +msgstr "(datarør)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "Nekter Ã¥ lese arkivinnhold fra terminal (glemte du «-f»?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "Nekter Ã¥ sende arkivinnhold til terminal (glemte du «-f»?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" -msgstr "Ugyldig verdi for record_size" +msgstr "Ugyldig verdi for «record_size»" # -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" -msgstr "Arkivnavn er ikke oppgitt" +msgstr "Arkivnavn mangler" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" -msgstr "Kan ikke verifisere stdin/stdout-arkiv" +msgstr "Klarte ikke Ã¥ kontrollere stdin-/stdout-arkiv" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" -msgstr "" +msgstr "Arkivet er komprimert. Bruk valget %s" # -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" -msgstr "Kan ikke oppdatere komprimerte arkiver" +msgstr "Komprimerte arkiver kan ikke oppdateres" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" -msgstr "På begynnelsen av båndet, avslutter nå" +msgstr "NÃ¥dde begynnelsen av bÃ¥ndet. Avslutter nÃ¥" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" -msgstr "For mange feil, avslutter" +msgstr "Det har oppstÃ¥tt for mange feil. Avslutter" -#: src/buffer.c:944 -#, fuzzy, c-format +#: src/buffer.c:947 +#, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" -msgstr[0] "Blokkstørrelse = %d enheter" -msgstr[1] "Blokkstørrelse = %d enheter" +msgstr[0] "Registerstørrelse = %lu blokk" +msgstr[1] "Registerstørrelse = %lu blokker" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Ujustert blokk (%lu byte) i arkivet" +msgstr[1] "Ujustert blokk (%lu byte) i arkivet" -#: src/buffer.c:1042 -#, fuzzy +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" -msgstr "Kunne ikke gå tilbake i arkivfilen. Den kan være uleselig uten -i" +msgstr "Klarte ikke Ã¥ gÃ¥ tilbake i arkivfila. Den kan være uleselig uten «-i»" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" -msgstr "" +msgstr "rmtlseek stoppet ikke pÃ¥ en registergrense" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" -msgstr "" +msgstr "%s: inneholder ugyldig volumnummer" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" -msgstr "" +msgstr "Alle mulige volumnumre er oppbrukt" -#: src/buffer.c:1175 -#, fuzzy, c-format +#: src/buffer.c:1198 +#, c-format msgid "Prepare volume #%d for %s and hit return: " -msgstr "\aGjør klar volum nummer %d for %s og trykk return: " +msgstr "Klargjør volum #%d for %s og trykk Enter: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" -msgstr "EOF der svar fra bruker var forventet" +msgstr "EOF der svar fra bruker skulle vært" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "ADVARSEL: Arkivet er ufullstendig" -#: src/buffer.c:1200 -#, fuzzy, c-format +#: src/buffer.c:1223 +#, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" " q Abort tar\n" " y or newline Continue operation\n" msgstr "" -" n [navn] Gi et filnavn for neste (og etterfølgende) volum(er)\n" -" q Avbryt tar\n" -" ! Start et shell\n" -" ? Skriv denne listen\n" +" n navn Gi nytt filnavn til etterfølgende volum\n" +" q Avbryt tar\n" +" y eller linjeskift Fortsett handling\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" -msgstr "" +msgstr " ! Start et underskall\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" -msgstr "" +msgstr " ? Skriv ut denne lista\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" -msgstr "Ikke nytt volum; avslutter.\n" +msgstr "Intet nytt volum. Avslutter.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" -msgstr "" +msgstr "Filnavn mangler. Prøv pÃ¥ nytt.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" -msgstr "" +msgstr "Ugyldig inndata. Skriv «?» for for hjelp.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" -msgstr "" +msgstr "%s kommando mislyktes" -#: src/buffer.c:1491 -#, fuzzy, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s fortsetter ikke i dette volumet" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s fortsetter ikke i dette volumet" -#: src/buffer.c:1509 -#, fuzzy, c-format +#: src/buffer.c:1523 +#, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s fortsetter kanskje pÃ¥ dette volumet. Hodet inneholder avkortet navn" + +#: src/buffer.c:1541 +#, c-format msgid "%s is the wrong size (%s != %s + %s)" -msgstr "%s har feil størrelse (%ld != %ld + %ld)" +msgstr "%s er feil størrelse (%s != %s + %s)" -#: src/buffer.c:1524 -#, fuzzy, c-format +#: src/buffer.c:1556 +#, c-format msgid "This volume is out of sequence (%s - %s != %s)" -msgstr "Dette volumet kommer ute av rekkefølge" +msgstr "Dette volumet er ute av sekvens (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 -#, fuzzy, c-format +#: src/buffer.c:1634 src/buffer.c:1660 +#, c-format msgid "Archive not labeled to match %s" -msgstr "Arkivet er ikke navngitt for å passe med «%s»" +msgstr "Arkiv ikke navngitt for Ã¥ passe med %s" -#: src/buffer.c:1632 -#, fuzzy, c-format +#: src/buffer.c:1664 +#, c-format msgid "Volume %s does not match %s" -msgstr "Volumet «%s» stemmer ikke overens med «%s»" +msgstr "Volumet «%s» stemmer ikke overens med «%s»" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" +"%s: filnavnet er for langt tid Ã¥ lagres i et GNU-multivolum-hode, og blir " +"derfor avkortet" -#: src/buffer.c:1917 -#, fuzzy +#: src/buffer.c:1949 msgid "write did not end on a block boundary" -msgstr "Arkiv %s sluttet ikke ved en blokkgrense" +msgstr "skriving endte ikke ved en blokkgrense" #: src/compare.c:96 -#, fuzzy, c-format +#, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" -msgstr[0] "Kunne bare lese %d av %ld bytes" -msgstr[1] "Kunne bare lese %d av %ld bytes" +msgstr[0] "Klarte bare Ã¥ lese %lu av %lu byte" +msgstr[1] "Klarte bare Ã¥ lese %lu av %lu byte" -#: src/compare.c:106 src/compare.c:391 -#, fuzzy +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" -msgstr "Modus er ulik" +msgstr "Innholdet er ulikt" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" -msgstr "Uventet filslutt i arkivet" +msgstr "Uventet slutt pÃ¥ fil i arkivet" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 -#, fuzzy +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" -msgstr "Størrelse er ulik" +msgstr "Filtypen er ulik" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Modus er ulik" @@ -834,151 +861,149 @@ msgstr "Gid er ulik" #: src/compare.c:212 msgid "Mod time differs" -msgstr "Modifiseringstid er ulik" +msgstr "Endringstiden er ulik" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" -msgstr "Størrelse er ulik" +msgstr "Størrelsen er ulik" #: src/compare.c:265 #, c-format msgid "Not linked to %s" -msgstr "Ikke linket til %s" +msgstr "Ikke lenket til %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" -msgstr "Symbolsk link er ulik" +msgstr "Symbolsk lenke er ulik" -#: src/compare.c:318 -#, fuzzy +#: src/compare.c:322 msgid "Device number differs" -msgstr "Enhetsnummer er endret" +msgstr "Enhetsnummer avviker" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " -msgstr "Verifisering " +msgstr "Kontroller " -#: src/compare.c:473 -#, fuzzy, c-format +#: src/compare.c:477 +#, c-format msgid "%s: Unknown file type '%c', diffed as normal file" -msgstr "Ukjent filtype «%c» for %s, diffet som en vanlig fil" +msgstr "%s: Ukjent filtype «%c», diffet som vanlig fil" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." -msgstr "" +msgstr "Arkivet inneholder filnavn med ledende prefikser fjernet." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." -msgstr "" +msgstr "Arkivet inneholder forvandlede filnavn." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." -msgstr "" +msgstr "Verifikasjon kan mislykkes i Ã¥ finne originalfilene." -#: src/compare.c:614 -#, fuzzy, c-format +#: src/compare.c:618 +#, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" -msgstr[0] "VERIFIKASJONSFEIL: %d ukjente arkivhoder funnet" -msgstr[1] "VERIFIKASJONSFEIL: %d ukjente arkivhoder funnet" +msgstr[0] "KONTROLLFEIL: fant %d ugyldig arkivhode" +msgstr[1] "KONTROLLFEIL: fant %d ugyldige arkivhoder" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" -msgstr "" +msgstr "Enslig null-blokk ved %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" -msgstr "" +msgstr "%s: inneholder en buffermappetag %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" -msgstr "" +msgstr "verdien %s er utenfor %s rekkevidde %s..%s. Erstatter %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" -msgstr "" +msgstr "verdien %s er utenfor %s rekkevidde %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" -msgstr "" +msgstr "Lager negative oktalhoder" -#: src/create.c:601 src/create.c:664 -#, fuzzy, c-format +#: src/create.c:602 src/create.c:665 +#, c-format msgid "%s: file name is too long (max %d); not dumped" -msgstr "%s: er uendret; ikke lagret" +msgstr "%s: filnavnet er for langt (maks %d), og fila ble ikke dumpet" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" -msgstr "" +msgstr "%s: filnavnet er for langt og/eller splittet, og fila ble ikke dumpet" -#: src/create.c:638 -#, fuzzy, c-format +#: src/create.c:639 +#, c-format msgid "%s: link name is too long; not dumped" -msgstr "%s: er uendret; ikke lagret" +msgstr "%s: lenkenavnet er for langt, og fila ble ikke dumpet" -#: src/create.c:1084 -#, fuzzy, c-format +#: src/create.c:1102 +#, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" -msgstr[0] "Filen %s krympet med %d bytes, fyller ut med nuller" -msgstr[1] "Filen %s krympet med %d bytes, fyller ut med nuller" +msgstr[0] "%s: Fila krympet med %s byte. Fyller ut med nuller" +msgstr[1] "%s: Fila krympet med %s byte. Fyller ut med nuller" -#: src/create.c:1182 -#, fuzzy, c-format +#: src/create.c:1200 +#, c-format msgid "%s: file is on a different filesystem; not dumped" -msgstr "%s: På et annet filesystem. Ikke lagret" +msgstr "%s: fila er pÃ¥ et annet filsystem, og ble derfor ikke dumpet" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 -#, fuzzy +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" -msgstr " (minnet lagret)" +msgstr "innholdet ble ikke dumpet" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" -msgstr "%s: Ukjent filtype; filen ble ignorert" +msgstr "%s: Ukjent filtype. Fila ignoreres" -#: src/create.c:1551 -#, fuzzy, c-format +#: src/create.c:1569 +#, c-format msgid "Missing links to %s." -msgstr " link til %s\n" +msgstr "Mangler lenker til %s." -#: src/create.c:1712 -#, fuzzy, c-format +#: src/create.c:1730 +#, c-format msgid "%s: file is unchanged; not dumped" -msgstr "%s: er uendret; ikke lagret" +msgstr "%s: fila er uendret, og ble ikke dumpet" -#: src/create.c:1721 -#, fuzzy, c-format +#: src/create.c:1739 +#, c-format msgid "%s: file is the archive; not dumped" -msgstr "%s er arkivet; ikke lagret" +msgstr "%s: fila er selve arkivet, og ble ikke dumpet" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" -msgstr "" +msgstr "mappe ble ikke dumpet" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" -msgstr "" +msgstr "%s: fil endret mens vi leste den" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" -msgstr "" +msgstr "%s: sokkel ignorert" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" -msgstr "" +msgstr "%s: dør ignorert" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Hopper til neste startseksjon" @@ -989,408 +1014,566 @@ msgstr "Tar bort ikke-hodedata fra arkivet" #: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" -msgstr "" +msgstr "%s: usansynlig gammelt tidsstempel %s" #: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" -msgstr "" +msgstr "%s: tidsstempel %s er %s sekunder i fremtiden" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" -msgstr "" +msgstr "%s: Uventet inkonsekvens ved opprettelse av mappe" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" -msgstr "" +msgstr "%s: hopper over eksisterende fil" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" -msgstr "" +msgstr "%s: Mappe fikk nytt navn før status kunne hentes" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Ekstraherer sammenhengende filer som vanlige filer" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" -msgstr "Forsøker å ekstrahere symbolske linker som harde linker" +msgstr "Forsøker Ã¥ pakke ut symbolske lenker som harde lenker" -#: src/extract.c:1528 -#, fuzzy, c-format +#: src/extract.c:1573 +#, c-format msgid "%s: Cannot extract -- file is continued from another volume" -msgstr "Kan ikke ekstrahere «%s» -- filen fortsetter fra et tidligere volum" +msgstr "%s: Klarte ikke Ã¥ pakke ut -- fila fortsettes fra et annet volum" -#: src/extract.c:1535 src/list.c:1167 -#, fuzzy +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" -msgstr "Uventet filslutt i arkivfilen" +msgstr "Uventet langt navnehode" -#: src/extract.c:1542 -#, fuzzy, c-format +#: src/extract.c:1587 +#, c-format msgid "%s: Unknown file type '%c', extracted as normal file" -msgstr "Ukjent filtype «%c» for %s, ekstrahert som en vanlig fil" +msgstr "%s: Ukjent filtype «%c», pakket ut som vanlig fil" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" -msgstr "" +msgstr "Gjeldende %s er nyere eller samme alder" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" -msgstr "%s: Kunne ikke lage sikkerhetskopi av denne filen" +msgstr "%s: Klarte ikke Ã¥ lage sikkerhetskopi av denne fila" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" -msgstr "Kan ikke endre navn på %s til %s" +msgstr "Klarte ikke Ã¥ endre navn pÃ¥ %s til %s" #: src/incremen.c:494 src/incremen.c:536 -#, fuzzy, c-format +#, c-format msgid "%s: Directory has been renamed from %s" -msgstr "Filkatalogen %s har endret navn" +msgstr "%s: Mappa har endret navn fra %s" #: src/incremen.c:549 -#, fuzzy, c-format +#, c-format msgid "%s: Directory is new" -msgstr "Filkatalogen %s er ny" +msgstr "%s: Mappa er ny" #: src/incremen.c:566 -#, fuzzy, c-format +#, c-format msgid "%s: directory is on a different filesystem; not dumped" -msgstr "%s: På et annet filesystem. Ikke lagret" +msgstr "%s: mappa er pÃ¥ et annet filsystem, og ble ikke dumpet" #: src/incremen.c:587 -#, fuzzy, c-format +#, c-format msgid "%s: Directory has been renamed" -msgstr "Filkatalogen %s har endret navn" +msgstr "%s: Mappa har endret navn" #: src/incremen.c:1003 src/incremen.c:1018 msgid "Invalid time stamp" -msgstr "" +msgstr "ugyldig tidsstempel" #: src/incremen.c:1047 -#, fuzzy msgid "Invalid modification time" -msgstr "Ugyldig modus gitt i flagg" +msgstr "Ugyldig endringstid" #: src/incremen.c:1057 msgid "Invalid modification time (nanoseconds)" -msgstr "" +msgstr "ugyldig endringstid (nanosekunder)" #: src/incremen.c:1073 msgid "Invalid device number" -msgstr "" +msgstr "ugyldig enhetsnummer" #: src/incremen.c:1081 msgid "Invalid inode number" -msgstr "" +msgstr "ugyldig inodenummer" #: src/incremen.c:1137 #, c-format msgid "%s: byte %s: %s %.*s... too long" -msgstr "" +msgstr "%s: byte %s: %s %.*s… for lang" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 -#, fuzzy +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" -msgstr "Uventet filslutt i arkivfilen" +msgstr "Uventet filslutt i øyeblikksbildefil" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" -msgstr "" +msgstr "%s: byte %s: %s %s etterfulgt av ugyldig byte 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" +"%s: byte %s: (gyldig rekkevidde: %s..%s)\n" +"\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" -msgstr "" +msgstr "%s: byte %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" -msgstr "" +msgstr "%s: byte %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" -msgstr "" +msgstr "Registeravslutning mangler" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" -msgstr "" +msgstr "Ugyldig inkrementelt filformat" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" -msgstr "" +msgstr "Inkrementell formatversjon % støttes ikke" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" -msgstr "" +msgstr "Feilformatert dumpmappe: forventet «%c» men fant %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" -msgstr "" +msgstr "Feilformatert dumpmappe: «X» duplisert" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" -msgstr "" +msgstr "Feilformatert dumpmappe: tomt navn i «R»" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" -msgstr "" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" +msgstr "Feilutformet dumpmappe. «T» kommer ikke etter «R»" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" -msgstr "" +msgstr "Feilformatert dumpmappe: tomt navn i «T»" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" -msgstr "" +msgstr "Feilformatert dumpmappe: forventet «%c» men fant enden av data" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" -msgstr "" +msgstr "Feilformatert dumpmappe: «X» aldri brukt" -#: src/incremen.c:1658 -#, fuzzy, c-format +#: src/incremen.c:1662 +#, c-format msgid "Cannot create temporary directory using template %s" -msgstr "Kan ikke gå til filkatalogen %s" +msgstr "Klarte ikke Ã¥ opprette midlertidig mappe ved bruk av mal %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" -msgstr "" +msgstr "%s: Tømmer ikke mappa: ute av stand til stat" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" -msgstr "" +msgstr "%s: mappa er pÃ¥ en annen enhet: tømmer ikke" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Sletter %s\n" -#: src/incremen.c:1745 -#, fuzzy, c-format +#: src/incremen.c:1749 +#, c-format msgid "%s: Cannot remove" -msgstr "Kan ikke slette %s" +msgstr "%s: Klarte ikke Ã¥ fjerne" -#: src/list.c:217 -#, fuzzy, c-format +#: src/list.c:219 +#, c-format msgid "%s: Omitting" -msgstr "Utelater %s" +msgstr "%s: Utelater" -#: src/list.c:235 -#, fuzzy, c-format +#: src/list.c:237 +#, c-format msgid "block %s: ** Block of NULs **\n" -msgstr "blokk %10ld: ** Blokk med NUL-er **\n" +msgstr "blokk %s: ** Blokk med NUL-er **\n" -#: src/list.c:261 -#, fuzzy, c-format +#: src/list.c:263 +#, c-format msgid "block %s: ** End of File **\n" -msgstr "blokk %10ld: ** Slutt på fil **\n" +msgstr "blokk %s: ** Slutt pÃ¥ fil **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 -#, fuzzy, c-format +#: src/list.c:286 src/list.c:1137 src/list.c:1373 +#, c-format msgid "block %s: " -msgstr "blokk %10ld: " +msgstr "blokk %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" -msgstr "" +msgstr "Blankt hvor numerisk %s-verdi forventes" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" -msgstr "" +msgstr "Arkivoktalverdi %.*s er ut av %s rekkevidde; forutsatt toerkomplement" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" -msgstr "" +msgstr "Arkivets oktalverdi %.*s er utenfor %s rekkevidde" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" -msgstr "" +msgstr "Arkivet inneholder foreldede base-64-hoder" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" -msgstr "" +msgstr "Arkiv-signert base-64-streng %s er utenfor %s-rekkevidde" -#: src/list.c:883 -#, fuzzy, c-format +#: src/list.c:884 +#, c-format msgid "Archive base-256 value is out of %s range" -msgstr "Dette volumet kommer ute av rekkefølge" +msgstr "Arkivets base-256-verdi er utenfor %s-rekkevidde" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" -msgstr "" +msgstr "Arkivet inneholder %.*s hvor numerisk %s-verdi forventes" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" -msgstr "" +msgstr "Arkivverdi %s er utenfor %s-intervallet %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" -msgstr " link til %s\n" +msgstr " lenke til %s\n" -#: src/list.c:1302 -#, fuzzy, c-format +#: src/list.c:1281 +#, c-format msgid " unknown file type %s\n" -msgstr " ukjent filtype «%c»\n" +msgstr " ukjent filtype %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" -msgstr "" +msgstr "--Lang lenke--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" -msgstr "" +msgstr "--Langt navn--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Volumhode--\n" -#: src/list.c:1336 -#, fuzzy, c-format +#: src/list.c:1315 +#, c-format msgid "--Continued at byte %s--\n" -msgstr "--Fortsetter ved byte %ld--\n" +msgstr "--Fortsatte ved byte %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" -msgstr "Lager filkatalog:" +msgstr "Lager mappe:" -#: src/misc.c:726 -#, fuzzy, c-format +#: src/misc.c:733 +#, c-format msgid "Renaming %s to %s\n" -msgstr "Endret navn på %s til %s" +msgstr "Endrer navn pÃ¥ %s til %s\n" -#: src/misc.c:735 src/misc.c:754 -#, fuzzy, c-format +#: src/misc.c:742 src/misc.c:761 +#, c-format msgid "%s: Cannot rename to %s" -msgstr "Kan ikke endre navn på %s til %s" +msgstr "%s: Klarte ikke Ã¥ endre navn til %s" -#: src/misc.c:759 -#, fuzzy, c-format +#: src/misc.c:766 +#, c-format msgid "Renaming %s back to %s\n" -msgstr "Endret navn på %s til %s" +msgstr "Endrer navn %s tilbake til %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" -msgstr "" +msgstr "%s: Fila ble fjernet før programmet rakk Ã¥ lese den" #: src/misc.c:1122 msgid "child process" -msgstr "" +msgstr "underprosess" #: src/misc.c:1131 msgid "interprocess channel" -msgstr "" +msgstr "mellomprosesskanal" -#: src/names.c:360 -msgid "command line" -msgstr "" +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "Lokalt filvalg:" -#: src/names.c:378 -#, c-format -msgid "%s: file list requested from %s already read from %s" +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" +"legg oppgitt FIL til arkivet (nyttig hvis navnet starter med en bindestrek)" -#: src/names.c:448 src/checkpoint.c:274 -#, fuzzy, c-format -msgid "cannot split string '%s': %s" -msgstr "Kan ikke lage en symbolisk link fra %s til %s" +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "MAP" -#: src/names.c:490 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "" +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "bytt til mappa MAP" -#: src/names.c:824 -msgid "Pattern matching characters used in file names" -msgstr "" +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "fÃ¥ navn Ã¥ pakke ut eller opprette fra FIL" -#: src/names.c:826 -msgid "" -"Use --wildcards to enable pattern matching, or --no-wildcards to suppress " -"this warning" -msgstr "" +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T les null-adskilte navn, og slÃ¥r av «-C»" -#: src/names.c:844 src/names.c:860 -#, c-format -msgid "%s: Not found in archive" -msgstr "%s: Finnes ikke i arkivet" +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "deaktiverer effekten til foregÃ¥ende --null-valg" -#: src/names.c:845 -#, fuzzy, c-format -msgid "%s: Required occurrence not found in archive" -msgstr "%s: Finnes ikke i arkivet" +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "avsitér inndatafil eller medlemsnavn (standard)" -#: src/names.c:879 -#, fuzzy, c-format -msgid "Archive label mismatch" -msgstr "Arkivet er ikke navngitt for å passe med «%s»" +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "ikke avsitér inndatafil eller medlemsnavn" -#: src/names.c:1183 -msgid "" -"Using -C option inside file list is not allowed with --listed-incremental" -msgstr "" +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "-T les filnavn nøyaktig slik de er (ingen valghÃ¥ndtering)" -#: src/names.c:1189 -msgid "Only one -C option is allowed with --listed-incremental" -msgstr "" +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "-T behandle filnavn som begynner med bindestrek som valg (standard)" -#: src/tar.c:87 -#, fuzzy, c-format -msgid "Options '%s' and '%s' both want standard input" -msgstr "Flaggene «-%s» and «-%s» vil begge ta standard inn" +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "MØNSTER" -#: src/tar.c:164 -#, fuzzy, c-format -msgid "%s: Invalid archive format" -msgstr "Ugyldig datoformat «%s»" +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "ekskludere filer, gitt som et MØNSTER" -#: src/tar.c:196 -msgid "GNU features wanted on incompatible archive format" -msgstr "GNU-funksjoner forsøkt på inkompatibelt arkiv-format" +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "ekskluder mønster listet i FIL" -#: src/tar.c:264 -#, c-format +#: src/names.c:95 msgid "" -"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" msgstr "" +"ekskluder innholdet av mapper som inneholder CACHEDIR.TAG, med unntak av " +"selve tagg-fila" -#: src/tar.c:378 +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "ekskluder alt under mapper som inneholder CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "ekskluder mapper som inneholder CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"ekskluder innholdet av mapper som inneholder FIL, med unntak av selve FIL-en" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "lese ekskluder mønstre for hver mappe fra FIL, hvis den finnes" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"lese ekskluder mønstre for hver mappe fra FIL og dens undermapper, hvis den " +"finnes" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "ekskluder alt under mapper som inneholder FIL" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "ekskluder mapper som inneholder FIL" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "ekskluder versjonskontrollsystemmapper" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "les ekskluder mønstre fra VCS-ignorere filer" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "ekskluder sikkerhetskopi- og lÃ¥sefiler" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "gÃ¥ rekursivt ned i mapper (standard)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "unngÃ¥ automatisk nedstigning i mapper" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "valg for filnavntreff (pÃ¥virker bÃ¥de ekskluder- og inkludermønstre):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "mønstre passer med filnavnstart" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "mønstre passer etter «/» (standard for ekskludering)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "ignorer bokstavstørrelse" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "match forskjell pÃ¥ smÃ¥ og store bokstaver (standard)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "bruk jokertegn (standard for ekskludering)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "ordrett strengsammenligning" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "jokertegn samsvarer «/» (standard for ekskludering)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "jokertegn samsvarer ikke «/»" + +#: src/names.c:768 +msgid "command line" +msgstr "kommandolinje" + +#: src/names.c:786 +#, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: filliste forespurt fra %s allerede lest fra %s" + +#: src/names.c:867 src/checkpoint.c:274 +#, c-format +msgid "cannot split string '%s': %s" +msgstr "Klarte ikke Ã¥ splitte strengen «%s». %s" + +#: src/names.c:914 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: lest filnavn inneholder nulltegn" + +#: src/names.c:1242 +msgid "Pattern matching characters used in file names" +msgstr "Mønster samsvarer med tegn som brukes i filnavn" + +#: src/names.c:1244 +msgid "" +"Use --wildcards to enable pattern matching, or --no-wildcards to suppress " +"this warning" +msgstr "" +"Bruk --wildcards for Ã¥ aktivere mønstergjenkjenning, eller --no-wildcards " +"for Ã¥ undertrykke denne advarselen" + +#: src/names.c:1262 src/names.c:1278 +#, c-format +msgid "%s: Not found in archive" +msgstr "%s: Finnes ikke i arkivet" + +#: src/names.c:1263 +#, c-format +msgid "%s: Required occurrence not found in archive" +msgstr "%s: Obligatorisk forekomst finnes ikke i arkivet" + +#: src/names.c:1297 +#, c-format +msgid "Archive label mismatch" +msgstr "Arkivetikett samsvarer ikke" + +#: src/names.c:1601 +msgid "" +"Using -C option inside file list is not allowed with --listed-incremental" +msgstr "" +"Valget «-C» kan ikke brukes i fillista i kombinasjon med «--listed-" +"incremental»" + +#: src/names.c:1607 +msgid "Only one -C option is allowed with --listed-incremental" +msgstr "Kun ett -C-valg er tillatt med --listed-incremental" + +#: src/tar.c:88 +#, c-format +msgid "Options '%s' and '%s' both want standard input" +msgstr "Valgene «-%s» og «-%s» vil begge ha standard inn" + +#: src/tar.c:165 +#, c-format +msgid "%s: Invalid archive format" +msgstr "%s: Ugyldig arkivformat" + +#: src/tar.c:197 +msgid "GNU features wanted on incompatible archive format" +msgstr "GNU-funksjoner forsøkt pÃ¥ inkompatibelt arkiv-format" + +#: src/tar.c:265 +#, c-format +msgid "" +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." +msgstr "" +"Ukjent siteringsstil «%s». Prøv «%s --quoting-style=help» for Ã¥ fÃ¥ en liste." + +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1400,9 +1583,15 @@ msgid "" " tar -tvf archive.tar # List all files in archive.tar verbosely.\n" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" +"GNU «tar» lagrer mange filer sammen til et enkelt bÃ¥nd eller diskarkiv, og " +"kan gjenopprette individuelle filer fra arkivet.\n" +"\n" +"Eksempler:\n" +" tar -cf arkiv.tar foo bar # Lag arkiv.tar fra filene foo og bar.\n" +" tar -tvf arkiv.tar # List alle filer i arkiv.tar detaljert.\n" +" tar -xf arkiv.tar # Pakk ut alle filer fra arkiv.tar.\n" -#: src/tar.c:387 -#, fuzzy +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1413,1410 +1602,1365 @@ msgid "" " nil, existing numbered if numbered backups exist, simple otherwise\n" " never, simple always make simple backups\n" msgstr "" -"\n" -"Suffikset for sikkerhetskopiering er «~», med mindre det er satt med --" +"Suffikset for sikkerhetskopiering er «~», med mindre det er satt med --" "suffix\n" "eller SIMPLE_BACKUP_SUFFIX. Versjonskontroll kan settes med --backup eller\n" "VERSION_CONTROL. Gyldige verdier er:\n" "\n" +" none, off aldri lag sikkerhetskopier\n" " t, numbered lag nummererte sikkerhetskopier\n" " nil, existing nummererte, dersom nummererte sikkerhetskopier " "eksisterer,\n" " ellers enkle\n" " never, simple lag enkle sikkerhetskopier\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" -msgstr "" +msgstr "Hoveddriftsmodus:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" -msgstr "" +msgstr "list innholdet i et arkiv" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" -msgstr "" +msgstr "pakk ut filer fra et arkiv" -#: src/tar.c:425 -#, fuzzy +#: src/tar.c:401 msgid "create a new archive" -msgstr "Uventet filslutt i arkivet" +msgstr "opprett et nytt arkiv" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" -msgstr "" +msgstr "finn forskjeller mellom arkiv og filsystemet" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" -msgstr "" +msgstr "tilføy filer pÃ¥ slutten av et arkiv" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" -msgstr "" +msgstr "bare tilføy filer som er nyere enn kopiene i arkivet" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" -msgstr "" +msgstr "tilføy tar-filer i et arkiv" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" -msgstr "" +msgstr "slett fra arkivet (ikke pÃ¥ magnetbÃ¥nd!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" -msgstr "" +msgstr "test arkivvolumnavnet og avslutt" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" -msgstr "" +msgstr "operasjonsmodifikatorer:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" -msgstr "" +msgstr "hÃ¥ndtere filer med huller effektivt" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "TYPE" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "teknikk for Ã¥ finne hull" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" -msgstr "" +msgstr "MAJOR[.MINOR]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" +"angi versjonen av filer med hull-format til Ã¥ bruke (impliserer --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" -msgstr "" +msgstr "hÃ¥ndter gammel GNU-format inkrementell backup" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" -msgstr "" +msgstr "hÃ¥ndter nytt GNU-format inkrementell backup" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" -msgstr "" +msgstr "dumpe-nivÃ¥ for opprettet «listed-incremental»-arkiv" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" -msgstr "" +msgstr "ikke avslutt med ikke-null pÃ¥ uleselig filer" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" "diff, --extract or --list and when a list of files is given either on the " "command line or via the -T option; NUMBER defaults to 1" msgstr "" +"bare behandle NUMMER-forekomsten av hver fil i arkivet. Dette alternativet " +"er bare tillatt i kombinasjon med en delkommando («--delete», «--diff», «--" +"extract» eller «--list»), og nÃ¥r en liste over filer sendes enten fra " +"kommandolinja eller via valget «-T». Standardverdi av NUMMER er 1." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" -msgstr "" +msgstr "arkivet er søkbart" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" -msgstr "" +msgstr "arkivet er ikke søkbart" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" -msgstr "" +msgstr "ikke kontroller enhetsnummer nÃ¥r du lager inkrementelle arkiver" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" -msgstr "" +msgstr "kontroller enhetsnummer nÃ¥r du lager inkrementelle arkiver (standard)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" -msgstr "" +msgstr "Overskrivingskontroll:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" -msgstr "" +msgstr "forsøk Ã¥ kontrollere arkivet etter Ã¥ ha lagret det" -#: src/tar.c:483 -#, fuzzy +#: src/tar.c:461 msgid "remove files after adding them to the archive" -msgstr "Tar bort enhetsnavn fra navn i arkivet" +msgstr "fjern filer etter Ã¥ ha lagt dem til i arkivet" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" -msgstr "" +msgstr "behandle filer som finnes allerede som feil, og ikke erstatt dem" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" +"hopp over filer som allerede finnes allerede ved utpakking, uten advarsel" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" +"ikke erstatt filer som finnes allerede og er nyere enn tilsvarende arkivert " +"fil" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" -msgstr "" +msgstr "overskriv filer som finnes allerede ved utpakking" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" -msgstr "" +msgstr "fjern alle filer som finnes allerede før arkivet pakkes ut" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" -msgstr "" +msgstr "tøm hierarkier før utpakking av mappe" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" -msgstr "" +msgstr "behold metadata for mapper som finnes allerede" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" -msgstr "" +msgstr "overskriv metadata for mapper som finnes allerede (standard)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" -msgstr "" - -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "" +msgstr "behold symbolske mappelenker ved utpakking" -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "lag en undermappe for Ã¥ unngÃ¥ utpakking av løse filer" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" -msgstr "" +msgstr "Velg utdatastrøm:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" -msgstr "" +msgstr "pakk ut filer til standardutdata" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" -msgstr "" +msgstr "KOMMANDO" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" -msgstr "" +msgstr "kanaliser utpakkede filer til et annet program" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" -msgstr "" +msgstr "ignorer avslutningskoder fra underprosesser" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" +"behandle avslutningskoder fra underprosesser som feil hvis de ikke er null" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" -msgstr "" +msgstr "HÃ¥ndtering av filattributter:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" -msgstr "" +msgstr "tving NAVN som eier av tilføyde filer" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" -msgstr "" +msgstr "tving NAVN som gruppetilhørighet for tilføyde filer" + +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "bruk valgt FIL for Ã¥ tilknytte fileiers UID og navn" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "bruk valgt FIL for Ã¥ tilknytte fileiers GID og navn" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" -msgstr "" +msgstr "DATO-ELLER-FIL" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" +msgstr "endre endringstidspunkt for nye filer fra DATO-ELLER-FIL" + +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" msgstr "" -#: src/tar.c:535 +#: src/tar.c:519 msgid "CHANGES" -msgstr "" +msgstr "ENDRINGER" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" -msgstr "" +msgstr "tving (symbolsk) modusENDRINGER for nye filer" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" -msgstr "" +msgstr "METODE" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" +"behold tilgangstider for dumpede filer, enten ved Ã¥ gjenopprette tidene " +"etter Ã¥ ha lest dem (METHOD='replace'; standard), eller ved Ã¥ ikke velge " +"tider i det hele tatt (METHOD='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" -msgstr "" +msgstr "ikke pakk ut endringstidspunkt for filer" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" +"prøv Ã¥ pakke ut filer med samme eierskap som finnes i arkivet (standard for " +"superbruker)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" -msgstr "" +msgstr "pakk ut filer som deg selv (standard for vanlige brukere)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" -msgstr "" +msgstr "bruk alltid tall som bruker- og gruppenavn" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" -msgstr "" +msgstr "pakk ut informasjon om filrettigheter (standard for superbruker)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" +"bruk brukerens umask ved utpakking av tillatelser fra arkivet (standard for " +"vanlige brukere)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" -msgstr "" +msgstr "medlemsargumenter stÃ¥r i samme rekkefølge filer i arkivet" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" +"utsett endring av endringstidspunkt og tillatelser til utpakkede mapper til " +"utpakkinga er ferdig" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" -msgstr "" +msgstr "avbryt effekten av «--delay-directory-restore»-valget" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "REKKEFØLGE" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "mappe-sorteringsrekkefølge: ingen (standard) eller navn" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" -msgstr "" +msgstr "HÃ¥ndtering av utvidede filattributter:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" -msgstr "" +msgstr "SlÃ¥ pÃ¥ utvidet attributtstøtte" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" -msgstr "" +msgstr "SlÃ¥ av utvidet attributtstøtte" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" -msgstr "" +msgstr "MASKE" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" -msgstr "" +msgstr "angi inkludermønster for xattr-verdier" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" -msgstr "" +msgstr "angi eksludermønster for xattr-verdier" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" -msgstr "" +msgstr "SlÃ¥ pÃ¥ støtte for SELinux-kontekst" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" -msgstr "" +msgstr "SlÃ¥ av støtte for SELinux-kontekst" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" -msgstr "" +msgstr "SlÃ¥ pÃ¥ POSIX ACL-støtte" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" -msgstr "" +msgstr "SlÃ¥ av POSIX ACL-støtte" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" -msgstr "" +msgstr "Enhetsvalg og veksling:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" -msgstr "" +msgstr "ARKIV" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" -msgstr "" +msgstr "bruk arkivfil eller enhet ARKIV" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" -msgstr "" +msgstr "Arkivfil er lokal selv om den har et kolon" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" -msgstr "" +msgstr "bruk oppgitt rmt-KOMMANDO i stedet for rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" -msgstr "" +msgstr "bruk KOMMANDO i stedet for rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" -msgstr "" +msgstr "angi enhet og tetthet" -#: src/tar.c:627 -#, fuzzy +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" -msgstr "Kan ikke verifisere arkiv som går over flere volum" +msgstr "opprette/list/pakk ut multivolumarkiv" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" -msgstr "" +msgstr "bytt bÃ¥nd etter Ã¥ ha skrevet TALL x 1024 byte" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" -msgstr "" +msgstr "kjør skript ved slutten av hvert bÃ¥nd (impliserer -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" -msgstr "" +msgstr "bruk/oppdater volumnummeret i FIL" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" -msgstr "" +msgstr "BlokkhÃ¥ndtering:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" -msgstr "" +msgstr "BLOKKER" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" -msgstr "" +msgstr "BLOKKER x 512 byte pr register" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" -msgstr "" +msgstr "NUMMER byte per register, multiplum av 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" -msgstr "" +msgstr "ignorere nullede blokker i arkiv (betyr filslutt)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" -msgstr "" +msgstr "Omblokker ved lesning (for 4.2BSD-rør)" -#: src/tar.c:653 -#, fuzzy +#: src/tar.c:635 msgid "Archive format selection:" -msgstr "Arkivér til stdin" +msgstr "Arkivformatvalg:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" -msgstr "" +msgstr "FORMAT" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" -msgstr "" +msgstr "opprett arkiv av det angitte format" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" -msgstr "" +msgstr "FORMAT er ett av følgende:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" -msgstr "" +msgstr "gammelt V7 tar-format" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" -msgstr "" +msgstr "GNU-format i henhold til tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" -msgstr "" +msgstr "GNU tar 1.13.x-format" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" -msgstr "" +msgstr "POSIX 1003.1-1988 (ustar) format" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" -msgstr "" +msgstr "POSIX 1003.1-2001 (pax) format" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" -msgstr "" +msgstr "samme som pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" -msgstr "" +msgstr "samme som --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" -msgstr "" +msgstr "samme som --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." -msgstr "" +msgstr "Nøkkelord[[:]=verdi][,nøkkelord[[:]=verdi]]…" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" -msgstr "" +msgstr "angi pax-søkeord" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" -msgstr "" +msgstr "TEKST" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" +"opprette et arkiv med volum navn TEKST; ved liste/utpakkingstid, bruke TEKST " +"som et søkemønster («globbing») for volumnavn" -#: src/tar.c:684 -#, fuzzy +#: src/tar.c:666 msgid "Compression options:" -msgstr "Konflikt i kompresjonsflagg" +msgstr "Kompresjonsvalg" -#: src/tar.c:686 -#, fuzzy +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" -msgstr "Kan ikke skrive til komprimeringsprogrammet" +msgstr "bruk arkivsuffikset til Ã¥ bestemme komprimeringsprogrammet" -#: src/tar.c:688 -#, fuzzy +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" -msgstr "Kan ikke skrive til komprimeringsprogrammet" +msgstr "ikke bruk arkivsuffikset til Ã¥ bestemme komprimeringsprogrammet" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" -msgstr "" +msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" -msgstr "" +msgstr "filtrér gjennom PROGRAM (mÃ¥ akseptere -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" -msgstr "" - -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" - -#: src/tar.c:712 -#, fuzzy -msgid "change to directory DIR" -msgstr "Kan ikke gå til filkatalogen %s" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -msgid "unquote input file or member names (default)" -msgstr "" +msgstr "Lokalt filvalg:" -#: src/tar.c:722 -msgid "do not unquote input file or member names" -msgstr "" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" -msgstr "" - -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "" +msgstr "bli i lokale filsystem nÃ¥r du oppretter arkiv" # -#: src/tar.c:761 -#, fuzzy +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" -msgstr "Tar bort ledende «/» fra absolutte linker" +msgstr "ikke fjern ledende «/» fra filnavn" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" -msgstr "" +msgstr "Følg symbolske lenker; arkiver og dump filene de peker til" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" -msgstr "" +msgstr "følg harde lenker; arkiver og dump filene de refererer til" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" -msgstr "" +msgstr "MEDLEMS-NAVN" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" -msgstr "" +msgstr "begynn med medlem MEDLEMSNAVN ved lesing av arkivet" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" -msgstr "" +msgstr "bare lagre filer som er nyere enn DATO-ELLER-FIL" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" -msgstr "" +msgstr "DATO" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" -msgstr "" +msgstr "sammenlign dato og tid kun ved dataendringer " -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" -msgstr "" +msgstr "KONTROLL" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" -msgstr "" +msgstr "sikkerhetskopi før sletting, velg versjonskontroll" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" -msgstr "" +msgstr "STRENG" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" +"sikkerhetskopi før sletting, overstyr vanlig suffiks («~» med mindre " +"overstyrt av miljøvariabelen SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" -msgstr "" +msgstr "Filnavnforvandlinger:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" -msgstr "" +msgstr "fjern NUMMER antall innledende komponenter fra filnavn ved utpakking" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" -msgstr "" +msgstr "UTTRYKK" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" -msgstr "" - -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "" +msgstr "bruk sed erstatnings-UTTRYKK for Ã¥ forvandle filnavn" -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" -msgstr "" +msgstr "Informativ utdata:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" -msgstr "" +msgstr "vis navn pÃ¥ alle filer som behandles" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" -msgstr "" +msgstr "NØKKELORD" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" -msgstr "" +msgstr "advarselskontroll" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" -msgstr "" +msgstr "vis framdriftsmeldinger hver ANTALL register (standard 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" -msgstr "" +msgstr "HANDLING" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" -msgstr "" +msgstr "utfør HANDLING pÃ¥ hvert sjekkpunkt" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" -msgstr "" +msgstr "skriv ut en melding hvis ikke alle lenker ble dumpet" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" -msgstr "" +msgstr "SIGNAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " "SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names without SIG prefix are also " "accepted" msgstr "" +"skriv totalt antall byte etter behandlingen av arkivet. Med et argument - " +"skriv totalt antall byte nÃ¥r dette signalet er levert. Tillatte signaler er: " +"SIGHUP, SIGQUIT, SIGINT, SIGUSR1 og SIGUSR2; navnene uten SIG-prefikset er " +"ogsÃ¥ akseptert" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" -msgstr "" +msgstr "vis endringstidspunkt som UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" -msgstr "" +msgstr "vis full oppløsning pÃ¥ filtider" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" -msgstr "" +msgstr "send detaljert utdata til FIL" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" -msgstr "" +msgstr "vis blokknummer i arkiv med hver melding" -#: src/tar.c:842 -#, fuzzy +#: src/tar.c:752 msgid "ask for confirmation for every action" -msgstr "Kan ikke lese bekreftelse fra brukeren" +msgstr "be om bekreftelse for hver handling" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" -msgstr "" +msgstr "vis tar-standarder" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" -msgstr "" +msgstr "vis gyldige verdiomrÃ¥der for øyeblikksbildefilfelt" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" +"ved listing eller utpakking, vis hver mappe som ikke samsvarer med " +"søkekriteriene" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" -msgstr "" +msgstr "Vis fil eller arkivnavn etter forvandling" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" -msgstr "" +msgstr "STIL" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" -msgstr "" +msgstr "angi siteringsstil; se nedenfor for gyldige STIL-verdier" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" -msgstr "" +msgstr "i tillegg sitér fra STRENG" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" -msgstr "" +msgstr "deaktiver sitering av tegn fra STRENG" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" -msgstr "" +msgstr "Kompatibilitetsvalg:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" +"ved opprettelse, samme som --old-archive. ved utpakking, samme som --no-" +"same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" -msgstr "" +msgstr "Andre valg:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" -msgstr "" +msgstr "deaktiver bruk av noen potensielt skadelige valg" -#: src/tar.c:1010 -#, fuzzy +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "«%s» kan ikke brukes sammen med «%s»" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" -msgstr "Du kan ikke angi mer enn ett av «-Acdtrux»-flaggene" +msgstr "" +"Du kan ikke angi flere enn ett av valgene «-Acdtrux», «--delete» og «--test-" +"label» samtidig" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Konflikt i kompresjonsflagg" -#: src/tar.c:1079 -#, fuzzy, c-format +#: src/tar.c:1005 +#, c-format msgid "Unknown signal name: %s" -msgstr "Ukjent mønster «%s»" +msgstr "Ukjent signalnavn: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" -msgstr "" +msgstr "Fant ikke dato-eksempelfil" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" -msgstr "" +msgstr "Erstatter %s for ukjent datoformat %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" -msgstr "" +msgstr "Valg %s: Behandler dato «%s» som «%s»" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" -msgstr "" +msgstr "filtrer arkivet gjennom %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" -msgstr "" +msgstr "Gyldige argumenter for valget --quoting-style er:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" +"\n" +"*Denne* tar standardiserer til:\n" -#: src/tar.c:1330 -#, fuzzy +#: src/tar.c:1253 msgid "Invalid owner or group ID" -msgstr "Ugyldig eier gitt i flagg" +msgstr "Ugyldig eier eller gruppe-ID" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" -msgstr "" +msgstr "Ugyldig blokkeringsfaktor" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" -msgstr "" +msgstr "Ugyldig tapelengde" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" -msgstr "" +msgstr "Ugyldig inkrementell nivÃ¥verdi" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" -msgstr "Mer enn én grense-dato" +msgstr "Mer enn én grense-dato" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" -msgstr "" +msgstr "Ugyldig version for filer med huller" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" -msgstr "" +msgstr "--atime-preserve=«system» støttes ikke pÃ¥ denne platformen" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" -msgstr "" +msgstr "--checkpoint-verdien er ikke et heltall" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Ugyldig modus gitt i flagg" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" -msgstr "" +msgstr "Ugyldig nummer" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 -#, fuzzy +#: src/tar.c:1864 msgid "Invalid record size" -msgstr "Ugyldig verdi for record_size" +msgstr "Ugyldig registerstørrelse" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." -msgstr "Blokkstørrelse må være delbart på %d." +msgstr "Blokkstørrelse mÃ¥ være delbart pÃ¥ %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" -msgstr "" +msgstr " Ugyldig antall elementer" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" -msgstr "" +msgstr "Kun ett «--to-command»-alternativ tillatt" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" -msgstr "" +msgstr "Feilformatert tetthetsargument: %s" -#: src/tar.c:2205 -#, fuzzy, c-format +#: src/tar.c:2052 +#, c-format msgid "Unknown density: '%c'" -msgstr "Ukjent mønster «%s»" +msgstr "Ukjent tetthet «%c»" -#: src/tar.c:2222 -#, fuzzy, c-format +#: src/tar.c:2069 +#, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" -msgstr "Flaggene «-[0-7][lmh]» støttes ikke av *denne* implementasjonen av tar" +msgstr "Valgene «-[0-7][lmh]» støttes ikke av *denne* implementasjonen av tar" + +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: plassering av feilen" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "feil under tolkning av %s" -#: src/tar.c:2235 +#: src/tar.c:2092 msgid "[FILE]..." -msgstr "" +msgstr "[FIL] …" -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Kan ikke skrive til %s" +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "%s inneholder argumenter som ikke er valg" + +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "klarte ikke Ã¥ dele opp «TAR_OPTIONS»: %s" -#: src/tar.c:2389 -#, fuzzy, c-format +#: src/tar.c:2293 +#, c-format msgid "Old option '%c' requires an argument." -msgstr "Gammelt flagg «%c» behøver et argument." +msgstr "Gammelt valg «%c» behøver et argument." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" -msgstr "" +msgstr "--occurrence er meningsløs uten en filliste" -#: src/tar.c:2490 -#, fuzzy +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" -msgstr "Ved flere arkivfiler behøves «-M»-flagget" +msgstr "Ved flere arkivfiler behøves «-M»-valget" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" -msgstr "" +msgstr "--lever er meningsløs uten --listed-incremental" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s: Volumetikett er for lang (grensen er %lu byte)" +msgstr[1] "%s: Volumetikett er for lang (grensen er %lu byte)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" -msgstr "Kan ikke verifisere arkiv som går over flere volum" +msgstr "Arkiv som gÃ¥r over flere volum kan ikke kontrolleres" # -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" -msgstr "Kan ikke verifisere komprimerte arkiver" +msgstr "Komprimerte arkiver kan ikke kontrolleres" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" -msgstr "Kan ikke bruke komprimerte arkiv som går over flere volum" +msgstr "Komprimerte arkiver som gÃ¥r over flere volum kan ikke brukes" # -#: src/tar.c:2543 -#, fuzzy +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" -msgstr "Kan ikke oppdatere komprimerte arkiver" +msgstr "Klarte ikke Ã¥ sette sammen komprimerte arkiver" -#: src/tar.c:2553 -msgid "--pax-option can be used only on POSIX archives" +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" msgstr "" -#: src/tar.c:2560 +#: src/tar.c:2479 +msgid "--pax-option can be used only on POSIX archives" +msgstr "valget «--pax-option kan bare brukes pÃ¥ POSIX-arkiver" + +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" -msgstr "" +msgstr "valget «--acls» kan bare brukes pÃ¥ POSIX-arkiver" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" -msgstr "" +msgstr "valget «--selinux» kan bare brukes pÃ¥ POSIX-arkiver" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" -msgstr "" +msgstr "valget «--xattrs» kan bare brukes pÃ¥ POSIX-arkiver" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Klarte ikke Ã¥ finne navn pÃ¥ toppnivÃ¥-mappe. Velg det manuelt med --one-top-" +"level=MAP" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" -msgstr "" +msgstr "Volum kan ikke være kortere enn registerstørrelse" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" -msgstr "For feig til å lage et tomt arkiv" +msgstr "Programmet nekter pÃ¥ feigt vis Ã¥ lage et tomt arkiv" -#: src/tar.c:2669 -#, fuzzy +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" -msgstr "Flaggene «-Aru» er inkompatible med «-f -»" +msgstr "Valgene «-Aru» kan ikke brukes i kombinasjon med «-f -»" -#: src/tar.c:2766 -#, fuzzy +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" -msgstr "Du må angi ett av «-Acdtrux»-flaggene" +msgstr "Du mÃ¥ velge ett av «-Acdtrux», «--delete» eller «--test-label»" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" -msgstr "" +msgstr "Avslutter med feilkode pÃ¥ grunn av tidligere feil" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "mappesorteringsrekkefølge: none (standard), name eller inode" #: src/update.c:87 -#, fuzzy, c-format +#, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" -msgstr[0] "%s: Filen krympet med %d bytes, (øh!)" -msgstr[1] "%s: Filen krympet med %d bytes, (øh!)" +msgstr[0] "%s: Fila krympet med %s byte" +msgstr[1] "%s: Fila krympet med %s byte" #: src/xheader.c:165 #, c-format msgid "Keyword %s is unknown or not yet implemented" -msgstr "" +msgstr "Nøkkelordet %s er ukjent eller støttes ikke" #: src/xheader.c:174 msgid "Time stamp is out of allowed range" -msgstr "" +msgstr "Tidsstempelet er utenfor tillatt rekkevidde" #: src/xheader.c:205 #, c-format msgid "Pattern %s cannot be used" -msgstr "" +msgstr "Mønsteret %s kan ikke brukes" #: src/xheader.c:219 #, c-format msgid "Keyword %s cannot be overridden" -msgstr "" +msgstr "Nøkkelordet %s kan ikke overstyres" #: src/xheader.c:668 msgid "Malformed extended header: missing length" -msgstr "" +msgstr "Feilformatert utvidet hode: lengde mangler" #: src/xheader.c:677 #, c-format msgid "Extended header length %*s is out of range" -msgstr "" +msgstr "Utvidet header lengde %*s er utenfor rekkevidde" #: src/xheader.c:689 msgid "Malformed extended header: missing blank after length" -msgstr "" +msgstr "Utvidet hode er feilformatert: blanktegn mangler etter lengde" #: src/xheader.c:697 msgid "Malformed extended header: missing equal sign" -msgstr "" +msgstr "Utvidet hode er feilformatert: likhetstegn mangler" #: src/xheader.c:703 msgid "Malformed extended header: missing newline" -msgstr "" +msgstr "Utvidet hode er feilformatert: linjeskift mangler" #: src/xheader.c:741 #, c-format msgid "Ignoring unknown extended header keyword '%s'" -msgstr "" +msgstr "Ignorerer ukjent nøkkelord for utvidet hode («%s»)" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" +"Dette paret med nøkkelord og verdi er for langt (nøkkelord=%s, lengde=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" -msgstr "" +msgstr "Utvidet hode %s=%s er utenfor rekkevidde %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" -msgstr "" +msgstr "Feilformatert utvidet hode: ugyldig %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" -msgstr "" +msgstr "Feilformatert utvidet hode: overflødig %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" -msgstr "" +msgstr "Feilformatert utvidet hode: ugyldig %s: skilletegnet %c er uventet" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" -msgstr "" +msgstr "Feilformatert utvidet hode: ugyldig %s: merkelig antall verdier" #: src/checkpoint.c:114 #, c-format msgid "%s: not a valid timeout" -msgstr "" +msgstr "%s er et ugyldig tidsavbrudd" #: src/checkpoint.c:121 #, c-format msgid "%s: unknown checkpoint action" -msgstr "" +msgstr "%s: ukjent sjekkpunkt handling" #: src/checkpoint.c:202 msgid "write" -msgstr "" +msgstr "skrive" #: src/checkpoint.c:202 msgid "read" -msgstr "" +msgstr "lese" #. TRANSLATORS: This is a "checkpoint of write operation", #. *not* "Writing a checkpoint". #. E.g. in Spanish "Punto de comprobaci@'on de escritura", #. *not* "Escribiendo un punto de comprobaci@'on" #: src/checkpoint.c:218 -#, fuzzy, c-format +#, c-format msgid "Write checkpoint %u" -msgstr "Skriver kontrollpunkt %d" +msgstr "Skriver kontrollpunkt %u" #. TRANSLATORS: This is a "checkpoint of read operation", #. *not* "Reading a checkpoint". #. E.g. in Spanish "Punto de comprobaci@'on de lectura", #. *not* "Leyendo un punto de comprobaci@'on" #: src/checkpoint.c:224 -#, fuzzy, c-format +#, c-format msgid "Read checkpoint %u" -msgstr "Leser kontrollpunkt %d" +msgstr "Leser kontrollpunkt %u" -#: tests/genfile.c:111 -#, fuzzy +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" -msgstr "Genrerer datafiler for GNU tar testpakke.\n" +msgstr "" +"genfile manipulerer datafiler for GNU paxutils-testpakke.\n" +"VALG er:\n" -#: tests/genfile.c:127 -#, fuzzy +#: tests/genfile.c:131 msgid "File creation options:" -msgstr "Konflikt i kompresjonsflagg" +msgstr "Filopprettingsvalg" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" -msgstr "" +msgstr "størrelse" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" -msgstr "" +msgstr "Opprett fil av angitt STØRRELSE" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" -msgstr "" +msgstr "Skriv til fil NAVN i stedet for standardutdata" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" -msgstr "" +msgstr "Les filnavn fra FIL" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" -msgstr "" +msgstr "-T leser null-terminerte navn" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" +"Fyll fila med valgt MØNSTER. MØNSTER er enten «default» (standard) eller " +"«zeros» (nuller)" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" -msgstr "" +msgstr "Størrelse pÃ¥ en blokk for filer med huller" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." -msgstr "" +msgstr "Lag fil med huller. Resten av kommandolinja gir filkartet" -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" -msgstr "" +msgstr "FORSKYVNING" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" +msgstr "Søke til den angitte forskyvning før skriving av data" + +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" msgstr "" -#: tests/genfile.c:151 +#: tests/genfile.c:156 msgid "File statistics options:" -msgstr "" +msgstr "Filstatistiske valg:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" +"Skriv ut innholdet i «struct stat» for hvert angitt fil. Standardformatet er:" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" -msgstr "" +msgstr "Synkronkjøringsvalg:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" -msgstr "" +msgstr "VALG" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" +"Kjør ARG. Nyttig i kombinasjon med «--checkpoint og enten «--cut», «--" +"append», «--touch» eller «--unlink»" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" -msgstr "" +msgstr "Utfør angitt handling (se nedenfor) ved oppnÃ¥dd sjekkpunktANTALL" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" -msgstr "" +msgstr "Angi dato for neste --touch-valg" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" -msgstr "" +msgstr "Vis utførte sjekkpunkter og avsluttstatusen til KOMMANDO" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" +"Synkronkjøringshandlinger. Disse utføres nÃ¥r sjekkpunktnummer angitt av --" +"checkpoint-valget er nÃ¥dd." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" +"Forkort FIL til størrelsen valgt ved forrige «--length» (eller 0 hvis det " +"ikke er valgt)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" +"Legg valgt STØRRELSE (i byte) til en FIL. STØRRELSE bestemmes av forrige «--" +"length»." -#: tests/genfile.c:188 -#, fuzzy +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" -msgstr "%s: Kunne ikke endre aksess- og modifiseringstider" +msgstr "Oppdater tilgangs- og endringstidspunkt for FIL" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" -msgstr "" +msgstr "Kjør valgt KOMMANDO" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" -msgstr "" +msgstr "Fjern FIL-lenke" -#: tests/genfile.c:244 -#, fuzzy, c-format +#: tests/genfile.c:249 +#, c-format msgid "Invalid size: %s" -msgstr "Ugyldig datoformat «%s»" +msgstr "%s er en ugyldig størrelse" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" -msgstr "" +msgstr "%s er utenfor tillatt rekkevidde" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" -msgstr "" +msgstr "Negativ størrelse: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" -msgstr "" +msgstr "stat(%s) mislyktes" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" -msgstr "" +msgstr "forespurt fillengde: %lu . Virkelig: %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" -msgstr "" +msgstr "opprettet fil har ikke huller" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" -msgstr "" +msgstr "feil ved analyse av tall ved «%s»" -#: tests/genfile.c:367 -#, fuzzy, c-format +#: tests/genfile.c:376 +#, c-format msgid "Unknown date format" -msgstr "Unkjent systemfeil" +msgstr "Ukjent datoformat" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" -msgstr "" +msgstr "[ARG…]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 -#, fuzzy, c-format +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 +#, c-format msgid "cannot open `%s'" -msgstr "Kan ikke åpne %s" +msgstr "klarte ikke Ã¥ Ã¥pne «%s»" -#: tests/genfile.c:434 -#, fuzzy +#: tests/genfile.c:443 msgid "cannot seek" -msgstr "Kan ikke eksekvere %s" +msgstr "klarte ikke Ã¥ søke" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" -msgstr "" +msgstr "filnavn inneholder null-tegn" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" +"filer med huller kan ikke sendes til standardutdata. Bruk valget «--file»" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" -msgstr "" +msgstr "ugyldig maske (ved «%s»)" -#: tests/genfile.c:602 tests/genfile.c:635 -#, fuzzy, c-format +#: tests/genfile.c:670 tests/genfile.c:703 +#, c-format msgid "Unknown field `%s'" -msgstr "Ukjent mønster «%s»" +msgstr "Feltet «%s» er ukjent" -#: tests/genfile.c:662 -#, fuzzy, c-format +#: tests/genfile.c:730 +#, c-format msgid "cannot set time on `%s'" -msgstr "Kan ikke gjøre «stat» på %s" +msgstr "Klarte ikke Ã¥ endre tid pÃ¥ «%s»" -#: tests/genfile.c:692 -#, fuzzy, c-format +#: tests/genfile.c:760 +#, c-format msgid "cannot truncate `%s'" -msgstr "Kan ikke utføre «stat» på filen %s" +msgstr "Klarte ikke Ã¥ avkorte «%s»" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" -msgstr "" +msgstr "kommando mislyktes: %s" -#: tests/genfile.c:706 -#, fuzzy, c-format +#: tests/genfile.c:774 +#, c-format msgid "cannot unlink `%s'" -msgstr "Kan ikke lese link %s" +msgstr "Klarte ikke Ã¥ fjerne lenke til «%s»" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" -msgstr "" +msgstr "Kommandoen avsluttet uten problemer\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" -msgstr "" +msgstr "Kommandoen mislyktes med status %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" -msgstr "" +msgstr "Kommandoen avsluttet med signal %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" -msgstr "" +msgstr "Kommandoen stoppet med signal %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" -msgstr "" +msgstr "Kommandoen dumpet kjernen\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" -msgstr "" +msgstr "Kommandoen avsluttet\n" -#: tests/genfile.c:879 -#, fuzzy, c-format +#: tests/genfile.c:947 +#, c-format msgid "--stat requires file names" -msgstr "--Ødelagte filnavn--\n" +msgstr "valget «--stat» krever filnavn" + +#~ msgid "same as both -p and -s" +#~ msgstr "samme som bÃ¥de «-p» og «-s»" + +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Valget --preserve er foreldet, bruk --preserve-permissions --preserve-" +#~ "order i stedet" + +#~ msgid "--occurrence cannot be used with %s" +#~ msgstr "--occurrence kan ikke brukes sammen med %s" + +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "Kan ikke kombinere --listed-incremental med --never" + +#~ msgid "--verify cannot be used with %s" +#~ msgstr "--verify kan ikke brukes sammen med %s" + +#~ msgid "--preserve-order is not compatible with --listed-incremental" +#~ msgstr "--preserve-order er ikke kompatibel med --listed-incremental" #~ msgid "Cannot close file #%d" #~ msgstr "Kan ikke lukke fil #%d" @@ -2828,639 +2972,10 @@ msgstr "-- #~ msgstr "Kan ikke duplisere %s" #~ msgid "Cannot use compressed or remote archives" -#~ msgstr "Kan ikke bruke komprimerte arkiver eller arkiver på en annen maskin" +#~ msgstr "Kan ikke bruke komprimerte arkiver eller arkiver pÃ¥ en annen maskin" #~ msgid "Cannot open pipe" #~ msgstr "Kan ikke lage en pipe" #~ msgid "Cannot fork" -#~ msgstr "Kan ikke lage ny prosess med «fork»" - -# -#~ msgid "tar (child)" -#~ msgstr "tar (barn)" - -#~ msgid "(child) Pipe to stdin" -#~ msgstr "(barn) Pipe til stdin" - -#~ msgid "Cannot open archive %s" -#~ msgstr "Kan ikke åpne arkivet %s" - -#~ msgid "Archive to stdout" -#~ msgstr "Arkivér til stdout" - -#~ msgid "Child cannot fork" -#~ msgstr "Barnet kan ikke gjøre «fork»" - -#~ msgid "((child)) Pipe to stdout" -#~ msgstr "((barn)) Pipe til stdout" - -#~ msgid "tar (grandchild)" -#~ msgstr "tar (barnebarn)" - -#~ msgid "(grandchild) Pipe to stdin" -#~ msgstr "(barnebarn) Pipe til stdin" - -#~ msgid "Cannot read from compression program" -#~ msgstr "Kan ikke lese fra komprimeringsprogrammet" - -#~ msgid "(child) Pipe to stdout" -#~ msgstr "(barn) Pipe til stdout" - -#~ msgid "((child)) Pipe to stdin" -#~ msgstr "((barn)) Pipe til stdin" - -#~ msgid "(grandchild) Pipe to stdout" -#~ msgstr "(barnebarn) Pipe til stdout" - -#~ msgid "Write to compression program short %d bytes" -#~ msgstr "Skrev %d bytes for lite til komprimeringsprogrammet" - -#~ msgid "Could not allocate memory for blocking factor %d" -#~ msgstr "Kunne ikke allokere minne for blokk-faktor %d" - -#~ msgid "Only wrote %u of %u bytes to %s" -#~ msgstr "Skrev bare %u av %u bytes til %s" - -#~ msgid "Read error on %s" -#~ msgstr "Lesefeil på %s" - -#~ msgid "Reading %s\n" -#~ msgstr "Leser %s\n" - -#~ msgid "WARNING: No volume header" -#~ msgstr "ADVARSEL: Manglende volumhode" - -#~ msgid "Only read %d bytes from archive %s" -#~ msgstr "Leste bare %d bytes fra arkivet %s" - -#~ msgid "WARNING: Cannot close %s (%d, %d)" -#~ msgstr "ADVARSEL: Kan ikke lukke %s (%d, %d)" - -#~ msgid "Child died with signal %d%s" -#~ msgstr "Barnet døde med signal %d%s" - -#~ msgid "Child returned status %d" -#~ msgstr "Barnet avsluttet med status %d" - -#~ msgid "Cannot fork!" -#~ msgstr "Kan ikke lage ny prosess med «fork»!" - -#~ msgid "Cannot exec a shell %s" -#~ msgstr "Kan ikke eksekvere et shell %s" - -# -#~ msgid "Removing leading `/' from absolute path names in the archive" -#~ msgstr "Tar bort ledende «/» fra absolutte filnavn i arkivet" - -#~ msgid "Wrote %ld of %ld bytes to file %s" -#~ msgstr "Skrev %ld av %ld bytes til fil %s" - -#~ msgid "Read error at byte %ld, reading %d bytes, in file %s" -#~ msgstr "Lesefeil ved byte %ld ved lesing av %d bytes fra fil %s" - -#~ msgid "Amount actually written is (I hope) %d.\n" -#~ msgstr "Faktisk skrevet mengde er %d (håper jeg).\n" - -#~ msgid "Cannot add file %s" -#~ msgstr "Kan ikke legge til fil %s" - -#~ msgid "Cannot add directory %s" -#~ msgstr "Kan ikke legge til filkatalogen %s" - -#~ msgid "Cannot open directory %s" -#~ msgstr "Kan ikke åpne filkatalogen %s" - -#~ msgid "File name %s%s too long" -#~ msgstr "Filnavnet %s%s er for langt" - -#~ msgid "Could not allocate memory for diff buffer of %d bytes" -#~ msgstr "Kunne ikke allokere minne for diff-buffer på %d bytes" - -#~ msgid "Cannot read %s" -#~ msgstr "Kan ikke lese %s" - -#~ msgid "Data differs" -#~ msgstr "Data er ulike" - -#~ msgid "File does not exist" -#~ msgstr "Filen eksisterer ikke" - -#~ msgid "Not a regular file" -#~ msgstr "Ikke en vanlig fil" - -#~ msgid "Error while closing %s" -#~ msgstr "Feil ved lukking av %s" - -#~ msgid "Does not exist" -#~ msgstr "Eksisterer ikke" - -#~ msgid "No such file or directory" -#~ msgstr "Fil eller filkatalog finnes ikke" - -#~ msgid "Mode or device-type changed" -#~ msgstr "Modus eller enhetstype er endret" - -#~ msgid "No longer a directory" -#~ msgstr "Ikke lenger en filkatalog" - -#~ msgid "Cannot open file %s" -#~ msgstr "Kan ikke åpne filen %s" - -#~ msgid "Cannot seek to %ld in file %s" -#~ msgstr "Kan ikke søke til posisjon %ld i filen %s" - -#~ msgid "Could not rewind archive file for verify" -#~ msgstr "Kunne ikke gå til begynnelsen av arkivfilen for verifisering" - -#~ msgid "Could not re-position archive file" -#~ msgstr "Kunne ikke endre posisjon i arkivfilen" - -#~ msgid "%s: Cannot lchown to uid %d gid %d" -#~ msgstr "%s: Kan ikke endre eier til uid %d gid %d med lchown()" - -#~ msgid "%s: Cannot chown to uid %d gid %d" -#~ msgstr "%s: Kan ikke endre eier til uid %d gid %d med chown()" - -#~ msgid "%s: Could not write to file" -#~ msgstr "%s: Kunne ikke skrive til filen" - -#~ msgid "%s: Could not create file" -#~ msgstr "%s: Kunne ikke lage fil" - -#~ msgid "%d at %d\n" -#~ msgstr "%d ved %d\n" - -#~ msgid "%s: Error while closing" -#~ msgstr "%s: Feil under lukking" - -#~ msgid "%s: Could not link to `%s'" -#~ msgstr "%s: Kunne ikke lage link til «%s»" - -#~ msgid "%s: Could not make node" -#~ msgstr "%s: Kunne ikke lage node" - -#~ msgid "%s: Could not make fifo" -#~ msgstr "%s: Kunne ikke lage fifo" - -#~ msgid "%s: Could not create directory" -#~ msgstr "%s: Kunne ikke lage filkatalog" - -#~ msgid "Added write and execute permission to directory %s" -#~ msgstr "Satte skrive- og eksekveringsrettigheter for filkatalog %s" - -#~ msgid "Visible long name error" -#~ msgstr "Feil på et langt navn" - -#~ msgid "Could not get current directory: %s" -#~ msgstr "Kunne ikke finne navnet på aktiv filkatalog: %s" - -#~ msgid "File name %s/%s too long" -#~ msgstr "Filnavnet %s/%s er for langt" - -#~ msgid "Cannot chdir to %s" -#~ msgstr "Kan ikke gå til filkatalogen %s" - -#~ msgid "Error while deleting %s" -#~ msgstr "Feil ved sletting av %s" - -#~ msgid "Hmm, this doesn't look like a tar archive" -#~ msgstr "Hmm, dette ser ikke ut som et tar-arkiv" - -#~ msgid "Skipping to next file header" -#~ msgstr "Hopper til neste filhode" - -#~ msgid "EOF in archive file" -#~ msgstr "Filslutt i arkivfilen" - -#~ msgid "Only wrote %ld of %ld bytes to file %s" -#~ msgstr "Skrev bare %ld av %ld bytes til filen %s" - -#~ msgid "Visible longname error" -#~ msgstr "Feil på et langt navn" - -#~ msgid "Symlinked %s to %s" -#~ msgstr "%s symbolsk linket til %s" - -#~ msgid "Unknown demangling command %s" -#~ msgstr "Ukjent kommando %s ved rekonstruering av navn" - -#~ msgid "Missing file name after -C" -#~ msgstr "Mangler filnavn etter -C" - -#~ msgid "rmtd: Cannot allocate buffer space\n" -#~ msgstr "rmtd: Kan ikke allokere buffer\n" - -#~ msgid "Cannot allocate buffer space" -#~ msgstr "Kan ikke allokere plass til buffer" - -#~ msgid "Premature end of file" -#~ msgstr "For tidlig filslutt" - -#~ msgid "rmtd: Garbage command %c\n" -#~ msgstr "rmtd: Ugyldig kommando %c\n" - -#~ msgid "" -#~ "GNU `tar' saves many files together into a single tape or disk archive, " -#~ "and\n" -#~ "can restore individual files from the archive.\n" -#~ msgstr "" -#~ "GNU «tar» lagrer mange filer i ett arkiv, og kan hente ut enkeltstående\n" -#~ "filer fra arkivet.\n" - -#~ msgid "" -#~ "\n" -#~ "Usage: %s [OPTION]... [FILE]...\n" -#~ msgstr "" -#~ "\n" -#~ "Bruk: %s [FLAGG]... [FIL]...\n" - -#~ msgid "" -#~ "\n" -#~ "If a long option shows an argument as mandatory, then it is mandatory\n" -#~ "for the equivalent short option also. Similarly for optional arguments.\n" -#~ msgstr "" -#~ "\n" -#~ "Dersom et langt flagg har et obligatorisk argument, er argumentet også\n" -#~ "obligatorisk for det korte flagget. Tilsvarende gjelder dersom " -#~ "argumentet\n" -#~ "kan sløyfes.\n" - -#~ msgid "" -#~ "\n" -#~ "Main operation mode:\n" -#~ " -t, --list list the contents of an archive\n" -#~ " -x, --extract, --get extract files from an archive\n" -#~ " -c, --create create a new archive\n" -#~ " -d, --diff, --compare find differences between archive and file " -#~ "system\n" -#~ " -r, --append append files to the end of an archive\n" -#~ " -u, --update only append files newer than copy in archive\n" -#~ " -A, --catenate append tar files to an archive\n" -#~ " --concatenate same as -A\n" -#~ " --delete delete from the archive (not on mag tapes!)\n" -#~ msgstr "" -#~ "\n" -#~ "Hovedoperasjonsmodi:\n" -#~ " -t, --list list innholdet av arkivet\n" -#~ " -x, --extract, --get ekstrahér filer fra arkivet\n" -#~ " -c, --create lage et nytt arkiv\n" -#~ " -d, --diff, --compare vise forskjeller mellom arkivet og filsystemet\n" -#~ " -r, --append legg til filer på slutten av arkivet\n" -#~ " -u, --update legg til bare filer som er nyere enn de i " -#~ "arkivet\n" -#~ " -A, --catenate legg en arkivfil sammen med arkivet\n" -#~ " --concatenate samme som -A\n" -#~ " --delete slett fra arkivet (ikke for arkiv på bånd!)\n" - -#~ msgid "" -#~ "\n" -#~ "Operation modifiers:\n" -#~ " -W, --verify attempt to verify the archive after writing " -#~ "it\n" -#~ " --remove-files remove files after adding them to the " -#~ "archive\n" -#~ " -k, --keep-old-files don't overwrite existing files when " -#~ "extracting\n" -#~ " -U, --unlink-first remove each file prior to extracting over " -#~ "it\n" -#~ " --recursive-unlink empty hierarchies prior to extracting " -#~ "directory\n" -#~ " -S, --sparse handle sparse files efficiently\n" -#~ " -O, --to-stdout extract files to standard output\n" -#~ " -G, --incremental handle old GNU-format incremental backup\n" -#~ " -g, --listed-incremental handle new GNU-format incremental backup\n" -#~ " --ignore-failed-read do not exit with nonzero on unreadable " -#~ "files\n" -#~ msgstr "" -#~ "\n" -#~ "Flagg for operasjonsmodi:\n" -#~ " -W, --verify forsøk å verifisere arkivet etter å ha laget " -#~ "det\n" -#~ " --remove-files slett filer etter å ha lagt dem til arkivet\n" -#~ " -k, --keep-old-files ikke overskriv eksisterende filer\n" -#~ " -U, --unlink-first slett alle filer før ekstrahering til dem\n" -#~ " --recursive-unlink tøm filkataloger før ekstrahering\n" -#~ " -S, --sparse håndtér filer med hull mer effektivt\n" -#~ " -O, --to-stdout ekstrahér filer til stdout\n" -#~ " -G, --incremental bruk det gamle GNU formatet for " -#~ "inkrementell\n" -#~ " sikkerhetskopiering\n" -#~ " -g, --listed-incremental bruk det nye GNU-formatet for inkrementell\n" -#~ " sikkerhetskopiering\n" -#~ " --ignore-failed-read ignorér feil under lesing av filer\n" - -#~ msgid "" -#~ "\n" -#~ "Handling of file attributes:\n" -#~ " --owner=NAME force NAME as owner for added files\n" -#~ " --group=NAME force NAME as group for added files\n" -#~ " --mode=CHANGES force (symbolic) mode CHANGES for added " -#~ "files\n" -#~ " --atime-preserve don't change access times on dumped files\n" -#~ " -m, --modification-time don't extract file modified time\n" -#~ " --same-owner try extracting files with the same " -#~ "ownership\n" -#~ " --numeric-owner always use numbers for user/group names\n" -#~ " -p, --same-permissions extract all protection information\n" -#~ " --preserve-permissions same as -p\n" -#~ " -s, --same-order sort names to extract to match archive\n" -#~ " --preserve-order same as -s\n" -#~ " --preserve same as both -p and -s\n" -#~ msgstr "" -#~ "\n" -#~ "Håndtering av filattributter:\n" -#~ " --owner=NAVN bruk NAVN som eier for nye filer\n" -#~ " --gruppe=NAVN bruk NAVN som gruppe for nye filer\n" -#~ " --mode=OKTAL bruk OKTAL som modus for nye filer\n" -#~ " --atime-preserve ikke endre aksesstider på lagrede filer\n" -#~ " -m, --modification-time ikke ekstrahér modifiseringstiden\n" -#~ " --same-owner forsøk å ekstrahere filer med samme eier\n" -#~ " --numeric-owner bruk nummer for bruker/gruppe-navn\n" -#~ " -p, --same-permissions forsøk å ekstrahere filer med samme\n" -#~ " filbeskyttelse\n" -#~ " --preserve-permissions samme som -p\n" -#~ " -s, --same-order sorter navn som skal ekstraheres slik at\n" -#~ " de passer med arkivet\n" -#~ " --preserve-order samme som -s\n" -#~ " --preserve samme som både -p og -s\n" - -#~ msgid "" -#~ "\n" -#~ "Device selection and switching:\n" -#~ " -f, --file=ARCHIVE use archive file or device ARCHIVE\n" -#~ " --force-local archive file is local even if has a " -#~ "colon\n" -#~ " --rsh-command=COMMAND use remote COMMAND instead of rsh\n" -#~ " -[0-7][lmh] specify drive and density\n" -#~ " -M, --multi-volume create/list/extract multi-volume " -#~ "archive\n" -#~ " -L, --tape-length=NUM change tape after writing NUM x 1024 " -#~ "bytes\n" -#~ " -F, --info-script=FILE run script at end of each tape (implies -" -#~ "M)\n" -#~ " --new-volume-script=FILE same as -F FILE\n" -#~ " --volno-file=FILE use/update the volume number in FILE\n" -#~ msgstr "" -#~ "\n" -#~ "Enhetsvalg og enhetsskifte:\n" -#~ " -f, --file=ARKIV bruk arkivfil eller enhet ARKIV\n" -#~ " --force-local arkivfil er lokal selv om den har et " -#~ "kolon\n" -#~ " --rsh-command=KOMMANDO bruk KOMMANDO i stedet for rsh\n" -#~ " -[0-7][lmh] angi enhet og tetthet\n" -#~ " -M, --multi-volume behandle arkivet som et flervolumsarkiv\n" -#~ " -L, --tape-length=NUMMER bytt bånd etter at NUMMER x 1024 bytes " -#~ "er\n" -#~ " skrevet\n" -#~ " -F, --info-script=FIL kjør kommandofil FIL ved slutten av " -#~ "hvert\n" -#~ " bånd (setter -M automatisk)\n" -#~ " --new-volume-script=FIL samme som -F FIL\n" -#~ " --volno-file=FIL bruk/oppdater volumnummeret i FIL\n" - -#~ msgid "" -#~ "\n" -#~ "Device blocking:\n" -#~ " -b, --blocking-factor=BLOCKS BLOCKS x 512 bytes per record\n" -#~ " --record-size=SIZE SIZE bytes per record, multiple of 512\n" -#~ " -i, --ignore-zeros ignore zeroed blocks in archive (means " -#~ "EOF)\n" -#~ " -B, --read-full-records reblock as we read (for 4.2BSD pipes)\n" -#~ msgstr "" -#~ "\n" -#~ "Blokkhåndtering:\n" -#~ " -b, --blocking-factor=ENHETER sett blokkstørrelse ENHETER x 512 bytes\n" -#~ " --record-size=STØRRELSE STØRRELSE bytes per enhet (delbart på " -#~ "512)\n" -#~ " -i, --ignore-zeros ignorér blokker som inneholder nuller\n" -#~ " (betyr filslutt)\n" -#~ " -B, --read-full-records blokk om ved lesing (for 4.2BSD pipes)\n" - -# -#~ msgid "" -#~ "\n" -#~ "Archive format selection:\n" -#~ " -V, --label=NAME create archive with volume name " -#~ "NAME\n" -#~ " PATTERN at list/extract time, a globbing " -#~ "PATTERN\n" -#~ " -o, --old-archive, --portability write a V7 format archive\n" -#~ " --posix write a POSIX conformant archive\n" -#~ " -z, --gzip, --ungzip filter the archive through gzip\n" -#~ " -Z, --compress, --uncompress filter the archive through compress\n" -#~ " --use-compress-program=PROG filter through PROG (must accept -" -#~ "d)\n" -#~ msgstr "" -#~ "\n" -#~ "Valg av arkivformat:\n" -#~ " -V, --label=NAVN lag et arkiv med volumnavn NAVN\n" -#~ " MØNSTER filer som skal tas med ved listing " -#~ "eller\n" -#~ " ekstrahering (tillatt med " -#~ "jokertegn)\n" -#~ " -o, --old-archive, --portability lag et arkiv i V7 format\n" -#~ " --posix lag et POSIX-konformt arkiv\n" -#~ " -z, --gzip, --ungzip send arkivet gjennom gzip\n" -#~ " -Z, --compress, --uncompress send arkivet gjennom compress\n" -#~ " --use-compress-program=PROG send arkivet gjennom PROG (må forstå " -#~ "-d)\n" - -# -#~ msgid "" -#~ "\n" -#~ "Local file selection:\n" -#~ " -C, --directory=DIR change to directory DIR\n" -#~ " -T, --files-from=NAME get names to extract or create from file " -#~ "NAME\n" -#~ " --null -T reads null-terminated names, disable -" -#~ "C\n" -#~ " --exclude=PATTERN exclude files, given as a globbing " -#~ "PATTERN\n" -#~ " -X, --exclude-from=FILE exclude globbing patterns listed in FILE\n" -#~ " -P, --absolute-names don't strip leading `/'s from file names\n" -#~ " -h, --dereference dump instead the files symlinks point to\n" -#~ " --no-recursion avoid descending automatically in " -#~ "directories\n" -#~ " -l, --one-file-system stay in local file system when creating " -#~ "archive\n" -#~ " -K, --starting-file=NAME begin at file NAME in the archive\n" -#~ msgstr "" -#~ "\n" -#~ "Valg av lokale filer:\n" -#~ " -C, --directory=KATALOG endre filkatalog til KATALOG\n" -#~ " -T, --files-from=FIL hent navn for ekstrahering eller " -#~ "arkivering\n" -#~ "\t\t\t fra filen FIL\n" -#~ " --null -T leser null-terminerte navn, tillater " -#~ "ikke -C\n" -#~ " --exclude=MØNSTER ta ikke med filer (tillatt med jokertegn)\n" -#~ " -X, --exclude-from=FIL ta ikke med filer navngitte i filen FIL\n" -#~ " (tillatt med jokertegn)\n" -#~ " -P, --absolute-names ta ikke bort ledende «/» fra filnavn\n" -#~ " -h, --dereference arkivér det symboliske linker peker på\n" -#~ " --no-recurse ta ikke med filer i underkataloger\n" -#~ " -l, --one-file-system ta ikke med filer fra andre filsystemer\n" -#~ " -K, --starting-file=NAVN begynn med filen NAVN i arkivet\n" - -# -#~ msgid "" -#~ " -N, --newer=DATE only store files newer than DATE\n" -#~ " --newer-mtime compare date and time when data changed " -#~ "only\n" -#~ " --after-date=DATE same as -N\n" -#~ msgstr "" -#~ " -N, --newer=DATO arkivér bare filer som er nyere enn DATO\n" -#~ " --newer-mtime sammenlign tidsstempel bare når data er " -#~ "endret\n" -#~ " --after-date=DATO samme som -N\n" - -#~ msgid "" -#~ " --backup[=CONTROL] backup before removal, choose version " -#~ "control\n" -#~ " --suffix=SUFFIX backup before removel, override usual " -#~ "suffix\n" -#~ msgstr "" -#~ " --backup[=KONTROLL] lag sikkerhetskopi før sletting, med\n" -#~ " versjonskontroll\n" -#~ " --suffix=SUFFIKS lag sikkerhetskopi før sletting, med\n" -#~ " overstyring av det vanlige suffikset\n" - -#~ msgid "" -#~ "\n" -#~ "Informative output:\n" -#~ " --help print this help, then exit\n" -#~ " --version print tar program version number, then exit\n" -#~ " -v, --verbose verbosely list files processed\n" -#~ " --checkpoint print directory names while reading the archive\n" -#~ " --totals print total bytes written while creating archive\n" -#~ " -R, --block-number show block number within archive with each " -#~ "message\n" -#~ " -w, --interactive ask for confirmation for every action\n" -#~ " --confirmation same as -w\n" -#~ msgstr "" -#~ "\n" -#~ "Utskrift av informasjon:\n" -#~ " --help vis denne hjelpeteksten og avslutt\n" -#~ " --version vis programversjon og avslutt\n" -#~ " -v, --verbose vis hver fil som behandles\n" -#~ " --checkpoint vis filkatalognavn når arkivet leses\n" -#~ " --totals vis totalt antall bytes skrevet\n" -#~ " -R, --block-number vis enhetsnummer i arkivet sammen med alle " -#~ "meldinger\n" -#~ " -w, --interactive spør etter bekreftelse for hver operasjon\n" -#~ " --confirmation samme som -w\n" - -#~ msgid "" -#~ "\n" -#~ "GNU tar cannot read nor produce `--posix' archives. If POSIXLY_CORRECT\n" -#~ "is set in the environment, GNU extensions are disallowed with `--posix'.\n" -#~ "Support for POSIX is only partially implemented, don't count on it yet.\n" -#~ "ARCHIVE may be FILE, HOST:FILE or USER@HOST:FILE; and FILE may be a file\n" -#~ "or a device. *This* `tar' defaults to `-f%s -b%d'.\n" -#~ msgstr "" -#~ "\n" -#~ "GNU tar kan hverken lese eller skrive «--posix»-arkiver. Dersom\n" -#~ "miljøvariabelen POSIXLY_CORRECT er satt, er GNU-funksjoner ikke tillatt\n" -#~ "sammen med «--posix». Støtte for POSIX er bare delvis implementert, så\n" -#~ "stol ikke på den ennå.\n" -#~ "ARKIV kan være FIL, MASKIN:FIL eller BRUKER@MASKIN:FIL; og FIL kan være " -#~ "en\n" -#~ "fil eller en enhet. *Denne* versjonen av tar har «-f%s -b%d» som " -#~ "forvalg.\n" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to .\n" -#~ msgstr "" -#~ "\n" -#~ "Rapporter feil til .\n" - -#~ msgid "Obsolete option, now implied by --blocking-factor" -#~ msgstr "Utdatert flagg, nå implisert av --blocking-factor" - -#~ msgid "Obsolete option name replaced by --blocking-factor" -#~ msgstr "Utdatert flagg skiftet ut med --blocking-factor" - -#~ msgid "Obsolete option name replaced by --read-full-records" -#~ msgstr "Utdatert flagg skiftet ut med --read-full-records" - -#~ msgid "Obsolete option name replaced by --touch" -#~ msgstr "Utdatert flagg skiftet ut med --touch" - -#~ msgid "Conflicting archive format options" -#~ msgstr "Konflikt i flaggene for arkiv-format" - -#~ msgid "Obsolete option name replaced by --absolute-names" -#~ msgstr "Utdatert flagg skiftet ut med --absolute-names" - -#~ msgid "Obsolete option name replaced by --block-number" -#~ msgstr "Utdatert flagg skiftet ut med --block-number" - -# -#~ msgid "Obsolete option name replaced by --backup" -#~ msgstr "Utdatert flagg skiftet ut med --backup" - -#~ msgid "Invalid group given on option" -#~ msgstr "Ugyldig gruppe gitt i flagg" - -#~ msgid "" -#~ "\n" -#~ "Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, " -#~ "Inc.\n" -#~ msgstr "" -#~ "\n" -#~ "Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, " -#~ "Inc.\n" - -#~ msgid "" -#~ "This is free software; see the source for copying conditions. There is " -#~ "NO\n" -#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " -#~ "PURPOSE.\n" -#~ msgstr "" -#~ "Dette er fri programvare. Se kildekoden for kopieringsbetingelser.\n" -#~ "Programvaren har ingen garanti, ikke en gang for SALGBARHET eller " -#~ "EGNETHET\n" -#~ "TIL NOEN SPESIELL OPPGAVE.\n" - -#~ msgid "" -#~ "\n" -#~ "Written by John Gilmore and Jay Fenlason.\n" -#~ msgstr "" -#~ "\n" -#~ "Skrevet av John Gilmore and Jay Fenlason.\n" - -#~ msgid "Error exit delayed from previous errors" -#~ msgstr "Utsatt feil-avslutning for tidligere feil" - -#~ msgid "" -#~ "If a long option shows an argument as mandatory, then it is mandatory\n" -#~ "for the equivalent short option also.\n" -#~ "\n" -#~ " -l, --file-length=LENGTH LENGTH of generated file\n" -#~ " -p, --pattern=PATTERN PATTERN is `default' or `zeros'\n" -#~ " --help display this help and exit\n" -#~ " --version output version information and exit\n" -#~ msgstr "" -#~ "Obligatoriske argumenter for lange flagg er obligatoriske også for korte " -#~ "flagg.\n" -#~ "\n" -#~ " -l, --file-length=LENGDE lengde av generert fil\n" -#~ " -p, --pattern=MØNSTER gyldige mønster er «default» eller «zeros»\n" -#~ " --help vis denne hjelpeteksten og avslutt\n" -#~ " --version vis programversjon og avslutt\n" - -#~ msgid "" -#~ "\n" -#~ "Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.\n" -#~ msgstr "" -#~ "\n" -#~ "Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.\n" - -#~ msgid "" -#~ "\n" -#~ "Written by François Pinard .\n" -#~ msgstr "" -#~ "\n" -#~ "Skrevet av François Pinard \n" +#~ msgstr "Kan ikke lage ny prosess med «fork»" diff --git a/po/nl.gmo b/po/nl.gmo index 271ff4de56fa2cb134087c92ff84338923390239..8e140ee1944c26cd96beaa2d9f58012508c8f92c 100644 GIT binary patch delta 15425 zcmbW-2Yggj-v99%LX!@mw_FGz2@ps~LJ2K_gkD1c5d|m7Kn9YTkeL8db`Y?mf)P;^ z#bxcfpo3yT1iK)1QCURAMzJ?sL47{oIVZ|K|NZa(`9JryhxhrNd+)iY54!$-D0bJk zvEd^vYHx^f9A{iD$4SG>TR2W!tmAyx&2d!TE8Uoh14z0`upN4FABM3dj_vC>b#V^5 zI2YsbGHir*S$E)N#C!WXVW%~jF&U228!xn8i;2X$u{nN%arhIekqt5(rz;M^Q8*iE zuX86h#{Jk4-@`um6RIKIvv>zbVtZVb6*eE(OhFq8wqYxL0h{6b*crdV?%24W>1ifr z6OTbPWDW8^=Pv%3jYm))7}DQy+TyvGf(ub2aWj_S-C;7l$TS{c8jy{Qj#Ge)s&fg_ zcxNXj;1^hg%?3Krkqe?4cqJ~vdr%E>Y28p9flYB0x_BM7zzFI);pfRDlldpAg0*;dqu9728YB&vZ82AhTr#xBGcq8hvk>6^0?HML)(>hC;+b%LXj=fh4l znGO^@jGFV;u??O=jZ9Oz(Fq5m;`6MRVG{8UOvS_KVuN9(Lp`m9*q-tgsGi@5dhb5$ z#P^*y$;4Cet+jcM`CvN6P(I1VQ;?0}1W+RsMD_Fr)T-Z)?eGn3f?rrqqdwdq*Ni|X zWbm9(*p2TytI24n??$cG!`4Q_O^*kodf>yJxCS-!+p#kqMFz`>8Nn#wFw_VxM>Xtv ztcN$FzOxnc@f{3nPCDf|4h!5Fg)9SS1!|}tMXilbQ9WzITiq}jTjK=O$dzEUVK|a_ zJL*HHum|>}uq#eSedi*qi`zyr{+ioID9{>s3$?$$LG_>un_Dd(Xw9{bL8jZ8g57Z) zs$n}(A3lsTvDs)-?|jsAm!cZ}0CvG=M>GCv`DeDE#Tc`iGf^!*7hB>o?1<}7L;e7& z;V)wxo$zVmRDmdycPAq9hiV`p&I_=aLC@IuBUA;o zCpbN)AP4JGo{wtSc+?1$A+sEIR+G`(?L+nKYix@R zCYhr-0a-^*7J6bBI@E{XpKKc1Y>Mf5Z){3=9%`xzaTqSd;rJlt;18&tXB9Y3L+$?= zWD+STM!k3irsAEbDR~RE7>{8Kbf%gQ#-VzYf|~0w=;CZtJz>;Trolc$YWNka$OkK8h4))>x8tjKVP(441I`QIW zm~A@=lZmgH!T4v9*-3$h{7X#14(FN==3|h!0(0>bRKvQnxiw;gP$M%98{u5k2nA6M zUWe-76R3{u!Jha6HplO0GXAZ|)H%;Ax(=ucGf_jBk9yH-EyFs*LDZVL2(@@`!~Xaz zs)1*)4K|-;wqXkPCZ2$5z;aB-yTfF(C=Q|K@;GV^&!CI7&o@($i0VlmYL$;ceP|}O zLqF;Rmtzj@M9uNfsFA39fjOGfQQujDdM|txnKUwYpn7x=^Y9Gv`{3lxHjC&I)LcG< z>e(SwMc-j-tTV?f-j1k-rlCeI%f^FkoQoR4(b$3SI}^#YrC>g4wXQ}@$#!({dDPr~ zj`8>dssSx8G(GEu8qyiq9ap19=w4iik7H---!!LG!0 zi_H+Fptj`*)Y_O~<5Faro#m+2{tjvvH7Vhg!}h2lo`-7q#i%K}9qGCA2*&Y!=M6II z@n@(ZJ%junIZeH$r{|(xtU!I>64aEfM-B1Q$PRN}LVkZ7cdm)&qu$$#8F&!2JsZq3 zYb+bXYRPai+J3W9bGa5ZWLr@^e;T#84%+*5O3i-mh^qKpRK;siQ?Uz^@E9gwGoKlO zOw{)ZQBzdmWBv=stfW9g_9mW#?tEhptV5h>&Bhqw9L&ezn1Yw1KKKxJ#6y^fr%)Z~ zw1B^u;$YMo+l*R6`xY?%>fuoe^ukZ5o^~uVBQnl<5o$5rg_+o{-27@zM15c;>cdM= z2igW4j{8yDyNTbdole-0xHqZ+*jTJ0GXY(bok$+#EW;|cU)9lGBW7oaNIh<)&W z)apNsJut4)EY6{*`vDw`x8YDdhiX`dV07xj&S)~aQHd@-h??6stZhSPC}*P@b~~oy zKGX-!U^DDhWqt*R;0)qfI0_@EhMz_)#-v52LE|u!_2*npMnn80YM*|9>dEgm?y=b1 zAB+7cFT+l_6w`Fk z_-$0rlsJUE)YRES0yO>8Dv%>6_k*Hm=47E)+;Wm7F1>--EOyyt9 zKE5B-!h@(D)M9wLV-mK)iTEj&V9OZ(L2{)z)8|}l=DY-RxW5avHhx8I>(o_dkxxZ6 zcoAxbYSOhhKABV|k$bZCk=w4#tY^xXbp>?Piw_qK74eR1T9D?to-tTa!8L=#E zL3}>;#sFS`x1zpx1~n4lq{~dt3$1^_uH3jA`{RD>hOw8MRh^9L$yiLp6{!1LF&~_X;3%R`+2CToQ$_&33k-}uYIklu#0sX_TYglur=<$Hn<-% z@ncj^+paUKd;s<)UV&O0_hSOShdSUiKASs zKaGPiV}m)GD^NY$hUeiCOu>OSm=m!WS-;LE?1S+e8D^Y>O>qlq#I|D#d<_TT#~T^{ z=nFTRMKlS!a3h3jzzvv-Z=zmob(5KzWK{W7?28*v9eEK4;7_O#>9fgnXeny7KZMip z15^jHZf5*Dl9_X}S+&ct9q|LG2VOum=v&OfxLZv580=0QM6H!gs9o?JCgBNdi_Ip^ z#+H;9VFoTnE$;imWIB*}-TI~VoLkL5?cUq)sqnMdpcKcXtm*kTq<1*&Hc;xIgjnb`VvGcx0F6mdC@ z$A_^K*7~d2#xB+)?v8`7H!i^WI8gilAQ?5F*;ezxNvNZA9coT@VQV~rYH`fp%z=`I z{fH-Ff4mf@<8I8uR(F`Sa2~3jY8;JwQ4MNvr|Jo_u*hgG(@{M?H+q9bg*rHPV13+! zb@3$}gRh~sYx}!Q14dvP@iHvH`!ODW$8?Op+pM)I*qzvq>3rYWKqeVqKrOm&a0s@) z$2@p0b|DU8&N;ttdzJA`fV1ggie_nY04fIW$4qDJ5n)YR-mP2HLM8UJ(0 zWISLN)e!7KT#5S7X4J^Mf-CV9s%K07Zq~w8IGXrz)CXd>nYEOK^@u}QAD5$xm!L-M zPSi;3-p2TAHP_j0<|f-Z1NC4CFT}NYMGXIf0=0@4KV+VdptkR8sD^!EXVqTmBs;5ZB*n z4w_!5DIAFEND1nLn^E=b#D;hP>uUeMM@Dn?p(${VVRPcIQHv?&QL`JmU@Gw()LdVU z`p{F>6F7{x)njH&OhYZcTT#1dALe8I$ITQ>#KGGCOUU%)#>1!{9>YG^>Iwdai}^SX zA3+yu?J_4^0=6a2MGftFsF9hE{V|NSaVOGKXBTR!pFxepci5iqJN2J5bC!U*k&l|Q zS*Vd&joOY^p;q&H)b`tiX}AXm;kOuvsk==>b5SEygxPpCYB#-zgYjDoHzCveDRaaQ zL4B|gwHVJw7sIG+x&`C$UesdShnoAZt#NzI&uf3|Ncq*MDZ3YE;k&2?X6`lhjNZ%m zXHrl~frfrFj>3JYA#d@tnbX-Aol8{1_MtxTB`(AU&zOIBU5*-|&ru!u#`-fhAa*WgKP zhZWD84_}FD*gAYUhW|4vOh$9!ebH2W4QkGIp?dl`s=@{@nS-VWb|xN)^U#a^@BlW( z+WX9}U<*tl_Mz6udTfnPqZaLZsI?aUj*MDZf4@1wy5e-=EL8bg)Pr}T=57~iq+Y{w zu*u8(TTpC^&E7Cmkc$Cg9}dO$FcI6n$q4X$XDAs} zGzYaC)}UJa80O+(d;mMYWqSNFYUpF%HY3#-yAY>i4o<~FydGQNacqfausJqAXc~}! zVZAuU7A(Nl#OqOWe>bM$)7Tfk!N!>IPV}GMoOD!t3AV;+8{dmL#E+uZz&}w_+TvX^ zh5ay}c*?tse=?bk6qMs0)CYUNXGY+BoJJf*&H3Bd7F!)M74*i5#39s>K7#}CIF81I zf0%zYQ-)fc+i(D$!5qvw%=ix?v*@sytA}tb@gZyC`{p33z&@1kLXE^1s6`on#5Cx9 z%p$JBDR>`_!e6l`=6_%o<3j9Dd?Tu!*TQ7fP^QK;tNr0;z}ED!yMxGP(#`N zBlFx)>_=RR8F(AI_$GG7A8;tf9X0n0P$P3GYUIMNlF1{}`D1eg7o&Q*4rk#W)R1=k z#58C+YB4QCeRv&a;tQw)=M1Vt-99zDpa3-jt8oNw!w&d8vN*#|)6YynS5$>Vu`5>L z7`zc(Jc{ix_H)yK&Zzqts2;9BjleFPjNhQ9GWVGI`@&k(l8?5z(IUm}8Y3AI;Jf5pWHDo91gC{WwlfN?cPe!eQ zE3q%%cb+Dbia%mDCVXvv-DYDu;$^6Py8(OPUDz7mKvjGkCt>q%%wIA+sFB)%x%evf z(fx1Dl;om1Sc%cU|KCVPbMh=|@qLKN*x);}h%!*SqyU@ZHP{Sq#UZ#2HBw(#G+ z;Qi>o2^oh!Q}#G&(bgh)Nqx!OPWgNiRsM1166@MbN+<6R^T%xjU2u`TsRtgk`Ge$x zHh%&66XZ`~Dpulhdv7-Rn{2*{{I%p4;bM{&Wz98}@=*kD;z|YjNwaY`9LW81DNn*Bc(uKEg#2}+w#37+=DNVJPQ~}zxBq5chMc0#!`y!pFT)k2$>d$qJ*0O?x+anC;hwI!q+;@a!F(*V z<(;hT>Y6L;BvF_^8cWeb*p!BhCY?tYTkw(oqzGry9il4^6W7#G`ThS+C@+4wm3T9R6kJ|#V@_5T=|M@gUa z(6gk+NtfFfy4VVyw{Zr~&9Zs2(Tg9;==Cmtp0fA)*s?o`my_>BJ@;ZZ-h}OJz0v)5 zKMz&uMN%_+;{@RW;x@#uqJEyI<3Z9oQUhXLAyR+R?FzWoaIYip)WU~|)6j=u)ODJq zU)VTO1IogKdAK>5f%buNZe)?V6E`F6COtu{UqM|-r2dq(B&{aBLYzq*-{D^3n(HI- z>q&nhT}^7hGf#0-KfAh)lKvJ$|L2n#PpZd50aDG?h0KSrlb`6OkK)#)iF4Ii2IVCL3&@~f2(~^|L0Q8)r3rl_##p)sg4!bJ?S6z z;a=qR&+_r4);!mvrV{Hdl;2CLxmuI2&vPjhMLb{SPlT<=_o22UlQUU31wWAeA#J`~a z`_t&Z>ByhY{;97LK!YHVL58@bxIp4*M*MxWv@BiuWO zlt;=W={k<}O!kjI^KI@a?uD->*hAVts*OEAr|~_E zvkh)UzBBpZq>H&1A=b5@)PuMW=@OEzHiob>l!Ct!B=XXorqFRIyN3KA%AO&AJ?V1d zY^=GSA#;rM1*zz)@{#1H*oP+B@>Mo|g*cTubu}YR)bIbzWV&+WLef0)_3@vi!=$~$ ztx3Ah;l;184dsvEBdF_T(o3XIZLG2lnrv6OUiuyc`4OdIYZAMLi%4Te0GA*wJRF7X6QT~E-~A9RyTymLKOWucTvIOmqy1ts2+s$#Dj3RI+) zc^7%h+!9}T82yeQhpL2gBv*Aw)*L2tQ5-((%BN%Q(0WhLkWXN{t^LUguAjv1fd%k|AQi_#Yi1)b>H_@C4}>i@Hb=;~sVPaiSW z_097KD($RA<}5FaiR@dkxmKIvQonCumG+Ta!lEb+xupSiX?4lUAHx5Saim9o>`8|M z!&TQ*QMsqW4*Oz1Lq2LuUNE|0qKC(SdUD#oJQ}ut zv&hXGevTROuZN)5UF7l8Yi6)2&pE#@rZFiLUqd8RB7bc@OY3*5-_n{KZ& z(eLq;NBhq4r@4xDlNHQ*F7=do{e#@4w7tZ;l%EH4Y!XHX;J=@m6LKdfMT)i@sa3x? zzeQP)Y5b^31$ou)Jp5~4otm^MdU`JQmGM0~ z zmB}2jMU`IOre-^@sdJM!Q2(#>(CEsuD+(5uR`SbY>uUM$DvKO=ETeY43HgPiC*|cw zX70YYRzrU67W?LN>Xmq_KibnKa(GW%<4$KCvUXANYZMB4{m~=$#DSAB!#FE67aotl z+(WBfei%v__9|bf!m~gH>LwG(KC`QWGEOd#7|wMLKYq{zJ2gE2#+TY=uO z!uSmdhBP(Nze$+UqBE5N9h=d)w>?xPWxf&`SN-7eHj%I1cq68*Hmh6Yo9{BgW!@4y zFdWcNy>)H~n%sIw`23m{%F_R@me0>~2Mm X28ScsK4y1ko63LxY-G*x)3N^r-S(r; delta 12730 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 xJ-K(UNBOSZ_{)$T-pEt diff --git a/po/nl.po b/po/nl.po index b4fb5e50..2efc4576 100644 --- a/po/nl.po +++ b/po/nl.po @@ -1,19 +1,19 @@ # Dutch translations for GNU tar. -# Copyright (C) 2013 Free Software Foundation, Inc. +# Copyright (C) 2016 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. # -# "Along the maize and through the woods." +# “Moet men krabben waar het jeukt?” # -# Benno Schulenberg , 2005, 2006, 2007, 2008, 2010, 2011, 2013. +# Benno Schulenberg , 2005, 2006, 2007, 2008, 2010, 2011, 2013, 2014, 2016. # Erwin Poeze , 2009. # Elros Cyriatan , 2004. -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar-1.27\n" +"Project-Id-Version: tar-1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2013-10-06 21:37+0200\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-03-18 11:44+0100\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" "Language: nl\n" @@ -23,46 +23,46 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.0\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "ongeldig argument %s van %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argument %s van %s is niet eenduidig" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Geldige argumenten zijn:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: waarde voor '%s' is kleiner of gelijk aan %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Parameter in ARGP_HELP_FMT vereist een waarde" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: Parameter in ARGP_HELP_FMT moet positief zijn" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Onbekende parameter in ARGP_HELP_FMT" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Rommel in ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -70,145 +70,150 @@ msgstr "" "Een argument dat verplicht of optioneel is voor een lange optie, is dat\n" "ook voor de overeenkomstige korte optie." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Gebruik: " -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " of: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [OPTIE...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Typ '%s --help' of '%s --usage' voor meer informatie.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "" "Rapporteer gebreken in het programma aan %s;\n" "meld fouten in de vertaling aan .\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Onbekende systeemfout" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "deze hulptekst tonen" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "een korte gebruikssamenvatting tonen" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NAAM" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "de programmanaam instellen" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SECONDEN" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "dit aantal seconden pauzeren (standaard 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "programmaversie tonen" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "**Interne programmafout**: geen versie bekend!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Te veel argumenten\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "**Interne programmafout**: optie had herkend moeten worden!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "schrijffout" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: optie '%s' is niet eenduidig; mogelijkheden zijn:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: optie '%s' is niet eenduidig\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: optie '--%s' staat geen argument toe\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: optie '%c%s' staat geen argument toe\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: optie '--%s' vereist een argument\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: onbekende optie '--%s'\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: onbekende optie '%c%s'\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ongeldige optie -- '%c'\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: optie vereist een argument -- '%c'\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: optie '-W %s' is niet eenduidig\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: optie '-W %s' staat geen argument toe\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: optie '-W %s' vereist een argument\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "onvoldoende geheugen beschikbaar" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "kan de huidige werkmap niet vastleggen" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "kan niet terugkeren naar de oorspronkelijke werkmap" @@ -234,11 +239,11 @@ msgstr "kan niet terugkeren naar de oorspronkelijke werkmap" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "‘" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "’" @@ -248,7 +253,7 @@ msgstr "’" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[jJyY]" @@ -258,16 +263,16 @@ msgstr "^[jJyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "In pakketvorm gebracht door %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "In pakketvorm gebracht door %s\n" @@ -275,11 +280,11 @@ msgstr "In pakketvorm gebracht door %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -418,24 +423,24 @@ msgstr "" "Rapporteer gebreken in het programma aan <%s>;\n" "meld fouten in de vertaling aan .\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" "Rapporteer gebreken in het programma '%s' aan <%s>;\n" "meld fouten in de vertaling aan .\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Webpagina van %s: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Webpagina van %s: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Algemene hulp bij gebruik van GNU-software: \n" @@ -602,8 +607,8 @@ msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" "Een magneetband manipuleren, en opdrachten accepteren van een ander proces." -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "AANTAL" @@ -611,10 +616,11 @@ msgstr "AANTAL" msgid "set debug level" msgstr "debug-niveau instellen" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "BESTAND" @@ -627,7 +633,7 @@ msgstr "naam van debug-uitvoerbestand instellen" msgid "cannot open %s" msgstr "kan %s niet openen" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "te veel argumenten" @@ -636,112 +642,113 @@ msgstr "te veel argumenten" msgid "Garbage command" msgstr "Ongeldige opdracht" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Dit ziet er niet uit als een tar-archief" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Totaal aantal gelezen bytes" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Totaal aantal geschreven bytes" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Totaal aantal verwijderde bytes: %s\n" +msgstr "Totaal aantal verwijderde bytes" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(pijp)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" +"Archiefinhoud wordt niet van terminal gelezen (ontbrekende optie '-f'?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" +"Archiefinhoud wordt niet naar terminal geschreven (ontbrekende optie '-f'?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Ongeldige waarde voor recordgrootte" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Geen archiefnaam opgegeven" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Kan archieven op standaardinvoer of -uitvoer niet verifiëren" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Archief is gecomprimeerd. Gebruik optie '%s'." -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Kan ingepakte archieven niet bijwerken" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Aan het begin van de band -- tar sluit nu af." -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Te veel fouten -- tar sluit nu af." -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Recordgrootte = %lu blok" msgstr[1] "Recordgrootte = %lu blokken" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Niet-uitgelijnd blok (%lu byte) in archief" msgstr[1] "Niet-uitgelijnd blok (%lu bytes) in archief" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Kan niet terugzoeken in archiefbestand; het kan onleesbaar zijn zonder -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek() is niet gestopt op een recordgrens" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: bevat een ongeldig deelnummer" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Deelnummer-overloop" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Zet deel #%d voor %s klaar en druk op Enter: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "een lege tekst, terwijl gebruikersinvoer werd verwacht" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "WAARSCHUWING: Archief is onvolledig" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -753,65 +760,65 @@ msgstr "" " q tar afbreken\n" " y of Enter doorgaan\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! een subshell starten\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? dit lijstje tonen\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Geen nieuw deel -- tar sluit af.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Geen bestandsnaam opgegeven. Probeer het nog eens.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Ongeldige invoer. Typ ? voor hulp.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "Opdracht %s is mislukt" -#: src/buffer.c:1491 -#, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s gaat mogelijk verder in dit deel: de kop bevat een afgekapte naam" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s gaat niet verder in dit deel" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s gaat mogelijk verder in dit deel: de kop bevat een afgekapte naam" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s heeft een verkeerde grootte (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Dit deel valt buiten de reeks (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Archief bevat geen label, kan niet overeenkomen met %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Deel %s komt niet overeen met %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -819,7 +826,7 @@ msgstr "" "%s: bestandsnaam is te lang om opgeslagen te worden in een GNU-meerdelenkop; " "afgekapt" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "schrijven is niet gestopt op een recordgrens" @@ -830,20 +837,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Kon slechts %lu van %lu byte lezen" msgstr[1] "Kon slechts %lu van %lu bytes lezen" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Inhouden verschillen" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Onverwacht einde-van-bestand in archief" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Bestandssoort verschilt" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Modus verschilt" @@ -859,7 +866,7 @@ msgstr "GID verschilt" msgid "Mod time differs" msgstr "Wijzigingstijd verschilt" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Grootte verschilt" @@ -868,139 +875,139 @@ msgstr "Grootte verschilt" msgid "Not linked to %s" msgstr "Niet gekoppeld aan %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Symbolische koppeling verschilt" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Apparaatnummer verschilt" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Verifiëren " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Onbekende bestandssoort '%c'; gedifft als gewoon bestand" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Archief bevat bestandsnamen waarvan de prefixen verwijderd zijn." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Archief bevat getransformeerde bestandsnamen." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Een verificatie kan mogelijk de originele bestanden niet vinden." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "Verificatie is MISLUKT: %d ongeldige kop gevonden" msgstr[1] "Verificatie is MISLUKT: %d ongeldige koppen gevonden" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Een los blok met nullen op %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: map bevat cache-markering %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "waarde %s valt buiten bereik voor %s (%s..%s); wordt vervangen door %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "waarde %s valt buiten bereik voor %s (%s..%s)" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Er worden negatieve octale koppen gemaakt" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: bestandsnaam is te lang (max %d); niet gearchiveerd" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: bestandsnaam is te lang (kan niet worden gesplitst); niet gearchiveerd" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: koppelingsnaam is te lang; niet gearchiveerd" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Bestand is gekrompen met %s byte; aangevuld met nullen" msgstr[1] "%s: Bestand is gekrompen met %s bytes; aangevuld met nullen" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: bestand staat op een ander bestandssysteem; niet gearchiveerd" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "inhoud niet gearchiveerd" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Onbekende bestandssoort; bestand genegeerd" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Ontbrekende koppelingen naar %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: bestand is ongewijzigd; niet gearchiveerd" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: bestand is het archief zelf; niet gearchiveerd" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "map is niet gearchiveerd" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: bestand is gewijzigd tijdens het lezen" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: socket genegeerd" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: deur genegeerd" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Alles tot aan volgende kop wordt overgeslagen" @@ -1018,55 +1025,55 @@ msgstr "%s: onwaarschijnlijk oude tijdsstempel %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: tijdsstempel %s ligt %s seconden in de toekomst" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Onverwachte inconsistentie tijdens aanmaken van map" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "%s: bestaand bestand wordt overgeslagen" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Map werd hernoemd voordat de status ervan kon worden bepaald" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Aaneengesloten bestanden worden uitgepakt als gewone bestanden" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "" "Poging om symbolische koppelingen als harde koppelingen uit te pakken..." -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Kan niet uitpakken -- bestand gaat door vanuit een ander deel" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Onverwachte langenaamkop" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Onbekende bestandssoort '%c'; uitgepakt als gewoon bestand" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Huidige %s is nieuwer of even oud" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Kan geen reservekopie van dit bestand maken" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Kan %s niet tot %s hernoemen" @@ -1116,16 +1123,16 @@ msgstr "Ongeldig inode-nummer" msgid "%s: byte %s: %s %.*s... too long" msgstr "%s: byte %s: %s %.*s... te lang" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Onverwacht einde-van-bestand in snapshot-bestand" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "%s: byte %s: %s %s wordt gevolgd door ongeldige byte 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" @@ -1134,115 +1141,115 @@ msgstr "" "%s: byte %s: (ongeldig bereik %s..%s)\n" " %s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "%s: byte %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "%s: byte %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Ontbrekende record-afsluiting" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Onjuiste incrementele bestandsindeling" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "" "Niet-ondersteunde versie (%) van incrementele bestandsindeling" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Onjuiste archiveringsmap: '%c' werd verwacht maar %#3o gevonden" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Onjuiste archiveringsmap: 'X' staat er dubbel" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Onjuiste archiveringsmap: lege naam in 'R'" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Onjuiste archiveringsmap: 'T' werd niet voorafgegaan door 'R'" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Onjuiste archiveringsmap: lege naam in 'T'" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Onjuiste archiveringsmap: '%c' werd verwacht, maar de gegevens houden op" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Onjuiste archiveringsmap: 'X' is nergens gebruikt" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Kan met sjabloon %s geen tijdelijke map aanmaken" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Map wordt niet leeggemaakt: kan de status ervan niet bepalen" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: Map staat op een ander bestandssysteem; niet leeggemaakt" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Verwijderen van %s...\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Kan niet verwijderen" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Overgeslagen" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok van NUL-tekens **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Einde-van-bestand **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Witruimte in kop waar numerieke waarde voor %s werd verwacht" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1250,87 +1257,87 @@ msgstr "" "aangenomen" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Octaalwaarde %.*s in archief valt buiten bereik voor %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Archief bevat ouderwetse grondtal-64 koppen" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Tekenreeks %s (met grondtal-64-met-teken) valt buiten bereik voor %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Grondtal-256 waarde in archief valt buiten bereik voor %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Archief bevat %.*s waar numerieke waarde voor %s werd verwacht" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Waarde %s in archief valt buiten bereik voor %s (%s..%s)" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " koppeling naar %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " onbekende bestandssoort %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Lange koppeling--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Lange naam--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Deelkop--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Verder bij byte %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Aanmaken van map:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Hernoemen van %s naar %s...\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "Kan %s niet naar %s hernoemen" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Hernoemen van %s terug naar %s...\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Bestand werd verwijderd voordat het gelezen kon worden" @@ -1343,30 +1350,189 @@ msgstr "dochterproces" msgid "interprocess channel" msgstr "interproces-kanaal" -#: src/names.c:360 +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "Lokale bestandsnaamkeuze:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"het gegeven BESTAND aan het archief toevoegen (handig als de naam begint met " +"een '-')" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "MAP" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "naar MAP gaan" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "namen van in of uit te pakken bestanden uit BESTAND halen" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "" +"'-T' leest met NUL afgesloten namen; impliceert '--verbatim-files-from'" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "het resultaat van de vorige '--null'-optie ongedaan maken" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" +"aanhalingstekens verwijderen rond invoerbestand of lidnamen (standaard)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "geen aanhalingstekens verwijderen rond invoerbestand of lidnamen" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "'-T' leest bestandsnamen verbatim (ziet geen opties)" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" +"'-T' ziet bestandsnamen die beginnen met een streepje als opties (standaard)" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "PATROON" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "bestanden uitsluiten, gegeven als een PATROON" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "uitsluitingspatronen staan opgesomd in BESTAND" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"inhoud van mappen die CACHEDIR.TAG bevatten uitsluiten, behalve CACHEDIR.TAG " +"zelf" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "alles onder mappen die CACHEDIR.TAG bevatten uitsluiten" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "mappen die CACHEDIR.TAG bevatten uitsluiten" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"inhoud van mappen die BESTAND bevatten uitsluiten, behalve BESTAND zelf" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "uitsluitingspatronen voor mappen uit BESTAND lezen, als deze bestaat" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"uitsluitingspatronen voor mappen en submappen uit BESTAND lezen, als deze " +"bestaat" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "alles onder mappen die BESTAND bevatten uitsluiten" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "mappen die BESTAND bevatten uitsluiten" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "systeemmappen van versiebeheer uitsluiten" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "uitsluitingspatronen uit VCS-ignore-bestanden lezen" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "reservekopieën en vergrendelingsbestanden uitsluiten" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "recursief in mappen afdalen (standaard)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "niet automatisch afdalen in mappen" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "Bestandsnaamselectie-opties (voor zowel in- als uitsluitingspatronen):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "patronen komen overeen met begin van bestandsnaam" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" +"patronen komen overeen met alles na een '/' (is standaard bij uitsluiting)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "verschil tussen hoofd- en kleine letters negeren" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "hoofdlettergevoelige vergelijking (standaard)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "jokertekens gebruiken (is standaard bij uitsluiting)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "exacte tekenreeksvergelijking" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "jokertekens komen overeen met '/' (is standaard bij uitsluiting)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "jokertekens komen niet overeen met '/'" + +#: src/names.c:768 msgid "command line" msgstr "opdrachtregel" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: verzochte bestandenlijst uit %s is al gelezen uit %s" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "kan tekenreeks '%s' niet splitsen: %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: gelezen bestandsnaam bevat een NUL-teken" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Bestandsnamen bevatten jokertekens." -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1374,46 +1540,46 @@ msgstr "" "Gebruik '--wildcards' om patroonovereenkomsten in te schakelen,\n" "of '--no-wildcards' om deze waarschuwing te onderdrukken." -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Komt niet voor in archief" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Is vereist maar komt niet voor in archief" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Archieflabel komt niet overeen" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Met '--listed-incremental' is '-C' niet toegestaan binnen een bestandenlijst" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Met '--listed-incremental' is slechts één '-C' toegestaan" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Opties '-%s' en '-%s' willen beide standaardinvoer gebruiken" +msgstr "Opties '%s' en '%s' willen beide standaardinvoer gebruiken" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Ongeldige archiefindeling" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "GNU-functies gevraagd bij een incompatibele archiefindeling" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1421,7 +1587,7 @@ msgstr "" "Onbekende aanhalingsstijl '%s'. Probeer '%s --quoting-style=help' voor een " "overzicht." -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1441,7 +1607,7 @@ msgstr "" " tar -tvf archief.tar # Alle bestanden in archief.tar opsommen.\n" " tar -xf archief.tar # Alle bestanden van archief.tar uitpakken.\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1462,80 +1628,88 @@ msgstr "" " nil, existing genummerd als ze al bestaan, anders simpel\n" " never, simple altijd simpele reservekopieën maken\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Hoofdbewerkingen:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "de inhoud van een archief opsommen" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "bestanden uit een archief uitpakken" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "een nieuw archief aanmaken" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "verschillen tussen archief en bestandssyteem vinden" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "bestanden aan het eind van een archief toevoegen" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "" "alleen bestanden toevoegen die nieuwer zijn dan hun versie in het archief" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "tar-bestanden aan een archief toevoegen" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "uit het archief verwijderen (niet gebruiken bij magneetbanden!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "label van archiefdeel controleren en stoppen" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Werkingsaanpassers:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "luchtige bestanden efficiënt verwerken" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "METHODE" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "te gebruiken methode om gaten te detecteren" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "HOOFD[.SUB]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "versie van te gebruiken luchtige indeling (impliceert '--sparse')" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "oude GNU-indeling van incrementeel archief verwerken" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "nieuwe GNU-indeling van incrementeel archief verwerken" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "dump-niveau voor aan te maken incrementeel archief" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "niet afsluiten met een foutcode bij onleesbare bestanden" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1545,149 +1719,158 @@ msgstr "" "alleen het AANTALste voorkomen van elk bestand in het archief verwerken; " "deze optie is alleen geldig samen met een van de subopdrachten --delete, --" "diff, --extract of --list, en wanneer een lijst van bestanden gegeven is op " -"de opdrachtregel of via de optie -T; AANTAL is standaard 1" +"de opdrachtregel of via optie -T; AANTAL is standaard 1" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "in archief kan worden gesprongen" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "in archief kan niet worden gesprongen" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" "geen apparaatnummers controleren tijdens aanmaken van incrementele archieven" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "apparaatnummers controleren tijdens aanmaken van incrementele archieven " "(standaard)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Overschrijvingsopties:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "het archief na het schrijven proberen te verifiëren" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "bestanden na hun toevoeging aan het archief verwijderen" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" "bij het uitpakken bestaande bestanden niet vervangen; behandelen als fouten" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" "bij het uitpakken bestaande bestanden niet vervangen; stilletjes overslaan" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "bestaande bestanden die nieuwer zijn dan die in het archief niet vervangen" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "bestaande bestanden bij het uitpakken overschrijven" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "elk bestand verwijderen alvorens eroverheen uit te pakken" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "bestaande mappen leegmaken alvorens eroverheen uit te pakken" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "metagegevens van bestaande mappen behouden" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "de metagegevens van bestaande mappen bij het uitpakken overschrijven " "(standaard)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "" "bestaande symbolische koppelingen naar mappen behouden bij het uitpakken" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "MAP" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "een submap aanmaken om het uitpakken van losse bestanden te vermijden" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Selecteren van uitvoerkanaal:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "bestanden uitpakken naar standaarduitvoer" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "OPDRACHT" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "uitgepakte bestanden via pijp naar gegeven programma sluizen" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "afsluitwaardes van dochterprocessen negeren" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" "afsluitwaardes van dochterprocessen die niet nul zijn als fout behandelen" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Behandeling van bestandskenmerken:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "toegevoegde bestanden krijgen NAAM als eigenaar" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "toegevoegde bestanden krijgen NAAM als groep" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "UID's en gebruikersnamen uit BESTAND halen" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "GID's en groepsnamen uit BESTAND halen" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATUM-OF-BESTAND" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" "wijzigingstijd zetten van bestanden die wegens DATUM-OF-BESTAND zijn " "toegevoegd" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "WIJZIGINGEN" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "toegevoegde bestanden krijgen (symbolische) WIJZIGINGEN in hun modus" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "MANIER" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1697,11 +1880,11 @@ msgstr "" "herstellen van de tijdsstempels na het lezen (MANIER='replace'; standaard), " "of door de tijdsstempels met rust te laten (MANIER='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "bestandswijzigingstijden niet uitpakken" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1709,19 +1892,19 @@ msgstr "" "bestanden proberen uit te pakken met dezelfde eigenaar als in het archief " "(standaard voor root)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "bestanden uitpakken als uzelf (standaard voor gewone gebruikers)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "altijd getallen gebruiken voor gebruikers- en groepsnamen" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "bestandspermissies ook uitpakken (standaard voor root)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1729,17 +1912,13 @@ msgstr "" "de umask van de gebruiker toepassen bij het uitpakken van bestandspermissies " "(standaard voor gewone gebruikers)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" "lid-argumenten worden getoond in de volgorde die ze hebben in het archief" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "hetzelfde als '-p' en '-s' samen" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1747,187 +1926,187 @@ msgstr "" "het zetten van permissies en tijdsstempels van mappen uitstellen tot na het " "uitpakken" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "het effect van de optie --delay-directory-restore ongedaan maken" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "VOLGORDE" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "sorteervolgorde van mappen: 'none' (geen, standaard) of 'name' (naam)" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Behandeling van uitgebreide bestandskenmerken:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Ondersteuning voor uitgebreide kenmerken inschakelen" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Ondersteuning voor uitgebreide kenmerken uitschakelen" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "MASKER" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "patroon van in te sluiten xattr-sleutels" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "patroon van uit te sluiten xattr-sleutels" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "Ondersteuning voor SELinux-contexten inschakelen" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "Ondersteuning voor SELinux-contexten uitschakelen" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "Ondersteuning voor POSIX ACL's inschakelen" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "Ondersteuning voor POSIX ACL's uitschakelen" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Apparaatselectie en -wisseling:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARCHIEF" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "archiefbestand of apparaat ARCHIEF gebruiken" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "archiefbestand is lokaal, zelfs als het een dubbele punt bevat" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "deze OPDRACHT gebruiken in plaats van 'rmt'" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "deze OPDRACHT gebruiken in plaats van 'rsh'" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "schijf en dichtheid opgeven" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "meerdelig archief aanmaken/opsommen/uitpakken" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "band wisselen na schrijven van AANTAL x 1024 bytes" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "script uitvoeren aan einde van elke band (impliceert '-M')" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "het deelnummer in BESTAND gebruiken/bijwerken" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Blokverwerking:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOKKEN" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOKKEN x 512 bytes per record" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "AANTAL bytes per record (een veelvoud van 512)" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "blokken met nullen in archief negeren (betekenen einde-van-bestand)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "doorgaan met lezen tot blok compleet is (voor 4.2BSD-pijpen)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Archiefindelingskeuze:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "INDELING" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "een archief maken in de gekozen indeling" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "INDELING is een van de volgende:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "oude V7 tar-indeling" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "GNU-indeling van tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "GNU-indeling van tar 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar-indeling)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax-indeling)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "hetzelfde als pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "hetzelfde als --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "hetzelfde als --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "sleutelwoord[[:]=waarde][,sleutelwoord[[:]=waarde]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "het aangeven van pax-sleutelwoorden" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEKST" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1935,186 +2114,82 @@ msgstr "" "een archief met deelnaam TEKST maken; bij opsommen/uitpakken TEKST als " "zoekpatroon voor de deelnaam gebruiken" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Compressie-opties:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "compressieprogramma afleiden uit bestandsachtervoegsel" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "compressieprogramma niet afleiden uit bestandsachtervoegsel" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROGRAMMA" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "het archief door dit programma filteren (moet '-d' accepteren)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Lokale bestandskeuze:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"het gegeven BESTAND aan het archief toevoegen (handig als de naam begint met " -"een '-')" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "naar MAP gaan" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "namen van in of uit te pakken bestanden uit BESTAND halen" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "'-T' leest met NUL afgesloten namen, schakelt '-C' uit" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "het resultaat van de vorige '--null'-optie ongedaan maken" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "" -"aanhalingstekens verwijderen rond bestandsnamen gelezen met '-T' (standaard)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "aanhalingstekens niet verwijderen rond bestandsnamen gelezen met '-T'" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "PATROON" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "bestanden uitsluiten, gegeven als een PATROON" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "uitsluitingspatronen staan opgesomd in BESTAND" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"inhoud van mappen die CACHEDIR.TAG bevatten uitsluiten, behalve CACHEDIR.TAG " -"zelf" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "alles onder mappen die CACHEDIR.TAG bevatten uitsluiten" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "mappen die CACHEDIR.TAG bevatten uitsluiten" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"inhoud van mappen die BESTAND bevatten uitsluiten, behalve BESTAND zelf" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "alles onder mappen die BESTAND bevatten uitsluiten" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "mappen die BESTAND bevatten uitsluiten" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "systeemmappen van versiebeheer uitsluiten" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "reservekopieën en vergrendelingsbestanden uitsluiten" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "niet automatisch afdalen in mappen" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "in het lokale bestandssysteem blijven bij maken van archief" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "recursief in mappen afdalen (standaard)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "leidende '/' niet uit bestandsnamen verwijderen" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "symbolische koppelingen volgen; de bestanden waar ze naar verwijzen " "archiveren" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "harde koppelingen volgen; de bestanden waar ze naar verwijzen archiveren" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "LIDNAAM" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "beginnen bij lid LIDNAAM tijdens lezen van het archief" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "alleen bestanden opslaan die nieuwer zijn dan DATUM-OF-BESTAND" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATUM" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "datum en tijd alleen vergelijken wanneer gegevens veranderd zijn" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "MANIER" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "voor verwijdering een reservekopie maken, op de aangegeven MANIER" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "TEKENREEKS" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2123,98 +2198,61 @@ msgstr "" "(in plaats van '~', die standaard is tenzij door omgevingsvariable " "SIMPLE_BACKUP_SUFFIX veranderd)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Bestandsnaam-transformaties:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "dit AANTAL leidende componenten uit bestandsnamen verwijderen" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "EXPRESSIE" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "deze vervangings-EXPRESSIE gebruiken om bestandsnamen met 'sed' te " "transformeren" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "Bestandsnaamselectie-opties (voor zowel in- als uitsluitingspatronen):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "verschil tussen hoofd- en kleine letters negeren" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "patronen komen overeen met begin van bestandsnaam" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" -"patronen komen overeen met alles na een '/' (is standaard bij uitsluiting)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "hoofdlettergevoelige vergelijking (standaard)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "jokertekens gebruiken (is standaard bij uitsluiting)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "exacte tekenreeksvergelijking" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "jokertekens komen niet overeen met '/'" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "jokertekens komen overeen met '/' (is standaard bij uitsluiting)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Informatieve uitvoer:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "de verwerkte bestanden opsommen" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "SLEUTELWOORD" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "waarschuwingsbeleid" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "voortgangsberichten tonen voor elk AANTALste record (standaard 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "ACTIE" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "bij elk controlepunt deze ACTIE uitvoeren" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "een bericht tonen als niet alle links gearchiveerd werden" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNAAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2226,35 +2264,35 @@ msgstr "" "ontvangen wordt; mogelijke signalen zijn: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 " "en SIGUSR2; de namen zonder het voorvoegsel SIG worden ook geaccepteerd" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "bestandswijzigingstijden in UTC tonen" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "bestandstijden in volledige resolutie tonen" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "gedetailleerde uitvoer naar BESTAND sturen" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "bloknummer binnen archief tonen bij elk bericht" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "bij elke actie om toestemming vragen" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "standaardinstellingen van 'tar' tonen" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "geldige bereiken tonen voor snapshot-velden" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2262,33 +2300,33 @@ msgstr "" "bij opsommen of uitpakken: elke map opsommen die niet aan zoekcriteria " "voldoet" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "bestands- of archiefnamen na transformatie tonen" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STIJL" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "aanhalingsstijl voor namen instellen (zie verderop voor geldige waarden van " "STIJL)" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "ook de tekens in TEKENREEKS aanhalen" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "de tekens in TEKENREEKS niet aanhalen" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Compatibiliteitsopties:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2296,16 +2334,23 @@ msgstr "" "bij aanmaken hetzelfde als --old-archive; bij uitpakken hetzelfde als --no-" "same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Andere opties:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "" "het gebruik van potentieel gevaarlijke opties of opdrachten uitschakelen" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "optie '%s' gaat niet samen met '%s'" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" @@ -2313,40 +2358,40 @@ msgstr "" "Slechts één van de opties '-Acdtrux', '--delete', of '--test-label' is " "mogelijk" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Conflicterende compressie-opties" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Onbekende signaalnaam: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Voorbeeldbestand voor tijdsstempel niet gevonden" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Onbekende datumopmaak %2$s wordt vervangen door %1$s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Optie %s: datum '%s' wordt begrepen als %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "het archief door '%s' filteren" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Geldige argumenten van de optie '--quoting-style' zijn:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2354,186 +2399,199 @@ msgstr "" "\n" "*Deze* tar gebruikt de volgende standaardwaarden:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "Ongeldige eigenaar of groeps-ID" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Ongeldige blokkenfactor" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Ongeldige bandlengte" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Onjuiste waarde van incrementeel niveau" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Meerdere drempeldata" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Ongeldig versienummer voor luchtige indeling" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' is op dit platform niet mogelijk" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "Waarde van '--checkpoint' is geen geheel getal" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Ongeldige modus gegeven bij optie" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Ongeldig nummer" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"De optie '--preserve' is vervallen; gebruik nu '--preserve-permissions --" -"preserve-order'." - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Ongeldige recordgrootte" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Recordgrootte moet een veelvoud zijn van %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Ongeldig aantal elementen" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Slechts één optie '--to-command' is toegestaan" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Ongeldig dichtheidsargument: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Onbekende dichtheid: '%c'" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Opties '-[0-7][lmh]' worden niet ondersteund door *deze* tar" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: locatie van de fout" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "fout bij ontleden van %s" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[BESTAND]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Optie '--%s' kan niet gebruikt worden met '%s'" +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "non-optie argumenten in %s" + +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "kan TAR_OPTIONS niet splitsen: %s" -#: src/tar.c:2389 +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "Oude optie '%c' vereist een argument." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "Optie '--occurrence' betekent niets zonder een bestandenlijst" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Voor meerdere archiefbestanden is de optie '-M' vereist" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "Optie '--level' is betekenisloos zonder '--listed-incremental'" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Deellabel is te lang (grens is %lu byte)" msgstr[1] "%s: Deellabel is te lang (grens is %lu bytes)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Kan meerdelige archieven niet verifiëren" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Kan ingepakte archieven niet verifiëren" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Kan geen meerdelige ingepakte archieven verwerken" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Kan ingepakte archieven niet samenvoegen" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "Optie '--pax' kan alleen worden gebruikt bij POSIX-archieven" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "Optie '--acls' kan alleen worden gebruikt bij POSIX-archieven" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "Optie '--selinux' kan alleen worden gebruikt bij POSIX-archieven" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "Optie '--xattrs' kan alleen worden gebruikt bij POSIX-archieven" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Kan naam van topmap niet achterhalen; zet deze expliciet met '--one-top-" +"level=MAP'" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Deellengte kan niet kleiner zijn dan de recordgrootte" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" -msgstr "Een geheel leeg archief wordt niet aangemaakt" +msgstr "Een compleet leeg archief wordt niet aangemaakt" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Opties '-Aru' gaan niet samen met '-f -'" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "U dient een van de opties '-Acdtrux', '--delete', of '--test-label' op te " "geven" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Gestopt in fouttoestand vanwege eerdere fouten" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" +"sorteervolgorde van mappen: 'none' (geen, standaard), 'name' (naam) of " +"'inode'" #: src/update.c:87 #, c-format @@ -2587,7 +2645,7 @@ msgstr "Onjuiste uitgebreide kop: ontbrekend regeleinde" msgid "Ignoring unknown extended header keyword '%s'" msgstr "Genegeerd: onbekend sleutelwoord '%s' in uitgebreide kop" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2596,28 +2654,28 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "" "Waarde %2$s in uitgebreide kop valt buiten bereik voor %1$s (%3$s..%4$s)" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Onjuiste uitgebreide kop: ongeldige %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Onjuiste uitgebreide kop: overtollige %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Onjuiste uitgebreide kop: ongeldige %s: onverwacht scheidingsteken %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Onjuiste uitgebreide kop: ongeldige %s: oneven aantal waarden" @@ -2658,7 +2716,7 @@ msgstr "Schrijfcontrolepunt %u" msgid "Read checkpoint %u" msgstr "Leescontrolepunt %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2667,73 +2725,77 @@ msgstr "" "paxutils.\n" "OPTIES zijn:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Bestandsaanmaak-opties:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "GROOTTE" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "een bestand van de gegeven GROOTTE aanmaken" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "naar het bestand NAAM schrijven i.p.v. naar standaarduitvoer" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "bestandsnamen uit BESTAND lezen" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T leest met NUL afgesloten namen" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "het bestand met het gegeven PATROON vullen; PATROON is 'default' (standaard) " "of 'zeros' (nullen)" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "blokgrootte voor luchtig bestand" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "luchtig bestand genereren; de rest van de opdrachtregel specificeert de " "indeling" -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "POSITIE" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "naar deze positie springen alvorens met schrijven te beginnen" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Bestandsstatistieken-opties:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "voor elk gegeven bestand de inhoud van de struct 'stat' printen; de " "standaard INDELING is: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Synchrone-uitvoer-opties:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "OPTIE" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2741,21 +2803,21 @@ msgstr "" "gegeven ARGUMENTEN uitvoeren; dit is nuttig bij '--checkpoint' samen met één " "van '--cut', '--append', '--touch', of '--unlink'" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" "de gegeven actie uitvoeren (zie verderop) bij bereiken van het AANTALste " "controlepunt" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "de datum voor de volgende '--touch'" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "de uitgevoerde controlepunten en de afsluitwaarde van OPDRACHT tonen" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2763,7 +2825,7 @@ msgstr "" "Synchroon uit te voeren acties. Deze worden uitgevoerd bij het bereiken van " "het controlepunt opgegeven met de optie '--checkpoint'." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2771,164 +2833,168 @@ msgstr "" "BESTAND afkappen tot de grootte opgegeven met een voorafgaande optie '--" "length' (of 0 als niet gegeven)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "BESTAND met GROOTTE aantal bytes vergroten; deze GROOTTE is met een " "voorafgaande optie '--length' opgegeven" -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "de toegangs- en wijzigingstijdsstempels van BESTAND bijwerken" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "OPDRACHT uitvoeren" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "BESTAND verwijderen" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Ongeldige grootte: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Getal valt buiten toegestaan bereik: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Negatieve grootte: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "Kan status van %s niet bepalen" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "gevraagde bestandslengte is %lu, werkelijke is %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "aangemaakt bestand is niet luchtig" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Fout tijdens getalsontleding, nabij '%s'" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Onbekende datumopmaak" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGUMENTEN]..." -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "Kan '%s' niet openen" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "Kan niet springen" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "Bestandsnaam bevat een NUL-teken" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "Kan geen luchtige bestanden genereren op standaarduitvoer; gebruik de optie " "'--file'" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "Onjuist masker (nabij '%s')" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Onbekend veld '%s'" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "Kan tijdsstempel van '%s' niet zetten" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "Kan '%s' niet afkappen" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "Opdracht %s is mislukt" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "Kan '%s' niet verwijderen" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Opdracht is succesvol afgesloten\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Opdracht is mislukt met afsluitwaarde %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Opdracht is afgebroken door signaal %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Opdracht is gestopt door signaal %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Opdracht resulteerde in een core-dump\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Opdracht is afgebroken\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "Optie '--stat' vereist bestandsnamen" -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "Optie '--occurrence' kan niet gebruikt worden met '%s'" +#~ msgid "same as both -p and -s" +#~ msgstr "hetzelfde als '-p' en '-s' samen" + +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "De optie '--preserve' is vervallen; gebruik nu '--preserve-permissions --" +#~ "preserve-order'." #~ msgid "Cannot combine --listed-incremental with --newer" #~ msgstr "Opties '--listed-incremental' en '--newer' gaan niet samen" -#~ msgid "--verify cannot be used with %s" -#~ msgstr "Optie '--verify' kan niet gebruikt worden met '%s'" - #~ msgid "--preserve-order is not compatible with --listed-incremental" #~ msgstr "Opties '--preserve-order' en '--listed-incremental' gaan niet samen" diff --git a/po/pl.gmo b/po/pl.gmo index 79219f532150c376681a6a8606381ae006da09a3..df8aab6e949eb44ed435740dbab0f4b4e3b5600c 100644 GIT binary patch delta 22362 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 K#m;&0rvC#QFlYS$ delta 12303 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 SAJ%kv)Bm{QV;}fy)BgaZZm`b) diff --git a/po/pl.po b/po/pl.po index 36dd5a1a..ec97e385 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1,15 +1,15 @@ # Polish translation of GNU tar -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2016 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. -# Rafał Maszkowski , 1996, 1997, 2000, 2001, 2003, 2004, 2006-2011. „” +# Rafał Maszkowski , 1996, 1997, 2000, 2001, 2003, 2004, 2006-2011, 2016. # Thanks to Jakub Bogusz for remarks and corrections, 2003, 2004, 2007, 2008, 2010. -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar 1.26\n" +"Project-Id-Version: tar 1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2011-03-12 18:25+0100\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-03-16 18:30+0100\n" "Last-Translator: Rafał Maszkowski \n" "Language-Team: Polish \n" "Language: pl\n" @@ -19,46 +19,46 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "błędny argument %s opcji %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "niejednoznaczny argument %s opcji %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Prawidłowe argumenty to:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: wartość %s jest mniejsza lub równa %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Parametr ARGP_HELP_FMT wymaga podania wartości" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: Parametr ARGP_HELP_FMT musi być dodatni" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Nieznany parametr ARGP_HELP_FMT" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Śmieci w ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -66,143 +66,148 @@ msgstr "" "Argumenty obowiązkowe lub opcjonalne dla opcji długich są również " "obowiązkowe lub opcjonalne również dla odpowiadających im opcji krótkich." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Składnia:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " albo: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr "[OPCJE...]" -#: gnu/argp-help.c:1686 -#, fuzzy, c-format +#: gnu/argp-help.c:1688 +#, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" -msgstr "Użyj `%s --help' albo `%s --usage' żeby otrzymać więcej informacji\n" +msgstr "Użyj „%s --help” albo „%s --usage” żeby otrzymać więcej informacji.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Raporty o błędach należy wysyłać do %s .\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Nieznany błąd systemu" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "wyświetlenie tego opisu" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "krótka informacja o opcjach" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NAZWA" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "ustawienie nazwy programu" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEK" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "poczekaj SEK sekund (domyślnie 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "informacja o wersji programu" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(BŁĄD PROGRAMU) Nieznana wersja!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Za dużo argumentów\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(BŁĄD PROGRAMU) Opcja powinna była być rozpoznana!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "błąd zapisu" -#: gnu/getopt.c:549 gnu/getopt.c:578 -#, fuzzy, c-format +#: gnu/getopt.c:575 gnu/getopt.c:604 +#, c-format msgid "%s: option '%s' is ambiguous; possibilities:" -msgstr "%s: opcja '%s' jest niejednoznaczna\n" +msgstr "%s: opcja „%s” jest niejednoznaczna; możliwości:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: opcja „%s” jest niejednoznaczna\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "%s: opcja '--%s' nie może mieć argumentu\n" +msgstr "%s: opcja „--%s” nie może mieć argumentu\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "%s: opcja '%c%s' nie może mieć argumentu\n" +msgstr "%s: opcja „%c%s” nie może mieć argumentu\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" -msgstr "%s: opcja '--%s' wymaga argumentu\n" +msgstr "%s: opcja „--%s” wymaga argumentu\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "%s: nierozpoznana opcja '--%s'\n" +msgstr "%s: nierozpoznana opcja „--%s”\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "%s: nierozpoznana opcja '%c%s'\n" +msgstr "%s: nierozpoznana opcja „%c%s”\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "%s: błędna opcja -- '%c'\n" +msgstr "%s: błędna opcja -- „%c”\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: opcja wymaga argumentu -- '%c'\n" +msgstr "%s: opcja wymaga argumentu -- „%c”\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "%s: opcja '-W %s' jest niejednoznaczna\n" +msgstr "%s: opcja „-W %s” jest niejednoznaczna\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "%s: opcja '-W %s' nie może mieć argumentu\n" +msgstr "%s: opcja „-W %s” nie może mieć argumentu\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" -msgstr "%s: opcja '-W %s' wymaga argumentu\n" +msgstr "%s: opcja „-W %s” wymaga argumentu\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "brak pamięci" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "nie udało się zapisać bieżącego katalogu" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "nie udało się powrócić do początkowego katalogu bieżącego" @@ -228,13 +233,13 @@ msgstr "nie udało się powrócić do początkowego katalogu bieżącego" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" -msgstr "`" +msgstr "„" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" -msgstr "'" +msgstr "”" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. @@ -242,9 +247,9 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" -msgstr "^[yYtT]" +msgstr "^[TtYy].*" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. @@ -252,16 +257,16 @@ msgstr "^[yYtT]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" -msgstr "^[nN]" +msgstr "^[nN].*" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakowane przez %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Pakowane przez %s\n" @@ -269,11 +274,11 @@ msgstr "Pakowane przez %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" -msgstr "(C)" +msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -411,22 +416,22 @@ msgstr "" "O błędach programu poinformuj %s\n" "O błędach tłumaczenia poinformuj translation-team-pl@lists.sourceforge.net\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Raporty o błędach %s należy wysyłać do %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Strona domowa %s: %s\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Strona domowa %s: http://www.gnu.org/software/%s/\n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Informacje o używaniu oprogramowania GNU: http://www.gnu.org/gethelp/\n" @@ -506,21 +511,21 @@ msgstr[2] "%s: Można było zapisać tylko %lu z %lu bajtów" #: lib/paxnames.c:140 #, c-format msgid "Removing leading `%s' from member names" -msgstr "Usunięcie początkowego `%s' z nazw plików" +msgstr "Usunięcie początkowego „%s” z nazw plików w archiwum" #: lib/paxnames.c:141 #, c-format msgid "Removing leading `%s' from hard link targets" msgstr "" -"Usunięcie początkowego `%s' z nazw plików wskazywanych przez łącza zwykłe" +"Usunięcie początkowego „%s” z nazw plików wskazywanych przez łącza zwykłe" #: lib/paxnames.c:154 msgid "Substituting `.' for empty member name" -msgstr "Podstawienie `.' zamiast pustej nazwy" +msgstr "Podstawienie „.” zamiast pustej nazwy pliku w archiwum" #: lib/paxnames.c:155 msgid "Substituting `.' for empty hard link target" -msgstr "Podstawienie `.' zamiast pustej nazwy wskazywanej przez łącze zwykłe" +msgstr "Podstawienie „.” zamiast pustej nazwy wskazywanej przez łącze zwykłe" #: lib/rtapelib.c:299 #, c-format @@ -544,14 +549,14 @@ msgstr "" "Nie można połączyć się z %s: nie udało się przetłumaczyć nazwy na adres" #: lib/rtapelib.c:502 -#, fuzzy, c-format +#, c-format msgid "Cannot redirect files for remote shell" -msgstr "Nie można uruchomić zdalnego shella" +msgstr "Nie można przekierować plików do zdalnej powłoki" #: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" -msgstr "Nie można uruchomić zdalnego shella" +msgstr "Nie można uruchomić zdalnej powłoki" #: rmt/rmt.c:432 msgid "Seek direction out of range" @@ -559,7 +564,7 @@ msgstr "Sposób ustawiania pozycji w pliku spoza zakresu" #: rmt/rmt.c:438 msgid "Invalid seek direction" -msgstr "Błędne kierunek przesuwania wskaźnika pozycji" +msgstr "Błędny kierunek przesuwania wskaźnika pozycji" #: rmt/rmt.c:446 msgid "Invalid seek offset" @@ -598,8 +603,8 @@ msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" "Posługiwanie się napędem taśmowym, przyjmowanie poleceń od zdalnego procesu" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "LICZBA" @@ -607,10 +612,11 @@ msgstr "LICZBA" msgid "set debug level" msgstr "ustawienie poziomu wypisywania informacji diagnostycznych" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "PLIK" @@ -623,7 +629,7 @@ msgstr "plik do zapisywania informacji diagnostycznych" msgid "cannot open %s" msgstr "nie można otworzyć %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "za dużo argumentów" @@ -632,67 +638,66 @@ msgstr "za dużo argumentów" msgid "Garbage command" msgstr "Bezsensowna komenda" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "To nie wygląda jak archiwum tar" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Liczba przeczytanych bajtów" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Licza zapisanych bajtów" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Liczba skasowanych bajtów: %s\n" +msgstr "Liczba skasowanych bajtów" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(pipe)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "Odmowa czytania zawartości archiwumn z terminala (brakująca opcja -f?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "Odmowa pisania zawartości archiwumn do terminala (brakująca opcja -f?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Błędna wartość record_size" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Nie podana nazwa archiwum" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Nie można zweryfikować archiwum z/do stdin/stdout" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Archiwum jest skompresowane. Należy użyć opcji %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Nie można uaktualnić archiwum skompresowanego" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Na początku taśmy, teraz kończę" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Za dużo błędów, kończę" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -700,7 +705,7 @@ msgstr[0] "Rozmiar rekordu = %lu blok" msgstr[1] "Rozmiar rekordu = %lu bloki" msgstr[2] "Rozmiar rekordu = %lu bloków" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -708,38 +713,38 @@ msgstr[0] "Nierówny blok (%lu bajt) w archiwum" msgstr[1] "Nierówny blok (%lu bajty) w archiwum" msgstr[2] "Nierówny blok (%lu bajtów) w archiwum" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Nie można się cofnąć w pliku archiwum; może nie być czytelny bez -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek nie zatrzymał się na granicy rekordów" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: zawiera błędny numer części" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Przepełnienie numeru części" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Przygotuj część numer %d dla %s i naciśnij return: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "EOF kiedy była oczekiwana odpowiedź użytkownika" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "UWAGA: Archiwum jest niekompletne" # rare case when `for parts' translates into `części' for both sing. and plural in Polish - rzm -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -750,68 +755,68 @@ msgstr "" " q Zakończenie programu tar\n" " y albo Enter Kontynuacja\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Uruchomienie powłoki\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Wypisanie tej listy\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Brak nowej części; zakończenie pracy.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Brak nazwy pliku. Spróbuj jeszcze raz.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" "Błędne dane wejściowe. Wciśnij ? żeby przeczytać informacje pomocnicze\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "%s polecenie zwróciło błąd" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "%s nie jest kontynuowany w tej części" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s prawdopodobnie jest kontynuowany w tej części: nagłówek zawiera skróconą " "nazwę" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "%s nie jest kontynuowany w tej części" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s to zły rozmiar (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Ta część nie jest w kolejności (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Etykieta archiwum nie pasuje do %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Część %s nie pasuje do %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -819,7 +824,7 @@ msgstr "" "%s: nazwa pliku jest za długa do zapisania w nagłówku wieloczęściowego " "archiwum GNU, zostanie skrócona" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "zapis nie zakończył się na granicy bloków" @@ -831,20 +836,20 @@ msgstr[0] "Można było przeczytać tylko %lu z %lu bajtu" msgstr[1] "Można było przeczytać tylko %lu z %lu bajtów" msgstr[2] "Można było przeczytać tylko %lu z %lu bajtów" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Zawartości się różnią" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Nieoczekiwany EOF w archiwum" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Różne typy plików" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Uprawnienia się różnią" @@ -860,7 +865,7 @@ msgstr "Gid się różni" msgid "Mod time differs" msgstr "Czas modyfikacji się różni" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Rozmiar się różni" @@ -869,37 +874,37 @@ msgstr "Rozmiar się różni" msgid "Not linked to %s" msgstr "Nie dołączony do %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Łącze symboliczne się różni" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Różnią się numery urządzeń" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Sprawdzanie " -#: src/compare.c:473 -#, fuzzy, c-format +#: src/compare.c:477 +#, c-format msgid "%s: Unknown file type '%c', diffed as normal file" -msgstr "%s: Nieznany typ pliku `%c' porównywany jako zwykły plik" +msgstr "%s: Nieznany typ pliku „%c”, porównywany jako zwykły plik" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Archiwum zawiera nazwy plików bez początkowych elementów ścieżek." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Archiwum zawiera zmienione nazwy plików." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Podczas weryfikacji mogą nie być znalezione pliki lokalne" -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" @@ -907,48 +912,48 @@ msgstr[0] "BŁĄD WERYFIKACJI: wykryto %d błędny nagłówek" msgstr[1] "BŁĄD WERYFIKACJI: wykryto %d błędne nagłówki" msgstr[2] "BŁĄD WERYFIKACJI: wykryto %d błędnych nagłówków" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Samotny blok zerowy przy %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: zawiera znacznik katalogu pamięci podręcznej %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "wartość %s z %s poza zakresem %s..%s; podstawione %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "wartość %s z %s poza zakresem %s..%s" # hm? - rzm -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Tworzenie ujemnych nagłówków ósemkowych" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: nazwa pliku jest za długa (powyżej %d); nie została zapisana" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: nazwa pliku jest za długa (nie może być podzielona); nie została zapisana" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: nazwa łącza jest za długa; nie została zapisana" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -956,55 +961,55 @@ msgstr[0] "%s: Plik skurczył się o %s bajt; jest dopełniany zerami" msgstr[1] "%s: Plik skurczył się o %s bajty; jest dopełniany zerami" msgstr[2] "%s: Plik skurczył się o %s bajtów; jest dopełniany zerami" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: plik w innym systemie plików; nie został zapisany" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "zawartość nie została zapisana" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Nieznany typ pliku; plik zignorowany" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Brakujące łącza do %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: plik jest niezmieniony; nie został zapisany" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: plik jest w tym archiwum; nie został zapisany" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "katalog nie został zapisany" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: plik zmienił się w trakcie czytania" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: zignorowane gniazdo z nazwą" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: zignorowany plik door" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Przeskoczenie do następnego nagłówka" @@ -1022,54 +1027,54 @@ msgstr "%s: niemożliwie stara data %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: znacznik czasowy %s jest przesunięty o %s s w przyszłość" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Nieoczekiwana niespójność przy zakładaniu katalogu" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" -msgstr "" +msgstr "%s: pominięcie istniejącego pliku" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Katalog zmienił nazwę zanim można było odtworzyć jego status" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Odtwarzanie plików ciągłych (nie sparse) jako zwykłych" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Próba odtworzenia łącza symbolicznego jako zwykłego" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Nie można odtworzyć -- plik jest kontynuowany z innej części" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Niespodziewany nagłówek z długą nazwą" -#: src/extract.c:1542 -#, fuzzy, c-format +#: src/extract.c:1587 +#, c-format msgid "%s: Unknown file type '%c', extracted as normal file" -msgstr "%s: Nieznany typ pliku `%c', odtworzony jako plik zwykły" +msgstr "%s: Nieznany typ pliku „%c”, odtworzony jako plik zwykły" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Aktualny %s jest nowszy albo w tym samym wieku" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Nie można było zrobić kopii zapasowej tego pliku" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Nie można przemianować %s na %s" @@ -1085,9 +1090,9 @@ msgid "%s: Directory is new" msgstr "%s: Katalog jest nowy" #: src/incremen.c:566 -#, fuzzy, c-format +#, c-format msgid "%s: directory is on a different filesystem; not dumped" -msgstr "%s: plik w innym systemie plików; nie został zapisany" +msgstr "%s: kataolog w innym systemie plików; nie został zapisany" #: src/incremen.c:587 #, c-format @@ -1099,9 +1104,8 @@ msgid "Invalid time stamp" msgstr "Błędny czas pliku" #: src/incremen.c:1047 -#, fuzzy msgid "Invalid modification time" -msgstr "Błędny czas modyfikacji (sekundy)" +msgstr "Błędny czas modyfikacji" #: src/incremen.c:1057 msgid "Invalid modification time (nanoseconds)" @@ -1118,131 +1122,133 @@ msgstr "Błędny numer inodu" #: src/incremen.c:1137 #, c-format msgid "%s: byte %s: %s %.*s... too long" -msgstr "" +msgstr "%s: bajt %s: %s %.*s… - za długie" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Nieoczekiwany EOF w pliku migawkowym" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" -msgstr "" +msgstr "%s: bajt %s: %s %s po którym jest błędny bat 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" +"%s: bajt %s: (dozwolony zakres %s..%s)\n" +"\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" -msgstr "" +msgstr "%s: bajt %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" -msgstr "" +msgstr "%s: bajt %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Brakujące zakończenie rekordu" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Zły format pliku przyrostowego" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Nie obsługiwana wersja formatu przyrostowego: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" -msgstr "Zły format katalogu zrzutów: oczekiwano '%c', znaleziono %#3o" +msgstr "Zły format katalogu zrzutów: oczekiwano „%c”, znaleziono %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" -msgstr "Zły format katalogu zrzutów: powtórzone 'X'" +msgstr "Zły format katalogu zrzutów: powtórzone „X”" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" -msgstr "Zły format katalogu zrzutów: pusta nazwa w 'R'" +msgstr "Zły format katalogu zrzutów: pusta nazwa w „R”" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" -msgstr "Zły format katalogu zrzutów: 'T' nie jest poprzedzone przez 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" +msgstr "Zły format katalogu zrzutów: „T” nie jest poprzedzone przez „R”" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" -msgstr "Zły format katalogu zrzutów: pusta nazwa w 'T'" +msgstr "Zły format katalogu zrzutów: pusta nazwa w „T”" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" -msgstr "Zły format katalogu zrzutów: oczekiwano '%c', znaleziono koniec danych" +msgstr "Zły format katalogu zrzutów: oczekiwano „%c”, znaleziono koniec danych" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" -msgstr "Zły format katalogu zrzutów: nigdy nie użyte 'X'" +msgstr "Zły format katalogu zrzutów: nigdy nie użyte „X”" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Nie można utworzyć katalogu tymczasowego przy użyciu wzorca %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Bez skasowania katalogu: nie można odczytać stanu" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: katalog na innym urządzeniu: bez skasowania" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Usunięcie %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Nie można usunąć" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Pominięty" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok zer **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok: %s: ** Koniec pliku **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Odstępy w nagłówku zamiast spodziewanej wartości numerycznej %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1250,87 +1256,87 @@ msgstr "" "jak uzupełnienie dwójkowe" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Wartość ósemkowa %.*s w archiwum jest spoza zakresu %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Archiwum zawiera przestarzałe nagłówki base64" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "W archiwum jest łańcuch base64 %s spoza zakresu %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Wartość base256 w archiwum jest spoza zakresu %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Archiwum zawiera %.*s tam gdzie oczekiwana była liczba %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Wartość %s w archiwum jest spoza zakresu %s %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " łącze do %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " nieznany typ pliku %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Długie łącze--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Długa nazwa--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Nagłówek części--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Kontynuacja od bajtu %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Tworzony jest katalog:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Nazwa %s zmieniona na %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Nie można przemianować na %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Nazwa zmieniona z %s z powrotem na %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Plik usunięty zanim został przeczytany" @@ -1343,31 +1349,194 @@ msgstr "proces potomny" msgid "interprocess channel" msgstr "kanał między procesami" -#: src/names.c:360 -#, fuzzy +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "Wybór lokalnej nazwy pliku:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"dodanie podanego PLIKU do archiwum (przydatne jeżeli jego nazwa startuje od " +"myślnika)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "KATALOG" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "przejście do KATALOGU" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "nazwy plików do rozpakowania lub spakowania z PLIKU" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T czyta nazwy zakończone zerem, włącza --verbatim-files-from" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "wyłączenie efektu użycia opcji --null" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" +"usunięcie znaków cytowania z nazwy pliku wejściowego lub plików w archiwum " +"(domyślnie)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" +"bez usuwania znaków cytowania z nazwy pliku wejściowego lub plików w archiwum" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "z opcją -T - czytanie nazw plików dosłownie (bez uwzględniania opcji)" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" +"z opcją -T - traktowanie nazw plików zaczynających się od myślnika jako " +"opcji (domyślnie)" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "WZORZEC" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "wykluczenie nazw pasujących do WZORCA" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "wykluczenie nazw pasujących do wzorców w PLIKU" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"wykluczenie katalogów zawierających znacznik pamięci podręcznej CACHEDIR." +"TAG, oprócz samych plików znacznika" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG i ich podkatalogów" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "wykluczenie katalogów zawierających PLIK, ale nie samego PLIKU" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" +"czytanie wzorców pomijania dla każdego katalogu z PLIKU, jeżeli istnieje" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"czytanie wzorców pomijania dla każdego katalogu i jego podkatalogów z PLIKU, " +"jeżeli istnieje" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "wykluczenie katalogów zawierających PLIK i ich podkatalogów" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "wykluczenie katalogów zawierających PLIK" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "wykluczenie katalogów systemu administrowania wersjami" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" +"czytanie wzorców pomijania z analogicznych plików systemów zarządzania " +"wersjami (VCS)" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "wykluczenie plików kopii zapasowych i rezerwacji zasobów" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "zagłębianie się w podkatalogi (domyślnie)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "bez automatycznego zagłębiania się w katalogi" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Opcje filtracji nazw plików (dotyczą zarówno wzorców wykluczania jak " +"włączania):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "nazwy porównywane od początków nazw plików" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "wzorce odnoszą się do nazw po każdym „/” (domyślnie)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "traktowanie tak samo małych i wielkich liter" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "odróżnianie małych i wielkich liter (domyślnie)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "używanie wildcards (domyślnie dla wykluczania)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "dosłowne porównywanie napisów" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "wildcards są porównywane z „/” (domyślnie dla wykluczania)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "wildcards nie są porównywane z „/”" + +#: src/names.c:768 msgid "command line" -msgstr "%s polecenie zwróciło błąd" +msgstr "linia polecenia" -#: src/names.c:378 -#, fuzzy, c-format +#: src/names.c:786 +#, c-format msgid "%s: file list requested from %s already read from %s" -msgstr "%s: lista plików już przeczytana" +msgstr "%s: lista plików żądana z %s już przeczytana z %s" -#: src/names.c:448 src/checkpoint.c:274 -#, fuzzy, c-format +#: src/names.c:867 src/checkpoint.c:274 +#, c-format msgid "cannot split string '%s': %s" -msgstr "nie można ustawić czasu na `%s'" +msgstr "nie można podzielić napisu „%s”: %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: przeczytana nazwa pliku zawiera znak NUL" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "W nazwach plików użyto znaków dopasowania wzorców" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1375,56 +1544,55 @@ msgstr "" "Użyj --wildcards aby włączyć porównywanie wzorców albo --no-wildcards żeby " "wyłączyć to ostrzeżenie" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Nie znalazłem w archiwum" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Brak podanego wystąpienia pliku w archiwum" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Nie pasująca etykieta archiwum" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Nie jest dozwolone używanie opcji -C wewnątrz listy plików razem z --listed-" "incremental" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Z --listed-incremental można użyć tylko jednej opcji -C" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Opcje `-%s' i `-%s' obie chcą dostępu do standardowego wejścia" +msgstr "Opcje „%s” i „%s” obie chcą dostępu do standardowego wejścia" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Błędny format archiwum" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Próba użycia rozszerzeń GNU z niekompatybilnym formatem archiwum" -#: src/tar.c:264 -#, fuzzy, c-format +#: src/tar.c:265 +#, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -"Nieznany styl cytowania `%s'. Użyj `%s --quoting-style=help' żeby zobaczyć " +"Nieznany styl cytowania „%s”. Użyj „%s --quoting-style=help” żeby zobaczyć " "listę." -#: src/tar.c:378 -#, fuzzy +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1434,7 +1602,7 @@ msgid "" " tar -tvf archive.tar # List all files in archive.tar verbosely.\n" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -"`tar' GNU zapisuje wiele plików razem na na jednej taśmie lub archiwum " +"tar GNU zapisuje wiele plików razem na na jednej taśmie lub archiwum " "dyskowym i może odzyskać poszczególne pliki z archiwum.\n" "\n" "Przykłady:\n" @@ -1443,8 +1611,7 @@ msgstr "" "tar.\n" " tar -xf archive.tar # rozpakowanie plików z archive.tar.\n" -#: src/tar.c:387 -#, fuzzy +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1455,7 +1622,7 @@ msgid "" " nil, existing numbered if numbered backups exist, simple otherwise\n" " never, simple always make simple backups\n" msgstr "" -"Przyrostek kopii zapasowej to `~', jeżeli nie został zmieniony przez --" +"Przyrostek kopii zapasowej to „~”, jeżeli nie został zmieniony przez --" "suffix\n" "lub SIMPLE_BACKUP_SUFFIX. Sposób zarządzania wersjami może być zmieniony " "przez\n" @@ -1467,79 +1634,87 @@ msgstr "" "proste\n" " never, simple proste kopie zapasowe\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Podstawowe tryby działania:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "wypisanie zawartości archiwum" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "rozpakowanie plików z archiwum" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "utworzenie nowego archiwum" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "sprawdzenie różnic między archiwum i plikami na dysku" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "dołączenie plików na końcu archiwum" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "dołączenie tylko plików nowszych niż kopie w archiwum" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "dołączenie plików tar do archiwum" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "skasowanie plików z archiwum (nie na taśmie!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "przetestowanie etykiety archiwum i wyjście" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Modyfikatory działania:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "efektywne przetwarzanie plików rzadkich" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "TYP" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "technika wykrywania dziur" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "ustawienie wersji używanego formatu plików rzadkich (włącza --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "backup przyrostowy w starym formacie GNU" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "backup przyrostowy w nowym formacie GNU" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "numer poziomu tworzonej albo oglądanej przyrostowej kopii zapasowej" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "bez zakończenia błędem jeżeli niedostępne pliki" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1551,143 +1726,153 @@ msgstr "" "plików jest podana w linii poleceń albo przez opcję -T. LICZBA domyślnie " "wynosi 1." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "archiwum o swobodnym dostępie" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "archiwum bez swobodnego dostępu" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "bez sprawdzania numerów urządzeń przy tworzeniu archiwów przyrostowych" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "ze sprawdzaniem numerów urządzeń przy tworzeniu archiwów przyrostowych" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Sterowanie zamazywaniem" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "próba weryfikacji archiwum po zapisaniu" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "usunięcie plików po dodaniu do archiwum" -#: src/tar.c:485 -#, fuzzy +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" -msgstr "bez zamazania istniejących plików rozpakowanymi" +msgstr "" +"bez zamazania istniejących plików rozpakowanymi, uznawanie prób zamazania za " +"błąd" -#: src/tar.c:488 -#, fuzzy +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" -msgstr "bez zamazania istniejących plików rozpakowanymi" +msgstr "" +"bez zamazania istniejących plików rozpakowanymi, pomijanie ich bez komunikatu" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "bez zastępowania istniejących plików, które są nowsze niż ich kopie w " "archiwum" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "nadpisywanie istniejących plików" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "usunięcie każdego pliku przed zamazaniem go rozpakowanym plikiem" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "opróżnianie starych katalogów przed rozpakowaniem kopii z archiwum" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "zachowanie metadanych istniejących katalogów" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "nadpisywanie metadanych istniejących katalogów przy rozpakowywaniu " "(domyslnie)" -#: src/tar.c:504 -#, fuzzy +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" -msgstr "nadpisywanie istniejących plików" - -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "KATALOG" +msgstr "zachowanie istniejących łącz symbolicznych przez rozpakowywaniu" -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "tworzenie katalogu dla uniknięcia utraty rozpakowywanych plików" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Wybór strumienia wyjściowego" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "rozpakowanie plików na standardowe wyjście" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "POLECENIE" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "przekazanie rozpakowywanych plików do innego programu" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "zignorowanie kodów wyjścia procesów potomnych" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" "traktowanie niezerowych kodów wyjściowych procesów potomnych jako błędu" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Przetwarzanie atrybutów plików:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "nadanie właściciela NAZWA dodanym plikom" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "nadanie grupy NAZWA dodanym plikom" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "użycie PLIKU do konwersji identyfikatorów i nazw właścicieli plików" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" +"użycie PLIKU do konwersji identyfikatorów i nazw grup właścicieli plików" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATA_ALBO_PLIK" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "ustawianie czasu modyfikacji dodanych plików z DATA_ALBO_PLIK" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "ZMIANY" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "ZMIANA uprawnień dodanych plików (podanych symbolicznie)" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METODA" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1697,11 +1882,11 @@ msgstr "" "czytaniu (METODA='replace'; domyślnie) albo przez nieustawianie czasu " "(METODA='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "bez odtworzenia czasu modyfikacji rozpakowanego pliku" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1709,22 +1894,22 @@ msgstr "" "staranie się o odtworzenie właścicieli plików według zapisu w archiwum " "(domyślnie dla superusera)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" "rozpakowanie plików jako własności rozpakowującego (domyślnie dla zwykłych " "użytkowników)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "używanie numerów, nie nazw użytkowników/grup" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "odtworzenie informacji o uprawnieniach plików (domyślnie dla superusera)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1732,16 +1917,14 @@ msgstr "" "użycie umask użytkownika przy odtwarzaniu uprawnień z archiwum (domyślnie " "dla zwykłych użytkowników)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" +"nazwy plików do rozpakowania z archiwum są podane w takim porządku w jakim " +"są w archiwum" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "to samo co równocześnie -p i -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1749,188 +1932,188 @@ msgstr "" "ustawianie czasów zmian i uprawnień odtworzonych katalogów opóźnione do " "końca rozpakowywania" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "wyłączenie efektu opcji --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "KOLEJNOŚĆ" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" +"kolejność sortowania katalogów: none (żadna, domyślnie) albo name (nazwa)" -#: src/tar.c:578 -#, fuzzy +#: src/tar.c:560 msgid "Handling of extended file attributes:" -msgstr "Przetwarzanie atrybutów plików:" +msgstr "Przetwarzanie roszerzonych atrybutów plików:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" -msgstr "" +msgstr "Włączenie przetwarzania rozszerzonych atrybutów plików" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" -msgstr "" +msgstr "Wyłączenie przetwarzania rozszerzonych atrybutów plików" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" -msgstr "" +msgstr "MASKA" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" -msgstr "" +msgstr "wzorzec uwzględniania kluczy xattr" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" -msgstr "" +msgstr "wzorzec pomijania kluczy xattr" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" -msgstr "" +msgstr "Włączenie przetwarzania kontekstu SELinuxa" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" -msgstr "" +msgstr "Wyłączenie przetwarzania kontekstu SELinuxa" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" -msgstr "" +msgstr "Włączenie przetwarzania ACL w standardzie POSIX" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" -msgstr "" +msgstr "Wyłączenie przetwarzania ACL w standardzie POSIX" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Wybór i przełączanie urządzeń:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARCHIWUM" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "użycie pliku lub urządzenia ARCHIWUM" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "plik archiwum lokalny, nawet jeżeli ma dwukropek" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "użyj POLECENIA zamiast /etc/rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "użyj POLECENIA zamiast rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "podanie napędu i gęstości" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "tworzenie/wypisanie/rozpakowanie archiwum wieloczęściowego" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "zmiana taśmy po zapisaniu LICZBA x 1024 bajtów" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "uruchomienie skryptu na końcu taśmy (włącza -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "użycie/uaktualnienie numeru części w PLIKU" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Parametry bloków:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOKI" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOKI x 512 bajtów na rekord" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "LICZBA bajtów w rekordzie, wielokrotność 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ignorowanie wyzerowanych bloków w archiwum (oznacza EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "podzielenie na bloki przy odczycie (dla pipe 4.2BSD)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Wybór formatu archiwum:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "utworzenie archiwum w danym formacie." -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMAT może być jednym z następujących:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "stary format tara z V7" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "format GNU dla tara <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "format tara GNU 1.13" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "format POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "format POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "to samo co pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "to samo co --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "to samo co --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "słowo_kluczowe[[:]=wartość][,słowo_kluczowe[[:]=wartość]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "ustawianie słów kluczowych formatu pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEKST" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1938,290 +2121,143 @@ msgstr "" "utworzenie archiwum z nazwą wolumenu TEKST. Przy wypisywaniu/rozpakowaniu " "TEKST będzie użyty jako wzorzec dopasowania dla nazwy" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Opcje kompresji" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "użycie przyrostka nazwy archiwum do ustalenia programu kompresującego" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" "bez używania przyrostka nazwy archiwum do wyznaczenia programu kompresującego" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROGRAM" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "filtrowanie przez PROGRAM (akceptujący -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Wybór plików lokalnych:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"dodanie podanego PLIKU do archiwum (przydatne jeżeli jego nazwa startuje od " -"myślnika)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "przejście do KATALOGU" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "nazwy plików do rozpakowania lub spakowania z PLIKU" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T czyta nazwy zakończone zerem, wyłącz -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "wyłączenie efektu użycia opcji --null" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "" -"usunięcie znaków cytowania z nazw plików czytanych poprzez opcję -T " -"(domyślnie)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "bez usuwania znaków cytowania z nazw plików czytanych poprzez opcję -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "WZORZEC" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "wykluczenie nazw pasujących do WZORCA" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "wykluczenie nazw pasujących do wzorców w PLIKU" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"wykluczenie katalogów zawierających znacznik pamięci podręcznej CACHEDIR." -"TAG, oprócz samych plików znacznika" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG i ich podkatalogów" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "wykluczenie katalogów zawierających PLIK, ale nie samego PLIKU" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "wykluczenie katalogów zawierających PLIK i ich podkatalogów" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "wykluczenie katalogów zawierających PLIK" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "wykluczenie katalogów systemu administrowania wersjami" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "wykluczenie plików kopii zapasowych i rezerwacji zasobów" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "bez automatycznego zagłębiania się w katalogi" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "pozostanie w jednym systemie plików" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "zagłębianie się w podkatalogi (domyślnie)" - -#: src/tar.c:761 -#, fuzzy +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" -msgstr "bez usuwania początkowego `/' z nazw plików" +msgstr "bez usuwania początkowego „/” z nazw plików" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "archiwizacja plików, na które wskazują łącza symboliczne" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "archiwizacja plików, na które wskazują łącza zwykłe" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "NAZWA-PLIKU" -#: src/tar.c:767 -#, fuzzy +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" -msgstr "zaczęcie od pliku NAZWA-PLIKU w archiwum" +msgstr "zaczęcie od pliku NAZWA-PLIKU w czasie czytania archiwum" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "zapisanie tylko plików nowszych niż DATA albo data PLIKU" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATA" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "porównywanie daty i czasu tylko dla zmienionych danych" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "TRYB" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "kopia zapasowa przed usunięciem, wybranie TRYBU zarządzania wersjami" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "NAPIS" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -"kopia zapasowa przed usunięciem, zmiana domyślnego przyrostka ('~', jeżeli " +"kopia zapasowa przed usunięciem, zmiana domyślnego przyrostka („~”, jeżeli " "nie zmieniony przez zmienną środowiska SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Zmiany nazwy plików:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "ucięcie przed rozpakowaniem LICZBY początkowych elementów ścieżki z nazw " "plików" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "WYRAÅ»ENIE" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "użycie WYRAÅ»ENIA zamiany sed-a do przekształcenia nazw plików" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Opcje filtracji nazw plików (dotyczą zarówno wzorców wykluczania jak " -"włączania):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "traktowanie tak samo małych i wielkich liter" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "nazwy porównywane od początków nazw plików" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "wzorce odnoszą się do nazw po każdym / (domyślnie)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "odróżnianie małych i wielkich liter (domyślnie)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "używanie wildcards (domyślnie dla wykluczania)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "dosłowne porównywanie napisów" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "wildcards nie są porównywane z `/'" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "wildcards są porównywane z '/' (domyślnie dla wykluczania)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Informacje:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "wypisywanie szczegółów o przetwarzanych plikach" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "SŁOWO KLUCZOWE" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "sterowanie ostrzeżeniami" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "wypisywanie co ILE rekordów informacji o przetwarzaniu (domyslnie co 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "AKCJA" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "wykonanie AKCJI przy każdym punkcie kontrolnym" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "wypisanie komunikatu jeżeli nie wszytkie łącza zostały zapisane" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SYGNAŁ" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2233,35 +2269,35 @@ msgstr "" "sygnały: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2; nazwy bez prefiksu SIG " "są też akceptowane" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "wypisanie czasów modyfikacji plików w UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "wypisanie czasu pliku z pełną dokładnością" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "zapisanie dokładnych informacji w PLIKU" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "pokazanie przy każdym komunikacie numeru bloku w archiwum" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "proszenie o potwierdzenie każdego działania" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "wypisanie domyślnych ustawień tar-a" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" -msgstr "" +msgstr "pokazanie zakresów dozwolonych wartości pól danych kopii przyrostowej" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2269,33 +2305,33 @@ msgstr "" "wypisywanie każdego katalogu nie pasującego do kryteriów szukania przy " "wypisywaniu albo rozpakowywaniu archiwum" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "pokazanie nazw plików albo archiwów po przeszktałceniu" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STYL" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "ustawienie stylu ujmowania nazw w cudzysłowy; poniżej dozwolone wartości " "STYLU" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "dodatkowe ujmowanie w znaki cytowania znaków z ŁAŃCUCHA" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "wyłączenie ujmowania w znaki cytowania znaków z ŁAŃCUCHA" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Opcje kompatybilności:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2303,56 +2339,63 @@ msgstr "" "przy tworzeniu: to samo co --old-archive przy odtwarzaniu: to co --no-same-" "owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Inne opcje:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "wyłączenie używania potencjalnie szkodliwych opcji" -#: src/tar.c:1010 -#, fuzzy +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "opcja „%s” nie może być użyta z opcją „%s”" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "" -"Nie można podać więcej niż jednej opcji z `-Acdtrux' albo `--test-label'" +"Nie można podać więcej niż jednej opcji z „-Acdtrux”, „--delete” albo „--" +"test-label”" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Niezgodne opcje kompresji" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Nieznana nazwa sygnału: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Nie znaleziono pliku z datą" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Postawienie %s w miejscu nieznanego formatu daty %s" -#: src/tar.c:1140 -#, fuzzy, c-format +#: src/tar.c:1066 +#, c-format msgid "Option %s: Treating date '%s' as %s" -msgstr "Opcja %s: Potraktowanie daty `%s' jako %s" +msgstr "Opcja %s: Potraktowanie daty „%s” jako %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "filtrowanie archiwum przez %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Prawidłowe argumenty dla opcji --quoting-style:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2360,117 +2403,120 @@ msgstr "" "\n" "*Ten* tar ma domyślne parametry:\n" -#: src/tar.c:1330 -#, fuzzy +#: src/tar.c:1253 msgid "Invalid owner or group ID" -msgstr "Błędny właściciel" +msgstr "Błędny identyfikator właściciela lub grupy" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Błędny współczynnik łączenia w bloki" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Błędna długość taśmy" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Błędny numer poziomu przyrostowej kopii zapasowej" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Więcej niż jedna data graniczna" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Błędna wartość wersji plików rzadkich" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "ten system nie pozwala na użycie --atime-preserve='system'" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "wartość --checkpoint nie jest liczbą całkowitą" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Błędne uprawnienia podane w opcji" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Błędny numer" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"Opcja --preserve jest przestarzała, zamiast niej użyj --preserve-permissions " -"--preserve-order" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Błędna wielkość rekordu" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Rozmiar rekordu musi być wielokrotnością %d" -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Błędna ilość elementów" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Wolno użyć tylko jednej opcji polecenia --to-command" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Błędna specyfikacja gęstości: %s" -#: src/tar.c:2205 -#, fuzzy, c-format +#: src/tar.c:2052 +#, c-format msgid "Unknown density: '%c'" -msgstr "Nieznana gęstość: `%c'" +msgstr "Nieznana gęstość: „%c”" -#: src/tar.c:2222 -#, fuzzy, c-format +#: src/tar.c:2069 +#, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" -msgstr "Opcje `-[0-7][lmh]' nie są używane w *tym* tarze" +msgstr "Opcje „-[0-7][lmh]” nie są dostępne w *tym* tarze" + +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: lokalizacja błędu" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "błąd przetwarzania %s" -#: src/tar.c:2235 +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[PLIK]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Nie może być użyty wzorzec %s" +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "argumenty nie będące opcjami w %s" + +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "nie można rozdzielić TAR_OPTIONS: %s" -#: src/tar.c:2389 -#, fuzzy, c-format +#: src/tar.c:2293 +#, c-format msgid "Old option '%c' requires an argument." -msgstr "Stara opcja `%c' wymaga argumentu." +msgstr "Stara opcja „%c” wymaga argumentu." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence nie ma znaczenia bez listy plików" -#: src/tar.c:2490 -#, fuzzy +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" -msgstr "Archiwum składające się z wielu plików wymaga opcji `-M'" +msgstr "Archiwum składające się z wielu plików wymaga opcji „-M”" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "opcja --level nic nie znaczy bez użycia --listed-incremental" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2478,74 +2524,77 @@ msgstr[0] "%s: Za długa etykieta części (może mieć do %lu bajtu)" msgstr[1] "%s: Za długa etykieta części (może mieć do %lu bajtów)" msgstr[2] "%s: Za długa etykieta części (może mieć do %lu bajtów)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Nie można zweryfikować archiwum wieloczęściowego" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Nie można zweryfikować archiwum skompresowanego" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Nie można używać wieloczęściowego archiwum skompresowanego" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Nie można połączyć skompresowanych archiwów" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" -msgstr "--pax-option może być użyta tylko przy archiwach POSIX-owych" +msgstr "Opcja --pax-option może być użyta tylko do archiwów POSIX-owych" -#: src/tar.c:2560 -#, fuzzy +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" -msgstr "--pax-option może być użyta tylko przy archiwach POSIX-owych" +msgstr "Opcja --acls może być użyta tylko do archiwów POSIX-owych" -#: src/tar.c:2565 -#, fuzzy +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" -msgstr "--pax-option może być użyta tylko przy archiwach POSIX-owych" +msgstr "Opcja --selinux może być użyta tylko do archiwów POSIX-owych" -#: src/tar.c:2570 -#, fuzzy +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" -msgstr "--pax-option może być użyta tylko przy archiwach POSIX-owych" +msgstr "Opcja --xattrs może być użyta tylko do archiwów POSIX-owych" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Nie udało się wydedukować głównego katalogu; proszę ustawić go wprost opcją " +"--one-top-level=KATALOG" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Długość części nie może być mniejsza od wielkości rekordu" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Tchórzliwie odmawiam utworzenia pustego archiwum" -#: src/tar.c:2669 -#, fuzzy +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" -msgstr "Opcje `-Aru' są niekompatybilne z `-f -'" +msgstr "Opcje „-Aru” są niekompatybilne z „-f -”" -#: src/tar.c:2766 -#, fuzzy +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" -msgstr "Musisz podać jedną z opcji `-Acdtrux' albo `--test-label'" +msgstr "Trzeba podać jedną z opcji „-Acdtrux”, „--delete” albo „--test-label”" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Zakończenie w stanie błędu z powodu uprzednich błędów" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" +"kolejność sortowania katalogów: none (żadna, domyślnie), name (nazwa) albo " +"inode" #: src/update.c:87 #, c-format @@ -2596,11 +2645,11 @@ msgid "Malformed extended header: missing newline" msgstr "Błędny nagłówek rozszerzony: brakuje znaku mowej linii" #: src/xheader.c:741 -#, fuzzy, c-format +#, c-format msgid "Ignoring unknown extended header keyword '%s'" -msgstr "Zignorowane nieznane słowo kluczowe nagłówka rozszerzonego `%s'" +msgstr "Zignorowane nieznane słowo kluczowe nagłówka rozszerzonego „%s”" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2609,27 +2658,27 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Nagłówek rozszerzony - %s=%s jest poza zakresem %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Błędny nagłówek rozszerzony: błędny %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Błędny nagłówek rozszerzony: nadmiarowe %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Błędny nagłówek rozszerzony: błędny %s: niespodziewany ogranicznik %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Błędny nagłówek rozszerzony: błędny %s: nieparzysta liczba wartości" @@ -2668,9 +2717,9 @@ msgstr "Punkt kontrolny zapisu %u" #: src/checkpoint.c:224 #, c-format msgid "Read checkpoint %u" -msgstr "Punkt kontrolny czytania %u" +msgstr "Punkt kontrolny odczytu %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2678,69 +2727,73 @@ msgstr "" "genfile służy do operacji na plikach w ramach zestawu testów GNU paxutils.\n" "OPCJE:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Opcje tworzenia plików:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "ROZMIAR" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Utworzenie pliku o podanym ROZMIARZE" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Pisanie na pliku NAZWA zamiast na standardowe wyjście" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Czytanie nazw plików z PLIKU" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T czyta nazwy zakończone zerem" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" -msgstr "Wypełnienie pliku podanym WZORCEM. WZORZEC to 'default' albo 'zeros'" +msgstr "Wypełnienie pliku podanym WZORCEM. WZORZEC to „default” albo „zeros”" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Rozmiar bloku pliku rzadkiego" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "Utworzenie pliku rzadkiego. Reszta argumentów określa mapę pliku." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "POZYCJA" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Ustawienie pozycji zapisu przez zapisem danych" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Opcje statystyki plików" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Wypisanie zawartości struct stat dla każdego podanego pliku. Domyślny " "FORMAT: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Opcje równoczesnego wykonywania:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "OPCJA" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2748,20 +2801,20 @@ msgstr "" "Wykonanie ARGUMENTÓW. Przydatne z --checkpoint i jednym z --cut, --append, --" "touch albo --unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" "Wykonanie podanej akcji (zobacz niżej) po napotkaniu punktu kontrolnego NUMER" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Ustaw datę następnej opcji --touch" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Wypisanie wykonanych punktów kontrolnych i kodu wyjścia POLECENIA" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2769,7 +2822,7 @@ msgstr "" "Akcje równoczesnego wykonania. Są podejmowane po osiągnięciu punktu " "kontrolnego o numerze podanym przez opcję --checkpoint" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2777,181 +2830,160 @@ msgstr "" "Obcięcie PLIKU do rozmiaru podanego przez poprzednia opcję --length (albo 0, " "jeżeli nie został podany)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Dodanie ROZMIAR bajtów do PLIKU. ROZMIAR jak podany przez poprzednią opcję --" "length." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Uaktualnienie czasów dostepu i modyfikacji PLIKU" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Wykonanie POLECENIA" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Usunięcie PLIKU" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Błędny rozmiar: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Liczba spoza dozwolonego zakresu: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Ujemny rozmiar: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "błąd stat(%s)" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "żądana długość pliku %lu, faktyczna %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "utworzony plik nie jest rzadki" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" -msgstr "Błąd przetwarzania liczby blisko `%s'" +msgstr "Błąd przetwarzania liczby blisko „%s”" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Nieznany format daty" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGUMENTY...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" -msgstr "nie można otworzyć `%s'" +msgstr "nie można otworzyć „%s”" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "nie można ustawić pozycji" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "nazwa pliku zawiera znak NUL" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "nie można utworzyć pliku rzadkiego na standardowym wyjściu, użyj opcji --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" -msgstr "nieprawidłowa maska (koło `%s')" +msgstr "nieprawidłowa maska (koło „%s”)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" -msgstr " Nieznane pole `%s'" +msgstr " Nieznane pole „%s”" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" -msgstr "nie można ustawić czasu na `%s'" +msgstr "nie można ustawić czasu na „%s”" -#: tests/genfile.c:692 -#, fuzzy, c-format +#: tests/genfile.c:760 +#, c-format msgid "cannot truncate `%s'" -msgstr "nie można usunąć `%s'" +msgstr "nie można skrócić „%s”" -#: tests/genfile.c:701 -#, fuzzy, c-format +#: tests/genfile.c:769 +#, c-format msgid "command failed: %s" -msgstr "%s polecenie zwróciło błąd" +msgstr "polecenie zwróciło błąd: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" -msgstr "nie można usunąć `%s'" +msgstr "nie można usunąć „%s”" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Polecenie zakończyło się poprawnie\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Polecenie zakończyło się niepoprawnie z kodem %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Polecenie zostało zakończone sygnałem %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Polecenie zostało zatrzymane sygnałem %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Został zapisany obraz pamięci (core dump) polecenia\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Polecenie zakończone\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat wymaga podania nazwy pliku" -#~ msgid "sort names to extract to match archive" -#~ msgstr "pliki do rozpakowania posortowane jak w archiwum" - -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "--occurrence nie może być użyte w tym trybie" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Nie można połączyć --listed-incremental z --newer" - -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "opcja --preserve-order nie może być używana z --listed-incremental" - -#~ msgid "Field too long while reading snapshot file" -#~ msgstr "Za długie pole w pliku migawkowym" - -#~ msgid "Read error in snapshot file" -#~ msgstr "Błąd czytania pliku migawkowego" - -#~ msgid "Unexpected field value in snapshot file" -#~ msgstr "Nieoczekiwana wartość pola w pliku migawkowym" - -#~ msgid "Cannot get working directory" -#~ msgstr "Nie można odczytać bieżącego katalogu" - -#~ msgid "Invalid group" -#~ msgstr "Błędna grupa" +#~ msgid "same as both -p and -s" +#~ msgstr "to samo co równocześnie -p i -s" -#~ msgid "Extended header length is out of allowed range" -#~ msgstr "Długość nagłówka rozszerzonego jest poza dozwolonym zakresem" +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Opcja --preserve jest przestarzała, zamiast niej użyj --preserve-" +#~ "permissions --preserve-order" diff --git a/po/pt.gmo b/po/pt.gmo index 8369855bd4b90e8222ebfb55c9ce954e3490202e..0ea804b4ff99ea3572cfd2281b86c51f27318492 100644 GIT binary patch delta 25 hcmdlXxkGZpMK&HYT?12HLo)>fODogOciC>U0sv}s2mk;8 delta 25 hcmdlXxkGZpMK&H2T?2DnBXb2KV=Lp$ciC>U0sv}T2mAm4 diff --git a/po/pt.po b/po/pt.po index 7de4fbf3..f34a6721 100644 --- a/po/pt.po +++ b/po/pt.po @@ -2,12 +2,12 @@ # Copyright (1995) Free Software Foundation, Inc. # António José Coutinho # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: tar 1.11.9\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 1996-04-20 21:50\n" "Last-Translator: António José Coutinho \n" "Language-Team: Portuguese \n" @@ -16,46 +16,46 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "Formato de data inválido \"%s\"" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 #, fuzzy msgid "" "Mandatory or optional arguments to long options are also mandatory or " @@ -64,147 +64,152 @@ msgstr "" "Os argumentos obrigatórios ou opcionais para as opções longas também\n" "são obrigatórios ou opcionais para as correspondentes opções curtas.\n" -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr "" -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 #, fuzzy msgid " [OPTION...]" msgstr "" "\n" "Forma de usar: %s [OPÇÃO]...\n" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Para mais informação, tente \"%s --help\".\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Erro desconhecido, do sistema" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 #, fuzzy msgid "write error" msgstr "Escreve-se registo\n" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "A antiga opção `%c' exige um argumento." + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "Não se conseguiu determinar a directoria corrente" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "" @@ -230,11 +235,11 @@ msgstr "" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "" @@ -244,7 +249,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "" @@ -254,16 +259,16 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -271,11 +276,11 @@ msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" @@ -578,8 +583,8 @@ msgstr "Fim de ficheiro inesperado nos nomes truncados" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "" @@ -587,10 +592,11 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "" @@ -603,7 +609,7 @@ msgstr "" msgid "cannot open %s" msgstr "Não se consegue abrir %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "" @@ -612,116 +618,116 @@ msgstr "" msgid "Garbage command" msgstr "Comando desconhecido" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Isto não se parece a um arquivo \"tar\"" -#: src/buffer.c:574 +#: src/buffer.c:577 #, fuzzy msgid "Total bytes read" msgstr "Número total de de \"bytes\" escritos: %d\n" -#: src/buffer.c:576 +#: src/buffer.c:579 #, fuzzy msgid "Total bytes written" msgstr "Número total de de \"bytes\" escritos: %d\n" -#: src/buffer.c:577 +#: src/buffer.c:580 #, fuzzy msgid "Total bytes deleted" msgstr "Número total de de \"bytes\" escritos: %d\n" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Valor inválido para tamanho de registo (record_size)" -#: src/buffer.c:698 +#: src/buffer.c:701 #, fuzzy msgid "No archive name given" msgstr "Não deram nome de arquivo, que fazer?" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Não se pode de verificar arquivos stdin ou stdout" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 #, fuzzy msgid "Cannot update compressed archives" msgstr "Não se pode actualizar o verificar um arquivo comprimido" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "No princípio da fita, pára-se imediatamente" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Erros de mais: termina-se" -#: src/buffer.c:944 +#: src/buffer.c:947 #, fuzzy, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Tamanho de bloco (blocksize) = blocos de %d" msgstr[1] "Tamanho de bloco (blocksize) = blocos de %d" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "" msgstr[1] "" -#: src/buffer.c:1042 +#: src/buffer.c:1055 #, fuzzy msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Não se conseguiu recuar o arquivo; pode ser ilegível sem -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, fuzzy, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "\aPreparar o volume no. %d para %s e premir \"Return\": " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "ATENÇÃO: O arquivo está incompleto" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -733,71 +739,71 @@ msgstr "" " ! Criar uma \"sub-shell\" (interpretador de comandos)\n" " ? Escrever esta lista\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Não há novo volume; termina-se. \n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "" -#: src/buffer.c:1491 -#, fuzzy, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s não tem continuidade neste volume" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s não tem continuidade neste volume" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, fuzzy, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s não tem continuidade neste volume" + +#: src/buffer.c:1541 #, fuzzy, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s não é a dimensão correcta (%ld != %ld + %ld)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Este volume está fora da sequência" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, fuzzy, c-format msgid "Archive not labeled to match %s" msgstr "O arquivo não tem etiqueta e não condiz com %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, fuzzy, c-format msgid "Volume %s does not match %s" msgstr "O volume não condiz! %s!=%s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -#: src/buffer.c:1917 +#: src/buffer.c:1949 #, fuzzy msgid "write did not end on a block boundary" msgstr "" @@ -810,22 +816,22 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "%s: Só se pôde ler %d de um total de %ld \"bytes\"\n" msgstr[1] "%s: Só se pôde ler %d de um total de %ld \"bytes\"\n" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 #, fuzzy msgid "Contents differ" msgstr "Tempo de modificação" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Fim de ficheiro inesperado no arquivo" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 #, fuzzy msgid "File type differs" msgstr "%s: Ligação (\"link\") simbólica é diferente\n" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "" @@ -844,7 +850,7 @@ msgstr "%s: %s diferente\n" msgid "Mod time differs" msgstr "Tempo de modificação" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 #, fuzzy msgid "Size differs" msgstr "%s: Ligação (\"link\") simbólica é diferente\n" @@ -854,143 +860,143 @@ msgstr "%s: Liga msgid "Not linked to %s" msgstr "%s: Não está ligado a %s\n" -#: src/compare.c:289 +#: src/compare.c:290 #, fuzzy msgid "Symlink differs" msgstr "%s: Ligação (\"link\") simbólica é diferente\n" -#: src/compare.c:318 +#: src/compare.c:322 #, fuzzy msgid "Device number differs" msgstr "%s: Os números do periférico mudaram\n" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Verificação" -#: src/compare.c:473 +#: src/compare.c:477 #, fuzzy, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" "Tipo de ficheiro \"%c\" desconhecido para %s; comparado como um ficheiro " "normal" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "" -#: src/compare.c:614 +#: src/compare.c:618 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "ERRO DE VERIFICAÇÃO: Encontraram-se %d cabeçalhos inválidos" msgstr[1] "ERRO DE VERIFICAÇÃO: Encontraram-se %d cabeçalhos inválidos" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, fuzzy, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: não foi modificado; não será arquivado" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" -#: src/create.c:638 +#: src/create.c:639 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: não foi modificado; não será arquivado" -#: src/create.c:1084 +#: src/create.c:1102 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "O ficheiro %s diminuiu em %d \"bytes\", será completado com zeros" msgstr[1] "O ficheiro %s diminuiu em %d \"bytes\", será completado com zeros" -#: src/create.c:1182 +#: src/create.c:1200 #, fuzzy, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: Está num outro sistema de ficheiros; não será arquivado" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 #, fuzzy msgid "contents not dumped" msgstr " (imagem da memória despejada \"core dumped\")" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tipo de ficheiro desconhecido; ficheiro ignorado" -#: src/create.c:1551 +#: src/create.c:1569 #, fuzzy, c-format msgid "Missing links to %s." msgstr " ligação para %s\n" -#: src/create.c:1712 +#: src/create.c:1730 #, fuzzy, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: não foi modificado; não será arquivado" -#: src/create.c:1721 +#: src/create.c:1739 #, fuzzy, c-format msgid "%s: file is the archive; not dumped" msgstr "%s é o arquivo; não será arquivado" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Salta para próximo cabeçalho" @@ -1008,60 +1014,60 @@ msgstr "" msgid "%s: time stamp %s is %s s in the future" msgstr "" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Estão-se a extrair ficheiros contíguos como sendo ficheiros normais" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "" "Está-se a tentar extrair ligações simbólicas (sym. links) como ligações " "físicas (hard links)" -#: src/extract.c:1528 +#: src/extract.c:1573 #, fuzzy, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "" "Não se pode extraír `%s' -- é a continuação de um ficheiro de outro volume" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 #, fuzzy msgid "Unexpected long name header" msgstr "Fim de ficheiro inesperado no ficheiro de arquivo" -#: src/extract.c:1542 +#: src/extract.c:1587 #, fuzzy, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "" "Tipo \"%c\" do ficheiro \"%s\" desconhecido; extrai-se como um ficheiro " "normal" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Não se consegue mudar o nome de %s para %s" @@ -1111,216 +1117,216 @@ msgstr "" msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Fim de ficheiro inesperado no ficheiro de arquivo" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "Não se pode mudar para a directoria %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Apaga-se %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, fuzzy, c-format msgid "%s: Cannot remove" msgstr "Não se consegue apagar %s" -#: src/list.c:217 +#: src/list.c:219 #, fuzzy, c-format msgid "%s: Omitting" msgstr "Omite-se %s" -#: src/list.c:235 +#: src/list.c:237 #, fuzzy, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloco %10ld: ** Bloco de NULs **\n" -#: src/list.c:261 +#: src/list.c:263 #, fuzzy, c-format msgid "block %s: ** End of File **\n" msgstr "bloco %10ld: ** Fim-de-ficheiro **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, fuzzy, c-format msgid "block %s: " msgstr "bloco %10ld: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" -#: src/list.c:883 +#: src/list.c:884 #, fuzzy, c-format msgid "Archive base-256 value is out of %s range" msgstr "Este volume está fora da sequência" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " ligação para %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, fuzzy, c-format msgid " unknown file type %s\n" msgstr " tipo de ficheiro desconhecido \"%c\"\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Cabeçalho de volume--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, fuzzy, c-format msgid "--Continued at byte %s--\n" msgstr "--Continua no \"byte\" %ld--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Criação de directoria::" -#: src/misc.c:726 +#: src/misc.c:733 #, fuzzy, c-format msgid "Renaming %s to %s\n" msgstr "Mudou-se o nome %s para %s" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, fuzzy, c-format msgid "%s: Cannot rename to %s" msgstr "Não se consegue mudar o nome de %s para %s" -#: src/misc.c:759 +#: src/misc.c:766 #, fuzzy, c-format msgid "Renaming %s back to %s\n" msgstr "Mudou-se o nome %s para %s" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "" @@ -1333,81 +1339,231 @@ msgstr "" msgid "interprocess channel" msgstr "" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Arquivo para stdin" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "" + +#: src/names.c:73 +#, fuzzy +msgid "change to directory DIR" +msgstr "Não se pode mudar para a directoria %s" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" + +#: src/names.c:136 +msgid "ignore case" +msgstr "" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "" + +#: src/names.c:768 msgid "command line" msgstr "" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, fuzzy, c-format msgid "cannot split string '%s': %s" msgstr "Não se pode criar uma ligação (\"link\") simbólica de %s para %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Não foi encontrado no arquivo" -#: src/names.c:845 +#: src/names.c:1263 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Não foi encontrado no arquivo" -#: src/names.c:879 +#: src/names.c:1297 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "O arquivo não tem etiqueta e não condiz com %s" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "Ambas as opções `-%s' e `-%s' precisam do \"standard input\"" -#: src/tar.c:164 +#: src/tar.c:165 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "Formato de data inválido \"%s\"" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "" "Estão-se a querer propriedades GNU num arquivo com formato incompatível" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1418,7 +1574,7 @@ msgid "" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1430,80 +1586,88 @@ msgid "" " never, simple always make simple backups\n" msgstr "" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "" -#: src/tar.c:425 +#: src/tar.c:401 #, fuzzy msgid "create a new archive" msgstr "Fim de ficheiro inesperado no arquivo" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1511,641 +1675,513 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "" -#: src/tar.c:483 +#: src/tar.c:461 #, fuzzy msgid "remove files after adding them to the archive" msgstr "Retira-se a especificação do \"drive\" aos nomes no arquivo" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "" -#: src/tar.c:627 +#: src/tar.c:609 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "Não se pode verificar arquivos multi-volume" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:653 +#: src/tar.c:635 #, fuzzy msgid "Archive format selection:" msgstr "Arquivo para stdin" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:684 +#: src/tar.c:666 #, fuzzy msgid "Compression options:" msgstr "Há conflitos entre as opções de compressão" -#: src/tar.c:686 +#: src/tar.c:668 #, fuzzy msgid "use archive suffix to determine the compression program" msgstr "Não se consegue escrever para o programa de compressão" -#: src/tar.c:688 +#: src/tar.c:670 #, fuzzy msgid "do not use archive suffix to determine the compression program" msgstr "Não se consegue escrever para o programa de compressão" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" - -#: src/tar.c:712 -#, fuzzy -msgid "change to directory DIR" -msgstr "Não se pode mudar para a directoria %s" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -msgid "unquote input file or member names (default)" -msgstr "" - -#: src/tar.c:722 -msgid "do not unquote input file or member names" -msgstr "" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "" - -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "Retira-se \"/\" das ligações (\"links\") absolutas " -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2153,306 +2189,324 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:842 +#: src/tar.c:752 #, fuzzy msgid "ask for confirmation for every action" msgstr "Não se consegue obter confirmação, do utilizador" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "Não se pode especificar mais do que uma das opções \"-Acdtrux\"" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Há conflitos entre as opções de compressão" -#: src/tar.c:1079 +#: src/tar.c:1005 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr "Opção \"%c\" desconhecida" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 +#: src/tar.c:1864 #, fuzzy msgid "Invalid record size" msgstr "Valor inválido para tamanho de registo (record_size)" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "O tamanho dos registos tem que ser múltiplo de %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "" -#: src/tar.c:2067 +#: src/tar.c:1938 #, fuzzy msgid "Only one --to-command option allowed" msgstr "Só se permite uma opção de compressão" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2205 +#: src/tar.c:2052 #, fuzzy, c-format msgid "Unknown density: '%c'" msgstr "Opção \"%c\" desconhecida" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "As opções \"-[0-7][lmh]\" não são suportadas por *este* tar" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Erro durante o fecho de %s" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "" -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Não se consegue escrever em %s" +msgid "non-option arguments in %s" +msgstr "Formato de data inválido \"%s\"" -#: src/tar.c:2389 +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "Não se pode criar uma ligação (\"link\") simbólica de %s para %s" + +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "A antiga opção `%c' exige um argumento." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "Para usar vários arquivos é necessária a opção \"-M\"" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "" msgstr[1] "" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Não se pode verificar arquivos multi-volume" -#: src/tar.c:2530 +#: src/tar.c:2444 #, fuzzy msgid "Cannot verify compressed archives" msgstr "Não se pode actualizar o verificar um arquivo comprimido" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Não se pode de usar arquivos multi-volume comprimidos" -#: src/tar.c:2543 +#: src/tar.c:2462 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Não se pode actualizar o verificar um arquivo comprimido" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Recusa-se, covardemente, a criar um arquivo vazio" -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr "As opções \"-Aru\" são imcompatíveis com \"-f -\"" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Tem que se especificar uma das opções \"-Acdtrux\"" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2508,34 +2562,34 @@ msgstr "" msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" @@ -2576,246 +2630,250 @@ msgstr "Escreve-se o ponto de verifica msgid "Read checkpoint %u" msgstr "Leu-se o ponto de verificação %d" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" msgstr "" -#: tests/genfile.c:127 +#: tests/genfile.c:131 #, fuzzy msgid "File creation options:" msgstr "Há conflitos entre as opções de compressão" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" -#: tests/genfile.c:188 +#: tests/genfile.c:193 #, fuzzy msgid "Update the access and modification times of FILE" msgstr "Não se conseguiu modificar os tempos de acesso e modificação de %s" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, fuzzy, c-format msgid "Invalid size: %s" msgstr "Formato de data inválido \"%s\"" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, fuzzy, c-format msgid "Unknown date format" msgstr "Erro desconhecido, do sistema" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, fuzzy, c-format msgid "cannot open `%s'" msgstr "Não se consegue abrir %s" -#: tests/genfile.c:434 +#: tests/genfile.c:443 #, fuzzy msgid "cannot seek" msgstr "Não se consegue executar %s" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr "Opção \"%c\" desconhecida" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "Não se consegue executar \"stat\" para o ficheiro %s" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "Não se consegue executar \"stat\" para %s" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "Não se consegue ler a ligação (\"link\") %s" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, fuzzy, c-format msgid "--stat requires file names" msgstr "--Nomes de ficheiros truncados--\n" @@ -2959,9 +3017,6 @@ msgstr "--Nomes de ficheiros truncados--\n" #~ msgid "Not a regular file" #~ msgstr "%s: Não é um ficheiro normal\n" -#~ msgid "Error while closing %s" -#~ msgstr "Erro durante o fecho de %s" - #, fuzzy #~ msgid "Does not exist" #~ msgstr "%s: Não existe\n" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo index d10b1b322e65434f09b9ec382cbfc6cf6bd3f3b8..9fc0db65e0d5f55d9c61c7fecb82ff4b5dad8957 100644 GIT binary patch delta 9644 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 Oe$I)g;;B1Vdi@WFf1o)4 delta 9836 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, 1996. # Marcus Moreira de Souza # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 2013-01-24 21:39-0300\n" "Last-Translator: Lucas Inojosa C. Ferreira \n" "Language-Team: Brazilian Portuguese 1);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argumento %s inválido para %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argumento %s ambíguo para %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Os argumentos válidos são:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: O valor %s é menor ou igual que %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: O parâmetro ARGP_HELP_FMT exige um valor" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: O Parâmetro ARGP_HELP_FMT deve ser positivo" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Parâmetro do ARGP_HELP_FMT desconhecido" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Lixo no ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -75,24 +75,24 @@ msgstr "" "Argumentos obrigatórios ou opcionais para opções longas são também " "obrigatórios ou opcionais para suas opções curtas correspondentes." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Uso:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " ou: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [OPÇÃO...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Tente `%s --help' ou `%s --usage' para mais informações.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "" @@ -101,121 +101,126 @@ msgstr "" "\n" "ou .\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Erro de sistema desconhecido" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "exibir esse menu de ajuda" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "exibir uma mensagem curta de uso do programa" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NOME" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "definir o nome do programa" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEGS" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "pausa por SEGS segundos (padrão: 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "exibe a versão do programa" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ERRO DO PROGRAMA) Não se sabe a versão!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Argumentos além do necessário\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ERRO DO PROGRAMA) A opção deveria ter sido reconhecida!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "erro de escrita" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: a opção '%s' é ambígua\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: a opção '-W %s' é ambígua\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: a opção '--%s' não admite um argumento\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: a opção '%c%s' não admite um argumento\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: a opção '%s' exige um argumento\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opção '--%s' não reconhecida\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opção '%c%s' não reconhecida\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opção inválida -- '%c'\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: a opção exige um argumento -- '%c'\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: a opção '-W %s' é ambígua\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: a opção '-W %s' não aceita um argumento\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: a opção '-W %s' exige um argumento\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "memória esgotada" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "impossível salvar o atual diretório de trabalho" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "falha ao retornar para o diretório de trabalho inicial" @@ -241,11 +246,11 @@ msgstr "falha ao retornar para o diret #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "`" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "'" @@ -255,7 +260,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[sS]" @@ -265,16 +270,16 @@ msgstr "^[sS]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pacote feito por %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Pacote feito por %s\n" @@ -282,11 +287,11 @@ msgstr "Pacote feito por %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "(C)" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -426,22 +431,22 @@ msgstr "" "\n" "ou .\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Informar %s erros no programa para: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s página inicial: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s página inicial: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "Ajuda para uso de softwares GNU: \n" @@ -606,8 +611,8 @@ msgstr "Argumentos inesperados" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Manipula uma unidade de fita, aceitando comandos de um processo remoto" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "NUMERO" @@ -615,10 +620,11 @@ msgstr "NUMERO" msgid "set debug level" msgstr "define nível de debug" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "ARQ" @@ -631,7 +637,7 @@ msgstr "define nome do arquivo de sa msgid "cannot open %s" msgstr "impossível fechar %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "muitos argumentos" @@ -640,112 +646,112 @@ msgstr "muitos argumentos" msgid "Garbage command" msgstr "Comando sem sentido" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Este não parece ser um arquivo-tar" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Total de bytes lidos" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Total de bytes escritos" -#: src/buffer.c:577 +#: src/buffer.c:580 #, fuzzy msgid "Total bytes deleted" msgstr "Total de bytes apagados: %s\n" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(pipe)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Valor inválido para \"record_size\"" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Nome de arquivo-tar não informado" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "" "Impossível verificar arquivos-tar de entrada/saída padrão (stdin/stdout)" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "O arquivo está compactado. Use a opção %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Impossível atualizar arquivos-tar compactados" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "No princípio da fita, encerrando agora" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Muitos erros, encerrando" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Tamanho de registro = %lu bloco" msgstr[1] "Tamanho de registro = %lu blocos" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Bloco desalinhado (%lu byte) no arquivo-tar" msgstr[1] "Bloco desalinhado (%lu bytes) no arquivo-tar" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Impossível recuar no arquivo-tar; pode estar ilegível sem -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek não está parado numa fronteira de registro" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: contém um número de volume inválido" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Sobrecarga de número de volumes" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Prepare o volume #%d para %s e tecle Enter: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Fim-de-arquivo onde era esperado resposta do usuário" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "AVISO: O arquivo-tar está incompleto" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -757,67 +763,67 @@ msgstr "" " q Abortar tar\n" " y ou nova linha Continuar operação\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Criar um sub-shell\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Mostra esta lista\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Nenhum volume novo; encerrando.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Nome de arquivo não foi especificado. Tente novamente.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Entrada inválida. Digite ? para ajuda.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "comando %s falhou" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "%s não é continuado neste volume" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s possivelmente é continuado neste volume: o cabeçalho contém o nome " "truncado" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "%s não é continuado neste volume" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s é o tamanho errado (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Este volume está fora de sequência (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "O arquivo-tar não rotulado para casar com %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "O volume %s não casa com %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -825,7 +831,7 @@ msgstr "" "%s: nome de arquivo muito longo para ser armazenado num cabeçalho GNU " "multivolume, truncado" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "escrita não acabou numa fronteira de bloco" @@ -836,20 +842,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Só foi possível ler %lu de %lu byte" msgstr[1] "Só foi possível ler %lu de %lu bytes" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "O conteúdo é diferente" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Final-de-arquivo inesperado no arquivo-tar" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "O tipo de arquivo é diferente" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Os modos são diferentes" @@ -865,7 +871,7 @@ msgstr "os gid s msgid "Mod time differs" msgstr "Os horários de modificação são diferentes" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Os tamanhos são diferentes" @@ -874,142 +880,142 @@ msgstr "Os tamanhos s msgid "Not linked to %s" msgstr "Não está \"linkado\" a %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "O (\"Link\") simbólico é diferente" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "O número de dispositivo é diferente" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Verificar " -#: src/compare.c:473 +#: src/compare.c:477 #, fuzzy, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" "%s: Tipo de arquivo `%c' desconhecido, comparado como um arquivo normal" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "" "O arquivo-tar contém nome de arquivos com os prefixos principais removidos" -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "O arquivo-tar contém nomes de arquivos transformados." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "A verificação pode falhar em localizar os arquivos originais." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "ERRO DE VERIFICAÇÃO: detectado %d cabeçalho inválido" msgstr[1] "ERRO DE VERIFICAÇÃO: detectados %d cabeçalhos inválidos" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Bloco de zero isolado em %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: contém um rótulo %s de diretório cache; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "valor %s fora da faixa %s: %s..%s; substituindo %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "valor %s fora da faixa %s: %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Gerando cabeçalhos octais negativos" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: nome de arquivo é muito grande (máximo de %d); não será arquivado" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: nome de arquivo é muito grande (não pode ser dividido); não será " "arquivado" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: Nome de link muito grande; não será arquivado" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: O arquivo diminuiu %s byte; completando com zeros" msgstr[1] "%s: O arquivo diminuiu %s bytes; completando com zeros" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: arquivo está em outro sistema de arquivos; não será arquivado" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "conteúdos não depositados" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tipo de arquivo desconhecido; arquivo ignorado" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Faltando links para %s" -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: arquivo sem alterações; não será arquivado" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: arquivo é o arquivo-tar; não será arquivado" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "diretório não depositado" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: arquivo alterado enquanto estava sendo lido" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: \"socket\" ignorado" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: porta ignorada" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Pulando para o próximo cabeçalho" @@ -1027,54 +1033,54 @@ msgstr "%s: carimbo de tempo implausivelmente velho %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: o carimbo de horário %s está %s s no futuro" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Inconsistência inesperada ao criar diretório" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Diretório renomeado antes de se poder extrair seu estado" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Extraindo arquivos contíguos como sendo arquivos normais" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Tentativa de extrair \"links\" simbólicos como \"links\" físicos" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Impossível extrair -- arquivo é a continuação de outro volume" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Nome longo de cabeçalho inesperado" -#: src/extract.c:1542 +#: src/extract.c:1587 #, fuzzy, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Tipo de arquivo `%c' desconhecido; extraído como arquivo normal" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "%s atual é mais novo ou tem a mesma idade" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Impossível fazer backup deste arquivo" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Impossível renomear %s para %s" @@ -1125,130 +1131,131 @@ msgstr "N msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Final-de-arquivo (EOF) inesperado em arquivo instantâneo" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Faltando registro de terminação" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Formato de arquivo mal incrementável" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Versão incremental do formato não suportada: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Diretório de despejo malformado: '%c' esperado mas %#3o recebido" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Diretório de despejo malformado: 'X' duplicado" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Diretório de despejo malformado: nome vazio em 'R'" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Diretório de despejo malformado: 'T' não precedido por 'R'" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Diretório de despejo malformado: nome vazio em 'T'" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Diretório de despejo malformado: '%c' esperado, mas \"fim de dado\" recebido" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Diretório de despejo malformado: 'X' nunca usado" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Impossível criar diretório temporarário usando o template %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Diretório não purgado: impossibilitado de quantificar" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: diretório está em outro dispositivo; não será arquivado" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Removendo %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Impossível remover" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Omitindo" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloco %s: ** Bloco de NULs **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloco %s: ** Fim-de-arquivo **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "bloco %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Espaço em branco no cabeçalho onde valor numérico `%s' era esperado" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1256,87 +1263,87 @@ msgstr "" "complemento de dois" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "O valor octal do arquivo-tar %.*s está fora de faixa %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "o arquivo-tar contém cabeçalhos base-64 obsoletos" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "A string base-64 assinada do arquivo-tar %s está fora de faixa %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "O valor base-256 de arquivo-tar está fora da faixa %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "O arquivo-tar contém %.*s onde valor numérico %s era esperado" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "o valor do arquivo-tar %s está fora da faixa %s: %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " link para %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " tipo de arquivo \"%s\" desconhecido\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Link Longo--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Nome Longo--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Cabeçalho de volume--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Continua no byte %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Criando de diretório:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Renomeando %s para %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Impossível renomear para %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Renomeando %s de volta para %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: arquivo removido antes de ser lido" @@ -1349,31 +1356,186 @@ msgstr "processo filho" msgid "interprocess channel" msgstr "canal interprocesso" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Seleção de arquivo local:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"adiciona ARQ dado ao registro de arquivos (útil se seu nome inicia-se com um " +"travessão)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "DIR" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "muda para o diretório DIR" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "pega nomes para extrair ou criar a partir de ARQ" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T lê nomes de terminação nula, desabilita -C" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "PADRÂO" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "exclua arquivos, dado como um PADRÂO" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "exclua padrões listados em ARQ" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"exclua conteúdos de diretórios contendo CACHEDIR.TAG, exceto para a própria " +"etiqueta de arquivo" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "exclui conteúdo dos diretórios contendo ARQ, exceto o próprio ARQ" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "exclui tudo dentro dos diretórios contendo ARQ" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "exclui diretórios contendo ARQ" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" + +#: src/names.c:136 +msgid "ignore case" +msgstr "" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "" + +#: src/names.c:146 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "coringas não casam com `/'" + +#: src/names.c:768 #, fuzzy msgid "command line" msgstr "comando %s falhou" -#: src/names.c:378 +#: src/names.c:786 #, fuzzy, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: lista de arquivos já lida" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, fuzzy, c-format msgid "cannot split string '%s': %s" msgstr "ímpossível definir tempo em `%s'" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Padrão correspondente a caracteres usados em nomes de arquivos" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1381,47 +1543,47 @@ msgstr "" "Use --wildcards para habilitar casamento de padrão, ou --no-wildcards para " "suprimir este aviso" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Não foi encontrado no arquivo-tar" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Ocorrência pedida não foi encontrada no arquivo-tar" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Arquivo-tar não rotulado para casar" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Usar a opção -C dentro de lista de arquivo não é permitido com --listed-" "incremental" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Somente uma opção -C é permitida com --listed-incremental" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "Ambas as opções `-%s' e `-%s' exigem a entrada padrão" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Formato de arquivo inválido" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Desejadas características GNU num arquivo-tar com formato incompatível" -#: src/tar.c:264 +#: src/tar.c:265 #, fuzzy, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1429,7 +1591,7 @@ msgstr "" "Estilo de citação `%s' desconhecido. Tente `%s --quoting-style=help' para " "pegar uma lista." -#: src/tar.c:378 +#: src/tar.c:354 #, fuzzy msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " @@ -1450,7 +1612,7 @@ msgstr "" "modo verboso.\n" " %s -xf arquivo.tar # Extrai todos os arquivos de arquivo.tar.\n" -#: src/tar.c:387 +#: src/tar.c:363 #, fuzzy msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" @@ -1471,79 +1633,87 @@ msgstr "" " nil, existing numera se existe backup numerado, se não faz simples\n" " never, simple sempre faz backups simples\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Modo de operação principal:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "lista os conteúdos de um registro de arquivos" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "extrai arquivos de um registro de arquivos" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "cria um novo arquivo-tar" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "acha diferenças entre um registro de arquivos e o sistema de arquivos" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "anexa arquivos ao final de um registro de arquivos" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "anexar apenas arquivos mais novos que a cópia em arquivo" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "anexar arquivos tar a um arquivo" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "apague do arquivo (não em fitas magnéticas!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "teste o rótulo de volume do arquivo e saia" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Modificadores de operação:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "trata arquivos esparsos eficientemente" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "PRINCIPAL[.SECUNDÁRIO]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "define versão do formato esparso a ser usado (implica --esparso)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "trata formato-GNU de backup incremental antigo" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "trata formato-GNU de backup incremental novo" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "nível dump para recém criado registro incremental-listado" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "não sai com nonzero em arquivos ilegíveis" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1555,141 +1725,150 @@ msgstr "" "--extract ou --list e quando a lista de arquivos é dada tanto por linha de " "comando com pela opção -T; NUMBER é 1 por padrão" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "registro é procurável" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "registro não é procurável" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "não checa números de dispositos quando criando registros incrementais" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "checa números de dispositos quando criando registros incrementais (padrão)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Sobreescreve controle:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "tenta verificar o registro após escrevê-lo" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "remove arquivos após adicioná-los ao registro" -#: src/tar.c:485 +#: src/tar.c:463 #, fuzzy msgid "don't replace existing files when extracting, treat them as errors" msgstr "não substitui arquivos existentes durante extração" -#: src/tar.c:488 +#: src/tar.c:466 #, fuzzy msgid "don't replace existing files when extracting, silently skip over them" msgstr "não substitui arquivos existentes durante extração" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "não substitui arquivos existentes que sejam mais novos que suas cópias em " "registro" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "sobreescreve arquivos existentes durante extração" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "remove cada arquivo antes de extrair sobre ele" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "esvazia hierarquias antes de extrair diretório" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "preserva metadados de diretórios existentes" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "sobreescreve metadado de diretório existente ao extrair (padrão)" -#: src/tar.c:504 +#: src/tar.c:482 #, fuzzy msgid "preserve existing symlinks to directories when extracting" msgstr "sobreescreve arquivos existentes durante extração" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "DIR" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Seleciona fluxo de saída:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "extrai arquivos para saída padrão" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "COMMAND" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "pipe extraiu arquivos para outro programa" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "ignora código de saída de filhos" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "trata código de saída non-zero de filhos como erro" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Tratando de atributos de arquivo:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "força NOME como dono para arquivos adicionados" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "força NOME como grupo para arquivos adicionados" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATA-OU-ARQ" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "seta mtime para arquivos adicionados de DATA-OU-ARQ" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "CHANGES" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "força (simbolicamente) modo CHANGES para arquivos adicionados" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METHOD" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1699,11 +1878,11 @@ msgstr "" "tempos após leitura (METHOD='replace'; padrão) quanto por não setar os " "tempos em primeiro lugar (METHOD='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "não extrai o arquivo tempo modificado" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1711,501 +1890,360 @@ msgstr "" "tenta extrair arquivos com mesmo tipo de propriedade como existente em " "registro de arquivos (padrão para superusuário)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "extrai arquivos como você mesmo (padrão para usuários comuns)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "sempre usar números para nomes de usuário/grupo" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "extrai informação sobre permissões de arquivos (padrão para superusuário)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "o mesmo para ambos -p e -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "cancela o efeito da opção --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 #, fuzzy msgid "Handling of extended file attributes:" msgstr "Tratando de atributos de arquivo:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Seleção e troca de dispositivo" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARCHIVE" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "use registro de arquivos ou dispositivo ARCHIVE" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "arquivo do registro é local mesmo se tiver dois pontos" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "use COMMAND rmt dado ao invés de rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "use COMMAND remoto ao invés de rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "especifique drive e densidade" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "criar/listar/extrair arquivo-tar multivolume" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "troque a fita após escrever NUMBER x 1024 bytes" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "rode o script no final de cada fita (implica -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "use/atualize o número do volume no ARQ" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Dispositivo bloqueando:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOCKS" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOCKS x 512 bytes por gravação" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "NUMBER de bytes por gravação, multiplo de 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Seleção do formato de arquivo-tar:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "cria registro de arquivos no formato dado" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMAT é um dos seguintes:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "formato V7 tar velho" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "o mesmo que pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "equivalente a --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "equivalente a --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "palavra-chave[[:]=valor][,palavra-chave[[:]=valor]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "controle palavra-chave pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEXT" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Opções de compressão:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "" "usa terminação do registro de arquivos para determinar o programa compressor" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" "não usa terminação do registro de arquivos para determinar o programa " "compressor" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "filtra através de PROG (deve aceitar -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Seleção de arquivo local:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"adiciona ARQ dado ao registro de arquivos (útil se seu nome inicia-se com um " -"travessão)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "muda para o diretório DIR" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "pega nomes para extrair ou criar a partir de ARQ" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T lê nomes de terminação nula, desabilita -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -msgid "unquote input file or member names (default)" -msgstr "" - -#: src/tar.c:722 -msgid "do not unquote input file or member names" -msgstr "" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "PADRÂO" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "exclua arquivos, dado como um PADRÂO" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "exclua padrões listados em ARQ" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"exclua conteúdos de diretórios contendo CACHEDIR.TAG, exceto para a própria " -"etiqueta de arquivo" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "exclui conteúdo dos diretórios contendo ARQ, exceto o próprio ARQ" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "exclui tudo dentro dos diretórios contendo ARQ" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "exclui diretórios contendo ARQ" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "" "permanece no sistema local de arquivos durante criação de registro de " "arquivos" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "" - -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "preservar `/'s iniciais nos nomes dos arquivos" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "MEMBER-NAME" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "armazena apenas arquivos mais novos que DATA-OU-ARQ" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATA" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "compara data e hora apenas quando so dados mudarem" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "CONTROLE" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "efetua backup antes da remoção, escolhe versão CONTROLE" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "STRING" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Transformações de nome de arquivo:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "EXPRESSION" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "coringas não casam com `/'" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Prestação de informações:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "KEYWORD" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "aviso de controle" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "exibe mensagens de progresso a cada NUMBERésima gravação (padrão 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "ACTION" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "Executa ACTION em cada checkpoint" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2213,79 +2251,86 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "imprime tempos de modificação de arquivo em UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "imprime tempo de arquivo em sua resolução máxima" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "mostra padrões do tar" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STYLE" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Outras opções:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "desabilitar o uso de alguma opção potencialmente nociva" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, fuzzy, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s: Impossível saltar para %s" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " @@ -2294,223 +2339,234 @@ msgstr "" "Não é possível especificar mais do que uma das opções `-Acdtrux' ou `--test-" "label'" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Opções de compressão conflitantes" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Nome de sinal desconhecido: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Arquivo de datas não encontrado" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Substituindo %s pelo formato de data desconhecido %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, fuzzy, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Opção %s: Tratando data `%s' como %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1330 +#: src/tar.c:1253 #, fuzzy msgid "Invalid owner or group ID" msgstr "Dono inválido" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Fator de blocagem inválido" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Tamanho da fita inválido" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Mais do que uma data limite" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Modo inválido informado na opção" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Número inválido" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Tamanho de registro inválido" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "O tamanho dos registros tem que ser múltiplo de %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Número de elementos inválido" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Somente uma opção --to-command permitida" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2205 +#: src/tar.c:2052 #, fuzzy, c-format msgid "Unknown density: '%c'" msgstr "Densidade desconhecida: `%c'" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "As opções \"-[0-7][lmh]\" não são suportadas por *este* tar" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Erro ao analise o número próximo de `%s'" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[ARQ]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Padrão %s não pode ser usado" +msgid "non-option arguments in %s" +msgstr "argumento %s inválido para %s" -#: src/tar.c:2389 +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "ímpossível definir tempo em `%s'" + +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "A opção antiga `%c' exige um argumento." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "Múltiplos arquivos-tar exigem a opção `-M'" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: O rótulo do volume é longo demais (o limite é %lu byte)" msgstr[1] "%s: O rótulo do volume é longo demais (o limite são %lu bytes)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Impossível verificar arquivos-tar multi-volume" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Impossível verificar arquivos-tar compactados" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Impossível usar arquivos-tar compactados multi-volume" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Impossível concatenar arquivos-tar comprimidos" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Recusando a criar um arquivo-tar vazio" -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr "As opções `-Aru' são incompatíveis com `-f -'" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Deve ser especificada uma das opções `-Acdtrux' ou `--test-label'" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2566,34 +2622,34 @@ msgstr "Cabe msgid "Ignoring unknown extended header keyword '%s'" msgstr "Ignorando chave `%s' desconhecida do cabeçalho estendido" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Par de chave/valor gerado é muito longo (chave=%s, tamanho=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Cabeçalho estendido %s=%s está fora da faixa %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Cabeçalho estendido malformado: %s=%s inválido" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Cabeçalho estendido malformado: excesso %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Cabeçalho estendido malformado: %s inválido: delimitador %c inesperado" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Cabeçalho estendido malformado: %s inválido: número par de valores" @@ -2634,7 +2690,7 @@ msgstr "Ponto de verifica msgid "Read checkpoint %u" msgstr "Ponto de verificação de leitura %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2643,86 +2699,90 @@ msgstr "" "GNU.\n" "OPÇÕES são:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Opções de criação do arquivo:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "TAM" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Cria arquivo com tamanho TAM" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Escrever no arquivo NOME ao invés da saída padrão" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Lê nomes de arquivos a partir de ARQ" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T lê nomes com terminação nula" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "Preenche o arquivo com o PADRÂO dado. PADRÃO é 'default' ou 'zeros'" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Tamanho de um block para arquivo esparso" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Gera arquivo esparso. O resto da linha de comando dá o mapa de arquivos." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "OFFSET" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Opções de estatísticas do arquivo:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "OPTION" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Seta data para próxima opção --touch" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Exibe checkpoints executados e status de saída de COMMAND" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2730,7 +2790,7 @@ msgstr "" "Ações síncronas de execução. Estes são executados quando o número de " "checkpoint informado pela opção --checkpoint é atingido." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2738,158 +2798,155 @@ msgstr "" "Truncar ARQ para o tamanho especificado pela opção anterior --length (or 0, " "se não for informado)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Adiciona TAM bytes ao arquivo ARQ. O TAM é informado pela opção anterior --" "length." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Atualiza o acesso e tempo de modificação de ARQ" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Executa COMMAND" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Desfaz o link de ARQ" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Tamanho inválido: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Número fora do alcance permitido: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Tamanho negativo: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "tamanho de arquivo requisitado %lu, de fato %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "arquivo criado não é esparso" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Erro ao analise o número próximo de `%s'" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Formato de data desconhecido" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGS...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "`%s' não pode ser aberto" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "Impossível saltar" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "nome de arquivo contém caractere nulo" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "impossível gerar arquivos esparsos na saída padrão, use a opção --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "Máscara incorreta (próximo a `%s')" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Campo `%s' desconhecido" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "ímpossível definir tempo em `%s'" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "impossível desfazer link simbólico `%s'" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, fuzzy, c-format msgid "command failed: %s" msgstr "comando %s falhou" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "impossível desfazer link simbólico `%s'" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Comando terminou com sucesso\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Comando falhou com o sinal %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Comando terminou no sinal %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Comando parado ao receber o sinal %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Comando terminado\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat exige nomes de arquivos" -#~ msgid "sort names to extract to match archive" -#~ msgstr "ordena nome para extração para casar com registro de arquivos" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Impossivel combinar --listed-incremental com --newer" +#~ msgid "same as both -p and -s" +#~ msgstr "o mesmo para ambos -p e -s" #~ msgid "Field too long while reading snapshot file" #~ msgstr "Campo muito longo durante leitura de arquivo instantâneo" @@ -2903,9 +2960,15 @@ msgstr "--stat exige nomes de arquivos" #~ msgid "Cannot get working directory" #~ msgstr "Impossível detectar o diretório de trabalho" +#~ msgid "sort names to extract to match archive" +#~ msgstr "ordena nome para extração para casar com registro de arquivos" + #~ msgid "Invalid group" #~ msgstr "Grupo inválido" +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "Impossivel combinar --listed-incremental com --newer" + #~ msgid "Extended header length is out of allowed range" #~ msgstr "Comprimento do cabeçalho estendido está fora da faixa permitida" diff --git a/po/ro.gmo b/po/ro.gmo index bfd975b62f62fd82edec2e357b15ed954dc4150f..86891dbc1c997c0ad0ec3e86507261154705b366 100644 GIT binary patch delta 5418 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 PY3gKmw)%)2_(Q<&n2UFx diff --git a/po/ro.po b/po/ro.po index 03047838..7e1ccc4f 100644 --- a/po/ro.po +++ b/po/ro.po @@ -3,12 +3,12 @@ # Laurentiu Buzdugan >, 2005. # # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: tar 1.15.1\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 2005-07-15 12:00-0500\n" "Last-Translator: Laurentiu Buzdugan \n" "Language-Team: Romanian \n" @@ -18,46 +18,46 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argument invalid %s pentru %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argument ambiguu %s pentru %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Argumente valide sunt:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: parametrul ARGP_HELP_FMT necesitã o valoare" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, fuzzy, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: parametrul ARGP_HELP_FMT necesitã o valoare" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: parametru ARGP_HELP_FMT necunoscut" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Gunoi în ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -65,147 +65,152 @@ msgstr "" "Argumentele obligatorii sau opþionale pentru opþiunile lungi sunt " "obligatorii sau opþionale ºi pentru opþiunile corespunzãtoare scurte." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Folosire:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " sau: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [OPÞIUNE...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "" "Încercaþi `%s --help' sau `%s --usage' pentru informaþii suplimentare.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Raportaþi bug-uri la %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Eroare sistem necunoscutã" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 #, fuzzy msgid "give this help list" msgstr "Afiºeazã aceastã listã de ajutor" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 #, fuzzy msgid "give a short usage message" msgstr "Afiºeazã un scurt mesaj despre folosire" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NUME" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 #, fuzzy msgid "print program version" msgstr "Afiºeazã versiunea programului" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, fuzzy, c-format msgid "%s: Too many arguments\n" msgstr "%s: opþiunea `%s' necesitã un argument\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: opþiunea `%s' este ambiguã\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: opþiunea `-W %s' este ambiguã\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: opþiunea `--%s' nu permite un argument\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: opþiunea `%c%s' nu permite un argument\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: opþiunea `%s' necesitã un argument\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opþiunea `--%s' nu este recunoscutã\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opþiunea `%c%s' bu este recunoscutã\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opþiune invalidã -- %c\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: opþiunea necesitã un argument -- %c\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: opþiunea `-W %s' este ambiguã\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: opþiunea `-W %s' nu permite un argument\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opþiunea `%s' necesitã un argument\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "memorie epuizatã" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "Nu pot schimba directorul în care lucrez" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, fuzzy, c-format msgid "failed to return to initial working directory" msgstr "Nu pot salva directorul în care lucrez" @@ -231,11 +236,11 @@ msgstr "Nu pot salva directorul #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "`" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "'" @@ -245,7 +250,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "" @@ -255,16 +260,16 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -272,11 +277,11 @@ msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "Raportaþi bug-uri la %s.\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "Raportaþi bug-uri la %s.\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" @@ -581,8 +586,8 @@ msgstr "" " --version Afiºeazã informaþii versiune.\n" " --help Afiºeazã acest mesaj.\n" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "NUMÃR" @@ -590,10 +595,11 @@ msgstr "NUM msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "FIªIER" @@ -606,7 +612,7 @@ msgstr "" msgid "cannot open %s" msgstr "" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "" @@ -615,113 +621,112 @@ msgstr "" msgid "Garbage command" msgstr "Comandã gunoi" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Aceasta nu pare a fi o arhivã tar" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "" -#: src/buffer.c:576 +#: src/buffer.c:579 #, fuzzy msgid "Total bytes written" msgstr "Numãr total octeþi scriºi: %s (%s, %s/s)\n" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Numãr total octeþi scriºi: %s (%s, %s/s)\n" +msgstr "" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(pipe)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Valoare invalidã pentru record_size" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Nume arhivã nu a fost furnizat" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Nu pot verifica arhive atdin/stdout" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Arhiva este compresatã. Folosiþi opþiunea %s." -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Nu pot actualiza arhive comprimate" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "La începutul benzii, ieºim acum" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Prea multe erori, ieºim" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Dimensiune înregistrare = %lu bloc" msgstr[1] "Dimensiune înregistrare = %lu blocuri" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Bloc ne-aliniat (%lu octet) în arhivã" msgstr[1] "Bloc ne-aliniat (%lu octeþi) în arhivã" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Nu pot backspace fiºierul arhivã; acesta ar putea fi de necitit fãrã -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek nu s-a oprit la limita unei înregistrãri" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: conþine numãr volum invalid" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Depãºire domeniu numãr volum" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Preparã volum #%d pentru %s ºi apasã tasta return: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "EOF unde era aºteptat rãspunsul utilizatorului" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "AVERTISMENT: Arhiva este incompletã" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -733,72 +738,72 @@ msgstr "" " ! Lanseazã un subshell\n" " ? Afiºeazã aceastã listã de opþiuni\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Nici un volum nou; terminãm.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, fuzzy, c-format msgid "%s command failed" msgstr "`%s' comanda a eºuat" -#: src/buffer.c:1491 -#, fuzzy, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s nu este continuat pe acest volum" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s nu este continuat pe acest volum" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, fuzzy, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s nu este continuat pe acest volum" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s este de dimensiune greºitã (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Acest volum este în afara secvenþei" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Arhiva nu este etichetatã sã se potriveascã cu %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Volumul %s nu se potriveºte cu %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, fuzzy, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" "%s: nume fiºier prea lung pentru a fi storat într-un antet GNU multivolum" -#: src/buffer.c:1917 +#: src/buffer.c:1949 #, fuzzy msgid "write did not end on a block boundary" msgstr "rmtlseek nu s-a oprit la limita unei înregistrãri" @@ -810,20 +815,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Am putut citi doar %lu din %lu octet" msgstr[1] "Am putut citi doar %lu din %lu octeþi" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Conþinuturile diferã" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "EOF neaºteptat în arhivã" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Tipul fiºierelor diferã" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Modurile diferã" @@ -839,7 +844,7 @@ msgstr "Gid difer msgid "Mod time differs" msgstr "Timp modificare diferã" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Dimensiunea diferã" @@ -848,141 +853,141 @@ msgstr "Dimensiunea difer msgid "Not linked to %s" msgstr "Nu este link-at cãtre %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Symlink diferã" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Numãr dispozitiv diferã" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Verificã " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" "%s: Tip de fiºier necunoscut '%c', folosesc diff ca pentru un fiºier normal" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Arhiva conþine nume de fiºiere cu prefixele îndepãrtate." -#: src/compare.c:535 +#: src/compare.c:539 #, fuzzy msgid "Archive contains transformed file names." msgstr "Arhiva conþine antete în baza-64 depãºite" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Verificare ar putea eºua sã gãseascã fiºierele originale." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "VERIFICà EªEC: detectat %d antet invalid" msgstr[1] "VERIFICà EªEC: detectat %d antete invalide" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Un bloc zero singuratic la %s" -#: src/create.c:73 +#: src/create.c:74 #, fuzzy, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: conþine o etichetã de director cache; nimic generat" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "valoarea %s în afara %s intervalului %s..%s; înlocuiesc %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "valoarea %s în afara %s intervalului %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Generez antete octale negative" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: numele fiºierul este prea lung (maxim %d); nimic generat" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: numele fiºierul este prea lung (nu poate fi spart); nimic generat" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: numele link-ului este prea lung; nimic generat" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Fiºier scurtat cu %s octet; completat cu zerouri" msgstr[1] "%s: Fiºier scurtat cu %s octeþi; completat cu zerouri" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: fiºierul este pe un sistem de fiºiere diferit; nimic generat" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tip de fiºier necunoscut; fiºier ignorat" -#: src/create.c:1551 +#: src/create.c:1569 #, fuzzy, c-format msgid "Missing links to %s." msgstr "Link lipsã cãtre '%s'.\n" -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: fiºierul este neschimbat; nimic generat" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: fiºierul este în arhivã; nimic generat" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 #, fuzzy msgid "directory not dumped" msgstr "%s: conþine o etichetã de director cache; nimic generat" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: fiºier schimbat în timp ce îl citeam" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: socket ignorat" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: uºã ignoratã" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Sãrim la urmãtorul antet" @@ -1000,55 +1005,55 @@ msgstr "%s: msgid "%s: time stamp %s is %s s in the future" msgstr "%s: înregistrare timp %s este %lu sec în viitor" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Inconsistenþã neaºteptatã când cream directorul" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Director redenumit înainte de a fi putut extrage starea sa" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Extragem fiºiere contigue ca fiºiere normale" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Încerc extragerea link-urilor simbolice ca link-uri hard" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Nu pot extrage -- fiºierul este continuat din altã arhivã" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 #, fuzzy msgid "Unexpected long name header" msgstr "EOF neaºteptat în numele amestecate" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Tip de fiºier necunoscut '%c', extras ca fiºier normal" -#: src/extract.c:1568 +#: src/extract.c:1613 #, fuzzy, c-format msgid "Current %s is newer or same age" msgstr "`%s' curent este mai nou" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Nu am putut arhiva (backup) acest fiºier" -#: src/extract.c:1767 +#: src/extract.c:1814 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: Nu pot redenumi ca %s" @@ -1099,132 +1104,133 @@ msgstr "Num msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "EOF neaºteptat în arhivã" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, fuzzy, c-format msgid "%s: byte %s: %s %s" msgstr "Am citit %s octeþi de la %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, fuzzy, c-format msgid "%s: byte %s: %s" msgstr "Am citit %s octeþi de la %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1568 +#: src/incremen.c:1572 #, fuzzy msgid "Malformed dumpdir: empty name in 'R'" msgstr "Argument densitate malformat: '%s'" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" -msgstr "" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" +msgstr "Argument densitate malformat: '%s'" -#: src/incremen.c:1587 +#: src/incremen.c:1591 #, fuzzy msgid "Malformed dumpdir: empty name in 'T'" msgstr "Argument densitate malformat: '%s'" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Nu curãþ director: nu pot determina statistici" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: directorul este pe un dispozitiv (device) diferit; necurãþat" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: ªtergem %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Nu pot ºterge" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Omis" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloc %s: ** Bloc de NUL-uri **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloc %s: ** Sfârºit de fiºier **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "bloc %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Spaþii libere în antet unde valoare %s numericã aºteptatã" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1232,87 +1238,87 @@ msgstr "" "lui doi" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Valoare octalã arhivã %.*s este în afara %s intervalului" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Arhiva conþine antete în baza-64 depãºite" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "ªir în baza-64 (semnãtura arhivei) %s este în afara %s intervalului" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Valoare baza-256 a arhivei este în afara %s intervalului" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arhiva conþine %.*s unde valoare %s numericã aºteptatã" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, fuzzy, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Valoare arhivã %s este în afara %s intervalului %s.%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " link cãtre %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " tip fiºier necunoscut %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Link Lung--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Nume Lung--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Antet Volum--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Continuat la octet %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Creez director:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Redenumesc %s ca %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Nu pot redenumi ca %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Redenumesc %s înapoi ca %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Fiºier ºters înainte de a-l putea citi" @@ -1325,81 +1331,245 @@ msgstr "proces copil" msgid "interprocess channel" msgstr "canal între-procese" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Selecþie fiºier local:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "DIR" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "schimbã în directorul DIR" + +#: src/names.c:75 +#, fuzzy +msgid "get names to extract or create from FILE" +msgstr "obþine numele de extras sau creat din fiºierul NUME" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T citeºte nume terminate cu null, deactiveazã cu -C" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "PATTERN" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "exclude fiºiere, date ca un PATTERN" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "pattern-urile de excludere sunt listate în FIªIER" + +#: src/names.c:95 +#, fuzzy +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "exclude directoarele ce conþin o etichetã cache" + +#: src/names.c:98 +#, fuzzy +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "exclude directoarele ce conþin o etichetã cache" + +#: src/names.c:101 +#, fuzzy +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "exclude directoarele ce conþin o etichetã cache" + +#: src/names.c:103 +#, fuzzy +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "exclude directoarele ce conþin o etichetã cache" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +#, fuzzy +msgid "exclude everything under directories containing FILE" +msgstr "exclude directoarele ce conþin o etichetã cache" + +#: src/names.c:114 +#, fuzzy +msgid "exclude directories containing FILE" +msgstr "exclude directoarele ce conþin o etichetã cache" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "" + +#: src/names.c:118 +#, fuzzy +msgid "read exclude patterns from the VCS ignore files" +msgstr "pattern-urile de excludere sunt ºiruri simple" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "coboarã recursiv în directoare (implicit)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "evitã coborârea automatã în directoare" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" + +#: src/names.c:132 +#, fuzzy +msgid "patterns match file name start" +msgstr "pattern-urile de excludere potrivesc începutul numelor de fiºiere" + +#: src/names.c:134 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" +msgstr "pattern-urile de excludere potrivesc dupã orice / (implicit)" + +#: src/names.c:136 +#, fuzzy +msgid "ignore case" +msgstr "în excluderi ignorã cazul caracterelor (minuscule/majuscule)" + +#: src/names.c:138 +#, fuzzy +msgid "case sensitive matching (default)" +msgstr "excluderea depinde de caz (minuscule/majuscule) (implicit)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "" + +#: src/names.c:144 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" +msgstr "wildcard-urile din pattern-urile de excludere potrivesc '/' (implicit)" + +#: src/names.c:146 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "wildcard-urile în pattern-urile de excludere nu potrivesc '/'" + +#: src/names.c:768 #, fuzzy msgid "command line" msgstr "`%s' comanda a eºuat" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Nu a fost gãsit în arhivã" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Lucrul cerut nu a fost gãsit în arhivã" -#: src/names.c:879 +#: src/names.c:1297 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Arhiva nu este etichetatã sã se potriveascã cu %s" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "Opþiunile `-%s' ºi `-%s' vor amândouã intrarea standard" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Format arhivã invalid" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Capabilitãþi GNU cerute pentru un format de arhivã incompatibil" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:378 +#: src/tar.c:354 #, fuzzy msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " @@ -1427,7 +1597,7 @@ msgstr "" " nil, existing numeroteazã dacã existã backup numerotat, altfel simplu\n" " never, simple întotdeauna creazã backup simplu\n" -#: src/tar.c:387 +#: src/tar.c:363 #, fuzzy msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" @@ -1456,79 +1626,87 @@ msgstr "" " nil, existing numeroteazã dacã existã backup numerotat, altfel simplu\n" " never, simple întotdeauna creazã backup simplu\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Mod de operare principal:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "listeazã conþinutul unei arhive" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "extrage fiºiere dintr-o arhivã" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "creazã o nouã arhivã" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "gãseºte diferenþele dintre arhive ºi sistemul de fiºiere" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "adaugã fiºiere la sfârºitul unei arhive" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "adaugã numai fiºierele mai noi decât copia din arhivã" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "adaugã fiºiere tar la o arhivã" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "ºterge din arhivã (nu pe benzi magnetice!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Modificatori operaþie:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "manipuleazã eficient fiºierele rerefiate (sparse)" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "foloseºte vechiul format GNU pentru backup incremental" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "foloseºte noul format GNU pentru backup incremental" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "nu termina cu non-zero pentru fiºiere ce nu pot fi citite" -#: src/tar.c:459 +#: src/tar.c:437 #, fuzzy msgid "" "process only the NUMBERth occurrence of each file in the archive; this " @@ -1541,383 +1719,388 @@ msgstr "" "--diff, --extract sau --list ºi când o listã de fiºiere este datã fie în " "linia de comandã sau folosind opþiunea -T. Implicit, NUMBER=1." -#: src/tar.c:465 +#: src/tar.c:443 #, fuzzy msgid "archive is seekable" msgstr "Arhiva este cãutabilã" -#: src/tar.c:467 +#: src/tar.c:445 #, fuzzy msgid "archive is not seekable" msgstr "Arhiva este cãutabilã" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "încearcã sã verifici arhiva dupã scrierea sa" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "ºterge fiºierele dupã ce acestea sunt adãugate la arhivã" -#: src/tar.c:485 +#: src/tar.c:463 #, fuzzy msgid "don't replace existing files when extracting, treat them as errors" msgstr "nu înlocui fiºierele existente la extragere" -#: src/tar.c:488 +#: src/tar.c:466 #, fuzzy msgid "don't replace existing files when extracting, silently skip over them" msgstr "nu înlocui fiºierele existente la extragere" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "nu înlocui fiºierele existente care sunt mai noi decât copiile acestora din " "arhivã" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "supra-scrie fiºierele existente la extragere" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "ºterge fiecare fiºier înainte de a extrage peste acesta" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "goleºte ierarhiile înainte de a extrage un director" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "pãstrazã metadata directoarelor existente" -#: src/tar.c:501 +#: src/tar.c:479 #, fuzzy msgid "overwrite metadata of existing directories when extracting (default)" msgstr "supra-scrie fiºierele existente la extragere" -#: src/tar.c:504 +#: src/tar.c:482 #, fuzzy msgid "preserve existing symlinks to directories when extracting" msgstr "supra-scrie fiºierele existente la extragere" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "DIR" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "extrage fiºierele la ieºirea standard" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "COMANDÃ" -#: src/tar.c:518 +#: src/tar.c:496 #, fuzzy msgid "pipe extracted files to another program" msgstr "extrage fiºierele la ieºirea standard" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Manipulare atribute fiºiere:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "forþeazã NUME ca proprietar pentru fiºierele adãugate" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "forþeazã NUME ca grup pentru fiºierele adãugate" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATA-FIªIERULUI" -#: src/tar.c:534 +#: src/tar.c:516 #, fuzzy msgid "set mtime for added files from DATE-OR-FILE" msgstr "stocheazã numai fiºiere mai noi decât DATA-FIªIERULUI" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "SCHIMBÃRI" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "forþeazã mod (simbolic) SCHIMBÃRI pentru fiºierele adãugate" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "nu extrage timpul de modificare al fiºierului" -#: src/tar.c:545 +#: src/tar.c:529 #, fuzzy msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "încearcã extragerea fiºierelor cu aceleaºi drepturi (ownership)" -#: src/tar.c:547 +#: src/tar.c:531 #, fuzzy msgid "extract files as yourself (default for ordinary users)" msgstr "extrage fiºierele ca dvs. însuºi" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "foloseºte întotdeauna numere pentru numele utilizator/grup" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "la fel ca -p ºi -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 #, fuzzy msgid "Handling of extended file attributes:" msgstr "Manipulare atribute fiºiere:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Selectare ºi schimbare unitate:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARHIVÃ" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "foloseºte fiºier arhivã sau unitate ARHIVÃ" -#: src/tar.c:605 +#: src/tar.c:587 #, fuzzy msgid "archive file is local even if it has a colon" msgstr "fiºier arhivã este local chiar când are un :" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "foloseºte rmt COMANDà în loc de rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "foloseºte remote COMANDà în loc de rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "specificã unitate ºi densitate" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "creazã/listeazã/extrage arhiva pe volume multiple" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "schimbã banda dupã scriere a NUMÃR x 1024 octeþi" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "ruleazã script la terminarea fiecãrei benzi (implicã -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "foloseºte/actualizeazã numãrul de volum în FIªIER" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Blocuri unitate:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOCURI" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOCURI x 512 octeþi pe întregistrare" -#: src/tar.c:644 +#: src/tar.c:626 #, fuzzy msgid "NUMBER of bytes per record, multiple of 512" msgstr "DIMENSIUNE octeþi pe înregistrare, multiplu de 12" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ignorã blocuri zero-uate în arhivã (înseamnã EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "redimensioneazã bloc în timpul citirii (pentru pipe-uri BSD4.2" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Selecþie format arhivã:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:656 +#: src/tar.c:638 #, fuzzy msgid "create archive of the given format" msgstr "creazã arhiva de formatul dat." -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMAT este unul din urmãtoarele" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "vechiul format tar V7" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "oldgnu formatul GNU format ca pentru tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "formatul GNU tar 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "formatul POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "formatul POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 #, fuzzy msgid "same as pax" msgstr "ca ºi pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "ca ºi --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "ca ºi --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 #, fuzzy msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "cuvânt_cheie[[:]=valoare][,cuvânt_cheie[[:]=valoare], ...]" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "controleazã cuvintele cheie pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEXT" -#: src/tar.c:679 +#: src/tar.c:661 #, fuzzy msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " @@ -1926,186 +2109,82 @@ msgstr "" "creazã arhivã nu nume volum NUME. La listare/extragere, foloseºte TEXT ca " "pattern de globbing" -#: src/tar.c:684 +#: src/tar.c:666 #, fuzzy msgid "Compression options:" msgstr "Opþiunile de compresie sunt în conflict" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "filtreazã prin PROG (trebuie sã accepte -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Selecþie fiºier local:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "schimbã în directorul DIR" - -#: src/tar.c:714 -#, fuzzy -msgid "get names to extract or create from FILE" -msgstr "obþine numele de extras sau creat din fiºierul NUME" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T citeºte nume terminate cu null, deactiveazã cu -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -msgid "unquote input file or member names (default)" -msgstr "" - -#: src/tar.c:722 -msgid "do not unquote input file or member names" -msgstr "" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "PATTERN" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "exclude fiºiere, date ca un PATTERN" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "pattern-urile de excludere sunt listate în FIªIER" - -#: src/tar.c:728 -#, fuzzy -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "exclude directoarele ce conþin o etichetã cache" - -#: src/tar.c:731 -#, fuzzy -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "exclude directoarele ce conþin o etichetã cache" - -#: src/tar.c:734 -#, fuzzy -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "exclude directoarele ce conþin o etichetã cache" - -#: src/tar.c:736 -#, fuzzy -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "exclude directoarele ce conþin o etichetã cache" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -#, fuzzy -msgid "exclude everything under directories containing FILE" -msgstr "exclude directoarele ce conþin o etichetã cache" - -#: src/tar.c:747 -#, fuzzy -msgid "exclude directories containing FILE" -msgstr "exclude directoarele ce conþin o etichetã cache" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "" - -#: src/tar.c:751 -#, fuzzy -msgid "read exclude patterns from the VCS ignore files" -msgstr "pattern-urile de excludere sunt ºiruri simple" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "evitã coborârea automatã în directoare" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "stai în sistemul de fiºire local la creare arhivei" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "coboarã recursiv în directoare (implicit)" - -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "nu elimina primul `/' din numele fiºierelor" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "NUME-MEMBRU" -#: src/tar.c:767 +#: src/tar.c:699 #, fuzzy msgid "begin at member MEMBER-NAME when reading the archive" msgstr "începe la membrul NUME-MEMBRU în arhivã" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "stocheazã numai fiºiere mai noi decât DATA-FIªIERULUI" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATA" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "comparã data ºi timpul numai când a fost schimbatã data" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "CONTROL" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "fã backup înainte de ºtergere, alege CONTROL pentru versiuni" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "ªIR" -#: src/tar.c:776 +#: src/tar.c:708 #, fuzzy msgid "" "backup before removal, override usual suffix ('~' unless overridden by " @@ -2114,103 +2193,61 @@ msgstr "" "fã backup înainte de ºtergere, înlocuieºte prefixul normal ('~' în afarã de " "cazul când este determinat de variabila de mediu SIMPLE_BACKUP_SUFFIX" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "" -#: src/tar.c:783 +#: src/tar.c:715 #, fuzzy msgid "strip NUMBER leading components from file names on extraction" msgstr "eliminã NUMÃR componente de la începutul numelor fiºierelor" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" - -#: src/tar.c:795 -#, fuzzy -msgid "ignore case" -msgstr "în excluderi ignorã cazul caracterelor (minuscule/majuscule)" - -#: src/tar.c:797 -#, fuzzy -msgid "patterns match file name start" -msgstr "pattern-urile de excludere potrivesc începutul numelor de fiºiere" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "pattern-urile de excludere potrivesc dupã orice / (implicit)" - -#: src/tar.c:801 -#, fuzzy -msgid "case sensitive matching (default)" -msgstr "excluderea depinde de caz (minuscule/majuscule) (implicit)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "wildcard-urile în pattern-urile de excludere nu potrivesc '/'" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "wildcard-urile din pattern-urile de excludere potrivesc '/' (implicit)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Ieºire informativã:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "listeazã cu amãnunte fiºierele procesate" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "" -#: src/tar.c:821 +#: src/tar.c:731 #, fuzzy msgid "display progress messages every NUMBERth record (default 10)" msgstr "afiºeazã mesaje despre progres la fiecare al 10-a înregistrare" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "afiºeazã un mesaj dacã nu toate link-urile sunt prelucrate" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2218,37 +2255,37 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:834 +#: src/tar.c:744 #, fuzzy msgid "print file modification times in UTC" msgstr "afiºeazã datele de modificare a fiºierelor în UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "trimite ieºire detaliatã în FIªIER" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "aratã numãrul blocului din arhivã pentru fiecare mesaj" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "cere confirmare pentru fiecare acþiune" -#: src/tar.c:845 +#: src/tar.c:755 #, fuzzy msgid "show tar defaults" msgstr "Aratã valorire implicite folosite de tar" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 #, fuzzy msgid "" "when listing or extracting, list each directory that does not match search " @@ -2257,87 +2294,94 @@ msgstr "" "La listare sau extragere, listeazã fiecare director care nu se potriveºte cu " "criteriile de cãutare" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Opþiuni compatibilitate:" -#: src/tar.c:867 +#: src/tar.c:777 #, fuzzy msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "la creare, ca ºi --old-archive. La extragere, ca ºi --no-same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Alte opþiuni:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, fuzzy, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s: Nu pot cãuta (seek) cãtre %s" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "Nu puteþi specifica mai mult de una dintre opþiunile `-Acdtrux'" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Opþiunile de compresie sunt în conflict" -#: src/tar.c:1079 +#: src/tar.c:1005 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr " tip fiºier necunoscut %s\n" -#: src/tar.c:1103 +#: src/tar.c:1029 #, fuzzy msgid "Date sample file not found" msgstr "Fiºier date nu a fost gãsit" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Înlocuim %s pentru format de datã necunoscut %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, fuzzy, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Tratez data `%s' ca %s + %ld nanosecundã" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "filtreazã arhiva prin gzip" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2345,189 +2389,200 @@ msgstr "" "\n" "*Acest* tar foloseºte implicit:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 #, fuzzy msgid "Invalid owner or group ID" msgstr "Proprietar invalid" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Factor blocuri invalid" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Lungime de bandã invalidã" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Mai mult de o singurã datã limitã" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Mod invalid furnizat ca opþiune" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Numãr invalid" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Dimensiune înregistrare invalidã" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Dimensiune înregistrare trebuie sã fie un multiplu de %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Numãr invalid de elemente" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2179 +#: src/tar.c:2026 #, fuzzy, c-format msgid "Malformed density argument: %s" msgstr "Argument densitate malformat: '%s'" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Densitate necunoscutã: '%c'" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Opþiunile `-[0-7][lmh]' nu sunt suportate de *acest* tar" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[FIªIER]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Pattern-ul %s nu poate fi folosit" +msgid "non-option arguments in %s" +msgstr "argument invalid %s pentru %s" + +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "" -#: src/tar.c:2389 +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "Vechea opþiune `%c' necesitã un argument." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence n-are sens fãrã o listã de fiºiere" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "Fiºiere de arhivã multiple necesitã opþiunea `-M'" -#: src/tar.c:2498 +#: src/tar.c:2412 #, fuzzy msgid "--level is meaningless without --listed-incremental" msgstr "--occurrence n-are sens fãrã o listã de fiºiere" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Eticheta volumului este prea lungã (limita este %lu octet)" msgstr[1] "%s: Eticheta volumului este prea lungã (limita este %lu octeþi)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Nu pot verifica arhive pe volume multiple" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Nu pot verifica arhive comprimate" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Nu pot folosi arhive comprimate pe volume multiple" -#: src/tar.c:2543 +#: src/tar.c:2462 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Nu pot actualiza arhive comprimate" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option poate fi folosit numai pentru arhive POSIX" -#: src/tar.c:2560 +#: src/tar.c:2486 #, fuzzy msgid "--acls can be used only on POSIX archives" msgstr "--pax-option poate fi folosit numai pentru arhive POSIX" -#: src/tar.c:2565 +#: src/tar.c:2491 #, fuzzy msgid "--selinux can be used only on POSIX archives" msgstr "--pax-option poate fi folosit numai pentru arhive POSIX" -#: src/tar.c:2570 +#: src/tar.c:2496 #, fuzzy msgid "--xattrs can be used only on POSIX archives" msgstr "--pax-option poate fi folosit numai pentru arhive POSIX" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Refuz categoric sã creez o arhivã goalã" -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Opþiunile `-Aru' sunt incompatibile cu `-f -'" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Trebuie sã specificaþi una din opþiunile `-Acdtrux'" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2587,34 +2642,34 @@ msgstr "Antet extins malformat: lipse msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, fuzzy, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Valoare arhivã %s este în afara %s intervalului %s.%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, fuzzy, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Antet extins malformat: lipseºte semnul egal" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, fuzzy, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Antet extins malformat: lipseºte semnul egal" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, fuzzy, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Antet extins malformat: lipseºte semnul egal" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, fuzzy, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Antet extins malformat: lipseºte semnul egal" @@ -2655,265 +2710,262 @@ msgstr "Scrie punct de verificare %d" msgid "Read checkpoint %u" msgstr "Citeºte punct de verificare %d" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" msgstr "" -#: tests/genfile.c:127 +#: tests/genfile.c:131 #, fuzzy msgid "File creation options:" msgstr "Alte opþiuni:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "" -#: tests/genfile.c:129 +#: tests/genfile.c:133 #, fuzzy msgid "Create file of the given SIZE" msgstr "creazã arhiva de formatul dat." -#: tests/genfile.c:131 +#: tests/genfile.c:135 #, fuzzy msgid "Write to file NAME, instead of standard output" msgstr "extrage fiºierele la ieºirea standard" -#: tests/genfile.c:133 +#: tests/genfile.c:137 #, fuzzy msgid "Read file names from FILE" msgstr "Am citit %s octeþi de la %s" -#: tests/genfile.c:135 +#: tests/genfile.c:139 #, fuzzy msgid "-T reads null-terminated names" msgstr "-T citeºte nume terminate cu null, deactiveazã cu -C" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "" -#: tests/genfile.c:145 +#: tests/genfile.c:149 #, fuzzy msgid "Seek to the given offset before writing data" msgstr "încearcã sã verifici arhiva dupã scrierea sa" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "" -#: tests/genfile.c:163 +#: tests/genfile.c:168 #, fuzzy msgid "OPTION" msgstr " [OPÞIUNE...]" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "" -#: tests/genfile.c:191 +#: tests/genfile.c:196 #, fuzzy msgid "Execute COMMAND" msgstr "COMANDÃ" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, fuzzy, c-format msgid "Invalid size: %s" msgstr "Înregistrare timp invalidã" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, fuzzy, c-format msgid "Number out of allowed range: %s" msgstr "Numãr inode în afara intervalului" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, fuzzy, c-format msgid "Unknown date format" msgstr "Eroare sistem necunoscutã" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "" -#: tests/genfile.c:434 +#: tests/genfile.c:443 #, fuzzy msgid "cannot seek" msgstr "%s: Nu pot cãuta (seek) cãtre %s" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr " tip fiºier necunoscut %s\n" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "%s: Nu pot cãuta (seek) cãtre %s" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "%s: Nu pot redenumi ca %s" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, fuzzy, c-format msgid "command failed: %s" msgstr "`%s' comanda a eºuat" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "%s: Nu pot crea symlink cãtre %s" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, fuzzy, c-format msgid "--stat requires file names" msgstr "--Amestecat numele fiºierelor--\n" -#~ msgid "sort names to extract to match archive" -#~ msgstr "sorteazã numele de extras sã se potriveascã cu arhiva" - -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "--occurrence nu poate fi folosit în modul de operare cerut" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Nu puteþi combina --listed-incremental cu --newer" +#~ msgid "same as both -p and -s" +#~ msgstr "la fel ca -p ºi -s" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opþiune ilegalã -- %c\n" @@ -2993,6 +3045,9 @@ msgstr "--Amestecat numele fi #~ msgid "do not extract permissions information" #~ msgstr "nu extrage informaþii permisiuni" +#~ msgid "sort names to extract to match archive" +#~ msgstr "sorteazã numele de extras sã se potriveascã cu arhiva" + #~ msgid "filter the archive through bzip2" #~ msgstr "filtrazã arhiva prin bzip2" @@ -3072,6 +3127,12 @@ msgstr "--Amestecat numele fi #~ msgid "Warning: the -y option is not supported; perhaps you meant -j?" #~ msgstr "Avertisment: opþiunea -y nu este suportatã, aþi dorit cumva -j?" +#~ msgid "--occurrence cannot be used in the requested operation mode" +#~ msgstr "--occurrence nu poate fi folosit în modul de operare cerut" + +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "Nu puteþi combina --listed-incremental cu --newer" + #~ msgid "Error in writing to standard output" #~ msgstr "Eroare de scriere la ieºirea standard" diff --git a/po/ru.gmo b/po/ru.gmo index dce82ddefec425b21475d69c1e068d413e4b58a4..d67413cfe85e546080cf1a91fc7001381149c430 100644 GIT binary patch delta 16162 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 E02(Y?>i_@% delta 12862 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 diff --git a/po/ru.po b/po/ru.po index 1d3e1df5..506e8963 100644 --- a/po/ru.po +++ b/po/ru.po @@ -4,65 +4,65 @@ # # Const Kaplinsky , 1998, 1999. # Pavel Maryanov , 2004, 2006, 2008. -# Yuri Kozlov , 2009, 2013. +# Yuri Kozlov , 2009, 2013, 2014, 2016. # Pavel Maryanov , 2010, 2014. -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar 1.27\n" +"Project-Id-Version: tar 1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2014-07-10 15:24+0200\n" -"Last-Translator: Pavel Maryanov \n" -"Language-Team: Russian \n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-03-15 19:04+0300\n" +"Last-Translator: Yuri Kozlov \n" +"Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 1.6.6\n" +"X-Generator: Lokalize 1.5\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "недопустимый аргумент %s для %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "неоднозначный аргумент %s для %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Допустимые аргументы:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: Значение %s меньше или равно %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Для параметра ARGP_HELP_FMT требуется значение" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: Параметра ARGP_HELP_FMT должен быть положительным" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Неизвестный параметр ARGP_HELP_FMT" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Мусор в ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -71,145 +71,150 @@ msgstr "" "являются обязательными или необязательными для соответствующих коротких " "параметров." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Использование:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " или: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [ПАРАМЕТР...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "" "Попробуйте «%s --help» или «%s --usage» для получения более подробного " "описания.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Сообщения об ошибках отправляйте по адресу: %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Неизвестная системная ошибка" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "вывод этой справки" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "вывод короткого сообщения об использовании" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "ИМЯ" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "определяет название программы" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "СЕК" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "ожидание в течение заданных СЕКУНД (по умолчанию 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "вывод версии программы" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ОШИБКА ПРОГРАММЫ) Неизвестная версия?!" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Слишком много аргументов\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ОШИБКА ПРОГРАММЫ) Параметр должен был быть распознан?!" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "ошибка записи" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: двусмысленный параметр «%s»; возможные варианты:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: двусмысленный параметр «%s»\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: с параметром «--%s» нельзя использовать аргумент\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: с параметром «%c%s» нельзя использовать аргумент\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: для параметра «--%s» требуется аргумент\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: нераспознанный параметр «--%s»\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: нераспознанный параметр «%c%s»\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: недопустимый параметр -- «%c»\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: для параметра требуется аргумент -- «%c»\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: параметр «-W %s» неоднозначен\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: с параметром «-W %s» нельзя использовать аргумент\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: для параметра «-W %s» требуется аргумент\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "недостаточно памяти" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "невозможно зарегистрировать текущий рабочий каталог" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "не удалось вернуться в первоначальный рабочий каталог" @@ -235,11 +240,11 @@ msgstr "не удалось вернуться в первоначальный #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "«" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "»" @@ -249,7 +254,7 @@ msgstr "»" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[yY]" @@ -259,16 +264,16 @@ msgstr "^[yY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Упакован %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Упакован %s\n" @@ -276,11 +281,11 @@ msgstr "Упакован %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "(C)" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -417,22 +422,22 @@ msgstr "" "\n" "Отчёты об ошибках отправляйте по адресу: %s\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Отчёты об ошибках %s отправляйте по адресу <%s>\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: %s\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Домашняя страница %s: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "Справка по работе с ПО GNU: \n" @@ -602,8 +607,8 @@ msgstr "" "Работа с накопителем на магнитной ленте с приёмом команд от удалённого " "процесса" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "N" @@ -611,10 +616,11 @@ msgstr "N" msgid "set debug level" msgstr "задайте уровень отладки" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "ФАЙЛ" @@ -627,7 +633,7 @@ msgstr "задайте имя выходного файла отладки" msgid "cannot open %s" msgstr "не удаётся открыть %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "слишком много аргументов" @@ -636,67 +642,66 @@ msgstr "слишком много аргументов" msgid "Garbage command" msgstr "Неверная команда" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Это не похоже на tar-архив" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Всего прочитано байт" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Всего записано байт" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Всего удалено байт: %s\n" +msgstr "Всего удалено байт" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(канал)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "Отказ чтения содержимого архива с терминала (пропущен параметр -f?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "Отказ записи содержимого архива в терминал (пропущен параметр -f?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Недопустимое значение для record_size" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Не указано имя архива" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Не удаётся проверить архив на stdin/stdout" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Архив сжат. Используйте параметр %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Не удаётся обновить сжатые архивы" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Начало ленты, завершение работы" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Слишком много ошибок, завершение работы" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -704,7 +709,7 @@ msgstr[0] "Размер записи = %lu блок" msgstr[1] "Размер записи = %lu блока" msgstr[2] "Размер записи = %lu блоков" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -712,39 +717,39 @@ msgstr[0] "Невыровненный блок (%lu байт) в архиве" msgstr[1] "Невыровненный блок (%lu байта) в архиве" msgstr[2] "Невыровненный блок (%lu байт) в архиве" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Невозможно вернуться назад на один архивный файл; он может быть нечитаемым " "без -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek не остановился на границе записи" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: содержит неверный номер тома" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Переполнение номера тома" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Приготовьте том Номер %d для %s и нажмите Enter: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Конец файла вместо ожидаемого ответа пользователя" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "ПРЕДУПРЕЖДЕНИЕ: Архив не полный" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -756,66 +761,66 @@ msgstr "" " q Выход из tar\n" " y или [нов.строка] Продолжение операции\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Порождение подпроцесса командного процессора\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Вывод этого списка\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Нет нового тома, завершение работы.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Не указано имя имя файла. Попробуйте ещё раз.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Неверные входные данные. Наберите ? для получения справки.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "Сбой команды %s" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "%s не продолжается на этом томе" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s, возможно, продолжается на этом томе - в заголовке находится усечённое имя" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "%s не продолжается на этом томе" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s является неверным размером (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Этот том вне последовательности (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Метка архива не соответствует %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Том %s не соответствует %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -823,7 +828,7 @@ msgstr "" "%s: слишком длинное имя файла для сохранения в многотомном заголовке GNU; " "обрезано" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "запись не остановилась на границе блока" @@ -835,20 +840,20 @@ msgstr[0] "Можно было прочитать только %lu байт из msgstr[1] "Можно было прочитать только %lu байта из %lu" msgstr[2] "Можно было прочитать только %lu байт из %lu" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Содержимое различно" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Неожиданный конец файла в архиве" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Типы файлов отличаются" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Права доступа отличаются" @@ -864,7 +869,7 @@ msgstr "Gid отличаются" msgid "Mod time differs" msgstr "Время изменения отличается" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Размеры отличаются" @@ -873,37 +878,37 @@ msgstr "Размеры отличаются" msgid "Not linked to %s" msgstr "Не ссылается на %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Символические ссылки отличаются" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Номера устройств отличаются" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Проверка " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Неизвестный тип файла «%c», сравнён как обычный файл" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Архив содержит файлы с именами, из которых удалены префиксы." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Архив содержит преобразованные имена файлов." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "При проверке оригинальные файлы могут быть не найдены." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" @@ -911,46 +916,46 @@ msgstr[0] "СБОЙ ПРОВЕРКИ: обнаружен %d неверный з msgstr[1] "СБОЙ ПРОВЕРКИ: обнаружено %d неверных заголовка" msgstr[2] "СБОЙ ПРОВЕРКИ: обнаружено %d неверных заголовков" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Нулевой блок в %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: содержит каталог с кэшем тегов %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "значение %s за пределами %s диапазона %s..%s; заменяется на %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "значение %s за пределами %s диапазона %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Создаются отрицательные восьмеричные заголовки" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: имя файла слишком длинное (максимум %d); не сброшено" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: имя файла слишком длинное (не может быть разделено); не сброшено" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: имя ссылки слишком длинное; не сброшено" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -958,55 +963,55 @@ msgstr[0] "%s: Файл урезан на %s байт; дополнен нуля msgstr[1] "%s: Файл урезан на %s байта; дополнен нулями" msgstr[2] "%s: Файл урезан на %s байт; дополнен нулями" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: файл находится на другой файловой системе; не сброшен" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "содержимое не сброшено" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Неизвестный тип файла; файл проигнорирован" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Отсутствуют ссылки на %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: файл не изменён; не сброшен" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: файл является архивом; не сброшен" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "каталог не сброшен" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: файл изменился во время чтения" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: сокет проигнорирован" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: door проигнорирован" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Пропускается до следующего заголовка" @@ -1024,54 +1029,54 @@ msgstr "%s: невероятно старая временная метка %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: временная метка %s - %s с в будущем " -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Неожиданная противоречивость при создании каталога" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "%s: пропускается существующий файл" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Каталог переименован до того, как мог быть извлечен его статус" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Непрерывные файлы извлекаются как обычные" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Выполняется попытка извлечь символические ссылки как жесткие" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Невозможно извлечь -- файл продолжается с другого тома" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Непредвиденный длинный заголовок имени" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Неизвестный тип файла «%c», извлечён как обычный файл" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Текущий %s более новый или такого же возраста" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Невозможно было выполнить резервное копирование этот файла" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Невозможно переименовать %s в %s" @@ -1121,16 +1126,16 @@ msgstr "Неверный номер inode" msgid "%s: byte %s: %s %.*s... too long" msgstr "%s: байт %s: %s %.*s... слишком длинное" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Неожиданный конец файла в snapshot-файле" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "%s: байт %s: %s %s следует за неправильным байтом 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" @@ -1139,113 +1144,113 @@ msgstr "" "%s: байт %s: (допустимый диапазон %s..%s)\n" "\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "%s: байт %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "%s: байт %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Отсутствует указатель конца записи" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Неверный формат инкрементного файла" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Неподдерживаемая версия инкрементного формата: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Неверно сформирован dump-каталог: ожидался '%c', а найден %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Неверно сформирован dump-каталог: 'X' повторяется" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Неверно сформирован dump-каталог: пустое имя в 'R'" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" -msgstr "Неверно сформирован dump-каталог: перед 'T' не стоит 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" +msgstr "Неверно сформирован dump-каталог: перед «T» не стоит «R»" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" -msgstr "Неверно сформирован dump-каталог: пустое имя в 'T'" +msgstr "Неверно сформирован dump-каталог: пустое имя в «T»" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Неверно сформирован dump-каталог: ожидался '%c', а найден конец данных" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Неверно сформирован dump-каталог: 'X' ни разу не использован" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Невозможно создать временный каталог с помощью шаблона %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Каталог не удалён: невозможно выполнить stat" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: Каталог находится на другом устройстве: не удален" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Удаляется %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Невозможно удалить" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Пропускается" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "блок %s: ** Блок нулей **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "блок %s: ** Конец файла **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "блок %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "В заголовке пустое поле вместо ожидаемого числового значения %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1253,87 +1258,87 @@ msgstr "" "дополнение до двух" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Восьмеричное значение архива %.*s за пределами диапазона %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Архив содержит устаревающие заголовки base-64" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Архив подписан строкой base-64 %s за пределами диапазона %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Значение base-256 архива за пределами диапазона %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Заголовок содержит %.*s вместо ожидаемого числового значения %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Значение архива %s за пределами %s диапазона %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " ссылка на %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " неизвестный тип файла %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Длинная ссылка--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Длинное имя--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Заголовок тома--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Продолжение с позиции %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Создание каталога:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "%s переименован в %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Невозможно переименовать в %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "%s переименовывается назад в %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Файла удален до его считывания" @@ -1346,30 +1351,188 @@ msgstr "дочерний процесс" msgid "interprocess channel" msgstr "межпроцессорный канал" -#: src/names.c:360 +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "Имя выбранного локального файла:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"добавить указанный ФАЙЛ в архив (полезно, если имя начинается с дефиса)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "КАТАЛОГ" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "перейти в КАТАЛОГ" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "загрузить из ФАЙЛА имена для извлечения или создания" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "" +"-T читает строки, оканчивающиеся null; подразумевается --verbatim-files-from" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "выключить воздействие предыдущей опции --null" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "убрать кавычки в имени входного файла или членов (по умолчанию)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "не убирать кавычки в имени входного файла или членов (по умолчанию)" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "-T читает имена файлов буквально (не считаются параметрами)" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" +"-T считает имена файлов, начинающихся с переноса, параметрами (по умолчанию)" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "ШАБЛОН" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "исключать файлы, определённые ШАБЛОНОМ" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "исключать шаблоны, перечисленных в ФАЙЛЕ" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"исключать содержимое каталогов с файлом CACHEDIR.TAG за исключением самого " +"файла с тегами" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "исключать всё содержимое каталогов, содержащих файл CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "исключать каталоги, содержащие файл CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "исключать каталоги, содержащие ФАЙЛ, за исключением самого ФАЙЛА" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" +"читать шаблоны исключения для каждого каталога из ФАЙЛА, если он существует" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"читать шаблоны исключения для каждого каталога и его подкаталогов из ФАЙЛА, " +"если он существует" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "исключать всё содержимое каталогов, содержащих ФАЙЛ" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "исключать каталоги с ФАЙЛОМ" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "исключать каталоги CVS" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "читать шаблоны исключения из файлов игнорирования VCS" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "исключать резервные файлы и файлы блокировки" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "рекурсивный спуск по каталогам (по умолчанию)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "отключить автоматический спуск в каталоги" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Опции шаблонов подстановки для имён файлов (влияют на шаблоны включения и " +"исключения):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "шаблоны начала имени файла" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "шаблоны совпадают после любого «/» (по умолчанию для исключаемых)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "игнорировать регистр" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "с учётом регистра (по умолчанию)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "использовать маски (по умолчанию для исключаемых)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "точное соответствие строке" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "маски соответствуют «/» (по умолчанию для исключаемых)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "маски не соответствуют «/»" + +#: src/names.c:768 msgid "command line" msgstr "командная строка" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: список файлов, запрошенный из %s, уже прочитан из %s" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "невозможно разделить строку «%s»: %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: в прочитанном имени файла присутствует пустой символ" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "В именах файлов используются символы подстановки" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1377,48 +1540,48 @@ msgstr "" "Используйте --wildcards, чтобы задействовать эти символы, или --no-" "wildcards, чтобы убрать это предупреждение" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Не найден в архиве" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Требуемое вхождение не найдено в архиве" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Несоответствие метки архива" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Параметра -C в списке файлов нельзя Использовать с параметром --listed-" "incremental" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" "С параметром --listed-incremental можно использовать только параметр -C" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Для обоих параметров «-%s» и «-%s» требуется стандартный ввод" +msgstr "Для обоих параметров «%s» и «%s» требуется стандартный ввод" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Неверный формат архива" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Запрошены расширения GNU для несовместимого формата архива" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1426,7 +1589,7 @@ msgstr "" "Неизвестный стиль цитирования «%s». Воспользуйтесь «%s --quoting-style=help» " "для получения полного списка." -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1445,7 +1608,7 @@ msgstr "" " в архиве archive.tar.\n" " tar -xf archive.tar # Извлекает все файлы из archive.tar.\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1466,80 +1629,88 @@ msgstr "" " иначе простые\n" " never, simple всегда создавать простые резервные копии\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Основной режим работы:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "вывод списка содержимого архива" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "извлечение файлов из архива" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "создание нового архива" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "поиск различий между архивом и файловой системой" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "добавление файлов в конец архива" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "добавление в архив только более новых файлов" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "присоединение tar-файлов к архиву" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "удаление из архива (не на магнитных лентах!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "проверка метки тома архива и выход" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Модификаторы:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "эффективная обработка разрежённых файлов" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "ТИП" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "метод определения дыр" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "установить версию используемого формата разрежения (подразумевает --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "обработка добавочного резервирования старого формата GNU" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "обработка добавочного резервирования нового формата GNU" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "уровень копирования для созданного разностного архива со списком" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "не завершать работу при ненулевом статусе для нечитаемых файлов" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1551,143 +1722,152 @@ msgstr "" "list, и когда список файлов задан либо в командной строке, либо через опцию -" "T. По умолчанию N равен 1." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "доступен поиск по архиву" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "поиск по архиву недоступен" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "не проверять номера устройств при создании инкрементных архивов" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "проверять номера устройств при создании инкрементных архивов (по умолчанию)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Управление перезаписью:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "попытка проверить архив после его записи" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "удаление файлов после их добавления в архив" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" "не перезаписывать существующие файлы при извлечении, считать это ошибкой" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" "не перезаписывать существующие файлы при извлечении, просто пропускать их" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "не перезаписывать существующие файлы, которые более новые, чем их копии в " "архиве" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "перезапись существующих файлов при извлечении" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "удаление каждого файла до извлечения поверх него" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "очистка всей иерархии до извлечения каталога" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "сохранение метаданных существующих каталогов" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "перезапись существующих файлов при извлечении (по умолчанию)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "сохранить существующие символьные файлы на каталоги при извлечении" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "КАТАЛОГ" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "создавать подкаталог, чтобы избежать потери извлекаемых файлов" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Выбор выходного потока:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "извлекать файлы на стандартный вывод" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "КОМАНДА" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "перенаправлять извлечённые файлы в другую программу" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "игнорировать коды завершения дочерних процессов" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "считать ненулевые коды завершения дочерних процессов как ошибку" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Обработка атрибутов файлов:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "" "принудительно устанавливать ИМЯ в качестве владельца для добавленных файлов" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "" "принудительно устанавливать ИМЯ в качестве группы для добавленных файлов" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "использовать ФАЙЛ для сопоставления UID владельцев файла и имён" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "использовать ФАЙЛ для сопоставления GID владельцев файла и имён" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "ДАТА-ИЛИ-ФАЙЛ" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "устанавливать для добавленных файлов mtime из ДАТЫ-ИЛИ-ФАЙЛА" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "РЕЖИМ" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "" "принудительно устанавливать (символьный) РЕЖИМ доступа для добавляемых файлов" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "СПОСОБ" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1697,11 +1877,11 @@ msgstr "" "после чтения (СПОСОБ='replace'; используется по умолчанию) или не установки " "времени в первую очередь (СПОСОБ='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "не извлекать время изменения файла" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1709,22 +1889,22 @@ msgstr "" "попытаться извлечь файлы с тем же владельцем, что и в архиве (по умолчанию " "для супепользователя)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" "извлекать файлы как свои собственные (по умолчанию для обычных пользователей)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "использовать числа вместо имён владельца/группы" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "извлекать информацию о правах доступа к файлу (по умолчанию для " "суперпользователя)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1732,16 +1912,12 @@ msgstr "" "применять umask пользователя при извлечении прав доступа из архива (по " "умолчанию для обычных пользователей)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "члены-аргументы перечислены в том же порядке как файлы в архиве" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "эквивалент -p и -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1749,188 +1925,188 @@ msgstr "" "не устанавливать время изменения и права доступа извлечённых каталогов до " "завершения процесса извлечения" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "отменить действие параметра --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "ПОРЯДОК" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "порядок сортировки каталога: none (по умолчанию) или name" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Обработка расширенных атрибутов файлов:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Включить поддержку расширенных атрибутов" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Отключить поддержку расширенных атрибутов" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "МАСКА" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "задаёт шаблон включаемых ключей xattr" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "задаёт шаблон исключаемых ключей xattr" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "Включить поддержку контекста SELinux" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "Отключить поддержку контекста SELinux" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "Включить поддержку POSIX ACL" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "Отключить поддержку POSIX ACL" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Выбор и переключение устройств:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "АРХИВ" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "использовать файл или устройство АРХИВ" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "файл архива является локальным, даже если содержит двоеточие" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "использовать указанную КОМАНДУ rmt вместо rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "использовать удалённую КОМАНДУ вместо rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "указать устройство и плотность" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "создание/листинг/извлечение многотомных архивов" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "сменить ленту после записи ЧИСЛО x 1024 байт" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "" "запустить скрипт по окончании каждой ленты (подразумевается использование -М)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "использовать/обновлять номера тома в ФАЙЛЕ" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Разбиение на блоки:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "БЛОКИ" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "число БЛОКОВ x 512 байт на запись" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "ЧИСЛО байт на запись, кратное 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "игнорировать нулевые блоки в архиве (т.е. EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "заново разбивать на блоки при чтении (для каналов 4.2BSD)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Формата архива:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "ФОРМАТ" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "создать архив в указанном формате" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "ФОРМАТОМ может быть:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "старый формат tar V7" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "формат GNU как в tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "формат GNU tar 1.13.х" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "формат POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "формат POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "эквивалент pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "эквивалент --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "эквивалент --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "keyword[[:]=значение][,keyword[[:]=значение]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "управляющие ключевые слова pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "ТЕКСТ" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1938,182 +2114,81 @@ msgstr "" "создать архив с именем тома ТЕКСТ; при листинге/извлечении использовать " "ТЕКСТ в качестве шаблона подстановки" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Опции сжатия:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "использовать суффикс архива для определения программы сжатия" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "не использовать суффикс архива для определения программы сжатия" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "ПРОГ" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "пропустить архив через ПРОГ (должна поддерживать -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Выбор локальных файлов:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"добавить указанный ФАЙЛ в архив (полезно, если имя начинается с дефиса)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "перейти в КАТАЛОГ" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "загрузить из ФАЙЛА имена для извлечения или создания" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T читает строки, оканчивающиеся нулём, отключает опцию -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "выключить воздействие предыдущей опции --null" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "убрать кавычки с имён файлов, прочитанных с опцией -T (по умолчанию)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "не убирать кавычки с имён файлов, прочитанных с опцией -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "ШАБЛОН" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "исключать файлы, определённые ШАБЛОНОМ" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "исключать шаблоны, перечисленных в ФАЙЛЕ" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"исключать содержимое каталогов с файлом CACHEDIR.TAG за исключением самого " -"файла с тегами" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "исключать всё содержимое каталогов, содержащих файл CACHEDIR.TAG" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "исключать каталоги, содержащие файл CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "исключать каталоги, содержащие ФАЙЛ, за исключением самого ФАЙЛА" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "исключать всё содержимое каталогов, содержащих ФАЙЛ" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "исключать каталоги с ФАЙЛОМ" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "исключать каталоги CVS" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "исключать резервные файлы и файлы блокировки" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "отключить автоматический спуск в каталоги" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "оставаться в локальной файловой системе при создании архива" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "рекурсивный спуск по каталогам (по умолчанию)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "не удалять начальные «/» из имён файлов" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "следовать по символьным ссылкам и сохранять файлы, на которые они указывают" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "следовать по жёстким ссылкам и сохранять файлы, на которые они указывают" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "ИМЯ-ЧЛЕНА" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "начинать с члена ИМЯ-ЧЛЕНА при чтении архива" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "сохранять только те файлы, которые новее ДАТЫ-ИЛИ-ФАЙЛА" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "ДАТА" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "сравнивать дату и время, только если изменены данные" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "УПРАВЛЕНИЕ" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "делать копию перед удалением, УПРАВЛЕНИЕ выбора версий" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "СТРОКА" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2121,101 +2196,63 @@ msgstr "" "делать копию перед удалением, переопределяет обычный суффикс ('~', если " "только он не переопределён переменной окружения SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Преобразование имён файлов:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "удалять указанное ЧИСЛО начальных компонентов из имён файлов перед " "извлечением" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "РАСШИРЕНИЕ" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "использовать замену РАСШИРЕНИЯ sed'ом для преобразования имён файлов" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Опции шаблонов подстановки для имён файлов (влияют на шаблоны включения и " -"исключения):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "игнорировать регистр" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "шаблоны начала имени файла" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "шаблоны совпадают после любого «/» (по умолчанию для исключаемых)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "с учётом регистра (по умолчанию)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "использовать маски (по умолчанию для исключаемых)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "точное соответствие строке" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "маски не соответствуют «/»" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "маски соответствуют «/» (по умолчанию для исключаемых)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Вывод информации:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "подробный листинг обрабатываемых файлов" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "КЛЮЧЕВОЕ СЛОВО" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "управление предупреждением" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "вывод сообщений о ходе выполнения через каждые ЧИСЛО записей (по умолчанию " "10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "ДЕЙСТВИЕ" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "выполнять ДЕЙСТВИЕ на каждой контрольной точке" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "вывод сообщений, если сохранены не все ссылки" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "СИГНАЛ" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2227,35 +2264,35 @@ msgstr "" "SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2. Также разрешается использовать имена без " "префикса SIG" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "вывод времени изменения файла в формате UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "вывод имени файла и его полного разрешения" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "отправить подробный вывод данных в FILE" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "выводить номера блоков архива в каждом сообщении" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "запрашивать подтверждение для каждого действия" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "показать значения tar по умолчанию" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "показать допустимые диапазоны для полей snapshot-файла" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2263,31 +2300,31 @@ msgstr "" "при выводе листинга или извлечении показывать все каталоги, не " "соответствующем условию поиска" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "показывать имена файлов или архивов после преобразования" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "СТИЛЬ" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "установить стиль цитирования имён. Значения для СТИЛЯ см. ниже" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "дополнительно цитировать символы из СТРОКИ" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "отключить цитирование символов из СТРОКИ" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Опции совместимости:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2295,15 +2332,22 @@ msgstr "" "при создании, эквивалент --old-archive; при извлечении, эквивалент --no-same-" "owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Другие опции:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "отключить использование некоторых потенциально опасных опций" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "«%s» не может быть использован с «%s»" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" @@ -2311,40 +2355,40 @@ msgstr "" "Указать можно только один из параметров «-Acdtrux», «--delete» или «--test-" "label»" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Конфликт опций сжатия" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Неизвестное название сигнала: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Файл с образцом даты не найден" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "%s заменяется на неизвестный формат даты %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Опция %s: дата «%s» рассматривается как %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "пропустить архив через %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Допустимые аргументы для параметра --quoting-style:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2352,115 +2396,120 @@ msgstr "" "\n" "Значения по умолчанию *этого* tar:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "Неверный владелец или группа" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Неверный размер ёмкости блока" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Неверная длина ленты" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Недопустимое значение добавочного уровня" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Больше одной пороговой даты" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Неверное значение версии разрежения" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' не поддерживается на этой платформе" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "значение --checkpoint не является целым числом" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "В опции указан неверный режим доступа" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Неверное число" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"Опция --preserve устарела, используйте --preserve-permissions --preserve-" -"order" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Неверный размер записи" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Размер записи должен быть кратен %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Неверное число элементов" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Разрешается использовать только одну опцию --to-command" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Неверно сформирован аргумент плотности: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Неизвестная плотность: «%c»" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Опции «-[0-7][lmh]» не поддерживаются *этим* tar-ом" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: место ошибки" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "ошибка разбора %s" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[ФАЙЛ]…" -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "--%s не может быть использована с %s" +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "аргументы, не являющиеся параметрами, в %s" + +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "невозможно разделить TAR_OPTIONS: %s" -#: src/tar.c:2389 +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "Для старой опции «%c» нужно указать аргумент." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence бесполезна без списка файлов" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Для нескольких файлов архивов требуется опция «-M»" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "параметр --level не имеет смыла без --listed-incremental" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2468,71 +2517,77 @@ msgstr[0] "%s: Метка тома слишком длинная (максиму msgstr[1] "%s: Метка тома слишком длинная (максимум %lu байта)" msgstr[2] "%s: Метка тома слишком длинная (максимум %lu байт)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Невозможно проверить многотомные архивы" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Невозможно проверить сжатые архивы" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Невозможно использовать многотомные сжатые архивы" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Невозможно объединить сжатые архивы" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option может быть использована только с архивами POSIX" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "--acls может быть использована только с архивами POSIX" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "--selinux может быть использована только с архивами POSIX" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "--xattrs может быть использована только с архивами POSIX" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Невозможно определить имя каталога верхнего уровня; укажите его явно с " +"помощью --one-top-level=КАТАЛОГ" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Размер тома не может быть меньше размера записи" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Робкий отказ от создания пустого архива" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Параметры «-Aru» не совместимы с «-f -»" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "Необходимо указать один из параметров «-Acdtrux», «--delete» или «--test-" "label»" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Завершение работы с состоянием неисправности из-за возникших ошибок" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "порядок сортировки каталога: none (по умолчанию), name или inode" #: src/update.c:87 #, c-format @@ -2589,7 +2644,7 @@ msgstr "" msgid "Ignoring unknown extended header keyword '%s'" msgstr "Игнорируется неизвестное ключевое слово расширенного заголовка «%s»" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2598,29 +2653,29 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Расширенный заголовок %s=%s за пределами диапазона %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Неверно сформирован расширенный заголовок: неверный %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Неверно сформирован расширенный заголовок: превышен %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Неверно сформирован расширенный заголовок: неверный %s: непредвиденный " "разделитель %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" @@ -2663,7 +2718,7 @@ msgstr "Контрольная точка записи %u" msgid "Read checkpoint %u" msgstr "Контрольная точка чтения %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2672,70 +2727,74 @@ msgstr "" "от GNU.\n" "ОПЦИИ:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Опции создания файла:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "РАЗМЕР" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Создание файла указанного РАЗМЕРА" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Запись в файл с ИМЕНЕМ, а не на стандартный вывод" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Чтение имён файла из ФАЙЛА" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T читает строки, оканчивающиеся нулём" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "Заполнение файла заданным ШАБЛОНОМ. ШАБЛОН - это 'default' или 'zeros'" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Размер блока для разрежённого файла" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Создание разрежённого файла. Остальная часть команды определяет карту файла." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "СМЕЩЕНИЕ" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Искать до указанного смещения перед записью данных" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Параметры статистики по файлам:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Вывод содержимого структуры stat для всех указанных файлов. ФОРМАТ по " "умолчанию:" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Параметры синхронного выполнения:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "ПАРАМЕТР" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2743,21 +2802,21 @@ msgstr "" "Выполнение АРГУМЕНТОВ. Полезно с параметром --checkpoint и одним из --cut, --" "append или --touch" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" "Выполнение указанного действия (см. ниже) до достижения контрольной точки с " "заданным НОМЕРОМ" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Указание даты для следующего параметра --touch" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Показать выполненные контрольные точки и статус выхода КОМАНДЫ" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2765,7 +2824,7 @@ msgstr "" "Синхронное выполнение действий. Они выполняются при достижении контрольной " "точки с номером, определённым опцией --checkpoint." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2773,154 +2832,164 @@ msgstr "" "Усечь ФАЙЛ до размера, определённого предыдущей опцией --length (или 0, если " "не указан)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Добавить РАЗМЕР байт к ФАЙЛУ. РАЗМЕР определяется предыдущей опцией --length." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Обновить время последнего доступа и изменения ФАЙЛА." -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Выполнить КОМАНДУ" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Разорвать связь с ФАЙЛОМ" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Недопустимый размер: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Число за пределами допустимого диапазона: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Отрицательный размер: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "Сбой stat(%s)" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "запрошенная длина файла %lu, реальная %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "созданный файл не является разреженным" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Ошибка разбора числа возле `%s'" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Неизвестный формат даты" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[АРГУМЕНТЫ...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "невозможно открыть `%s'" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "невозможно найти" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "в имени файла присутствует пустой символ" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "невозможно вывести разрежённые файлы на стандартный вывод; используйте опцию " "--file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "неверная маска (возле `%s')" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Неизвестное поле `%s'" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "невозможно установить время в `%s'" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "не удалось обрезать «%s»" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "сбой команды: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "не удалось удалить «%s»" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Команда успешно выполнена\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Сбой команды; состояние: %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Команда завершена по сигналу %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Команда остановлена по сигналу %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Команда сбросила дамп памяти\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Команда завершена\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "для опции --stat нужны имена файлов" +#~ msgid "same as both -p and -s" +#~ msgstr "эквивалент -p и -s" + +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Опция --preserve устарела, используйте --preserve-permissions --preserve-" +#~ "order" + #~ msgid "--occurrence cannot be used with %s" #~ msgstr "--occurrence не может быть использована с %s" diff --git a/po/sk.gmo b/po/sk.gmo index fcbd2017747107531fee5c988a889becce236540..e7d231ac455dd252afa3d1feb8587f630e345194 100644 GIT binary patch delta 25 gcmezG|KESZ25}xUT?12HLo)>fODogOd&Hdu0DiFuO#lD@ delta 25 gcmezG|KESZ25}w}T?2DnBXb2KV=Lp$d&Hdu0DhPVNdN!< diff --git a/po/sk.po b/po/sk.po index 26740cdd..3f2cd092 100644 --- a/po/sk.po +++ b/po/sk.po @@ -2,12 +2,12 @@ # Copyright (C) 1997 Free Software Foundation, Inc. # Martin Lacko , 2001. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: tar- \n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 2002-02-10 12:00CEST\n" "Last-Translator: Martin Lacko \n" "Language-Team: Slovak \n" @@ -17,72 +17,72 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 0.9.5\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argument %s je pre %s neplatný" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argument %s nie je pre %s jednoznaèný" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Platné argumenty sú:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr "" -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 #, fuzzy msgid " [OPTION...]" msgstr "" "\n" "Pou¾itie: %s [PREPÍNAÈ]...\n" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Viac informácií získate príkazom `%s --help'.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, fuzzy, c-format msgid "Report bugs to %s.\n" msgstr "" @@ -91,121 +91,126 @@ msgstr "" "pripomienky k pkekladu zasielajte na adresu " "(slovensky).\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Neznáma systémová chyba" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, fuzzy, c-format msgid "%s: Too many arguments\n" msgstr "%s: prepínaè `%s' vy¾aduje argument\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: prepínaè %s nie je jednoznaèný\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: prepínaè `-W %s' nie je jednoznaèný\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: prepínaè `--%s' musí by» zadaný bez argumentov\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: prepínaè `%c%s' musí by» zadaný bez argumentu\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: prepínaè `%s' vy¾aduje argument\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: neznámy prepínaè `--%s'\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: neznámy prepínaè `%c%s'\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: neznámy prepínaè -- %c\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: prepínaè vy¾aduje argument -- %c\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: prepínaè `-W %s' nie je jednoznaèný\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: prepínaè `-W %s' musí by» zadaný bez argumentu\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: prepínaè `%s' vy¾aduje argument\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "Pamä» vyèerpaná" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "Pracovný adresár nie je mo¾né zmeni»" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, fuzzy, c-format msgid "failed to return to initial working directory" msgstr "Pracovný adresár nie je mo¾né uchova»" @@ -231,11 +236,11 @@ msgstr "Pracovn #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "`" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "'" @@ -245,7 +250,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "" @@ -255,16 +260,16 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -272,11 +277,11 @@ msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" @@ -392,22 +397,22 @@ msgstr "" "pripomienky k pkekladu zasielajte na adresu " "(slovensky).\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "Premenovávám %s spä» na %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" @@ -586,8 +591,8 @@ msgstr "" " --version Vypí¹e oznaèenie verzie\n" " --help Vypí¹e túto nápovedu\n" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "" @@ -595,10 +600,11 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "" @@ -611,7 +617,7 @@ msgstr "" msgid "cannot open %s" msgstr "Nedá sa zatvori»" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "" @@ -620,112 +626,111 @@ msgstr "" msgid "Garbage command" msgstr "Neznámy príkaz" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Toto pravdepodobne nie je tar archiv" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "" -#: src/buffer.c:576 +#: src/buffer.c:579 #, fuzzy msgid "Total bytes written" msgstr "Celkom zapísané bajtov: %s (%sB, %sB/s)\n" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Celkom zapísané bajtov: %s (%sB, %sB/s)\n" +msgstr "" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(rúra)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Chybná hodnota pre veµkos» záznamu" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Meno archívu nebolo zadané" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Stdin/Stdout archív nie je mo¾né otvori»" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Komprimovaný archív nie je mo¾né aktualizova»" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Páska na zaèiatku, konèím" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Príli¹ mnoho chýb, konèím" -#: src/buffer.c:944 +#: src/buffer.c:947 #, fuzzy, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Veµkos» záznamu = %lu blokov" msgstr[1] "Veµkos» záznamu = %lu blokov" -#: src/buffer.c:965 +#: src/buffer.c:968 #, fuzzy, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Nezarovnaný blok (%lu bajtov) v archíve" msgstr[1] "Nezarovnaný blok (%lu bajtov) v archíve" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "V archíve sa nie je mo¾né vráti», bez -i mô¾e by» neèitateµný" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: vracia chybné èíslo zväzku" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Èíslo zväzku preteèené" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Pripravte zväzok #%d pre archív %s a stlaète return:" -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Namiesto u¾ívateµskej odpovede bol zadaný koniec súboru" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "VAROVANIE: Archiv je nekompletný" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -737,71 +742,71 @@ msgstr "" " ! Vytvorenie podshellu\n" " ? Vypísanie tejto nápovedy\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Nie je nový zväzok; konèím.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, fuzzy, c-format msgid "%s command failed" msgstr "'%s' príkaz zlyhal" -#: src/buffer.c:1491 -#, fuzzy, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s nepokraèuje na tomto zväzku" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s nepokraèuje na tomto zväzku" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, fuzzy, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s nepokraèuje na tomto zväzku" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s je chybnej då¾ky (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Tento zväzok nie je následníkem predchádzajúceho" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Pre vyhodnotenie vzorky `%s' musí by» archív pomenovaný" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Zväzok %s nezodpovedá vzorke %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "" @@ -812,20 +817,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Dá sa èíta» iba %lu z %lu bajtov" msgstr[1] "Dá sa èíta» iba %lu z %lu bajtov" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Obsah sa lí¹i" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Neoèekávaný koniec archívu" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Typ súboru sa lí¹i" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Práva sa lí¹ia" @@ -841,7 +846,7 @@ msgstr "Gid sa l msgid "Mod time differs" msgstr "Èas poslednej úpravy sa lí¹i" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Veµkos» sa lí¹i" @@ -850,139 +855,139 @@ msgstr "Ve msgid "Not linked to %s" msgstr "Nie je odkazom na %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Symbolický odkaz sa lí¹i" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Èíslo zariadenia sa lí¹i" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Overujem " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Neznámy typ súboru '%c', porovnávaný ako normálny súbor" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:535 +#: src/compare.c:539 #, fuzzy msgid "Archive contains transformed file names." msgstr "Archív obsahuje zastaralé base-64 hlavièky" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "" -#: src/compare.c:614 +#: src/compare.c:618 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "CHYBNÉ OVERENIE: nájdených chybných hlavièiek: %d" msgstr[1] "CHYBNÉ OVERENIE: nájdených chybných hlavièiek: %d" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "hodnota %s typu %s je mimo rozsah %s..%s; nahradzujem za %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "hodnota %s typu %s je mimo rozsah %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Generujem záporné osmièkové hlavièky" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, fuzzy, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: súbor nie je zmenený; neaktualizovaný" -#: src/create.c:611 +#: src/create.c:612 #, fuzzy, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: súbor nie je zmenený; neaktualizovaný" -#: src/create.c:638 +#: src/create.c:639 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: súbor nie je zmenený; neaktualizovaný" -#: src/create.c:1084 +#: src/create.c:1102 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Súbor je krat¹í o : %s bajtov; Doplòujem nulami." msgstr[1] "%s: Súbor je krat¹í o : %s bajtov; Doplòujem nulami." -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: súbor je na inom súborovom systéme; nearchivovaný" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Neznámy typ súboru; súbor ignorovaný" -#: src/create.c:1551 +#: src/create.c:1569 #, fuzzy, c-format msgid "Missing links to %s." msgstr " odkaz na %s\n" -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: súbor nie je zmenený; neaktualizovaný" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: súbor je archiv; nearchivovaný" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: súbor bol poèas èítania zmenený" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: soket ignorovaný" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: dvere ignorované" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Preskakujem na ïal¹iu hlavièku" @@ -1000,56 +1005,56 @@ msgstr "" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: èasová nálepka %s je %lu z dátumu budúcnosti" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Neoèakávaná nekonzistencia, pri vytvárení adresára" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" "%s: Prieèinok bol premenovaný predtým, ako mohol by» extrahovaný jeho stav" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Súvisle ulo¾ené súbory rozbaµujem ako obyèajné súbory" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Skú¹am rozbali» symbolické odkazy ako pevné odkazy" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Nedá sa rozbali» -- súbor je pokraèovaním iného zväzku" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 #, fuzzy msgid "Unexpected long name header" msgstr "Neoèakávaný koniec v rozsekanom mene" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Neznámy typ súboru `%c', rozbalený ako normálny súbor" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Tento súbor nebolo mo¾né zálohova»" -#: src/extract.c:1767 +#: src/extract.c:1814 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: nie je mo¾né premenova» na %s" @@ -1100,130 +1105,130 @@ msgstr "Neplatn msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Neoèekávaný koniec archívu" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "Pre blokový faktor (blokov na záznam) %d nie je mo¾né alokovat pamä»" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, fuzzy, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: súbor je na inom súborovom systéme; nearchivovaný" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Ma¾em %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Nedá sa zmaza»" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Vynechávam" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok NUL **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Konec súboru **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Medzery v hlavièke na mieste, kde je oèakávaná èíselná hodnota typu %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1231,87 +1236,87 @@ msgstr "" "complement" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Osmièková hodnota %.*s typu %s je mimo rozsah" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Archív obsahuje zastaralé base-64 hlavièky" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Hodnota base-64 typu %s je mimo %s rozsah" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Hodnota base-256 typu %s je mimo rozsah" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Archív obsahuje %.*s tam, kde je oèakaváná èísalná hodnota typu %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Hodnota %s typu %s je mimo rozsah %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " odkaz na %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " neznámy typ súboru %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Hlavièka zväzku--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Pokraèované od %s bajtu--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Vytváram adresár:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Premenovávam %s na %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: nie je mo¾né premenova» na %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Premenovávám %s spä» na %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Súbor zmazaný skôr ako mohl by» èítaný" @@ -1324,81 +1329,232 @@ msgstr "potomok" msgid "interprocess channel" msgstr "meziprocesový kanál" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Odporujúce si archívne formáty" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "" + +#: src/names.c:73 +#, fuzzy +msgid "change to directory DIR" +msgstr "Pracovný adresár nie je mo¾né zmeni»" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" + +#: src/names.c:136 +msgid "ignore case" +msgstr "" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "" + +#: src/names.c:146 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "Zväzok %s nezodpovedá vzorke %s" + +#: src/names.c:768 #, fuzzy msgid "command line" msgstr "'%s' príkaz zlyhal" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: V archíve nenájdený" -#: src/names.c:845 +#: src/names.c:1263 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: V archíve nenájdený" -#: src/names.c:879 +#: src/names.c:1297 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Pre vyhodnotenie vzorky `%s' musí by» archív pomenovaný" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "Prepínaèe `-%s' a `-%s' vy¾adujú ¹tandardný vstup" -#: src/tar.c:164 +#: src/tar.c:165 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "%s: Chybná skupina" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "GNU roz¹írenia po¾adované na nekompatibilnom formáte archívu" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:378 +#: src/tar.c:354 #, fuzzy msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " @@ -1417,7 +1573,7 @@ msgstr "" " %s -tvf archív.tar # Podrobne vypí¹e v¹etky súbory v archív.tar.\n" " %s -xf archív.tar # Rozbalí v¹etky súbory z archív.tar.\n" -#: src/tar.c:387 +#: src/tar.c:363 #, fuzzy msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" @@ -1443,80 +1599,88 @@ msgstr "" " existujú, inak tvorí jednoduché\n" " never, simple tvorí v¾dy jednoduché zálo¾né kópie súborov\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "" -#: src/tar.c:425 +#: src/tar.c:401 #, fuzzy msgid "create a new archive" msgstr "Neoèekávaný koniec archívu" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1524,640 +1688,511 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "" -#: src/tar.c:516 +#: src/tar.c:494 #, fuzzy msgid "extract files to standard output" msgstr "Chyba pri zápise na ¹tandardný výstup" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "" -#: src/tar.c:627 +#: src/tar.c:609 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "Víczväzkový archív nie je mo¾né otvori»" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:653 +#: src/tar.c:635 #, fuzzy msgid "Archive format selection:" msgstr "Odporujúce si archívne formáty" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:684 +#: src/tar.c:666 #, fuzzy msgid "Compression options:" msgstr "Odporujúce si kompresné prepínaèe" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" - -#: src/tar.c:712 -#, fuzzy -msgid "change to directory DIR" -msgstr "Pracovný adresár nie je mo¾né zmeni»" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -msgid "unquote input file or member names (default)" -msgstr "" - -#: src/tar.c:722 -msgid "do not unquote input file or member names" -msgstr "" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "" - -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "Odstraòujem úvodné `%.*s' z názvov súborov" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "Zväzok %s nezodpovedá vzorke %s" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2165,306 +2200,324 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, fuzzy, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "Viac ako jeden prepínaè `-Acdtrux' nemô¾e by» zadaných" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Odporujúce si kompresné prepínaèe" -#: src/tar.c:1079 +#: src/tar.c:1005 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr " neznámy typ súboru %s\n" -#: src/tar.c:1103 +#: src/tar.c:1029 #, fuzzy msgid "Date sample file not found" msgstr "Dátumový súbor nebol nájdený" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Zamieòam %s za neznámy dátumový formát %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1330 +#: src/tar.c:1253 #, fuzzy msgid "Invalid owner or group ID" msgstr "Neplatný vlastník" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Neplatný poèet bajtov na záznam" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Neplatná då¾ka pásky" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Viac ako jeden poèiatoèný dátum" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Zadáné chybné práva" -#: src/tar.c:1925 +#: src/tar.c:1800 #, fuzzy msgid "Invalid number" msgstr "Neplatné èíslo i-uzlu" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Chybná veµkos» záznamu" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Veµkos» záznamu musí by» násobok %d." -#: src/tar.c:2042 +#: src/tar.c:1913 #, fuzzy msgid "Invalid number of elements" msgstr "Neplatná då¾ka pásky" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Prepínaè `-[0-7][lmh]' nie je podporovaný týmto tarom" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "" -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s" +msgid "non-option arguments in %s" +msgstr "argument %s je pre %s neplatný" + +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "" -#: src/tar.c:2389 +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "Prepínaè `%c' vy¾aduje argument." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "Viac archivaèných súborov vy¾aduje prepínaè `-M'" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2515 +#: src/tar.c:2429 #, fuzzy, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Meno zväzku je príli¹ dlhé (limit je %lu bajtov)" msgstr[1] "%s: Meno zväzku je príli¹ dlhé (limit je %lu bajtov)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Víczväzkový archív nie je mo¾né otvori»" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Komprimovaný archív nie je mo¾né otvori»" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Viaczväzkový komprimovaný archív nie je mo¾né vytvori»" -#: src/tar.c:2543 +#: src/tar.c:2462 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Komprimovaný archív nie je mo¾né aktualizova»" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Vytvorenie prázdneho archívu odmietnuté." -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Prepínaèe `-Aru' a `--delete' sú nezlúèiteµné s prepínaèom `-f -'" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Musíte zada» jeden z prepínaèov `-Acdtrux'" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2521,34 +2574,34 @@ msgstr "" msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, fuzzy, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Hodnota %s typu %s je mimo rozsah %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" @@ -2589,254 +2642,255 @@ msgstr "Zapisujem testovac msgid "Read checkpoint %u" msgstr "Èítanie testovacieho bodu %d" -#: tests/genfile.c:111 +#: tests/genfile.c:115 #, fuzzy msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" msgstr "Generujem datové súbory pre testovanie GNU taru.\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 #, fuzzy msgid "File creation options:" msgstr "Odporujúce si kompresné prepínaèe" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "" -#: tests/genfile.c:131 +#: tests/genfile.c:135 #, fuzzy msgid "Write to file NAME, instead of standard output" msgstr "Chyba pri zápise na ¹tandardný výstup" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, fuzzy, c-format msgid "Invalid size: %s" msgstr "Neplatný èas súboru" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, fuzzy, c-format msgid "Number out of allowed range: %s" msgstr "Èíslo i-uzlu mimo rozsah" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, fuzzy, c-format msgid "Unknown date format" msgstr "Neznáma systémová chyba" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "" -#: tests/genfile.c:434 +#: tests/genfile.c:443 #, fuzzy msgid "cannot seek" msgstr "Nedá sa zatvori»" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr " neznámy typ súboru %s\n" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "%s: nie je mo¾né premenova» na %s" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, fuzzy, c-format msgid "command failed: %s" msgstr "'%s' príkaz zlyhal" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "%s: Odkaz na `%s' nie je mo¾né vytvori»" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, fuzzy, c-format msgid "Command failed with status %d\n" msgstr "Potomok bol ukonèený signálom %d" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, fuzzy, c-format msgid "--stat requires file names" msgstr "--Rozdelené meno súboru--\n" -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "--listed-incremental a --newer nie je mo¾né kombinova»" - #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: neznámy prepínaè -- %c\n" @@ -3314,6 +3368,9 @@ msgstr "--Rozdelen #~ msgid "Written by John Gilmore and Jay Fenlason." #~ msgstr "Autori: John Gilmore a Jay Fenlason." +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "--listed-incremental a --newer nie je mo¾né kombinova»" + #~ msgid "Error exit delayed from previous errors" #~ msgstr "Za behu programu nastala chyba" diff --git a/po/sl.gmo b/po/sl.gmo index 0287da69978f0ecf56dbf298542e9f64ab5e658c..e8125f61e3311a5d42e7bc873272b2242d78aa20 100644 GIT binary patch delta 14208 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 BKhppJ diff --git a/po/sl.po b/po/sl.po index 6f703813..b420a70b 100644 --- a/po/sl.po +++ b/po/sl.po @@ -1,16 +1,16 @@ # -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU Tar -# Copyright (C) 1996, 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2011, 2013 Free Software Foundation, Inc. +# Copyright (C) 1996, 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2011, 2013, 2014 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. -# Primož Peterlin , 1996, 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2011, 2013. +# Primož Peterlin , 1996, 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2011, 2013, 2014. # -# $Id: tar-1.27.sl.po,v 1.3 2013/12/13 21:58:56 peterlin Exp $ -#: src/create.c:1574 +# $Id: tar-1.28.sl.po,v 1.2 2014/11/16 20:25:23 peterlin Exp $ +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar 1.27\n" +"Project-Id-Version: tar 1.28\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2013-12-13 22:58+0100\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2014-11-16 21:24+0100\n" "Last-Translator: Primož Peterlin \n" "Language-Team: Slovenian \n" "Language: sl\n" @@ -20,46 +20,46 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" "%100==4 ? 3 : 0);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "neveljaven argument %s za %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "dvoumen argument %s za %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Veljavni argumenti so:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: vrednost %s je manj ali enako od %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: parameter ARGP_HELP_FMT zahteva podano vrednost" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: vrednost parametra ARGP_HELP_FMT mora biti pozitivna" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: neznan parameter ARGP_HELP_FMT" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Smetje v ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -67,143 +67,148 @@ msgstr "" "Argumenti, ki so bodisi obvezni bodisi neobvezni za dolge oblike izbir, so " "obvezni/neobvezni tudi za kratke oblike." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Uporaba:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " ali: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [IZBIRA...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Poskusite »%s --help« ali »%s --usage« za izčrpnejÅ¡a navodila.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Poročila o napakah javite na %s.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Neznana sistemska napaka" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "poda ta seznam pomoči" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "poda kratka navodila za uporabo" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "IME" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "nastavi ime programa" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEK" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "premor SEK sekund (privzeto 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "izpis izdaje programa" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMSKA NAPAKA) Različica ni poznana?!" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Preveč argumentov\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMSKA NAPAKA) Izbira bi morala biti prepoznana?!" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "napaka pri pisanju" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: izbira »%s« ni enopomenska; možnosti so:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: izbira »-W %s« ni enopomenska\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: izbira »--%s« ne dovoljuje argumenta\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: izbira »%c%s« ne dovoljuje argumenta\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: izbira »--%s« zahteva argument\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: neprepoznana izbira »--%s«\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: neprepoznana izbira »%c%s«\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: neveljavna izbira -- »%c«\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: izbira zahteva argument -- »%c«\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: izbira »-W %s« ni enopomenska\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: izbira »-W %s« ne dovoljuje argumenta\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: izbira »-W %s« zahteva argument\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "pomnilnik porabljen" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "ni mogoče zabeležiti trenutnega imenika" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "vrnitev v začetni delovni imenik ni mogoča" @@ -229,11 +234,11 @@ msgstr "vrnitev v začetni delovni imenik ni mogoča" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "»" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "«" @@ -243,7 +248,7 @@ msgstr "«" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[dDjJ]" @@ -253,16 +258,16 @@ msgstr "^[dDjJ]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Priprava paketa: %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Priprava paketa: %s\n" @@ -270,11 +275,11 @@ msgstr "Priprava paketa: %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -412,24 +417,24 @@ msgstr "" "Poročila o napakah javite na %s.\n" "Napake v prevodu sporočite na .\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" "Poročila o napakah %s javite na %s.\n" "Napake v prevodu sporočite na .\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Spletna stran %s: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Spletna stran %s: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "SploÅ¡na pomoč za rabo programja GNU: \n" @@ -601,8 +606,8 @@ msgstr "Nepričakovani argumenti" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Nadzor tračne enote, ki bere ukaze iz drugega procesa" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "N" @@ -610,10 +615,11 @@ msgstr "N" msgid "set debug level" msgstr "nastavi raven iskanja napak" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "DATOTEKA" @@ -626,7 +632,7 @@ msgstr "določi datoteko za izpis iskanja napak" msgid "cannot open %s" msgstr "ni mogoče odpreti %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "preveč argumentov" @@ -635,67 +641,68 @@ msgstr "preveč argumentov" msgid "Garbage command" msgstr "Neveljaven ukaz" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "To ne deluje kot arhiv ,tar'" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Skupno prebranih bajtov" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Skupno zapisanih bajtov" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Skupno izbrisanih bajtov: %s\n" +msgstr "Skupno izbrisanih bajtov" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(cev)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" +"Zavrnjena zahteva za branje arhivske vsebine s terminala (manjkajoči f?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" +"Zavrnjena zahteva za pisanje arhivske vsebine na terminal (manjkajoči -f?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Neveljavna vrednost za dolžino zapisa (record_size)" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Ime arhiva ni podano" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Arhivov na stdin/stdout ni mogoče preveriti" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Arhiv je stisnjen. Uporabite izbiro %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Stisnjenega arhiva ni mogoče ažurirati" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Na začetku traku, končujem" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Preveč napak, končujem" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -704,7 +711,7 @@ msgstr[1] "Dolžina zapisa = %lu blok" msgstr[2] "Dolžina zapisa = %lu bloka" msgstr[3] "Dolžina zapisa = %lu bloki" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -713,37 +720,37 @@ msgstr[1] "Neporavnan blok (%lu bajt) v arhivu" msgstr[2] "Neporavnan blok (%lu bajta) v arhivu" msgstr[3] "Neporavnan blok (%lu bajti) v arhivu" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Nazaj po arhivu ne gre, morda ni berljiv brez izbire -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek se ni ustavil na meji zapisa" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: vsebuje neveljavno Å¡tevilko dela" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Prekoračitev Å¡tevilke dela" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Pripravite del #%d za %s in pritisnite Return: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Znak EOF na mestu, kjer se pričakuje odgovor uporabnika" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "POZOR: Arhiv nepopoln" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -754,65 +761,65 @@ msgstr "" " q Končamo tar\n" " y, newline Nadaljujemo z delovanjem\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Poženemo ukazno podlupino\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Ta seznam uzazov\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Novega dela ni, konec.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Ime datoteke ni določeno. Poskusite znova.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Neveljaven vnos. Vtipkajte ? za pomoč.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "ukaz %s neuspeÅ¡en" -#: src/buffer.c:1491 -#, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s se morda nadaljuje v tem delu: zaglavje vsebuje porezano ime" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s se ne nadaljuje v tem delu" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s se morda nadaljuje v tem delu: zaglavje vsebuje porezano ime" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s je napačne velikosti (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Ta del ne sodi v zaporedje (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Arhiv ni označen skladno z %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Del %s ne ustreza %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -820,7 +827,7 @@ msgstr "" "%s: ime datoteke je predolgo za zapis v zaglavje GNU večdelnega arhiva; " "porezano" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "pisanje se ni končalo s koncem bloka" @@ -833,20 +840,20 @@ msgstr[1] "Prebrati je bilo moč samo %lu od %lu bajta" msgstr[2] "Prebrati je bilo moč samo %lu od %lu bajtov" msgstr[3] "Prebrati je bilo moč samo %lu od %lu bajtov" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Vsebina se razlikuje" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Nepričakovan znak za konec datoteke v arhivu" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Zvrst datoteke se razlikuje" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Način se razlikuje" @@ -862,7 +869,7 @@ msgstr "Å tevilka skupine (GID) se razlikuje" msgid "Mod time differs" msgstr "Čas zadnje spremembe se razlikuje" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Velikost se razlikuje" @@ -871,37 +878,37 @@ msgstr "Velikost se razlikuje" msgid "Not linked to %s" msgstr "Ni povezana z %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Simbolna povezava se razlikuje" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Å tevilka enote se razlikuje" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Preverjanje " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Neznana vrsta datoteke »%c«, diff kot na navadni datoteki" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Arhiv vsebuje imena datotek z odstranjenimi vodilnimi predponami." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Arhiv vsebuje transformirana imena datotek." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Verifikacija morda ne bo uspela locirati izvornih datotek." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" @@ -910,46 +917,46 @@ msgstr[1] "NAPAKA PRI PREVERJANJU: najdena %d neveljavna glava" msgstr[2] "NAPAKA PRI PREVERJANJU: najdeni %d neveljavni glavi" msgstr[3] "NAPAKA PRI PREVERJANJU: najdene %d neveljavne glave" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Osamljeni ničelni blok pri %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: vsebuje značko medpomnilniÅ¡kega imenika %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "vrednost %s od %s obseg %s..%s; zamenjano %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "vrednost %s od %s obseg %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Ustvarjanje negativnih osmiÅ¡kih glav" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: ime datoteke je predolgo (največ %d); brez iznosa" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: ime datoteke je predolgo (ni mogoče deliti); brez iznosa" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: ime povezave je predolgo; brez iznosa" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -958,56 +965,56 @@ msgstr[1] "%s: Datoteka skrčena za %s bajt; dopolnjeno z ničlami" msgstr[2] "%s: Datoteka skrčena za %s bajta; dopolnjeno z ničlami" msgstr[3] "%s: Datoteka skrčena za %s bajte; dopolnjeno z ničlami" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: datoteka je na drugem datotečnem sistemu; brez iznosa" # POZOR Imamo za to kak izraz? -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "vsebina ni izneÅ¡ena" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Neznan tip datoteke; datoteka ignorirana" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Manjkajo povezave na %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: datoteka je nespremenjena; brez iznosa" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: datoteka je arhiv; brez iznosa" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "imenik ni izneÅ¡en" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: Datoteka je bila spremenjena med branjem" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: vtičnica ignorirana" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: vrata ignorirana" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Preskok na naslednjo glavo" @@ -1025,57 +1032,57 @@ msgstr "%s: neverjetno stara časovna oznaka %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: oznaka časa %s je %s s v prihodnosti" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Nepričakovana neskladnost pri ustvarjanju imenika" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "%s: obstoječa datoteka se preskoči" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Imenik preimenovan, preden je bilo moč restavrirati njegov status" # POZOR! "contiguous files" so datoteke, ki so zapisane na disku # na zaporednih sektorjih (na tistih OS, ki jih podpirajo). -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Neprekinjene datoteke se restavrirajo kot navadne" # POZOR! Grdo! -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Simbolne povezave poskusimo dearhivirati kot trde" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Dearhivacija ni mogoča - datoteka se nadaljuje iz prejÅ¡njega dela" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Nepričakovano zaglavje z dolgim imenom" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Neznana vrsta datoteke »%c«, restavrira se kot navadna datoteka" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Obstoječa »%s« je novejÅ¡a ali enako stara" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Varnostne kopije te datoteke ni moč napraviti" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Preimenovanje %s v %s ni mogoče" @@ -1125,16 +1132,16 @@ msgstr "Neveljavna Å¡tevilka inoda" msgid "%s: byte %s: %s %.*s... too long" msgstr "%s: bajt %s: %s %.*s... predolgo" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Nepričakovan znak za konec datoteke v trenutnem posnetku" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "%s: bajt %s: %s %s sledi neveljaven bajt 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" @@ -1143,204 +1150,205 @@ msgstr "" "%s: bajt %s: (veljavni razpon %s..%s)\n" "\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "%s: bajt %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "%s: bajt %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Manjkajoč zaključek zapisa" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Okvarjen inkrementalni zapis datoteke" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Nepodprta različica inkrementalnega zapisa: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Skladenjska napaka pri imeniku za iznos: pričakovan »%c«, najden %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Skladenjska napaka pri imeniku za iznos: »X« podvojen" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Skladenjska napaka pri imeniku za iznos: manjkajoče ime pri »R«" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "" "Skladenjska napaka pri imeniku za iznos: polja »T« ne predhodi polje »R«" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Skladenjska napaka pri imeniku za iznos: manjkajoče ime pri »T«" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Skladenjska napaka pri imeniku za iznos: pričakovan »%c«, najden konec " "podatkov" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Skladenjska napaka pri imeniku za iznos: »X« ni uporabljen" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Ni mogoče ustvariti začasnega imenika po Å¡abloni %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Imenika ne čistimo: statistika zanj ni dosegljiva" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: imenik je na drugi napravi; brez čiščenja" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Brisanje %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Odstranitev ni mogoča" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Izpuščeno" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok znakov NUL **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Konec datoteke **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" "Na mestu v glavi, kjer se pričakuje Å¡tevilčno vrednost %s, so presledki" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" "OsmiÅ¡ka vrednost arhiva %.*s izven obsega %s; privzema se dvojiÅ¡ki komplement" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "OsmiÅ¡ka vrednost arhiva %.*s izven obsega %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Arhiv vsebuje zastarele glave oblike base-64" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Podpis %s oblike base-64 v arhivu je izven obsega %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Vrednost base-256 v arhivu izven obsega %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arhiv vsebuje %.*s na mestu, kjer se pričakuje Å¡tevilčno vrednost %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Vrednost arhiva %s je izven obsega %s: %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " povezava na %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " neznan tip datoteke %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Dolga povezava--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Dolgo ime--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Glava dela--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Nadaljevanje pri bajtu %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Ustvarja se imenik:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Preimenovanje %s v %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Preimenovanje v %s ni mogoče" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Preimenovanje %s nazaj v %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Datoteka je bila odstranjena, preden jo je bilo mogoče prebrati" @@ -1353,30 +1361,188 @@ msgstr "proces naslednik" msgid "interprocess channel" msgstr "medprocesni kanal" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Izbira lokalne datoteke:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"dodaj navedeno DATOTEKO v arhiv (za imena datotek, ki se začnejo z »-«)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "IMENIK" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "pomik v navedeni IMENIK" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "preberi seznam datotek z navedene DATOTEKE" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T prebere z \\000 terminirana imena; onemogoči -C" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "prekliči učinek prejÅ¡nje izbire --null" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "odstrani narekovaje iz imen elementov (privzeto)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "ne odstrani narekovajev iz imen elementov" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "VZOREC" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "brez datotek, ki jih opisuje VZOREC" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "brez datotek, ustrezajočim vzorcem, prebranih z DATOTEKE" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"brez vsebine imenikov, ki vsebujejo značko CACHEDIR.TAG, razen značke same" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "" +"brez imenikov, ki vsebujejo značko CACHEDIR.TAG, in vseh njihovih podimenikov" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "brez imenikov, ki vsebujejo značko CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "brez vsebine imenikov, ki vsebujejo DATOTEKO, razen DATOTEKE same" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "preberi izključitvene vzorce za vsak imenik iz DATOTEKE, če ta obstaja" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"preberi izključitvene vzorce za vsak imenik in njegove podimenike iz " +"DATOTEKE, če ta obstaja" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "brez imenikov, ki vsebujejo DATOTEKO, in vseh njihovih podimenikov" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "brez imenikov, ki vsebujejo DATOTEKO" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "brez imenikov sistema za nadzor različic" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "preberi izključitvene vzorce iz izključitvenih datotek VCS" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "brez varnostnih kopij in zaklepnih datotek" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "rekurzivno vključi vse podimenike" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "podimenikov se ne vključuje samodejno" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Izbire ujemanja imen datotek (vpliva tako na vključitvene kot na " +"izključitvene vzorce):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "vzorci se ujemajo z začetkom imena datoteke" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" +"vzorci se ujemajo od kateregakoli znaka »/« dalje (privzeto pri izključitvi)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "brez razlike med malimi in velikimi črkami" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "pri ujemanje se razlikuje med malimi in velikimi črkami (privzeto)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "uporabi nadomestne znake (privzeto za izključitvi)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "dobesedno ujemanje nizov" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "nadomestni znaki se ujemajo z »/« (privzeto pri izključitvi)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "nadomestni znaki se ne ujemajo z »/«" + +#: src/names.c:768 msgid "command line" msgstr "ukazna vrstica" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: seznam datotek, ki ga zahteva %s, je že prebran iz %s" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "ni mogoče razcepiti niza »%s«: %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: prebrano ime datoteke vsebuje znak \\0" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Z vzorcem ujemajoči se znaki, uporabljeni v imenih datotek" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1384,53 +1550,53 @@ msgstr "" "Uporabite --wildcards, da bi omogočili ujemanje vzorcev, ali --no-wildcards, " "da izklopite to opozorilo" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Ni najdeno v arhivu" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Zahtevane pojavitve ni moč najti v arhivu" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Neskladje v oznaki arhiva" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Izbira -C znotraj seznama datotek pri --listed-incremential ni dovoljena" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Samo ena izbira -C je dovoljena pri --listed-incremential" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Izbiri »-%s« in »-%s« obe zahtevata standardni vhod" +msgstr "Izbiri »%s« in »%s« obe zahtevata standardni vhod" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Neveljavna oblika arhiva" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "RazÅ¡iritve GNU izbrane na nezdružljivem formatu arhiva" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Neznan slog navajanja »%s«. Poskusite »%s --quoting-style=help« za seznam." -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1451,7 +1617,7 @@ msgstr "" " tar -xf arhiv.tar # Restavrira vse datoteke iz arhiva arhiv." "tar.\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1473,79 +1639,87 @@ msgstr "" " sicer enostavne\n" " never, simple vedno enostavne varnostne kopije\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Glavni načini delovanja:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "izpiÅ¡i vsebino arhiva" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "restavriraj datoteke iz arhiva" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "ustvarjanje novega arhiva" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "iskanje razlik med arhivom in datotečnim sistemom" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "dodajanje datotek na konec arhiva" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "dodajanje novih datotek, če so novejÅ¡e od že arhiviranih" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "zlivanje arhivov" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "brisanje datotek iz arhiva (ne deluje na traku!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "preizkusi oznako dela arhiva in zaključi" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Določila delovanja:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "ekonomično ravnanje z razprÅ¡enimi datotekami" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "GLAVNI[.POMOŽNI]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "izberi uporabljeno različico razprÅ¡enega zapisa (implicira --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "stari zapis GNU za inkrementalne arhive" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "novi zapis GNU za inkrementalne arhive" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "raven izmeta za ustvarjene inkrementalne arhive" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "nadaljuj z branjem, tudi če datoteke ni moč prebrati" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1557,143 +1731,152 @@ msgstr "" "list, pri čemer je seznam datotek podan bodisi v ukazni vrstici, bodisi z " "izbiro -T. Privzeta vrednost N je 1." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "po arhivu je mogoče iskati" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "po arhivu ni mogoče iskati" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "pri izdelavi inkrementalnega arhiva ne preverjaj Å¡tevilke naprav" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "pri izdelavi inkrementalnega arhiva preverjaj Å¡tevilke naprav (privzeto)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Nadzor nad pisanjem prek:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "s poskusom preverjanja zapisanega arhiva" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "pobriÅ¡i datoteke, potem ko so arhivirane" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" "pri restavriranju ne piÅ¡i prek obstoječih datotek, ampak jih obravnavaj kot " "napako" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" "pri restavriranju ne piÅ¡i prek obstoječih datotek, preskoči jih brez " "opozorila" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "ne piÅ¡i prek obstoječih datotek, novejÅ¡ih od arhiviranih" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "pri restavriranju piÅ¡i prek obstoječih datotek" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "" "s poprejÅ¡njim brisanjem obstoječih datotek pri restavriranju istoimenskih " "novih" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "izprazni hierarhije pred restavriranjem imenikov" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "ohrani metainformacije o obstoječih imenikih" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "pri restavriranju piÅ¡i prek metapodatkov obstoječih imenikov (privzeto)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "pri restavriranju ohrani obstoječe simbolne povezave na imenike" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "IMENIK" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "ustvari podimenik, da se izogne dearhiviranju nepovezanih datotek" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Izbira izhodnega toka:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "datoteke restavriraj na standardni izhod" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "UKAZ" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "datoteke napelji na vhod drugega programa" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "prezri izhodne kode hčerinskih procesov" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "obravnavaj neničelne izhodne kode hčerinskih procesov kot napako" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Ravnanje z atributi datotek:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "pri dodajanju datotek spremenimo lastnika v IME" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "pri dodajanju datotek spremenimo skupino v IME" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATUM-ČAS" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "nastavi mtime za dodane datoteke iz DATUM-ALI-DATOTEKA" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "SPREMEMBE" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "zahtevaj (simbolne) SPREMEMBE zaščite za dodane datoteke" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METODA" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1703,11 +1886,11 @@ msgstr "" "branju (METODA=replace, privzeto) ali tako, da se časa sploh ne nastavi " "(METODA=system)" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "brez restavriranja časa spremembe" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1715,23 +1898,23 @@ msgstr "" "skuÅ¡aj restavrirati datoteke tako, da se ohrani njihov lastnik iz arhiva " "(privzeto za administratorja)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" "restavriraj datoteke tako, da postanemo njihov lastnik (privzeto za navadne " "uporabnike)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "s Å¡tevilčnimi vrednostmi UID/GID namesto imen" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "restavriraj podatke o dovoljenjih za dostop do datotek (privzeto za " "administratorja)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1739,17 +1922,13 @@ msgstr "" "uporabi uporabnikovo masko umask pri restavriranju dovoljenj za dostop do " "datotek (privzeto za uporabnike)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" "argumenti elementov so navedeni v enakem vrstnem redu kot datoteke v arhivu" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "isto kot -p in -s skupaj" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1757,187 +1936,187 @@ msgstr "" "z nastavljanjem časa sprememb in dovoljenja za dostop za restavrirane " "imenike počakaj do zaključka restavriranja" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "prekliči učinek izbire --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "UREDITEV" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "razvrstitvena ureditev imenika: none (privzeto) ali name" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Ravnanje z razÅ¡irjenimi atributi datotek:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Omogoči podporo za razÅ¡irjene atribute" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Onemogoči podporo za razÅ¡irjene atribute" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "MASKA" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "določi vključitveni vzorec za ključe xattr" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "določi izključitveni vzorec za ključe xattr" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "Omogoči podporo za kontekst SELinux" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "Onemogoči podporo za kontekst SELinux" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "Omogoči podporo za POSIX ACL" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "Onemogoči podporo za POSIX ACL" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Izbira enote in preklapljanje:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARHIV" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "uporabi datoteko ali enoto ARHIV" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "arhiv je lokalen kljub dvopičju v imenu datoteke" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "uporabi navedeni UKAZ rmt namesto rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "uporabi nelokalen UKAZ namesto rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "določi enoto in gostoto zapisa" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "ustvari/preglej/restavriraj arhiv v več delih" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "menjava traku po Å T x 1024 zapisanih bajtih" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "poženi SKRIPT po koncu traku (privzema -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "uporabi/ažurira se Å¡tevilo dela v DATOTEKI" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Bločna razdelitev enote:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOKI" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "dolžina zapisa BLOKI × 512 bajtov" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "Å TEVILO bajtov v zapisu (večkratnik 512)" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ne meni se za bloke ničel (EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "razdeli na bloke ob branju (cevovodi 4.2BSD)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Izbira oblike arhiva:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "OBLIKA" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "ustvari arhiv v navedeni obliki" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "OBLIKA je nekaj od naÅ¡tetega:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "oblika starega V7 tar" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "stara oblika GNU tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "oblika GNU tar 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "oblika POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "oblika POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "isto kot pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "isto kot --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "isto kot --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "ključ[[:]=vrednost][,ključ[[:]=vrednost]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "krmilni ključi pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "VZOREC" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1945,182 +2124,80 @@ msgstr "" "ustvari arhiv z imenom dela IME; pri izpisu seznama/restavriranju je lahko " "IME regularni izraz za ime dela" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Izbire glede stiskanja:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "program za stiskanje ugotovi iz pripone arhiva" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "ne ugotavljaj programa za stiskanje iz pripone arhiva" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROGRAM" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "filtriraj skozi PROGRAM (sprejemati mora izbiro -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Izbira lokalne datoteke:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"dodaj navedeno DATOTEKO v arhiv (za imena datotek, ki se začnejo z »-«)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "pomik v navedeni IMENIK" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "preberi seznam datotek z navedene DATOTEKE" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T prebere z \\000 terminirana imena; onemogoči -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "prekliči učinek prejÅ¡nje izbire --null" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "odstrani narekovaje iz imen datotek, prebranih s -T (privzeto)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "ne odstrani narekovajev iz imen datotek, prebranih s -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "VZOREC" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "brez datotek, ki jih opisuje VZOREC" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "brez datotek, ustrezajočim vzorcem, prebranih z DATOTEKE" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"brez vsebine imenikov, ki vsebujejo značko CACHEDIR.TAG, razen značke same" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "" -"brez imenikov, ki vsebujejo značko CACHEDIR.TAG, in vseh njihovih podimenikov" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "brez imenikov, ki vsebujejo značko CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "brez vsebine imenikov, ki vsebujejo DATOTEKO, razen DATOTEKE same" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "brez imenikov, ki vsebujejo DATOTEKO, in vseh njihovih podimenikov" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "brez imenikov, ki vsebujejo DATOTEKO" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "brez imenikov sistema za nadzor različic" - -#: src/tar.c:751 -#, fuzzy -msgid "read exclude patterns from the VCS ignore files" -msgstr "izključitveni vzorci ne vsebujejo metaznakov" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "brez varnostnih kopij in zaklepnih datotek" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "podimenikov se ne vključuje samodejno" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "pri arhiviranju izpusti datoteke na nelokalnih datotečnih sistemih" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "rekurzivno vključi vse podimenike" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "ne odstrani vodilnih »/« iz imen datotek" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "sledi simbolnim povezavam; arhiviraj/iznesi ciljne datoteke" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "sledi trdim povezavam; arhiviraj/iznesi ciljne datoteke" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "IME" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "začni z navedenim IMENOM ob branju arhiva" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "shrani le datoteke, novejÅ¡e od DATUM-ČAS" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATUM" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "primerjaj datum in uro le, kadar se podatki spremenijo" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "TIP" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "" "varnostna kopija pred brisanjem, z možnostjo izbire TIPA varnostne kopije" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "NIZ" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2128,98 +2205,59 @@ msgstr "" "varnostna kopija pred brisanjem; prekličemo običajno PRIPONO (»~«, razen če " "lupinska spremenljivka SIMPLE_BACKUP_SUFFIX določa drugače)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Pretvorbe imen datotek:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "pri restavriranju poreži Å TEVILO vodilnih komponent iz imen datotek" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "IZRAZ" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "uporabi nadomestitveni IZRAZ programa sed za pretvorbo imen datotek" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Izbire ujemanja imen datotek (vpliva tako na vključitvene kot na " -"izključitvene vzorce):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "brez razlike med malimi in velikimi črkami" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "vzorci se ujemajo z začetkom imena datoteke" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" -"vzorci se ujemajo od kateregakoli znaka »/« dalje (privzeto pri izključitvi)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "pri ujemanje se razlikuje med malimi in velikimi črkami (privzeto)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "uporabi nadomestne znake (privzeto za izključitvi)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "dobesedno ujemanje nizov" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "nadomestni znaki se ne ujemajo z »/«" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "nadomestni znaki se ujemajo z »/« (privzeto pri izključitvi)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Informativni izpisi:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "z izčrpnim izpisom obdelanih datotek" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "KLJUČ" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "nadzor opozorila" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "izpiÅ¡i poročilo o napredku pri vsakem N-tem zapisu (privzeto 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "DEJANJE" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "na vsaki kontrolni točki izvedi DEJANJE" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "izpiÅ¡i sporočilo, če niso zapisane vse povezave" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2231,35 +2269,35 @@ msgstr "" "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 in SIGUSR2, prepoznana so tudi imena " "signalov brez predpone SIG-" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "izpiÅ¡i čase sprememb datotek v UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "izpiÅ¡i čas datoteke v polni ločljivosti" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "zapiÅ¡i izčrpno poročilo v DATOTEKO" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "z izpisom zaporednega bloka v arhivu ob vsakem sporočilu" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "vpraÅ¡aj za potrditev pri vsakem koraku" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "prikaži privzete nastavitve" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "prikaži veljavne razpone za polja snapshot-file" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2267,31 +2305,31 @@ msgstr "" "pri izpisu seznama ali restavriranju izpiÅ¡i vsak imenik, ki ne ustreza " "iskalnim pogojem" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "prikaži imena datotek ali arhivov po pretvorbi" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "SLOG" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "nastavi slog navajanja imen; glej spodaj za veljavne SLOGE" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "dodatno navedi znake iz NIZA" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "onemogoči navajanje znakov iz NIZA" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Združljivostne izbire:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2299,54 +2337,61 @@ msgstr "" "ob ustvarjanju arhiva isto kot --old-archive; ob restavriranju isto kot --no-" "same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Druge izbire:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "onemogoči rabo nekaterih potencialno Å¡kodljivih izbir" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "»%s« ni mogoče uporabiti obenem z »%s«" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "Podate lahko največ eno od izbir »-Acdtrux« ali »--test-label«" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Nasprotujoče si izbire glede stiskanja arhiva" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Neznano ime signala: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Datoteke z vzorcem datuma ni najti" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Nadomešča se %s za neznan format datuma %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Izbira %s: Datum »%s« se obravnava kot %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "filtriraj arhiv skozi %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Veljavni argumenti pri izbiri --quoting-style so:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2354,115 +2399,120 @@ msgstr "" "\n" "Privzete vrednosti *tega* programa tar:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "Neveljaven ID lastnika ali skupine" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Neveljaven faktor blokiranja" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Neveljavna dolžina traku" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Okvarjena vrednost inkrementalne ravni" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Več kot en pražni podatek" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Neveljavna vrednost razprÅ¡ene različice" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "izbira --atime-preserve='system' na tem sistemu ni podprta" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "vrednost --checkpoint ni celo Å¡tevilo" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Podana zaščita ni veljavna" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Neveljavno Å¡tevilo" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"Raba izbire --preserve je odsvetovana, uporabite --preserve-permissions --" -"preserve-order" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Neveljavna dolžina zapisa" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Dolžina zapisa mora biti večkratnik %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Neveljavno Å¡tevilo elementov" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Dovoljena je le ena izbira --to-command" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Okvarjen argument gostote: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Neznana gostota: »%c«" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "*Ta* izvedba tar ne podpira izbir »-[0-7][lmh]«" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Napaka pri razčlembi Å¡tevila pri »%s«" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[DATOTEKA]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "izbire --%s ni mogoče uporabiti obenem z %s" +msgid "non-option arguments in %s" +msgstr "neveljaven argument %s za %s" + +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "ni mogoče razcepiti niza »%s«: %s" -#: src/tar.c:2389 +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "Stara izbira »%c« zahteva argument." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence nima pomena brez seznama datotek" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Več arhivskih datotek zahteva izbiro »-M«" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "Izbira --level je brez pomena brez izbire --listed-incremential" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2471,69 +2521,75 @@ msgstr[1] "%s: Oznaka dela je predolga (omejitev je %lu bajt)" msgstr[2] "%s: Oznaka dela je predolga (omejitev je %lu bajta)" msgstr[3] "%s: Oznaka dela je predolga (omejitev je %lu bajti)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Arhivov v več delih ni mogoče preveriti" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Stisnjenega arhiva ni mogoče preveriti" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Stisnjeni arhivi v več delih niso mogoči" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Stisnjenega arhiva ni mogoče združevati" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "izbira --pax-option je mogoča le na arhivih POSIX" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "izbira --acls je mogoča le na arhivih POSIX" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "izbira --selinux je mogoča le na arhivih POSIX" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "izbira --xattrs je mogoča le na arhivih POSIX" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Vrhnjega imenika ni mogoče ugotoviti; prosimo nastavite ga izrecno z --one-" +"top-level=IMENIK" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Dolžina dela ne more biti manjÅ¡a od velikosti zapisa" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Zahteva po odprtju praznega arhiva bojazljivo zavrnjena" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Izbire »-Aru« so nezdružljive z »-f -«" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Ena od izbir »-Acdtrux«, »--delete« ali »--test-label« je obvezna" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Zaradi predhodnih napak zaključujemo s statusom napake" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "razvrstitvena ureditev imenika: none (privzeto), name ali inode" #: src/update.c:87 #, c-format @@ -2589,35 +2645,35 @@ msgstr "PoÅ¡kodovana razÅ¡irjena glava: manjka znak za novo vrstico" msgid "Ignoring unknown extended header keyword '%s'" msgstr "Ne upoÅ¡teva se neznanega ključa razÅ¡irjene glave »%s«" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Ustvarjeni par ključ/vrednost je predolg (ključ=%s, dolžina=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Par %s=%s v razÅ¡irjeni glavi je izven obsega %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "PoÅ¡kodovana razÅ¡irjena glava: neveljavni %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "PoÅ¡kodovana razÅ¡irjena glava: odvečni %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "PoÅ¡kodovana razÅ¡irjena glava: neveljavni %s: nepričakovani razmejilnik %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "PoÅ¡kodovana razÅ¡irjena glava: neveljavni %s: liho Å¡tevilo vrednosti" @@ -2660,7 +2716,7 @@ msgstr "Oznaka pisanja %u" msgid "Read checkpoint %u" msgstr "Oznaka branja %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2668,70 +2724,74 @@ msgstr "" "genfile pripravi datoteke za testno zbirko GNU paxutils.\n" "IZBIRE so:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Izbire ustvarjenja datotek:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "VELIKOST" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Ustvari arhiv z navedeno VELIKOSTJO" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "ZapiÅ¡i na podano DATOTEKO namesto na standardni izhod" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Preberi imena datotek iz podane DATOTEKE" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T prebere z \\000 terminirana imena" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "ZapiÅ¡e v datoteko dani VZOREC. VZOREC je lahko 'default' ali 'zeros'" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Velikost bloka za razprÅ¡eno datoteko" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Ustvari razprÅ¡eno datoteko. Preostanek ukazne vrstice podaja preslikavo " "datoteke." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "ODMIK" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "pomakni se na dani odmik pred pisanjem podatkov" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Izbire statistike datotek:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "IzpiÅ¡i vsebino strukture stat za vsako od datotek. Privzeti FORMAT je: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Izbire za sinhrono izvajanje:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "IZBIRA" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2739,19 +2799,19 @@ msgstr "" "Izvedi ARGUMENTE. Uporabno z izbiro --checkpoint in eno od naslednjih izbir: " "--cut, --append, --touch, --unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "Ob dosegu kontrolne točke N izvedi dano dejanje (glejte spodaj)" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Nastavi datum za naslednjo izbiro --touch" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "IzpiÅ¡i izvedene kontrolne točke in izhodni status UKAZA" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2759,7 +2819,7 @@ msgstr "" "Dejanja sinhronega izvajanja. Izvedejo se, ko je dosežena ena od kontrolnih " "točk, podana z izbiro --checkpoint." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2767,156 +2827,166 @@ msgstr "" "SkrajÅ¡aj DATOTEKO na dolžino, določeno s prejÅ¡njo izbiro --length (ali 0, če " "ta ni podana)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Dodaj VELIKOST bajtov DATOTEKI. VELIKOST je podana s prejÅ¡njo izbiro --" "length." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Posodobi čas dostopa in spremembe za DATOTEKO" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Izvedi UKAZ" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Odstrani DATOTEKO" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Neveljavna velikost: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Å tevilka izven dovoljenega obsega: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Negativna velikost: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "klic stat(%s) ni uspel" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "zahtevana dolžina datoteke %lu, dejanska %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "ustvarjena datoteka ni razprÅ¡ena" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Napaka pri razčlembi Å¡tevila pri »%s«" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Neznana format datuma" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGUMENT...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "ni mogoče odpreti »%s«" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "klic seek() ni mogoč" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "datoteka vsebuje znak NUL" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "razprÅ¡enih datotek ni mogoče ustvariti na standardnem izhodu, uporabite " "izbiro --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "nepravilna maska (pri »%s«)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Neznano polje »%s«" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "ni mogoče nastaviti časa za »%s«" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "ni mogoče okrajÅ¡ati »%s«" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "ukaz neuspeÅ¡en: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "ni mogoče odstraniti »%s«" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Ukaz se je uspeÅ¡no zaključil\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Ukaz se je zaključil neuspeÅ¡no s statusom %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Ukaz je bil prekinjen s signalom %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Ukaz je bil ustavljen s signalom %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Ukaz je izvrgel pomnilniÅ¡ko sliko\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Ukaz je bil prekinjen\n" # POZOR Je to res to? -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat zahteva imena datotek" +#~ msgid "same as both -p and -s" +#~ msgstr "isto kot -p in -s skupaj" + +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Raba izbire --preserve je odsvetovana, uporabite --preserve-permissions --" +#~ "preserve-order" + #~ msgid "--occurrence cannot be used with %s" #~ msgstr "--occurrence ni mogoče uporabiti skupaj z %s" diff --git a/po/sr.gmo b/po/sr.gmo index aa15165a8de53df119f8659ec519c3f81d0ade08..93e121b019404d5888db038b64b022d74b445e0f 100644 GIT binary patch delta 14558 zcmb{22Y6If-pBDfp$UWp2)!heKu8D)B$Uu0C{+-V3aNj zitb`yKoF^dtAfA;rMXfT1PhBDL`8hRzk4pqzPr!vzR&aC=Q;VD|2emudS?cG>ulNM zUzhcssa|%8%d)J_0hSeyb*fvIs|=aO2xTdhfml^1aCE}D*clJtV61@=36@nJ+oBu0 zU>J_ZK=eA!!zYNJPq4gJEi&OPEvq@Ua~y|}#Lr?i+<_r@7}bXJ7=axQ4s7=8WSQA%aRosH1_!n$~7qJEgwy~@Z z7>;Vl2uwsTj>0!k52#6D9gN4O*atNd`Iv^&y<}p^TtqdXdRxn)b5;y8O4dl^nbrbq zg!^$UevY;9o_3~zV{sDk3{-=zV;8L7-m-#m7`ibNtK(eMbG$3bM3X5+weV-u4I0xu zM$77jw9T4|8j($?5!r`o;CWQTYA~+h*bdd;VMrUT1*oZg7j^$@csIH`+2?z$31sS1 zFdsGN>#;T-L5<93jx{=)xEn@Mo{e$%EV^+&sv{R2gXn%e;tecb5%)(mARl|;D%686VGP#mZbqgD>OtdC4O@vC z;ewr4?c)P@i)|shtevYSBTmT z%P|~%sD>YNVplJ-NE=}U<-JhbII|by-++vl0uAwURLkGO5Ilu$yn=c_P;YZ#Bx-~@ zpuN2?i8vEA#IK?5a}sr*YpC-p_2G?*F&Ky~ykyFd>4ci|By{6&)OMSOHE}-b1}|bG z+=puLXHHz6J*DjygBpRcSP5sNdb|MDpiNHfM_upzp3DF;)$cJq8Hai?Oh)zORgA$C zP8`tJ^q>Wnr@S?)VI5H;G#nXqD-ShwZ=yPO2J7HYs8@RRd+o*QwHlL2aWQnL2Y=Ad zwDdPr&l}!n8rBLmRd-=m9D}S|Yc(d}1ys))-_MrCo*0SAsOzSn-WN+yQ?d_hYyY1h zqy73d>VW|dm>$(ZEs}QV#(PmW%0}&)xfq3OQTzW8s;8fzM&d`*c|pnMfzhb)PEOn( ztMYtn92vWXPQ?hutI(^=UNV}i3yycNAX*T|VIq!1^>i`nO|}EO;B}0~wgb)nAA=g=XR#^nN3ET& zFdypDU3&rR4-Hm(@|^cVW)mQ zb|l_|UfuWx8QnNO-Aut4)PA3bjc_w+&Q78pcpWu0HOBFJ#m1-+n~W84zvE#nM|{%p z47!Lv#U6NR9OJJSMeKOJQx8Gk+CR|@pt1{2JitUcaIoP$BQ3AK3kVr4vvn%gs|>#m{Z zI3&xgfoKdT?ucs0NYwdru^YaK+SV7nWVC3$$3QGU(ey9`)w3kjjR!bppyuvTjKJ+k z+pW_WjlHwYhtPxQA)bfL@H^CfLUYViw?Zv?Zz`D>GD}gb@*U@dYuJgnNv?UsyQ9%xC%9b7f}t1&U4JSML7`FfkG!+>fw3hK~~*D)6ll4h7G|u?f+$Dbiw6rf@ja*>FTr}a3q$afQ+~y<))YFR{oj?09yl5+ z<7`wz7NX{E1L{T}V-39O#FZX0J�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�N$GR`P5y1AbNpNUJ{3^SRV5wW{@wmvr87!ra*EGh^`*;XvY%QHm33sJ* z*YA)1-+R%&*#De=bCmnsjvI-nXVQab?06F z-KCFn!{-R>Zk(UKoJZZ3e}fjjMQw3Zlq=M???gnoQ7iqM{TuCzO4Ps28VA!V#TpX- zW}5njzr?;TOfP-R?jcX48*cTA6Lt`2aNgnu(e`b~ZYxSUTGRVSyX@hOOQ&6IaW~!g zr)M)_W+4CLvw7G*J^QvNYaX_6|6Qd;cOR`>>tDB_sQKwwU-0STa=!QrYsysI<=<$} z%8a7Zmm+0K>zll6E`D#Z{PF<)Y6)nZnvE)borLjMgEealEq=Y zI%qESy3x!=Yi)5a-IKpf)eeT-K84plr&#v-``7pC^l$GKd)r-ZyRZF*;>N|n6FhF%^j3dK@u@ghlbYMyj3UEjca!sepMtu>oCRp_gEcIsHSCF{{w1+) zGt__VzFnnk3G3Ff{%;>WN~`<-`{wpN7x~xuUnrgt>I$h%Kh=M>kCvET93}L(WNY0p s*Rp`(1>vs1tzU<`KBy4E;B05K>{|00`uF4ApxQqzkgeOBx?JV|2UK#@3IG5A delta 12765 zcmZ|VdwkCI|HtvqwK<#3Vdglyj2-Rdd>V6@Ip#Pfau^#SCX;f!9Ll-KXp#_0Qc)KX zkwmCyBj=Kol0!Nnl)jJW^?vKt?~mW-c6;yse!V}Z_xZXuPTnZ8>zg8;^W}>yb2*Mv z&(Cp^aBn%sxk0{rEyq!LK%y}iE0c7jVijzMpW+}4##kOu3{%jJX&8pXF#zXSm*O1a zSCSl$6GA4YuHz(ND{Br$5U;{=xF0LvN#tJV3Wj5~dXCc`TVidTjb(5XR>${Ibv}uz zNU{2k(;OqQDh{ddF)x@(K_vHMX^H3FXn$Rmy3xjY7x^Wzq$2`<~JgjxoLQ(I*@^0r z&rlV-f~r_`x}zqxLREMOQWqy5HMC!#o_`-ZVKn2w^&TgeOf?FYp~n0jtc0gfJ#)ia zJ=w$^F^cjD7>}#ajh~|$a@`uz!VEzQs>S_K_l?F-T!vx1-|_k~j&mGcocJC6@g}M( z@1R;#o&MD9?txXXF9zZ`>kQP37Nc6a4yn6y1T{HJrkEa0KuyXalJ`4H$f%|Juqxib zI#{Ze>FP!pOWYgPGt*HOS&qeVHEO6fU^_gAszA-wj>EKaIwQUA%s{>815{7_gdVk| zd>d24IMk%-fnoS4sv>hS4Y#6RbPrXb#I~k~`k`Jl6;&}WhT=}FhNn@>_77A8B2rDo zTcpzeYC$_&@DS2lPH&9FrC1wxp9`(U{*uH->aD%d9b0B<_HEz(7<>reO_SYvYfwG4Ul-4}^AP-e3x< z#hp+U8g1hRsQcf>bo3k{qn3oTD77KfL$xFuV{wU%ccWTx1&iSgRK;$gdMKo`nIrL7 zn|M5`VJ~83+=}J!2r?SZH<;;S{3E)U7teXf)O07R<)={<`x!M>_b~;lb#)x(pVJ>( z;VM+izroVz>Sp$lGN}9NV?1_84aqdrBwT{!dB5`p8NF~fszt|9WBoh2u|#+CpcvF@ zNy8`{jDa{8)zW-aPrQq|?l9_w-`VopHV*7zhBzFn^M0p38C}>NwSi=z#_UNfj>}LL zdl@w}yHORsf@RR@X@({c)dLk!LllN;NF-{^n`0g9hw8D}=uzf%G8(f_tv4`{IJlSD z`%_UZo{ZYj)}fZ^HyDjIm`M$>J*umxVhnD=SUiEb==64+)-WD}@x9*kzq;x(3d-Uo z)bhB68aw|!<^gWhb0<*u-L(FN5ybu(^uJmj zlVO%oS5(brqbA8qsAcCxz3>#)MgP8L>>FZv;#Aa7WuO}ep}KrJs^Y6L2-l;YzZHFR z#6u>5g72^umVelcX)jdQWnvmGM7`)ZR>2=I37vkXC3R7ABLg*5Poo;}ChETZ7=ov; z0{)Dun8&Zb>6+rGf?q?Rp19yL++z` zFy;}nb@xVk#N$jM^Ef9KqPpxpsv@BS_=v@D?C)aop~mdgK+|J?qjtEsL8eE#p~id! zs)dt~Mmo=7Bm44H9UlR(D$g8{)y_!z)ZGftchyj zNYs5ZQ7_0x4b3{#r27(?Z_YVnvvukXG4T`(=KaobGWGE?YS~pEY9><`R7KKJ%W5oY z3|FCgY8$G8U!vyFWqZC-mRY6=sOOGEJ$Dsq2#%uW$X)c*A`_l%dLRw;!ePkRI5V*) zE8$>H?BT9P=N?G(GBCf8ntt24V-~$*xMd5 zdhkB$DGVpRhCIs&ddzIGldvlBI?TpBSO;s5HurbOSmJEdKgRXFN2wTB0g2 z1T{3PQ9bu1vg$m}Ei$Tk$T%|zTca+>M6KIds87S4=*H8ivAcuun4D{_ABnndA=bt> zFbTiF=ID%foTiYBx^Dv3()wTT%dpB5#P%R%b(JaT;Q58Fe9@YFlnMkZP$?SBU@DlN040f@;Cz~y~ z{}i(f2cstGY*fWIqPp~?Jzr$1c~LCtMd=uV(@{N{Z{tl<>3?=KF=#X^rZ_N!Sb*VLkj5H7Wl_^;kUJsyUT{RdA$@pSEsBz2~fljBdPwMX~C1 zvuC@p1#uLrXR@(8F2n>}jRWu~>P2xgOpjz>W8z7uo_!Z<;we-`?_dPR%{1qGddP%P z@FZ%s=3`|%gf;M6R85^(?2b?td*L8d4|!2NbQINqyQmj9Pn*dYiI-fw9Gg&Fc{UX% z?t!YfXY(AhRh~sv;1a3@A#+WOyP_(TiG?@`n_`!FJOpQB7d(yXv55I*E(}FI?|Ibu zeW+y^w7_wm!OqBYJWe5*`V^F2Xm+F&>_fQ7!xqRgsdFvtWF+f*h!`jHwM4R#KKXi zWm0;D8KW>%1v;U|J`Acp|XdX5rK8Ov_Z=LxqwJ~b)EW|`SWc?HUiKEwZEykf5^8lR4;BWAv*Yvu;~cFn|+T*bn!iY8?8S8MA)ajd(2%#our+_Ss-2;dUHE{446d z9p=gEkr8!U*DfsOxLK zX?kQFwj*APn%$RCL)PXk{``ukQ4MJIwi&9$m`Ut8L?)0->}InJo1(gUG>*ZIn1q$L znCm)P`(k;@hvPJygiY}ds_W~&Lm4hc4RPsrO~pE5OX79dR_p&Fncfscdd-DXumkZ< z)R6dZHOny*HOm)ZEBpvk&~KaRkv6CbJc_k(Ek@!&)PC?YMq|`_j`J~g#~xb$!Q0J^ z!%!Ej!7g|hHD)0@%p9qS#fVce6+2@CT#PmF04C!1*a(B)H$&1HH7B08@ln)}1n=Y* z9NzCtA)^E)x$z#p{rj=$yweoce*8gfC+^;``VeyY4ow$FjtCQO_^E z$1J-LR7E?Wht1A;icB9Y^`YsBOl(N}64u8;)OAJo(!H#+d>l%weoTTajKO7C13yId zj3?)8(uqL{wRC^_2ROh@T~{aFdV(89yp15aJhqKJvYPl z#KW-;ZpOBF4qIT@A#>dT)asazp;&;b_|Jztc8fi1UeF2aapD=&*zU09*D;1T`cw15 zo)|~G0(IR%?0|n^1#I`3*@zy-fy8St3je_{jQZRRNqY~OiWKy;1&?Aa;#`cyeC&t& zFatx6m@a(+(}_=8K@3i;9uQ5vdz1a`(%SPHLT3A~A^cpudhZBO|0IHSlU zQILlbxF1{M6%53flV;0of|@k#P%oH++QE*a8ylW7>%I@RC!UPD{$uQlMQKe{OvgCP z!2tEiN;2^jY{WWv3iV?DGv-Tad2|yepe9u}RM$O=Gw?P>(fm18rUdCsi= z-MEzaE~ew6ubA{2lkdrBb|!vpmfsVo8g53-=C4pMaG$qZFa{9!#j==<>goxouAYI( zI3L^KK^%;wzA;@t3Ofh)|?-P9}};{ra1Vb zslW=HNBk;o^rJ!Fnd{G7GCN|>4`z;~q2|ugALxIL{eBA6;+wbz!++#&KKL=#z_82w z7K1IZCH{^5F!?95Ec3Ai@kgiz{ev3H=qqMUq~o*16EOjcUo|$m>M_eLn}S}Pn1|)? zYuto4P&dAGjjnU?vg_uBJ$^P{PAB6doIip=7<dTjn})T-p2Tx;0G>mpiN|UBr|HV-cg&wm#$X#Rn1X8Qhu8(L<4SCH*K9-f* z&5(3L#nVwev<_*Ja~6Bx?tjcs201QgJ@G@Bj=!NQ)ZXQC+H0)Flj({d;7}~>=kir3 z2Xlz8qHgT(@A7?V+=8u$%NB7t3$O>y!mn`#W)^k%_KolGQR1j#F5h2L7o&ReCtQP# ziu3O;3(1@!(+9Ikm>2Cr-B`Ay%Nd3fQCsQ-OvC6>F5m3VL3Q;})cF#nO@+IoChK0* zzVaKYVvYGVs2{$MZ7{fu%i|m4j503Yht4zDmlG#(EG7oJd|x8h;ArA%K`!5?;5-~a z{4IWtDP>K0KslFhjI*#I6zwLUA{egq4gAIaX!47%eSM=!DqSeJv@Y|{H7Yf`7&WH-^NxI zQ;5f)mf_o|{l?>RyL?-1XY5A722_o2V-yacHns5?Ou#p=I-Wtz`de5Ji`}N0QWX9jq+pRnmiFEcr(W_@s6inSYNd2el}?`VY?q+dvyvcU6;I;&)1|&q~GmLC6RgMJ6w*_EQjGU*;?2M+m7WEG142PDI_*3 z=Q%7#1^1G7lg5$Wr>rq)H~Bi8n@9e^(Mjh?50m)D<<#Q*AbT>D{8Y->pPcy`e=jG_ z6Xv?KDFUwnVx(=}g^ZWI6a zC{4=;+Je8Wntx7RPCRW3_Tq=6GxlaTc^xx}^<6-F{RZ-tRLD_`d*3u!=K$r8+50}W zF0{VNHJ_1xmJ~pmOFEIe$IH?+W)%tnz4~}=q{6wl{ z3-XX%+qr;0leF!I@Z6!4vAO=|;7OG@kwRf*iqr8Id-^@{|BxmSN07?@r(!vjUm)oi zPg+X)lhmKG+t`W3*FfKKou92Ke}(j;EqlNWwIq@UpXOu&`I_V>kbj(1g8Xz`Liush z9+Hk2(g&n>IoAq{U<;Ct9@Z<8`*j2vd|y;Hkw3<{*YGLy{Kbzp1l72>36`-pHPr*` zF^l{tQb*!Idwwl(2Js@&)8td_wW11fS6qj4Z23w2iuieKhC062`hS$*cY@BikMuD4 zqv*$r(#ek@%_E+Q2eB`yD(CtWuOjb{F5=h8|4P0lmLch=Y%4q67nwi39JBcwT$8Hx zKb}lc(qz&fBptg+Rmr!+w@{z+>q$?M1`-#?6q1he#4V6dZzqYQBN(Hw6cvaeznxTy zxR*U2M)@t`)mr~=lKvtHr!Wn5s9Z;JYd7*md?n^bZLTf)pIF(pT-%3KXzzJ&I+{!l zDU$NV_FMw@>+t>mKV`O&&T%pkV>r2u{6*3VQaQ@<@v{C2T zs!3UAdr=d6&W6q%GCMT>8*RxNE~sep>+Qwi#GA<1A$>zSOZ+LRhOK>BYbIsWIIp7^ z=`i^kzKAW_USmTip7FwPE-CI29iSUHLsCxYV+Cn zA#qF6C6aFMKpJPy_r+zT7fIbowYlaWt^b*%E2MWQ*o<{ay~$rh9bb^w(cY?j9{KO_ zJgE!$1)q2g;9-JSC~-5ejn&-mn*Y@fmxeD5|FX=NQfT zpGoH^E5f;zdj?WBEC9Y~n{sqz^^6%gZ(tD&2h+jb+(+s|!arPObZP_5MTS>kg zF2vVK!KAIE<&^2@r7sRW$Q0-1Znp3v9OXOB=a^OWv*(qsNWKInC-VCeiz1cn7ETDpM&v$~`7$ zynF1p?4jA&S=m|cArswEJ)`pW_NwfCuh;M*dA0g}}tq zwmWC+_z^i{+#_<`S=qWhb9{DIocoDfUhwZl@nf^cjUJJk%Z0iBEzTL2l|9ZqVodJ% z?943hp9Al?yu~v;0p5M1b6wt*In7;O*W-K3c;|b1xB`ddjDOS}Kh~W&Cd(b4>peC- z-{1Sf(>MKGjq?`HX%WyMKB;khy~gf(^_$htJ25A$RQ>q64cti$o7HXTy+7x%Fz==f zLyF`TY)TG|a~JF=oKdi|@WsMeg>y*D3%0p0PG1$@_Tu!F-helol=S|w?L<{`)rW=C z3$_(()%kQzy9;)6alwv)tp(fiRuwk)9xk|D!u!RU=`Qc;b74ij$G`oksApBdhlR6w z$MS+LzUThi4SIm@Z3Wv4wiM1NoXJl;epkU3Dz&p<4-r+Pd diff --git a/po/sr.po b/po/sr.po index 6c966969..8dec59a8 100644 --- a/po/sr.po +++ b/po/sr.po @@ -2,14 +2,13 @@ # Copyright (C) 2014 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. # Мирослав Николић , 2014. -# -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar-1.27\n" +"Project-Id-Version: tar-1.28\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2014-03-14 05:15+0200\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2014-09-14 18:29+0200\n" "Last-Translator: Мирослав Николић \n" "Language-Team: Serbian <(nothing)>\n" "Language: sr\n" @@ -19,46 +18,46 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "неисправан аргумент „%s“ за „%s“" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "нејасан аргумент „%s“ за „%s“" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Исправни аргументи су:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: „%s“ вредност је мања од или једнака са „%s“" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: „ARGP_HELP_FMT“ параметар захтева вредност" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: „ARGP_HELP_FMT“ параметар мора бити позитиван" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Непознат „ARGP_HELP_FMT“ параметар" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Ђубре у „ARGP_HELP_FMT“-у: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -66,143 +65,148 @@ msgstr "" "Обавезни или изборни аргументи за дуге опције су такође обавезни или изборни " "за било које одговарајуће кратке опције." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Употреба:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " или: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [ОПЦИЈА...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Покушајте „%s --help“ или „%s --usage“ за више података.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Грешке пријавите на %s\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Непозната грешка система" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "приказује овај списак помоћи" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "приказује кратку поруку коришћења" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "НАЗИВ" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "поставља назив програма" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "СЕКУНДИ" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "стаје за СЕКУНДЕ секунде (основно је 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "исписује издање програма" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ГРЕШКА ПРОГРАМА) Није познато издање!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Превише аргумената\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ГРЕШКА ПРОГРАМА) Опција треба да буде препозната!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "грешка писања" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: опција „%s“ је нејасна; могућности:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: опција „-W %s“ је нејасна\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: опција „--%s“ не дозвољава аргумент\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: опција „%c%s“ не дозвољава аргумент\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: опција „--%s“ захтева аргумент\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: непозната опција „--%s“\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: непозната опција „%c%s“\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: неисправна опција -- „%c“\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: опција захтева аргумент -- „%c“\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: опција „-W %s“ је нејасна\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: опција „-W %s“ не дозвољава аргумент\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: опција „-W %s“ захтева аргумент\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "меморија је потрошена" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "не могу да снимим тренутни радни директоријум" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "не могу да се вратим у почетни радни директоријум" @@ -228,11 +232,11 @@ msgstr "не могу да се вратим у почетни радни дир #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "„" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "“" @@ -242,7 +246,7 @@ msgstr "“" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[yY]" @@ -252,16 +256,16 @@ msgstr "^[yY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Запаковао је %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Запаковао је %s\n" @@ -269,11 +273,11 @@ msgstr "Запаковао је %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -410,22 +414,22 @@ msgstr "" "\n" "Грешке пријавите на: %s\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Грешке програма „%s“ пријавите на: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Матична страница „%s“: <%s>.\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "„%s“ матична страница: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "Општа помоћ користећи Гнуов софтвер: \n" @@ -594,8 +598,8 @@ msgstr "Неочекивани аргументи" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Управља уређајем траке, прихватајући наредбе од удаљеног процеса" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "БРОЈ" @@ -603,10 +607,11 @@ msgstr "БРОЈ" msgid "set debug level" msgstr "поставља ниво прочишћавања" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "ДАТОТЕКА" @@ -619,7 +624,7 @@ msgstr "поставља назив излазне датотеке прочиш msgid "cannot open %s" msgstr "не могу да отворим „%s“" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "превише аргумената" @@ -628,67 +633,68 @@ msgstr "превише аргумената" msgid "Garbage command" msgstr "Наредба за ђубре" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Ово не изгледа као тар архива" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Укупно прочитаних бајтова" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Укупно уписаних бајтова" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Укупно обрисаних бајтова: %s\n" +msgstr "Укупно обрисаних бајтова" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(спојка)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" +"Одбијам да читам садржаје архиве из терминала (да ли недостаје опција „-f“?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" +" Одбијам да пишем садржаје архиве на терминал (да ли недостаје опција „-f“?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Неисправна вредност за величину_снимка" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Није дат назив архиве" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Не могу да проверим архиву стандарног улаза/излаза" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Архива је запакована. Користите опцију „%s“" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Не могу да освежим запаковане архиве" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "На почетку сам траке, прекидам" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Превише грешака, прекидам" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -696,7 +702,7 @@ msgstr[0] "Величина снимања = %lu блок" msgstr[1] "Величина снимања = %lu блока" msgstr[2] "Величина снимања = %lu блокова" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -704,37 +710,37 @@ msgstr[0] "Непоравнат блок (%lu бајт) у архиви" msgstr[1] "Непоравнат блок (%lu бајта) у архиви" msgstr[2] "Непоравнат блок (%lu бајтова) у архиви" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Не могу да померим уназад датотеку архиве; може бити нечитка без „-i“" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "„rmtlseek“ није заустављен на граници снимања" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: садржи погрешан број диска" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Прекорачење броја диска" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Припремите диск #%d за „%s“ и притисните врати: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "крај датотеке где се очекивао одговор корисника" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "УПОЗОРЕЊЕ: Архива није потпуна" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -746,66 +752,66 @@ msgstr "" " y или newline Наставља радњу\n" # проверити и питати -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Израђа подшкољку\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Испсиује овај списак\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Нема новог диска; излазим.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Нисте навели назив датотеке. Покушајте поново.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Неисправан улаз. Укуцајте ? за помоћ.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "Није успела наредба „%s“" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "„%s“ није наставио на овом диску" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "„%s“ је вероватно наставио на овом диску: заглавље садржи скраћени назив" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "„%s“ није наставио на овом диску" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s је погрешне величине (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Овај диск је ван низа (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Архива није обележена да поклопи „%s“" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Диск „%s“ не поклапа „%s“" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -813,7 +819,7 @@ msgstr "" "%s: назив датотеке је предуг да би се сачувао у заглављу Гнуовог вишедика, " "скраћено" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "писање није завршило на граници блока" @@ -825,20 +831,20 @@ msgstr[0] "Могу да прочитам само %lu од %lu бајта" msgstr[1] "Могу да прочитам само %lu од %lu бајта" msgstr[2] "Могу да прочитам само %lu од %lu бајтова" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Садржаји се разликују" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Неочекиван крај датотеке у архиви" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Врста датотеке се разликује" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Режим се разликује" @@ -854,7 +860,7 @@ msgstr "Гиб се разликује" msgid "Mod time differs" msgstr "Време калупа се разликује" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Величина се разликује" @@ -863,37 +869,37 @@ msgstr "Величина се разликује" msgid "Not linked to %s" msgstr "Није повезан са „%s“" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Симболичка веза се разликује" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Број уређаја се разликује" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Провери " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Непозната врста датотеке „%c“, другачија је од обичне датотеке" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Архива садржи називе датотека са уклоњеним водећим префиксима." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Архива садржи преиначене називе датотека." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Провера можда не успе да пронађе изворне датотеке." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" @@ -901,46 +907,46 @@ msgstr[0] "НЕУСПЕЛА ПРОВЕРА: откривено је %d неис msgstr[1] "НЕУСПЕЛА ПРОВЕРА: откривена су %d неисправна заглавља" msgstr[2] "НЕУСПЕЛА ПРОВЕРА: откривено је %d неисправних заглавља" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Усамљени нулти блок на „%s“" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: садржи ознаку директоријума оставе „%s“; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "вредност „%s“ је ван „%s“ опсега %s..%s; замењујем са „%s“" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "вредност „%s“ је ван „%s“ опсега %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Стварам негативна октална заглавља" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: назив датотеке је предуг (највише %d); није изнет" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: назив датотеке је предуг (не могу да га поделим); није изнет" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: назив везе је предуг; није изнет" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -948,55 +954,55 @@ msgstr[0] "%s: Датотека је смањена за %s бајт, допуњ msgstr[1] "%s: Датотека је смањена за %s бајта, допуњена нулама" msgstr[2] "%s: Датотека је смањена за %s бајтова, допуњена нулама" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: датотека је на другачијем систему датотека; није изнета" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "садржај није изнет" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Непозната врста датотеке; датотека је занемарена" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Недостаје веза на „%s“." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: датотека је непромењена; није изнета" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: датотека је архива; није изнета" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "директоријум није изнет" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: датотека је промењена у току читања" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: прикључница је занемарена" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: врата су занемарена" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Прелазим на следеће заглавље" @@ -1014,56 +1020,56 @@ msgstr "%s: неприхватљива стара временска ознак msgid "%s: time stamp %s is %s s in the future" msgstr "%s: временска ознака „%s“ је %s сек. у будућности" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Неочекивана недоследност приликом прављења директоријума" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "%s: прескачем постојећу датотеку" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" "%s: Директоријум је преименован пре него што је његово стање могло бити " "извучено" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Извлачим суседне датотеке као обичне датотеке" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Покушавам да извучем симболичке везе као чврсте везе" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Не могу да извучем — датотека је наставак са другог диска" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Неочекивано дуго заглавље назива" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Непозната врста датотеке „%c“, извучена је као обична датотека" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Тренутно „%s“ је новије или исте старости" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Нисам могао да направим резерву ове датотеке" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Не могу да преименујем „%s“ у „%s“" @@ -1113,16 +1119,16 @@ msgstr "Неисправан број и-чвора" msgid "%s: byte %s: %s %.*s... too long" msgstr "%s: бајт %s: %s %.*s... предуго" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Неочекиван крај датотеке у датотеци брзог снимка" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "%s: бајт %s: %s %s је праћен неисправним бајтом 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" @@ -1131,113 +1137,114 @@ msgstr "" "%s: бајт %s: (исправан опсег %s..%s)\n" "\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "%s: бајт %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "%s: бајт %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Недостаје окончавал снимања" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Лош запис повећавајуће датотеке" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Неподржано издање повећавајућег записа: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Лош директоријум изношења: очекивах „%c“ али нађох „%#3o“" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Лош директоријум изношења: „X“ је удвостручено" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Лош директоријум изношења: празан назив у „R“" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Лош директоријум изношења: испред „T“ не иде „R“" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Лош директоријум изношења: празан назив у „T“" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Лош директоријум изношења: очекивах „%c“ али нађох крај података" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Лош директоријум изношења: „X“ није никада коришћено" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Не могу да направим привремени директоријум користећи шаблон „%s“" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Не чистим директоријум: не могу да добавим податке" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: директоријум је на другом уређају: не чистим" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Бришем „%s“\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Не могу да уклоним" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Пропуштам" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "блок %s: ** Блок НИШТАВНИХ вредности **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "блок %s: ** Крај датотеке **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "блок %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Празнине у заглављу где је очекивана бројевна „%s“ вредност" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1245,87 +1252,87 @@ msgstr "" "двојке" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Октална вредност архиве „%.*s“ је ван „%s“ опсега" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Архива садржи застарела заглавља основе-64" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Архивом потписана ниска основе-64 „%s“ је ван „%s“ опсега" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Вредност основе-256 архиве је ван „%s“ опсега" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Архива садржи „%.*s“ где је очекивана бројевна „%s“ вредност" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Вредност архиве „%s“ је ван „%s“ опсега %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " веза до „%s“\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " непозната врста датотеке „%s“\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "—Дуга веза—\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "—Дуг назив—\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "—Заглавље диска—\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "—Настављен на бајту %s—\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Стварам директоријум:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Преименујем „%s“ у „%s“\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Не могу да преименујем у „%s“" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Преименујем „%s“ назад на „%s“\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Датотека је уклоњена пре него што је прочитана" @@ -1338,30 +1345,187 @@ msgstr "проистекли процес" msgid "interprocess channel" msgstr "канал међупроцеса" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Избор месне датотеке:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "додаје дату ДАТОТЕКУ у архиву (корисно ако њен назив почиње цртицом)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "ДИР" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr " прелази у директоријум ДИР" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "добавља називе да извуче или створи из ДАТОТЕКЕ" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "„-T“ чита нулом заврешене називе, искључује „-C“" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "искључује дејство претходне опције „--null“" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "уклања наводнике улазне датотеке или назива чланова (основно)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "не уклања наводнике улазне датотеке или назива чланова" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "ШАБЛОН" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr " искључује датотеке, дате као ШАБЛОН" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "искључује шаблоне исписане у ДАТОТЕЦИ" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"искључује садржај директоријума који садрже „CACHEDIR.TAG“, осим за саму ту " +"ознаку датотеке" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "искључује све под директоријумима који садрже „CACHEDIR.TAG“" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "искључује директоријуме који садрже „CACHEDIR.TAG“" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"искључује садржај директоријума који садрже ДАТОТЕКУ, осим за саму ДАТОТЕКУ" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "чита шаблоне изузећа за сваки директоријум из ДАТОТЕКЕ, ако постоје" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"чита шаблоне изузећа за сваки директоријум и њихове поддиректоријуме из " +"ДАТОТЕКЕ, ако постоје" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "искључује све испод директоријума који садрже ДАТОТЕКУ" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "искључује директоријуме који садрже ДАТОТЕКУ" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "искључује директоријуме система управљања издањем" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "чита шаблоне изузећа из ВЦС датотека занемаривања" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "искључује датотеке резерве и закључавања" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "дубачи у директоријумима (основно)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "избегава опадање самостално у директоријима" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Опције поклапања назива датотека (утиче и на шаблоне укључивања и " +"искључивања):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "шаблон се поклапа са почетком назива датотеке" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "шаблони се поклапају након сваке / (основно за искључивања)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "занемарује величину слова" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "поклапање величине слова (основно)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "користи џокере (основно за искључивања)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "дословне" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "џокери се поклапају са / (основно за искључивања)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "џокери се не поклапају са /" + +#: src/names.c:768 msgid "command line" msgstr "линија наредби" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: списак датотека затражен са „%s“ већ је прочитан са „%s“" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "не могу да поделим ниску „%s“: %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: прочитан назив датотеке садржи ништаван знак" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Знаци поклапања шаблона су коришћени у називима датотека" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1369,47 +1533,47 @@ msgstr "" "Користите „--wildcards“ да укључите поклапање шаблона, или „--no-wildcards“ " "да потиснете ово упозорење" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Нисам нашао у архиви" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Нисам нашао у архиви захтевану појаву" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Натпис архиве не одговара" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Употреба опције „-C“ унутар списка датотека није допуштена са „--listed-" "incremental“" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Само једна опција „-C“ је допуштена са „--listed-incremental“" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Обе опције „-%s“ и „-%s“ желе стандардни улаз" +msgstr "Обе опције „%s“ и „%s“ желе стандардни улаз" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Неисправан запис архиве" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Гнуове функције се траже на несагласном запису архиве" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1417,7 +1581,7 @@ msgstr "" "Непознат стил цитирања „%s“. Пробајте „%s --quoting-style=помоћ“ да добавите " "списак." -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1437,7 +1601,7 @@ msgstr "" "tar“.\n" " tar -xf архива.tar # Извлачи све датотеке из „архиве.tar“.\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1459,79 +1623,87 @@ msgstr "" "супротном једноставне\n" " never, simple — увек прави једноставне резерве\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Главни режим радње:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "исписује садржај архиве" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "извлачи датотеке из архиве" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "ствара нову архиву" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "налази разлике између архиве и система датотека" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "додаје датотеке на крај архиве" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "додаје само датотеке које су новије од примерка у архиви" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "додаје тар датотеке у архиву" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "брише из архиве (не ради на магнетним тракама!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "испробава натпис диска архиве и излази" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Измењивачи радње:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "успешно рукује разређеним датотекама" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "ГЛАВНИ[.СПОРЕДНИ]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "поставља издање разређеног записа за употребу (подразумева „--sparse“)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "рукује старом увећавајућом резервом Гну-записа" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "рукује новом увећавајућом резервом Гну-записа" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr " износи ниво за направљене архиве увећавајуће исписане" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "не излази са ненулом на нечитљивим датотекама" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1543,138 +1715,147 @@ msgstr "" "extract“ или „--list“ и када је списак датотека дат или на линији наредби " "или путем опције „-T“; БРОЈ подразумева 1" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "архива може да се претражује" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "архива не може да се претражује" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "не проверава бројеве уређаја када ствара увећавајуће архиве" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "проверава бројеве уређаја када ствара увећавајуће архиве (основно)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Управљање преписивањем:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "покушава да провери архиву после писања" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "уклања датотеке после додавања у архиву" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "не замењује постојеће датотеке приликом извлачења, сматра их грешкама" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "не замењује постојеће датотеке приликом извлачења, нечујно их прескаче" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "не замењује постојеће датотеке које су новије од њихових примерака у архиви" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "преписује постојеће датотеке приликом извлачења" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "уклања сваку датотеку пре извлачења преко ње" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "празни хијерархије пре извлачења директоријума" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "чува мета-податке постојећих директоријума" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "преписује мета-податке постојећих директоријума приликом извлачења (основно)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "" "очувава постојеће симболичке везе ка директоријумима приликом извлачења" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "ДИР" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "ствара поддиректоријум да би избегао губљење распакованих датотека" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Бирање излазног тока:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "извлачи датотеке на стандардни излаз" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "НАРЕДБА" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "прослеђује извучене датотеке другом програму" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "занемарује излазне кодове порода" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "сматра не-нулте излазне кодове порода као грешке" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Руковање особинама датотека:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr " приморава НАЗИВ као власника за додате датотеке" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr " приморава НАЗИВ као групу за додате датотеке" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "ДАТУМ-ИЛИ-ДАТОТЕКА" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "поставља м-време за додате датотеке из ДАТУМ-ИЛИ-ДАТОТЕКА" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "ПРОМЕНЕ" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr " приморава (симболично) режим ПРОМЕНА за додате датотеке" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "НАЧИН" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1684,11 +1865,11 @@ msgstr "" "читања (НАЧИН='replace'; основно) или не постављањем времена за време рада " "(НАЧИН='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "не извлачи измењено време датотеке" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1696,19 +1877,19 @@ msgstr "" "покушава извлачење датотека са истим власништвом које постоји у архиви " "(основно је за администратора)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "извлачи датотеке као ви сами (основно је за обичн екориснике)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "увек користи бројеве за називе корисника/групе" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "извлчаи податке о овлашћењима датотека (основно је за администратора))" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1716,16 +1897,12 @@ msgstr "" "примењује корисникову умаску када извлачи овлашћења из архиве (основно је за " "обичне кориснике)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "аргументи члана се исписују истим редом као датотеке у архиви" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "исто и као „-p“ и као „-s“" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1733,187 +1910,187 @@ msgstr "" "одлаже подешавања измене времена и овлашћења извучених директоријума до " "краја извлачења" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "отказује дејство опције „--delay-directory-restore“" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "ПОРЕДАК" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "поредак ређања директоријума: „none“ (основно) или „name“" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Руковање проширеним особинама датотека:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Укључује подршку проширених особина" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Искључује подршку проширених особина" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "МАСКА" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "наводи шаблон укључивања за кључеве икс-особине" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "наводи шаблон искључивања за кључеве икс-особине" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "Укључује подршку СЕЛинукс контекста" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "Искључује подршку СЕЛинукс контекста" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "Укључује подршку ПОСИКС АЦЛ-ова" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "Искључује подршку ПОСИКС АЦЛ-ова" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Бирање уређаја и пребацивање:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "АРХИВА" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr " користи датотеку архиве или уређај АРХИВА" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "датотека архиве је месна чак и ако садржи двотачку" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "користи дато „rmt НАРЕДБА“ уместо „rmt“" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "користи удаљену НАРЕДБУ уместо „rsh“" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "одеређује диск и густину" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "ствара/исписује/извлачи архиву више дискова" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr " мења траку након писања БРОЈ x 1024 бајтова" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "покреће скрипту на крају сваке траке (подразумева „-M“)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "користи/освежава број диска у опцији ДАТОТЕКА" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Блокови уређаја:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "БЛОКОВИ" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "БЛОКОВИ x 512 бајта по снимању" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "БРОЈ бајтова по снимању, умножак од 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "занемарује нулте блокове у архиви (значи крај датотеке)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "уређује блокове током читања (за 4.2БСД спојке)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Избор записа архиве:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "ЗАПИС" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr " ствара архиву датог записа" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "ЗАПИС је један од следећих:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "стари V7 тар запис" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "Гнуов запис као за тар <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "Запис Гнуовог тара 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "Запис ПОСИКСА 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "Запис ПОСИКСА 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "исто као и „pax“" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "исто као и „--format=v7“" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "исто као и „--format=posix“" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "кључна реч[[:]=вредност][,кључна реч[[:]=вредност]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "управља кључним речима пакса" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "ТЕКСТ" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1921,180 +2098,79 @@ msgstr "" " ствара архиву са називом диска ТЕКСТ; за време исписивања/извлачења, " "користи ТЕКСТ као шаблон шаблонирања за назив диска" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Могућности сажимања:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "користи суфикс архиве да одреди програм сажимања" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "не користи суфикс архиве да одреди програм сажимања" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "ПРОГРАМ" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "издваја кроз ПРОГРАМ (мора да прихвати „-d“)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Избор месне датотеке:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "додаје дату ДАТОТЕКУ у архиву (корисно ако њен назив почиње цртицом)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr " прелази у директоријум ДИР" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "добавља називе да извуче или створи из ДАТОТЕКЕ" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "„-T“ чита нулом заврешене називе, искључује „-C“" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "искључује дејство претходне опције „--null“" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "нецитиране називе датотека чита са „-T“ (основно)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "не чита нецитиране називе датотека са „-T“" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "ШАБЛОН" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr " искључује датотеке, дате као ШАБЛОН" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "искључује шаблоне исписане у ДАТОТЕЦИ" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"искључује садржај директоријума који садрже „CACHEDIR.TAG“, осим за саму ту " -"ознаку датотеке" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "искључује све под директоријумима који садрже „CACHEDIR.TAG“" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "искључује директоријуме који садрже „CACHEDIR.TAG“" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"искључује садржај директоријума који садрже ДАТОТЕКУ, осим за саму ДАТОТЕКУ" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "искључује све испод директоријума који садрже ДАТОТЕКУ" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "искључује директоријуме који садрже ДАТОТЕКУ" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "искључује директоријуме система управљања издањем" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "искључује датотеке резерве и закључавања" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "избегава опадање самостално у директоријима" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "остаје у месном датотека систему када ствара архиву" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "дубачи у директоријумима (основно)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "не уклања водеће / из назива датотека" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "прати симболичке везе; архивира и износи датотеке на које показују" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "прати чврсте везе; архивира и износи датотеке на које упућују" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "НАЗИВ-ЧЛАНА" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "почиње од члана НАЗИВ-ЧЛАНА када чита архиву" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "чува само датотеке које су новије од ДАТУМ-ИЛИ-ДАТОТЕКА" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "ДАТУМ" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr " упоређује датум и време када се промени само податак" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "УПРАВЉАЊЕ" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "прави резерву пре уклањања, бира УПРАВЉАЊЕ издањем" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "НИСКА" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2102,97 +2178,59 @@ msgstr "" " прави резерву пре уклањања, преписује уобичајени суфикс („~“ уколико " "није преписан променљивом окружења „SIMPLE_BACKUP_SUFFIX“)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Преображавање назива датотеке:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "одсеца БРОЈ водећих састојака из назива датотека приликом извлачења" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "ИЗРАЗ" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "користи седов ИЗРАЗ замене за преображај назива датотека" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Опције поклапања назива датотека (утиче и на шаблоне укључивања и " -"искључивања):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "занемарује величину слова" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "шаблон се поклапа са почетком назива датотеке" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "шаблони се поклапају након сваке / (основно за искључивања)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "поклапање величине слова (основно)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "користи џокере (основно за искључивања)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "дословне" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "џокери се не поклапају са /" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "џокери се поклапају са / (основно за искључивања)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Обавештајни излаз:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "опширно исписује обрађене датотеке" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "КЉУЧНА РЕЧ" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "управља упозорењем" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr " приказује поруке напредовања сваког снимања бр. БРОЈ (основно је 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "РАДЊА" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "извршава РАДЊУ на свакој тачки провере" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "исписује поруку ако све везе нису изнете" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "СИГНАЛ" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2204,35 +2242,35 @@ msgstr "" "SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2“; називи без префикса „SIG“ се такође " "прихватају" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "исписује времена измена датотеке у КУВ-у" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "исписује време датотеке у његовом потпуном простирању" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "шаље опширан излаз у ДАТОТЕКУ" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "приказује број блока унутар архиве са сваком поруком" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "пита за потврду за сваку радњу" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "приказује основности тара" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "показује исправне опсеге за поља датотеке снимка" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2240,31 +2278,31 @@ msgstr "" "када исписује или извлачи, исписује сваки директоријум који се не поклапа са " "условом претраге" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "показује називе датотека или архива након преображаја" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "СТИЛ" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "поставља стил цитирања назива; видите испод исправне вредности СТИЛА" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr " додатно цитира знакове из НИСКЕ" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "искључује цитирање за знакове из НИСКЕ" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Опције сагласности:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2272,15 +2310,22 @@ msgstr "" "када ствара, исто као „--old-archive“; када извлачи, исто као „--no-same-" "owner“" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Остале опције:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "искључује употребу неких потенцијално штетних опција" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "„%s“ не може бити коришћена са „%s“" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" @@ -2288,40 +2333,40 @@ msgstr "" "Не можете навести више од једне опције „-Acdtrux“, „--delete“ или „--test-" "label“" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Сукобљавајуће опције сажимања" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Непознат назив сигнала: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Нисам нашао датотеку примерка датума" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Замењујем „%s“ за непознати запис датума „%s“" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Опција „%s“: Сматрам датум „%s“ за „%s“" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "издваја архиву кроз „%s“" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Исправни аргументи за опцију „--quoting-style“ су:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2329,115 +2374,120 @@ msgstr "" "\n" "*Овај* тар подразумева опције:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "Неисправан власник или ИБ групе" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Неисправан блокирајући чинилац" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Неисправна дужина траке" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Неисправна увећавајућа вредност нивоа" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Више од једног датума помака" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Неисправна вредност разређеног издања" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "„--atime-preserve='system'“ није подржана на овој платформи" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "вредност „--checkpoint“ није цео број" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Неисправан режим је дат на опцији" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Неисправан број" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"Опција „--preserve“ је застарела, користите уместо ње „--preserve-" -"permissions --preserve-order“" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Неисправна величина записа" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Величина снимања мора да буде вишеструка од %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Неисправан број елемената" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Дозвољена је само једна опција „--to-command“" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Лош аргумент густине: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Непозната густина: „%c“" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Опције „-[0-7][lmh]“ нису подржане *овим* таром" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Грешка анализе броја близу „%s“" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[ДАТОТЕКА]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "„--%s“ не може бити коришћена са „%s“" +msgid "non-option arguments in %s" +msgstr "неисправан аргумент „%s“ за „%s“" + +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "не могу да поделим ниску „%s“: %s" -#: src/tar.c:2389 +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "Стара опција „%c“ захтева аргумент." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "„--occurrence“ нема значење без списка датотека" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Више датотека архиве захтева опцију „-M“" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "„--level“ нема значења без „--listed-incremental“" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2445,70 +2495,76 @@ msgstr[0] "%s: Натпис диска је предуг (ограничење msgstr[1] "%s: Натпис диска је предуг (ограничење је %lu бајта)" msgstr[2] "%s: Натпис диска је предуг (ограничење је %lu бајтова)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Не могу да проверим архиве више дискова" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Не могу да проверим сажете архиве" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Не могу да користим сажете архиве више дискова" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Не могу да спојим сажете архиве" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "„--pax-option“ може бити коришћена само на ПОСИКС архивама" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "„--acls“ може бити коришћена само на ПОСИКС архивама" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "„--selinux“ може бити коришћена само на ПОСИКС архивама" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "„--xattrs“ може бити коришћена само на ПОСИКС архивама" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Не могу да докучим назив директоријума највишег нивоа; поставите га изричито " +"са „--one-top-level=ДИР“" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Величина диска не може бити мања од величине снимка" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Кукавички одбијам да направим празну архиву" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Опције „-Aru“ су несагласне са „-f -“" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "Можете навести једну од опција „-Acdtrux“, „--delete“ или „--test-label“" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Излазим са стањем неуспеха услед претходних грешака" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "поредак ређања директоријума: „none“ (основно), „name“ или „inode“" #: src/update.c:87 #, c-format @@ -2563,34 +2619,34 @@ msgstr "Лоше проширено заглавље: недостаје нов msgid "Ignoring unknown extended header keyword '%s'" msgstr "Занемарујем непознату кључну реч „%s“ проширеног заглавља" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Створени пар кључна реч/вредност је предуг (кључна реч=%s, дужина=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Проширено заглавље „%s=%s“ је ван опсега %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Лоше проширено заглавље: неисправно је „%s=%s“" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Лоше проширено заглавље: премашује „%s=%s“" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Лоше проширено заглавље: неисправно „%s“: неочекивани разделник „%c“" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Лоше проширено заглавље: неисправно „%s“: непаран број вредности" @@ -2631,7 +2687,7 @@ msgstr "Тачка провере радње писања „%u“" msgid "Read checkpoint %u" msgstr "Тачка провере радње читања „%u“" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2640,70 +2696,74 @@ msgstr "" "Гнуовог помагала пакета (GNU paxutils).\n" "Опције су:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Опције стварања датотеке:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "ВЕЛИЧИНА" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Прави датотеку задате ВЕЛИЧИНЕ" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Пише у НАЗИВ датотеке, уместо на стандардни излаз" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Чита називе датотека из ДАТОТЕКЕ" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "„-T“ чита нулом заврешене називе" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "Испуњава датотеку задатим ШАБЛОНОМ. ШАБЛОН је „default“ (основно) или " "„zeros“ (нуле)" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Величина блока за проређену датотеку" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "Ствара проређену датотеку. Остатак линије наредби даје мапу датотеке." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "ПОМЕРАЈ" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Премотава на задати померај пре записивања података" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Опције статистичке датотеке:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Исписује садржаје стања структуре за сваку дату датотеку. Основни ЗАПИС је:" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Опције усаглашеног извршавања:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "ОПЦИЈА" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2711,19 +2771,19 @@ msgstr "" "Извршава АРГУМЕНТЕ. Корисно уз „--checkpoint“ и уз једну од „--cut“, „--" "append“, „--touch“, „--unlink“" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "Обавља задату радњу (видите испод) након достизања БРОЈА тачке провере" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Поставља датум за следећу опцију „--touch“" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Приказује извршене тачке провере и износи стање НАРЕДБЕ" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2731,7 +2791,7 @@ msgstr "" "Радње усаглашеног извршавања. Извршавају се када је достигнут број тачке " "провере задат опцијом „--checkpoint“." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2739,155 +2799,165 @@ msgstr "" "Скраћује ДАТОТЕКУ на величину наведену претходном опцијом „--length“ (или 0, " "ако није дата)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Придодаје ВЕЛИЧИНА бајтова ДАТОТЕЦИ. ВЕЛИЧИНА је дата претходном опцијом „--" "length“" -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Освежава времена приступа и промена ДАТОТЕКЕ" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Извршава НАРЕДБУ" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Развезује ДАТОТЕКУ" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Неисправна величина: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Број је изван дозвољеног опсега: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Негативна величина: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "није успело добављање података за „%s“" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "затражена величина датотеке је %lu, а тренутна је %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "створена датотека није проређена" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Грешка анализе броја близу „%s“" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Непознат запис датума" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[АРГУМЕНТИ...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "не могу да отворим „%s“" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "не могу да премотам" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "назив датотеке садржи ништаван знак" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "не могу да створим проређену датотеку на стандардном излазу, користите " "опцију „--file“" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "неисправна маска (близу „%s“)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Непознато поље „%s“" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "не могу да подесим време на „%s“" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "не могу да скратим „%s“" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "наредба није успела: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "не могу да развежем „%s“" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Наредба је изашла са успехом\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Наредба није успела са стањем „%d“\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Наредба је окончана сигналом %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Наредба је заустављена сигналом %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Језгро изнете наредбе\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Наредба је окончана\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "„--stat“ захтева називе датотека" +#~ msgid "same as both -p and -s" +#~ msgstr "исто и као „-p“ и као „-s“" + +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Опција „--preserve“ је застарела, користите уместо ње „--preserve-" +#~ "permissions --preserve-order“" + #~ msgid "--occurrence cannot be used with %s" #~ msgstr "„--occurrence“ не може бити коришћена са „%s“" diff --git a/po/sv.gmo b/po/sv.gmo index cb20b8c1fc67368eb4c8a900d76be63a13900f27..e55997913d03166d11be5ec4d79cb34d871a7b99 100644 GIT binary patch delta 14228 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 BMa}>K delta 12730 zcma*td7REw|Htv~HDfGcn8iASYlbnF+05A25eAceNr=pt!HD6W8DzaI-DIg`EJaAj zmi0nWmXI||5tS5)a3__NCAwel>m2vbpTF^N#K7Ha#9}zj zIv1x=UzXr_oYDlML6!j$-gaz5*?>CHpMD96^r9K496X) zKA%N(q+pWcG{UM_9@CRN<^|(vC_}^RSPEBRN!*1M@dQ@Io2Ze7)^?nRSRK`o46KXO zurKaLy`VxJvWE4sI(9~7Vk~ChD;|Ovf}5xgl;0~0$auy&n;(Uhb_$!vi zuJud@2jfWU(@`CA>XQ|yj3qD~-I#;Hn2&mo=RJaI1Ye_i=-0qJAO;z%(-C=>GX<5A zov4f)Lv`>5s$=1#BLb6A9ZpC3;w(T-?Mc-0A7Lt1V;;EPWfqs#akuJdf%?M03YsSvk)jS$8I(-t#dkQ`ga> zkpw?&dKiORRGqOB4nlS06->dcs24pzbtt}t$xtuUi^iim=EVxQ6T|Q;)Mxt#Y5-9! zO~;$GB>x&gE8EZ>$(GX{tKwX&f*+w?d=d4)P==}V38)VDzzEDnb$GU|e~gu>e}|Fi z$0$NE3d6BsipQk52My}+NDRTb=*HEk7aT#|coCJEJE+g9RBKi|MxjzW0QH=F)N?kY zuKyGZ;1w)}H_#vd@(^gwAD|mcw=thtJuF4N4e9}XQ6rgv74cnL{{-t%zk|P$Rg31@RWDV}GJDRQegS zMq;rF^*q$T-omoD6@&0NG8@kKnC4>squQAlPit>_x)U|>uTUNP1vOWXuo;GRa2(d3 z(;Jg<32NluV^MT!( zqrR3DjK+Q#h_9eVx&W1lEvV~`pk8>{w*O`8ft}41M`AedcajKnVJFlEl7X7DQCJA) zp*pr0H8s0X9ln9Z(dlBQCJ>c@5Y!Y^LJg!UYR(&BP3(or*i`f=SWTcgJ8Hd!@zg`R zn!UdzYQ$qvJKA#8XZk%>!-}k=I@lVO>hV||*I^C(5_8e%?l{dM4?}T#ck-`P9iyQn zUO{~xf1>8j|5@_@H)`=cgBn>U)JS?@5Kh5TI1jbh)}fwv0F}8fQTN@k{*6)8{dE1 z6@6>OLl8&9WlYB4o@P$FqEeTJDL4!DqSIIouVMl^z062zq1HwZ)KtBU8o>Lg`wn1f zJcl9p3#wxtzuqP_g-{KFwjP23)XQTSy0I)aM!l#zD&>>Wjc=l+ZU-vm2T>ikiWT`IEI!nno$G5d_7Jth#k^oL(h)W1 zS*Q_?K?do(hIR2e7DabI$7zQ#SWe&nXo5;Kjoe31WrD~|lYtb}3kM)`<4ndb zI0u!oD_8^*2N)Y;0QD4WJ9JU+f~~L{Y9CmLdf@>K$Dc6@iwq?H8cF;>wo~kYT3j1Z zsr?o;!aq&Qb5a1v@@8$1Mh z@ILD~jHLcE@+_ys5VOUO!Sd9XV@mhWt$ER zMb$kE3ETuHANuZvW&M}LyIqHHm)OR}t_0w=Cy74R2+}*=iY@BPZAB?(g7FNNv zn1Cm-5juH}(*PQy?i-1f_5H8#1$^(=mJ>gtMqGD$0Aqs(ILjX~6hU<^(`bzq(K47Q~H z5NqSpFPYUo3Ztpd$BnofHS+Ay=5t()>ev_PQO_R{RK?0;%ubhzSE%>HP#53#ShFSf z9%nwoeyBw{71gmdsFa?y=L?KCFRFohQ8z4&6H%F5VC(C~lYgab9}U`gPGAYVflAqZ z)B{RQ@co6>X^u+a7;K2IV!P>)7sCKH2k7RKRH?1LvzFN&FDGSUO=ul`bEuBq!zhfIY|eM_5LBXJ z6l%3Dz_NH4E8-IE}VH|#*A{JixJvbdcR^ZC0y2B8*jC~9E!upp*mIA&oW?gRzi zGIQ1oQ>o9l^-GvYy~0A%!A_`Dk3r4pYp4|OM0M;EY6^oEnSG)ICR2YG8{uViW2Lvv z4(drJP>;r9Ih=$Ia1l1fFHxBZUTl7)YK$65YilQLLA@s`V~epa9z=EUA%YNsl()TA;A)v?}K5l5gpG#B-t-581&QD4CwEQ96WF+a=_ z(M`RLt!H6#>K=^J_x}lj9`qAxEfiU1UQiB|nHH$_wpa*zVkt~RZ6u@Y`NgQUupZUn z1E{s|9ah4E@0#aUMNLH~jN<*yECM}viyCkzR=|s>2Ry<^th(I%ji@aKQGXZpd2Yod zyn>ptax2W5c^3VtPe*+PucD@6E~>O zR&UK!rlV;Xrt46dT7U}Q_1v+j3@^iy zdc`&ZEtZ3*2VX*6_$Mkw;hW6^qEI7`v35g^Y#gd%+pM2sP3ku>2FqL=)C-bPt9l5A;0A1n`|w$Ohz%KS1JCHAP&Q}nZ=cg%1Acm;B0jN^pv8Z4S{axi%QLOtc5F4H=aYSjRGH<4WuRxq231FxDEB@Ty9gOv;FUF$yCHlS|tWCYpUen>msC}acR>HBUwXn!TP@3QvHozY+5yL+* zYoa4+Y9^qjU=3=dr?4X4Mr9;;pV`@Bu|4%B*al}}aXf?ints3l{10mFczz>r5!^%F z@Bk}d%l&4LPDj=AQ61Qf%G6h=3_W$gbaX6gPS>I`dH}V`zecSg|4+>ZmVm9PcgMN< z{udMIyG}f4e!=L4Rj6lTS)74&a5<*n*Qgh`4;kyAGMI|tn1;&C1lztCHDy~-nLTQK zh-LNtCmc3&+!i&5`KXjGwe_8-5g)Yecd-ohkRzr8HPKBy88a{qtKmV^0B+%EEPT|g zmC2|M??m6f|9?)P@BbInNGlvOtFLf2i`$->y;Qy{VZx#KSGVX?nyHxgRlnmS1|!U#Oin*t76D0 z^Y4WXQETQ^bmKbgfS+LkhJ9|@+kH;{wP=RYpq@>`INXHl@%N~XgnVIcd;#Ns#!wN_roGWdZ#e-f4Q>)0HtT`*hnVAL8Ij~d8lNQcNj z-PV>Ek4kMv)B`7@GP4jhSBFp|zl~aKrM@>QZ)|OY?P%|YS{utS6px`gauNGtaQBSmwBi{M= zBAi0mN?QV*I&9l#;(iL-fbVC(V&D8zVZi@8_;KJn4%&xb#RoRtfOjZkxuUIY)5T?N zoQypvzf$y_&&1C#6Mv)VSY+)(Jm01KbG%7;$ca+)R*S9{aWQ0(`u-*Kw!NtcM%#E1 z=N=!WX*)rswr%KOuX%j_KJ^h4wgKPohShk_KH}MW|L^vy=2k7PUX&;<((#GG`I!fV z(pC`l|7>Y-4WcwA*3k!#;8|NQ$F<>z^(ecDYjSQn@#7;^=P5lYw`i=)`4{ZT3dG}S zkEG1d{Chd^9TgpQ@tTcKVQorx+6Vg1vXXUm0SlkABK*q@WvQCs9sxD<=xM-+Y-`i?N-ew4zLrzz7Y=QtCKgY7jZ z@h|F69z_|sc0e5u4ch-$?VNboHtfYcl&|g0ZeksisSiMH(W{8dsF9-}_r7mJ=Tq8; z*!%WdXIWQr%`xIvDa9zSQ1}_;@%^;Zwy2{HjqyD2@eyJJZL42$ZXhL$SiOFO`0=rY z;5wzUZOF$OoWF>_P!cGmd2WB&;-9$B_oOnMXhx%c+UZ|6enlPIiT|ODB#xp4Khd#a zv|ps?$fL}q+@l15UM2Y%pFH+i4547jsrQU=3>y(#?^*h7kqa5`PRF>m3+sN-X&bQRxz=o*fM}7Z; zsNAOV4DO@!BtC(Dyr>&-Hf1{X@puTIqm<`dZ|X~k{n15zHSur65m=m}qpa=hL|@JP zp7Di^Z*fgaegAm`0hFUyJ#p3fBfaQCHZ4YoDcj zZtr<~x*EYSN>$ot+jDW;ufzBM|0&o;InT*>tj@`8#6M6LQuG_`0=yudo+KQeQ`0lkz>~8|p_X6>aZJ zTGMEozk-%;8TpQcQuJWqLi_z^#4>q}_dL>X;QwxRtv#Z!cC9;Y#v%36D|7yoT9 z6agB_6UR`_|3W!WTLI3!P5g-R7A2d~nD)hZ(B3lwS5bbZG^Dhr+@V}{F-sS?@BtMa z-%{pM55`NB;rVY=4e^vGO0-=#My#U@SJlD!l-G$j<3h@I%E#1~p^ga#-=8t|8AEN` z3taa$aS+bJ)s#@mR?3^S>FBCo96A#e;^vOF@e_Q}cbcDLR?*9zS6qs?FrL56uQhyB z36#sk+Prn>(tkLL|LCoeus_gSv{^sD{C3SN7K?FbWaXx%56N`Lw(t&a{&oRxzm%@U z%XEu&XAjGB56{W$pP8AFnc+?!?T+peoxithS?~6)0}JF=e(qauT+h*d-h}6m`*n+r z<;vX5oROLCVZ-yXhGo06a@`r3x;-r~Gb6@5B9|BZ@1oe@nK?tVa&x&b_sQmAIT@Kb z?yT(Gyv(!=@7=x+T;4)yo?_m8Lvvl;w}&-yd0qe7TiiRt)7cf6J}hsLJ9fA`Ejz;< zo9q2z;sSr~{Fm?ex$5Q5n%1OF?bw8Rv5EEEiAfEU>eNg~N=SIBQ^(jYnIp6G*4UPG ztD!qFp;l6Ct%TTGN$y&88`iGveKc)%QNOG_@9z9J0=zH1)yFS?{i5jNG33TQEInt$ zi|J`O-ZP742YB}^yXog$zv7=l`Rm`G>{{VXSii$Bv|FTm!2azynFIH)%w-gLneMca z`N^BYyw^6K^7HQ4a@v(Yck5m6p>2Epyd`%0<=-b|NZP=GY1vPtz`cJ(j_)D+R}RU@ zNh5P<*(3L_&=~)}*~`t_zhcOc%sg+vt`2_QL3=(a?#($q!{wcDvbD?m>!}NY-fb7h wxk{w(Uzx$240jLfPabpgtNw7oTi|kzD?jzeD*20ke3ZZN%7@, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2013 -#: src/create.c:1574 +# Jan Djärv , 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar 1.27\n" +"Project-Id-Version: tar 1.28\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2013-10-13 16:44+0200\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2014-08-01 08:51+0200\n" "Last-Translator: Jan Djärv \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -17,71 +17,71 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "ogiltigt argument %s för %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "tvetydigt argument %s för %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Giltiga argument är:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s värde är mindre eller lika med %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Parameter frÃ¥n ARGP_HELP_FMT kräver ett värde." -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: Parameter frÃ¥n ARGP_HELP_FMT mÃ¥ste vara positiv." -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Okänd ARGP_HELP_FMT-parameter" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Skräp i ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "Obligatoriska respektive valfria argument för lÃ¥nga flaggor är obligatoriska " -"repektive valfria även för motsvarande korta." +"respektive valfria även för motsvarande korta." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Användning:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " eller: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [FLAGGA...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Försök med \"%s --help\" eller \"%s --usage\" för mer information.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "" @@ -89,121 +89,126 @@ msgstr "" "Rapportera fel eller synpunkter pÃ¥ översättningen till .\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Okänt systemfel" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "visa denna hjälptext" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "ge ett kort hjälpmeddelande" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "NAMN" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "ange programnamnet" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SEK" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "vänta i SEK sekunder (standardvärde 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "visa programversion" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMFEL) Ingen version känd!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: För mÃ¥nga argument\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMFEL) Flagga borde ha känts igen!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "skrivfel" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: flaggan \"%s\" är tvetydig, alternativ:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: flaggan \"-W %s\" är tvetydig\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: flaggan \"--%s\" tar inget argument\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: flaggan \"%c%s\" tar inget argument\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: flaggan \"--%s\" kräver ett argument\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: okänd flagga \"--%s\"\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: okänd flagga \"%c%s\"\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ogiltig flagga -- \"%c\"\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: flaggan kräver ett argument -- \"%c\"\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: flaggan \"-W %s\" är tvetydig\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: flaggan \"-W %s\" tar inget argument\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: flaggan \"-W %s\" kräver ett argument\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "minnet slut" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "kan inte lagra nuvarande arbetskatalog" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "kan inte gÃ¥ tillbaka till initial arbetskatalog" @@ -229,11 +234,11 @@ msgstr "kan inte gÃ¥ tillbaka till initial arbetskatalog" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "\"" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "\"" @@ -243,7 +248,7 @@ msgstr "\"" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[yYjJ]" @@ -253,16 +258,16 @@ msgstr "^[yYjJ]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Paketerad av %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Paketerad av %s\n" @@ -270,11 +275,11 @@ msgstr "Paketerad av %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -412,7 +417,7 @@ msgstr "" "Rapportera fel eller synpunkter pÃ¥ översättningen till .\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" @@ -420,17 +425,17 @@ msgstr "" "Rapportera fel eller synpunkter pÃ¥ översättningen till .\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s hemsida: .\n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Allmän användarhjälp för GNU-mjukvara: .\n" @@ -596,8 +601,8 @@ msgstr "Oväntade argument" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Styr en bandstation, acceptera kommandon frÃ¥n en fjärrprocess" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "NUMMER" @@ -605,10 +610,11 @@ msgstr "NUMMER" msgid "set debug level" msgstr "sätt felsökningsnivÃ¥" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "FIL" @@ -621,7 +627,7 @@ msgstr "sätt felsökningsfilnamn" msgid "cannot open %s" msgstr "kan inte öppna \"%s\"" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "för mÃ¥nga argument" @@ -630,111 +636,110 @@ msgstr "för mÃ¥nga argument" msgid "Garbage command" msgstr "Okänt kommando" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Det här ser inte ut som ett tar-arkiv" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Summa lästa byte" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Summa skrivna byte" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Summa borttagna byte: %s\n" +msgstr "Summa borttagna byte" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(rör)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "Vägrar att läsa arkivinnehÃ¥ll frÃ¥n terminal (saknad -f-flagga?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "Vägrar att skriva arkivinnehÃ¥ll till terminal (saknad -f-flagga?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Ogiltigt värde pÃ¥ record_size" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Arkivnamn saknas" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Kan inte verifiera standard in/ut-arkiv" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Arkivet är komprimerat. Använd flaggan %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Komprimerade arkiv kan inte uppdateras" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Vid bandets början, avslutar nu" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "För mÃ¥nga fel, avslutar" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Poststorlek = %lu block" msgstr[1] "Poststorlek = %lu block" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Block ej vid blockgräns (%lu byte) i arkivet" msgstr[1] "Block ej vid blockgräns (%lu byte) i arkivet" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Kunde inte söka bakÃ¥t i arkivfilen, den kan vara oläsbar utan -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek stannade inte pÃ¥ en postgräns" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: innehÃ¥ller ogiltigt volymnummer" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Volymnummer flödade över" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Gör iordning volym nummer %d för %s och tryck vagnretur:" -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Filslut vid förväntat användarsvar" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "VARNING: Arkivet är ofullständigt" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -745,66 +750,66 @@ msgstr "" " q Avsluta programmet\n" " y eller nyrad Fortsätt\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Starta ett underskal\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Skriv denna lista\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Ingen ny volym; avslutar.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Filnamn inte angivet, försök igen.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Ogiltig indata. Skriv ? för hjälp.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "kommandot \"%s\" misslyckades" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "%s fortsätter inte i denna volym" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s fortsätter möjligen i denna volym: huvudet innehÃ¥ller ett trunkerat namn" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "%s fortsätter inte i denna volym" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s har fel storlek (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Denna volym kommer inte i rätt ordning (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Arkivet är inte märkt för att stämma med %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Volym %s överensstämmer inte med %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -812,7 +817,7 @@ msgstr "" "%s: filnamnet är för lÃ¥ngt för att lagras i huvudet för ett GNU " "multivolymsarkiv, trunkerat" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "skrivning stannade inte pÃ¥ en blockgräns" @@ -823,20 +828,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Kunde bara läsa %lu av %lu byte" msgstr[1] "Kunde bara läsa %lu av %lu byte" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "InnehÃ¥llet är olika" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Oväntat filslut i arkivet" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Filtyper är olika" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Rättigheterna är olika" @@ -852,7 +857,7 @@ msgstr "Gid är olika" msgid "Mod time differs" msgstr "Modifieringstiderna är olika" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Storlekarna är olika" @@ -861,138 +866,138 @@ msgstr "Storlekarna är olika" msgid "Not linked to %s" msgstr "Inte länkad till %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Symboliska länkar är olika" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Enhetsnummer är olika" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Verifierar " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Okänd filtyp \"%c\" jämförd som en normal fil" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Arkivet innehÃ¥ller filnamn med inledande prefix borttaget." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Arkivet innehÃ¥ller konverterade filnamn." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Verifiering kan misslyckas med att hitta originalfiler." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "VERIFIKATIONSFEL: %d felaktigt arkivhuvud upptäckt" msgstr[1] "VERIFIKATIONSFEL: %d felaktiga arkivhuvuden upptäckta" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Ett ensamt nollblock vid %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: innehÃ¥ller en cachekatalog-tagg %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "%s är utanför intervallet för %s: %s..%s, byter till %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "%s är utanför intervallet för %s: %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Genererar negativa oktala värden i arkivhuvudet" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: filnamnet är för lÃ¥ngt (max %d); inte arkiverad" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: filnamnet är för lÃ¥ngt (kan ej delas); inte arkiverad" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: länknamn är för lÃ¥ngt; inte arkiverad" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Fil krympte med %s byte, fyller ut med nolltecken" msgstr[1] "%s: Fil krympte med %s byte, fyller ut med nolltecken" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: filen finns pÃ¥ ett annat filsystem; inte arkiverad" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "innehÃ¥llet inte arkiverat" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Okänd filtyp; filen ignorerad" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Det fattas länkar till %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: filen är oförändrad; inte arkiverad" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: filen är själva arkivet; inte arkiverad" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "katalog inte arkiverad" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: fil ändrades under tiden vi läste den" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: socketfil ignorerad" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: door-fil ignorerad" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Hoppar till nästa filhuvud" @@ -1010,54 +1015,54 @@ msgstr "%s: orimligt gammal tidsstämpel %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: tidsvärde %s är %s sekunder i framtiden" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Oväntad inkonsistens när katalog skapades" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "%s: hoppar över existerande fil" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Katalog bytte namn innan dess status kunde extraheras" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Extraherar sammanhängande filer som vanliga filer" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Försöker extrahera symboliska länkar som hÃ¥rda länkar" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Kan inte extrahera -- filen fortsätter frÃ¥n en annan volym" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Oväntat huvud för lÃ¥ngt filnamn" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Okänd filtyp \"%c\", extraherad som en normal fil" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" -msgstr "Nuvarade \"%s\" är nyare eller lika gammal" +msgstr "Nuvarande \"%s\" är nyare eller lika gammal" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Kunde inte säkerhetskopiera denna fil" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Kan inte byta namn pÃ¥ %s till %s" @@ -1107,16 +1112,16 @@ msgstr "Ogiltigt inodnummer" msgid "%s: byte %s: %s %.*s... too long" msgstr "%s: byte %s: %s %.*s... för lÃ¥ng" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Oväntat filslut i ögonblicksfil" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" -msgstr "%s: byte %s: %s %s följs av ogilitg byte 0x%02x" +msgstr "%s: byte %s: %s %s följs av ogiltig byte 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" @@ -1125,114 +1130,115 @@ msgstr "" "%s: byte %s: (giltigt intervall %s..%s)\n" "\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "%s: byte %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "%s: byte %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Postavslutare fattas" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Felaktigt filformat för inkrementell säkerhetskopiering" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "" "Formatversion för inkrementell säkerhetskopiering stöds inte: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Felaktig dumpkatalog: förväntade \"%c\" men hittade %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Felaktig dumpkatalog: \"X\" duplicerad" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Felaktig dumpkatalog: tomt namn i \"R\"" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "Felaktig dumpkatalog: \"T\" föregÃ¥s inte av \"R\"" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Felaktig dumpkatalog: tomt namn i \"T\"" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Felaktig dumpkatalog: förväntade \"%c\" men hittade dataslut" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "Felaktig dumpkatalog: \"X\" används inte" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Kan inte skapa temporärkatalog med mall %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Rensar inte katalog: kunde inte ta status" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: katalogen finns pÃ¥ ett annat filsystem; inte rensad" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Tar bort %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Kan inte ta bort" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Utelämnad" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "block %s: ** Block av nolltecken **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "block %s: ** Filslut **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "block %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Blanka i huvud där numeriskt värde av typ %s förväntades" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1240,87 +1246,87 @@ msgstr "" "komplement" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Arkivets oktala värde %.*s är utanför intervallet för %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Arkivet innehÃ¥ller förÃ¥ldrade \"base-64\"-huvuden" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Arkivets \"base-64\"-sträng \"%s\" är utanför intervallet för %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Arkivets \"base-256\"-värde är utanför intervallet för %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arkivet innehÃ¥ller %.*s där ett numeriskt värde av typ %s förväntades" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Arkivets värde %s är utanför intervallet för %s: %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " länk till %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " okänd filtyp \"%s\"\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--LÃ¥ng länk--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--LÃ¥ngt namn--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Volymhuvud--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Fortsätter vid byte %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Skapar katalog:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Byter namn pÃ¥ %s till %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Kan inte byta namn till %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Byter namn pÃ¥ %s tillbaka till %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Fil borttagen innan vi läste den" @@ -1333,30 +1339,187 @@ msgstr "barnprocess" msgid "interprocess channel" msgstr "interprocesskanal" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Filval:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"lägg till angiven FIL till arkivet (användbart om FIL börjar med \"-\")" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "KATALOG" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "byt katalog till KATALOG" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "hämta namn att extrahera eller skapa frÃ¥n FIL" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T läser namn Ã¥tskilda med nolltecken, -C obrukbar" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "ta bort effekten av föregÃ¥ende --null-flagga" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "avcitera infil eller namnen i arkivet (standardvärde)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "avcitera inte infil eller namnen i arkivet" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "MÖNSTER" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "utelämna filer som matchar MÖNSTER" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "utelämna filer som matchar mönster i FIL" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"utelämna innehÃ¥llet i kataloger som innehÃ¥ller CACHEDIR.TAG, förutom " +"CACHEDIR.TAG själv" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "utelämna allt i kataloger som innehÃ¥ller CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "utelämna kataloger som innehÃ¥ller CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "utelämna innehÃ¥llet i kataloger som innehÃ¥ller FIL, förutom FIL själv" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "läs exkluderingsmönster för varje katalog frÃ¥n FIL om den finns" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"läs exkluderingsmönster för varje katalog och dess underkataloger frÃ¥n FIL " +"om den finns" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "utelämna allting i kataloger som innehÃ¥ller FIL" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "utelämna kataloger som innehÃ¥ller FIL" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "uteslut kataloger frÃ¥n versionshanteringssystem" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "läs exkluderingsmönster frÃ¥n versionkontrollsystemets \"ignore\"-filer" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "exkludera säkerhetskopior och lÃ¥sfiler" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "gÃ¥ rekursivt ned i kataloger (standardvärde)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "gÃ¥ inte automatiskt ned i kataloger" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Flaggor för filnamnsmatchning (pÃ¥verkar bÃ¥de uteslutnings- och " +"inkluderingsmönster):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "mönster mÃ¥ste matcha i början pÃ¥ filnamn" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "mönster matchas efter \"/\" i filnamn (standardvärde vid uteslutning)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "matcha gemener och versaler lika" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "matcha gemener och versaler olika (standardvärde)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "använd jokertecken (standardvärde för uteslutning)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "ordagrann strängjämförelse" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "jokertecken matchar \"/\" (standardvärde för uteslutning)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "jokertecken matchar inte \"/\"" + +#: src/names.c:768 msgid "command line" msgstr "kommandorad" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: fillista begärd frÃ¥n %s redan läst frÃ¥n %s" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "kan inte dela sträng \"%s\": %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: filnamnet som lästes innehÃ¥ller nolltecken" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Mönstermatchningstecken används i filnamn" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1364,45 +1527,45 @@ msgstr "" "Använd --wildcards för att slÃ¥ pÃ¥ mönstermatchning, eller --no-wildcards för " "att undertrycka denna varning" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Fanns inte i arkivet" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Nödvändig förekomst hittades inte i arkivet" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Arkivmärkning stämmer inte överrens" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "Att används -C i en fillista är inte tillÃ¥tet med --listed-incremental" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Bara en -C-flagga är tillÃ¥tet med --listed-incremental" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Flaggorna \"-%s\" och \"-%s\" vill bÃ¥da läsa frÃ¥n standard in" +msgstr "Flaggorna \"%s\" och \"%s\" vill bÃ¥da läsa frÃ¥n standard in" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Ogiltigt arkivformat" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "GNU-tillägg önskade i ett inkompatibelt arkivformat" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1410,7 +1573,7 @@ msgstr "" "Okänd citeringsstil \"%s\". Gör \"%s --quoting-style=help för att fÃ¥ en " "lista." -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1428,7 +1591,7 @@ msgstr "" " tar -tvf arkiv.tar # Visa filer i arkiv.tar, all information.\n" " tar -xf arkiv.tar # Extrahera alla filer i arkiv.tar.\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1450,80 +1613,88 @@ msgstr "" "annars\n" " never, simple gör alltid enkla säkerhetskopior\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Operationsläge:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "visa innehÃ¥llet i arkivet" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "extrahera filer frÃ¥n arkivet" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "skapa ett nytt arkiv" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "visa skillnader mellan filsystemet och arkivet" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "lägg till filer pÃ¥ slutet av arkivet" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "lägg till filer som är nyare än de i arkivet" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "lägg till innehÃ¥llet i en arkivfil till arkivet" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "ta bort frÃ¥n arkivet (inte för arkiv pÃ¥ magnetband!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "verifiera arkivets volymnamn och avsluta." -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Modifiera operationslägen:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "hantera filer med hÃ¥l mer effektivt" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "ÖVRE[.UNDRE]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "ange vilken formatversion som ska hantera filer med hÃ¥l (implicerar --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "hantera gamla GNU-formatet för inkrementell säkerhetskopiering" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "hantera nya GNU-formatet för inkrementell säkerhetskopiering" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "dumpa nivÃ¥ för \"listed-incremental\" arkiv" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "avsluta inte med felslutstatus p.g.a. oläsbara filer" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1535,137 +1706,146 @@ msgstr "" "list och när en lista av filer anges antingen pÃ¥ kommandoraden eller med " "flaggan -T. Standardvärde för NUMMER är 1." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "arkivet är sökbart" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "arkivet är inte sökbart" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "kontrollera inte enhetsnummer när inkrementella arkiv skapas" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "kontrollera enhetsnummer när inkrementella arkiv skapas (standardvärde)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Kontrollera överskrivning:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "försök verifiera arkivet efter det skapats" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "ta bort filer efter de sparats i arkivet" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "ersätt inte befintliga filer vid extrahering, behandla dem som fel" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "ersätt inte befintliga filer vid extrahering, hoppa tyst över dem" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "ersätt inte befintliga filer som är nyare än de som finns i arkivet" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "skriv över befintliga filer vid extrahering" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "ta bort befintliga filer innan de nya extraheras" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "töm kataloghierarkier före extrahering av katalog" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "bevara befintliga katalogers metadata" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "skriv över metadata för befintliga kataloger vid extrahering (standardvärde)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "bevara befintliga symboliska länkar till kataloger vid extrahering" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "KATALOG" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "skapa en underkatalog för att undvika att kataloglösa filer extraheras" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Välj utdataström:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "extrahera filer till standard ut" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "KOMMANDO" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "extrahera filer till standard in för ett annat program" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "ignorera barnprocessers slutstatus" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" -msgstr "behandla slutstats frÃ¥n barnprocesser skiljt ifrÃ¥n noll som fel" +msgstr "behandla slutstatus frÃ¥n barnprocesser skiljt ifrÃ¥n noll som fel" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Hantering av filattribut:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "sätt NAMN som ägare för adderade filer" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "sätt NAMN som grupp för adderade filer" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATUM-ELLER-FIL" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "sätt modifieringstid pÃ¥ adderade filer frÃ¥n DATUM-ELLER-FIL" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "RÄTTIGHET" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "sätt (symbolisk) RÄTTIGHET för adderade filer" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METOD" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1675,11 +1855,11 @@ msgstr "" "tiderna efter läsning (METOD=\"replace\", standardvärde) eller genom att " "inte sätta tiderna alls (METOD=\"system\")" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "extrahera inte filers modifieringstid" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1687,21 +1867,21 @@ msgstr "" "försök extrahera filer med samma ägare som i arkivet (standardvärde för " "superanvändaren)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" "extrahera filer med dig själv som ägare (standardvärde för vanliga användare)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "använd alltid tal för användar- och gruppnamn" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "extrahera information om filrättigheter (standardvärde för superanvändare)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1709,16 +1889,12 @@ msgstr "" "applicera användarens umask när rättigheter extraheras frÃ¥n arkivet " "(standardvärde för vanliga användare)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "namnargument är givna i samma ordning som filerna förekommer i arkivet" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "samma som bÃ¥de -p och -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1726,187 +1902,187 @@ msgstr "" "fördröj sättandet av modifikationstider och rättigheter pÃ¥ extraherade " "kataloger till slutet pÃ¥ arkivextraheringen." -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "ta bort effekten av flaggan --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "ORDNING" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "sorteringsordning för kataloger: ingen (standard) eller namn" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Hantering av utökade filattribut:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Aktivera stöd för utökade attribut" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Avaktivera stöd för utökade attribut" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "MÖNSTER" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" -msgstr "ange inkuderingsmönster för xattr-nycklar" +msgstr "ange inkluderingsmönster för xattr-nycklar" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "ange exkluderingsmönster för xattr-nycklar" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "Aktivera stöd för SELinux-omgivningar" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "Avaktivera stöd för SELinux-omgivningar" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "Aktivera stöd för POSIX ACL" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "Avaktivera stöd för POSIX ACL" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Enhetsval och enhetsbyte:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARKIV" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "använd arkivfil eller enhet ARKIV" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "arkivfilen är lokal även om namnet har kolon" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "använd KOMMANDO istället för rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "använd KOMMANDO istället för rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "ange enhet och densitet" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "skapa/visa/extrahera ett flervolymsarkiv" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "byt band efter det att NUMMER x 1024 byte skrivits" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "kör kommandofil vid slutet av varje band (flaggan -M sätts ocksÃ¥)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "använd/uppdatera volymnummer i FIL" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Blockhantering:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOCK" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "BLOCK x 512 byte per post" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "NUMMER byte per post, multipel av 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ignorera block med enbart nolltecken (betyder filslut)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "omblocka vid läsning (för 4.2BSD-rör)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Val av arkivformat:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "skapa ett arkiv med givet format" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMAT är ett av följande:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "gammalt V7 format" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "GNU-format enligt tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "Format frÃ¥n GNU tar 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) format" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) format" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "samma som pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "samma som --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "samma som --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "nyckelord[[:]=värde][,nyckelord[[:]=värde], ...]" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "ange nyckelord för pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "NAMN" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1914,180 +2090,79 @@ msgstr "" "skapa ett arkiv med volymnamnet NAMN. Vid visning/extrahering är NAMN ett " "skalmönster (\"globbing\")" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Komprimeringsflaggor:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "använd arkivsuffix för att bestämma komprimeringsprogram" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "använd inte arkivsuffix för att bestämma komprimeringsprogram" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "filtrera genom PROG (mÃ¥ste förstÃ¥ -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Filval:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"lägg till angiven FIL till arkivet (användbart om FIL börjar med \"-\")" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "byt katalog till KATALOG" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "hämta namn att extrahera eller skapa frÃ¥n FIL" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T läser namn Ã¥tskilda med nolltecken, -C obrukbar" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "ta bort effekten av föregÃ¥ende --null-flagga" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "avcitera filnamn som lästs med -T (standardvärde)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "avcitera inte filnamn som lästs med -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "MÖNSTER" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "utelämna filer som matchar MÖNSTER" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "utelämna filer som matchar mönster i FIL" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"utelämna innehÃ¥llet i kataloger som innehÃ¥ller CACHEDIR.TAG, förutom " -"CACHEDIR.TAG själv" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "utelämna allt i kataloger som innehÃ¥ller CACHEDIR.TAG" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "utelämna kataloger som innehÃ¥ller CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "utelämna innehÃ¥llet i kataloger som innehÃ¥ller FIL, förutom FIL själv" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "utelämna allting i kataloger som innehÃ¥ller FIL" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "utelämna kataloger som innehÃ¥ller FIL" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "uteslut kataloger frÃ¥n versionshanteringssystem" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "exkludera säkerhetskopior och lÃ¥sfiler" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "gÃ¥ inte automatiskt ned i kataloger" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "byt inte filsystem när arkivet skapas" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "gÃ¥ rekursivt ned i kataloger (standardvärde)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "tag inte bort inledande \"/\" frÃ¥n namn" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "följ symboliska länkar, arkivera filerna de pekar pÃ¥" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "följ hÃ¥rda länkar, arkivera filerna de pekar pÃ¥" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "NAMN" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "börja med fil NAMN när arkivet läses" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "arkivera bara filer nyare än DATUM-ELLER-FIL" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATUM" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "jämför datum och tid endast för dataändringar" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "KONTROLL" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "gör säkerhetskopior före borttagning, välj typ av versionshantering" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "STRÄNG" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2096,99 +2171,61 @@ msgstr "" "säkerhetskopieändelsen (\"~\" om inte ändrad med miljövariabeln " "SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Filnamnstransformationer:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "ta bort NUMMER stycken inledande komponenter frÃ¥n filnamn före extrahering" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "UTTRYCK" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "använd seds ersättnings-UTTRYCK för att transformera filnamn" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Flaggor för filnamnsmatchning (pÃ¥verkar bÃ¥de uteslutnings- och " -"inkluderingsmönster):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "matcha gemener och versaler lika" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "mönster mÃ¥ste matcha i början pÃ¥ filnamn" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "mönster matchas efter \"/\" i filnamn (standardvärde vid uteslutning)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "matcha gemener och versaler olika (standardvärde)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "använd jokertecken (standardvärde för uteslutning)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "ordagrann strängjämförelse" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "jokertecken matchar inte \"/\"" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "jokertecken matchar \"/\" (standardvärde för uteslutning)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Informativ utskrift:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "visa namn pÃ¥ alla filer som behandlas" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "NYCKELORD" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "varningskontroll" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "visa förloppsmeddelande efter varje grupp om NUMMER poster (standardvärde 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "ÅTGÄRD" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "utför ÅTGÄRD vid vare kontrollpunkt" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "visa ett meddelande om inte alla länkar arkiverats" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2199,35 +2236,35 @@ msgstr "" "totalt antal byte när SIGNAL levereras. TillÃ¥ta signaler är: SIGHUP, " "SIGQUIT, SIGINT, SIGUSR1 coh SIGUSR2. Namn utan SIG-prefix accepteras ocksÃ¥." -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "visa filers modifieringstid i UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "visa full upplösning pÃ¥ filtider" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "skicka informativa meddelanden till FIL" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "visa blocknummer inom arkivet för varje meddelande" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "frÃ¥ga efter bekräftelse för varje steg" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "visa standardvärden för \"tar\"" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "visa giltiga intervall för fält i ögonblicksfil" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2235,31 +2272,31 @@ msgstr "" "vid visning eller extrahering, visa varje katalog som inte matchar " "sökkriterium" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "visa fil- eller arkivnamn efter transformering" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STIL" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" -msgstr "sätt citatstil för namn. Se nedan för giltiga vären pÃ¥ STIL." +msgstr "sätt citatstil för namn. Se nedan för giltiga värden pÃ¥ STIL." -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "citera även tecken i STRÄNG" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "citera inte tecken i STRÄNG" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Kompatibilitetsflaggor:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2267,15 +2304,22 @@ msgstr "" "vid skapande, samma som --old-archive. Vid extrahering, samma som --no-same-" "owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Andra flaggor:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "begränsa användningen av eventuellt farliga flaggor" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "flaggan \"%s\" kan inte användas med \"%s\"" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" @@ -2283,40 +2327,40 @@ msgstr "" "Du kan endast ange en av flaggorna \"-Acdtrux, \"--delete\" eller \"--test-" "label\"" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Motstridiga komprimeringsflaggor" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Okänt signalnamn: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Tidsfil hittades inte" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Använder %s istället för okänt datumformat %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Flagga %s: Tolkar tidsangivelse \"%s\" som %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "filtrera arkivet genom %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "Giltiga argument till flaggan --quoting-style är:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2324,185 +2368,196 @@ msgstr "" "\n" "*Denna* tar har standardvärdena:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "Ogiltig ägare eller grupp-id" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Ogiltig blockfaktor" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Ogiltig bandlängd" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" -msgstr "Felaktigt värde fär inkrementell nivÃ¥" +msgstr "Felaktigt värde för inkrementell nivÃ¥" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Mer än en datumgräns" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Ogiltig version för filer med hÃ¥l" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve=\"system\" stöds inte pÃ¥ denna plattform" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "--checkpoint-värdet är inte ett heltal" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Ogiltiga rättigheter givna för flagga" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Ogiltigt nummer" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"Flaggan --preserve är förÃ¥ldrad, använd --preserve-permissions --preserve-" -"order istället" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Ogiltig poststorlek" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Poststorlek mÃ¥ste vara en multipel av %d" -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Ogiltig antal element" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Endast en --to-command flagga tillÃ¥ten" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Ogiltig densitetsangivelse: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Okänd densitet: \"%c\"" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Flaggorna \"-[0-7][lmh]\" stöds inte av *detta* tar-program" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Fel vid parsning av tal nära \"%s\"" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[FIL]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "flaggan --%s kan inte användas med %s" +msgid "non-option arguments in %s" +msgstr "ogiltigt argument %s för %s" + +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "kan inte dela sträng \"%s\": %s" -#: src/tar.c:2389 +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "Gammal flagga \"%c\" kräver ett argument" -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence är meningslöst utan en fillista" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Multipla arkivfiler kräver \"-M\" flaggan" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--level är meningslös utan --listed-incremental" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Volymnamn är för lÃ¥ngt (maxlängd är %lu byte)" msgstr[1] "%s: Volymnamn är för lÃ¥ngt (maxlängd är %lu byte)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Flervolymsarkiv kan inte verifieras" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Komprimerade arkiv kan inte verifieras" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Kan inte använda komprimerade flervolymsarkiv" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Komprimerade arkiv kan inte slÃ¥s samman" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option kan bara användas pÃ¥ POSIX-arkiv" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "--acls kan bara användas pÃ¥ POSIX-arkiv" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "--selinux kan bara användas pÃ¥ POSIX-arkiv" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "--xattrs kan bara användas pÃ¥ POSIX-arkiv" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Kan inte lista ut namnet pÃ¥ toppkatalogen, sätt det explicit med --one-top-" +"level=KATALOG" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Volymlängden kan inte vara mindre än poststorleken" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Vägrar fegt att skapa ett tomt arkiv" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Flaggorna \"-Aru\" är inkompatibla med \"-f -\"" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "Du mÃ¥ste ange en av flaggorna \"-Acdtrux\", \"--delete\" eller --test-label" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Avslutar med felstatus pÃ¥ grund av tidigare fel" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "sorteringsordning för kataloger: ingen (standard), namn eller inod" #: src/update.c:87 #, c-format @@ -2554,36 +2609,36 @@ msgstr "Felaktigt utökat huvud: nyrad saknas" #: src/xheader.c:741 #, c-format msgid "Ignoring unknown extended header keyword '%s'" -msgstr "Ignorerar nykelord \"%s\" i utökat huvud" +msgstr "Ignorerar nyckelord \"%s\" i utökat huvud" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Genererat nyckel/värde-par är för lÃ¥ngt (nyckel=%s, längd=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Utökat huvud %s=%s är utanför intervallet %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Felaktigt utökat huvud: ogiltig %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Felaktigt utökat huvud: för mÃ¥nga %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Felaktigt utökat huvud: ogiltigt %s: oväntad avskiljare %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Felaktigt utökat huvud: ogiltigt %s: udda antal värden" @@ -2624,7 +2679,7 @@ msgstr "Kontrollpunkt för skrivning %u" msgid "Read checkpoint %u" msgstr "Kontrollpunkt för läsning %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2632,69 +2687,73 @@ msgstr "" "genfile bearbetar datafiler i testsviten för GNU paxutils.\n" "FLAGGOR är:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Flaggor för filskapande:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "STORLEK" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Skapa ett arkiv med given STORLEK" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Skriv till NAMN istället för till standard ut" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Läs filnamn frÃ¥n FIL" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T läser namn Ã¥tskilda med nolltecken" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "Fyll filen med givet MÖNSTER. MÖNSTER är \"default\" eller \"zeros\"" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Storlek för ett block för filer med hÃ¥l" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "Generera fil med hÃ¥l. Resten av kommandoraden ger filmappningen." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "POSITION" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Flytta till given position innan data skrivs" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Flaggor för filstatistik:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Skriv innehÃ¥llet i \"struct stat\" för varje given fil. Standardvärde pÃ¥ " "FORMAT är:" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Flaggor för synkron exekvering:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "FLAGGA" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2702,19 +2761,19 @@ msgstr "" "Kör ARGUMENT. Användbart med --checkpoint och en av --cut, --append, --" "touch, --unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "Utför angiven Ã¥tgärd (se nedan) när kontrollpunkt NUMMER nÃ¥s" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Sätt datum för nästa --touch" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Visa exekverade kontrollpunkter och slutstatus pÃ¥ KOMMANDO" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2722,7 +2781,7 @@ msgstr "" "Synkront exekverade Ã¥tgärder. Dessa exekveras när kontrollpunktnumret givet " "av flaggan --checkpoint nÃ¥s." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2730,161 +2789,159 @@ msgstr "" "Trunkera FIL till storleken given av föregÃ¥ende flaggan --length (eller 0 om " "den inte är given)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Lägg till STORLEK byte till FIL. STORLEK är given av föregÃ¥ende flagga --" "length." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Uppdatera access- och modifikationstider för FIL" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Exekvera KOMMANDO" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Ta bort (unlink) FIL" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Ogiltigt storlek: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Nummer utanför giltigt intervall: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Negativ storlek: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "status (stat) kunde ej tas pÃ¥ %s" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "begärd fillängd %lu, verklig %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "skapad fil har inte hÃ¥l" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Fel vid parsning av tal nära \"%s\"" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Okänt datumformat" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGUMENT...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "kan inte öppna \"%s\"" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "kan inte flytta (seek)" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "filnamnet innehÃ¥ller nolltecken" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "kan inte skapa filer med hÃ¥l till standard ut, använd flaggan --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "felaktig mask (nära \"%s\")" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Okänt fält \"%s\"" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "kan inte sätta tid pÃ¥ \"%s\"" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "kan inte trunkera \"%s\"" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "kommando misslyckades: %s " -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "kan inte ta bort \"%s\"" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Kommandot avslutades utan fel\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Kommandot misslyckades med slutstatus %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Kommandot terminerades av signal %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Kommandot stoppades av signal %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Kommandot dumpade minnet\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Kommandot avslutade\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat kräver filnamn" -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "--occurrence kan inte användas med %s" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Kan inte kombinera --listed-incremental med --newer" - -#~ msgid "--verify cannot be used with %s" -#~ msgstr "--verify kan inte användas med %s" +#~ msgid "same as both -p and -s" +#~ msgstr "samma som bÃ¥de -p och -s" -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "--preserve-order är inte kompatibel med --listed-incremental" +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Flaggan --preserve är förÃ¥ldrad, använd --preserve-permissions --preserve-" +#~ "order istället" diff --git a/po/tar.pot b/po/tar.pot index bce5b8da..9153cd38 100644 --- a/po/tar.pot +++ b/po/tar.pot @@ -3,13 +3,13 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -#: src/create.c:1574 +#: src/create.c:1592 #, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: GNU tar 1.29\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,188 +19,193 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr "" -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr "" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "" @@ -226,11 +231,11 @@ msgstr "" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "" @@ -240,7 +245,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "" @@ -250,16 +255,16 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -267,11 +272,11 @@ msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" @@ -563,8 +568,8 @@ msgstr "" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "" @@ -572,10 +577,11 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "" @@ -588,7 +594,7 @@ msgstr "" msgid "cannot open %s" msgstr "" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "" @@ -597,110 +603,110 @@ msgstr "" msgid "Garbage command" msgstr "" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "" -#: src/buffer.c:577 +#: src/buffer.c:580 msgid "Total bytes deleted" msgstr "" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "" msgstr[1] "" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "" msgstr[1] "" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "" -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -708,71 +714,71 @@ msgid "" " y or newline Continue operation\n" msgstr "" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" +msgid "%s is not continued on this volume" msgstr "" -#: src/buffer.c:1495 +#: src/buffer.c:1523 #, c-format -msgid "%s is not continued on this volume" +msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "" @@ -783,20 +789,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "" msgstr[1] "" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "" @@ -812,7 +818,7 @@ msgstr "" msgid "Mod time differs" msgstr "" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "" @@ -821,138 +827,138 @@ msgstr "" msgid "Not linked to %s" msgstr "" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "" -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "" -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "" msgstr[1] "" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "" msgstr[1] "" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "" -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "" @@ -970,54 +976,54 @@ msgstr "" msgid "%s: time stamp %s is %s s in the future" msgstr "" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "" @@ -1067,215 +1073,215 @@ msgstr "" msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "" #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr "" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr "" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "" @@ -1288,80 +1294,228 @@ msgstr "" msgid "interprocess channel" msgstr "" -#: src/names.c:360 +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "" + +#: src/names.c:136 +msgid "ignore case" +msgstr "" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "" + +#: src/names.c:768 msgid "command line" msgstr "" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:87 +#: src/tar.c:88 #, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1372,7 +1526,7 @@ msgid "" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1384,79 +1538,87 @@ msgid "" " never, simple always make simple backups\n" msgstr "" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1464,633 +1626,506 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "" - -#: src/tar.c:720 -msgid "unquote input file or member names (default)" -msgstr "" - -#: src/tar.c:722 -msgid "do not unquote input file or member names" -msgstr "" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2098,297 +2133,315 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "" -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "" -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, c-format -msgid "'%s' cannot be used with '%s'" +msgid "non-option arguments in %s" msgstr "" -#: src/tar.c:2389 +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "" + +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "" -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "" msgstr[1] "" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2444,34 +2497,34 @@ msgstr "" msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" @@ -2512,243 +2565,247 @@ msgstr "" msgid "Read checkpoint %u" msgstr "" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" msgstr "" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "" diff --git a/po/tr.gmo b/po/tr.gmo index 7170e9179c90cb9da3cf50ecd032175671631664..52da24aedc6aca72cc04367a266a5846e5aaae58 100644 GIT binary patch delta 10997 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 CoVF?e delta 11412 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 q+yEmJm*=K?b2GhT#(OApy_s3w6YJg4-gK{, 2001,..., 2007. # Volkan Gezer , 2013. -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 2013-03-09 15:51+0100\n" "Last-Translator: Volkan Gezer \n" "Language-Team: Turkish \n" @@ -19,46 +19,46 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.5\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "`%2$s' için %1$s argümanı geçersiz" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "`%2$s' için %1$s argümanı belirsiz" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Geçerli argümanlar:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s değeri %s değerinden küçük ya da ona eşit" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT parametresi bir değer gerektirir" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT parametresi pozitif olmalı" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: ARGP_HELP_FMT ile belirtilen parametre bilinmiyor" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "ARGP_HELP_FMT bozuk: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -66,145 +66,150 @@ msgstr "" "Uzun seçenekler için zorunlu veya isteğe bağlı olan argümanlar kısa " "seçenekler için de geçerlidir." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Kullanımı:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " veya: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [SEÇENEK...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Daha fazla bilgi için `%s --help' veya `%s --usage' yazın.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "" "Yazılım hatalarını <%s> adresine,\n" "çeviri hatalarını adresine bildiriniz.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Bilinmeyen sistem hatası" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "bu yardım iletisi gösterilir" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "kısa bir kullanım iletisi gösterilir" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "Ä°SÄ°M" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "uygulama ismi" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "SAN" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "SANÄ°YE saniye bekler (öntanımlı 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "sürüm bilgisi gösterilir" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(YAZILIM HATASI) Sürümünü bilmiyor!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: argüman sayısı fazla\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(YAZILIM HATASI) Seçenek tanınmak zorunda!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "yazma hatası" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: `%s' seçeneği belirsiz\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: `-W %s' seçeneği belirsiz\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: `--%s' seçeneği argümansız kullanılır\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: seçenek `%c%s' argümansız kullanılır\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: `--%s' seçeneği bilinmiyor\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: `%c%s' seçeneği bilinmiyor\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: geçersiz seçenek -- %c\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: seçenek bir argümanla kullanılır -- %c\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: `-W %s' seçeneği belirsiz\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: `-W %s' seçeneği argümansız kullanılır\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "bellek tükendi" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "geçerli çalışma dizini kaydedilemiyor" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "başlangıç çalışma dizinine dönülemedi" @@ -230,11 +235,11 @@ msgstr "başlangıç çalışma dizinine dönülemedi" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "`" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "'" @@ -244,7 +249,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[eEyY]" @@ -254,16 +259,16 @@ msgstr "^[eEyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[hHnN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "%s (%s) tarafından paketlenmiş\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "%s tarafından paketlenmiş\n" @@ -271,11 +276,11 @@ msgstr "%s tarafından paketlenmiş\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "(C)" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -412,22 +417,22 @@ msgstr "" "\n" "Hataları şuraya bildirin: %s\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "%s hatalarını şuraya bildirin: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ana sayfası: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s ana sayfası: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "GNU yazılımı kullanımı hakkında genel yardım: \n" @@ -595,8 +600,8 @@ msgstr "Beklenmeyen argümanlar" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Uzak bir işlem komutları kabul eden, bir kaset sürücüsü değiştir" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "SAYI" @@ -604,10 +609,11 @@ msgstr "SAYI" msgid "set debug level" msgstr "hata ayıklama seviyesini ayarla" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "DOSYA" @@ -620,7 +626,7 @@ msgstr "hata ayıklama çıktı dosyasının adını ayarla" msgid "cannot open %s" msgstr "%s açılamıyor" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "argüman sayısı çok fazla" @@ -629,111 +635,111 @@ msgstr "argüman sayısı çok fazla" msgid "Garbage command" msgstr "Bozuk komut" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Bu bir tar arşivi gibi görünmüyor" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Okunan toplam bayt" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Yazılan toplam bayt" -#: src/buffer.c:577 +#: src/buffer.c:580 #, fuzzy msgid "Total bytes deleted" msgstr "Silinen toplam bayt: %s\n" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(boru)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "record_size için geçersiz değer" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Arşiv ismi verilmemiş" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "stdG/stdÇ arşivi doğrulanamaz" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Aeşiv sıkıştırılmış. %s seçeneğini kullanın" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Sıkıştırılmış arşivler güncellenemez" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Bandın başlangıcında, şimdilik çıkıyor" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Çok hata var, çıkıyor" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Kayıt uzunluğu = %lu blok" msgstr[1] "Kayıt uzunluğu = %lu blok" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Arşivde hizalanmamış blok (%lu bayt)" msgstr[1] "Arşivde hizalanmamış blok (%lu bayt)" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Arşiv dosyası geri alınamaz; -i olmaksızın okunamayabilir" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek bir kaydın sınırında durmadı" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: geçersiz bölüm numarası içeriyor" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Bölüm numarası kapsamdışı" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "#%d. bölümü %s için hazırlamak istiyorsanız return tuşuna basınız: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Kullanıcı cevabı beklenirken dosya sonuna gelindi" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "UYARI: Arşiv eksik" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -744,72 +750,72 @@ msgstr "" " q Uygulama sonlandırılır\n" " y veya İşlem sürdürülür\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! bir alt kabuk açılır\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Bu listeyi basar\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Yeni bölüm yok; çıkıyor.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "Dosya ismi belirtilmemiş. Tekrar deneyin.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Girdi geçersiz, Yardım için ? yazın.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "%s komutu başarısız" -#: src/buffer.c:1491 -#, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s belki de bu bölümde devam ediyor: başlıktaki isim kırpılmış" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s bu bölümde devam etmiyor" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s belki de bu bölümde devam ediyor: başlıktaki isim kırpılmış" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s yanlış uzunluk (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Bu hacim sıranın dışında (% s -% s =% s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Arşiv etiketi %s ile eşleşmiyor" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "%s bölümü %s ile eşleşmiyor" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" "%s: dosya ismi GNU çoklu bölüm başlığında saklanamayacak kadar uzun, kırpıldı" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "yazma bir blok sınırında bitmiyor" @@ -820,20 +826,20 @@ msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Sadece %2$lu baytın %1$lu baytı okunabildi" msgstr[1] "Sadece %2$lu baytın %1$lu baytı okunabildi" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "İçerikler farklı" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Arşivde beklenmeyen dosya sonu" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Dosya türleri farklı" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Kipleri farklı" @@ -849,7 +855,7 @@ msgstr "Grup-kimlikler farklı" msgid "Mod time differs" msgstr "Değişiklik zamanları farklı" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Uzunlukları farklı" @@ -858,139 +864,139 @@ msgstr "Uzunlukları farklı" msgid "Not linked to %s" msgstr "%s'e bağlı değil" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Sembolik bağlar farklı" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Aygıt numaraları farklı" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Doğrulama " -#: src/compare.c:473 +#: src/compare.c:477 #, fuzzy, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: '%c' dosya türü bilinmiyor, normal dosya olarak karşılaştırıldı" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Arşivdeki dosya isimleri dosya yolu içermiyor." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Arşiv dönüştürülmüş dosya adları içeriyor." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Doğrulama, özgün dosyaların konumlanmasında başarısız olabilir." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "DOĞRULAMA BAŞARISIZ: %d geçersiz başlık saptandı" msgstr[1] "DOĞRULAMA BAŞARISIZ: %d geçersiz başlık saptandı" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "%s de tek başına sıfır bloğu" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: %s arabellekleme dizini yaftasını içeriyor; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "" "%1$s değeri, %3$s..%4$s aralığının %2$s dışında; yerine %5$s kullanılıyor" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "%1$s değeri, %3$s..%4$s aralığının %2$s dışında" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Negatif sekizlik başlık üretiliyor" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: dosya ismi çok uzun (en çok %d olabilir); dökümlenmedi" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: dosya ismi çok uzun (parçalanamıyor); dökümlenmedi" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: bağ ismi çok uzun; dökümlenmedi" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Dosya %s baytta kaldı; sıfırlarla dolduruluyor" msgstr[1] "%s: Dosya %s baytta kaldı; sıfırlarla dolduruluyor" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: dosya farklı bir dosya sisteminde; dökümlenmedi" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "içerik dökümlenmedi" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Bilinmeyen dosya türü; dosya yoksayıldı" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "%s için bağlar kayıp." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: dosya değişmedi; dökümlenmedi" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: dosya arşivdir; dökümlenmedi" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "dizin dökümlenmedi" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: dosya okundu olarak imlendi" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: soket yoksayıldı" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: kapı yoksayıldı" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Sonraki başlığa atlanıyor" @@ -1008,54 +1014,54 @@ msgstr "%s: makul olmayan eski tarih damgası %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: zaman damgası %s %s s gelecekte" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Dizin oluşturulurken anlaşılamayan uyumsuzluk" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: durumu çıkarılamadan dizin ismi değiştirildi" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Bitişik dosyaları normal dosyalar olarak çıkarıyor" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Sembolik bağlar, sabit bağlar olarak çıkarılmaya çalışılıyor" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Dosya çıkarılamaz -- dosyanın başı diğer bölümde" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Umulmadık uzun isim başlığı" -#: src/extract.c:1542 +#: src/extract.c:1587 #, fuzzy, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Bilinmeyen dosya türü '%c', normal dosya olarak çıkartılıyor" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "Mevcut %s daha yeni ya da yaşıt" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Bu dosyayı yedeklemek mümkün olmadı" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "%s ismi %s olarak değiştirilemez" @@ -1106,129 +1112,130 @@ msgstr "Geçersiz düğüm numarası" msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Anlık görüntü dosyasında beklenmeyen dosya sonu" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Kayıt sonlandırıcı eksik" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Arttırımlı dosya biçimi hatalı" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Desteklenmeyen arttırımlı biçim sürümü: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "dumpdir bozuk: umulan '%c' ama bulunan %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "dumpdir bozuk: 'X' yinelenmiş" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "dumpdir bozuk: 'R'deki isim boş" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "dumpdir bozuk: 'T' 'R' ile öncelenmemiş" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "dumpdir bozuk: 'T'deki isim boş" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "dumpdir bozuk: umulan'%c' ama bulunan veri sonu" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "dumpdir bozuk: 'X' hiç kullanılmamış" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "%s şablonu kullanılarak geçici dizin oluşturulamıyor" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: dizin temizlenmiyor: durumlama yapılamadı" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: dizin farklı bir aygıtta: temizlenmiyor" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s siliniyor\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Kaldırılamaz" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Geçiliyor" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** NUL bloku **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Dosya Sonu **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Sayısal %s değeri beklenirken başlıkta boşluklar bulundu" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1236,87 +1243,87 @@ msgstr "" "ediliyor" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Arşiv sekizlik değeri %.*s aralığın %s dışında" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Arşiv atıl base-64 başlıklar içeriyor" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Arşiv imzalı base-64 dizge %s, %s aralığının dışında" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Arşiv base-256 değeri %s aralığının dışında" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arşiv %.*s içeriyor, halbuki orada sayısal %s değeri bekleniyor" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Arşiv değeri %s %s türünün %s..%s aralığının dışında" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " bağı -> %s \n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " bilinmeyen dosya türü %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Uzun Bağ--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Uzun Ä°sim--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Bölüm Başlığı--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Devamı bayt %s de--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Oluşturulan dizin:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "%s %s olarak değiştiriliyor\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Ä°smi %s olarak değiştirilemez" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Gerisin geriye %s %s olarak değiştiriliyor\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Dosya okunamadan kaldırıldı" @@ -1329,31 +1336,190 @@ msgstr "alt süreç" msgid "interprocess channel" msgstr "süreçlerarası kanal" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Yerel dosya seçimi:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"belirtilen DOSYA arşive eklenir (isim bir tire ile başlıyorsa kullanışlıdır)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "DÄ°ZÄ°N" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "DÄ°ZÄ°N dizinine geçilir" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "çıkarılacak ya da oluşturulacak isimler DOSYAdan alınır" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T boş karakter sonlandırmalı isimleri okur, -C iptal edilir" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "önceki --null seçeneği etkisini devre dışı bırak" + +#: src/names.c:82 +#, fuzzy +msgid "unquote input file or member names (default)" +msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanır" + +#: src/names.c:84 +#, fuzzy +msgid "do not unquote input file or member names" +msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanmaz" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "ŞABLON" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "belirtilen ŞABLONa uyan dosyalar hariç tutulur" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "DOSYAdaki şablonlara uyan isimler hariç tutulur" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "yafta dosyası hariç, CACHEDIR.TAG içeren dizinler dışlanır" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "CACHEDIR.TAG içeren dizinlerin altındaki herşey hariç tutulur" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "CACHEDIR.TAG içeren dizinler hariç tutulur" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"DOSYA'nın kendisi hariç, DOSYA içeren dizinlerin içerikleri hariç tutulur" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "DOSYA içeren dizinlerin altındaki herşey hariç tutulur" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "DOSYA içeren dizinler hariç tutulur" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "sürüm denetimi sistem dizinlerini hariç tut" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "yedek ve kilit dosyalarını hariç tut" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "dizinlerin alt dizinlerine inilir (öntanımlı)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "dizinlerde özdevinimli olarak azalan sıralamadan kaçınılır" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Dosya ismi eşleştirme seçenekleri\n" +"(içerme ve dışlama kalıplarının her ikisi de etkili):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "dosya isminin başlangıcına uyan kalıplar" + +#: src/names.c:134 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" +msgstr "bir /'dan sonra şablonla eşleşen kalıplar (dışlama için öntanımlı)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "harf büyüklükleri önemsenmez" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "harf büyüklüklerine duyarlı eşleşme (öntanımlı)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "genelleme kalıpları kullanılır (dışlama için öntanımlı)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "birebir dizge eşleme" + +#: src/names.c:144 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" +msgstr "'/' ile eşleşen genelleme kalıpları (dışlama için öntanımlı)" + +#: src/names.c:146 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "'/' ile eşleşmeyen genelleme kalıpları" + +#: src/names.c:768 #, fuzzy msgid "command line" msgstr "%s komutu başarısız" -#: src/names.c:378 +#: src/names.c:786 #, fuzzy, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: dosya listesi zaten okundu" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, fuzzy, c-format msgid "cannot split string '%s': %s" msgstr "zaman `%s' olarak ayarlanamaz" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: okunan dosya ismi boş karakter içeriyor" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Kalıp eşleme karakterleri dosya isimlerinde kullanılmış" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1361,48 +1527,48 @@ msgstr "" "Lütfen ya kalıp eşlemeyi etkin kılmak için --wildcards ya da bu uyarıyı " "yoksaymak için --no-wildcards kullanın." -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Arşivde yok" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Arşivde bulunması gerekirken yok" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Arşiv etiketi uyumsuzluğu" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Bir dosya listesi içerisinde --listed-incremental ile -C seçeneği kullanmaya " "izin verilmiyor" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" "--listed-incremental seçeneği ile sadece bir -C seçeneği kullanılabilir" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "`-%s' ve `-%s' seçeneklerinin ikisi de standart girdi istiyor" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Geçersiz arşiv biçimi" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "GNU özellikleri ile uyumsuz arşiv biçimi" -#: src/tar.c:264 +#: src/tar.c:265 #, fuzzy, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1410,7 +1576,7 @@ msgstr "" "Sarmalama şekli `%s' bilinmiyor. Listeyi almak için `%s --quoting-" "style=help' yazın." -#: src/tar.c:378 +#: src/tar.c:354 #, fuzzy msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " @@ -1430,7 +1596,7 @@ msgstr "" " tar -tvf arşiv.tar # arşiv.tar içindeki dosyalar listelenir\n" " tar -xf arşiv.tar # arşiv.tar'dan tüm dosyalar çıkarılır\n" -#: src/tar.c:387 +#: src/tar.c:363 #, fuzzy msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" @@ -1452,79 +1618,87 @@ msgstr "" " nil, existing numaralıysa numaralı, değilse basit yedekleme yapılır\n" " never, simple daima basit yedekleme yapılır\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Ana işlem kipi:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "bir arşiv içeriğini listeler" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "bir arşivdeki dosyaları çıkarır" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "yeni bir arşiv oluşturur" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "arşiv ile dosya sistemi arasındaki farklar bulunur" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "dosyaları arşivin sonuna ekler" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "sadece arşivdeki kopyasından daha yeni dosyalar eklenir" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "bir arşive tar dosyaları ekler" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "arşivden siler (teyplerde değil!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "arşiv bölüm etiketini sınar ve çıkar" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "İşlem değiştiriciler:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "seyrek dosyalar verimli şekilde elde edilir" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "ANA[.ALT]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "kullanılacak seyrek biçim sürümü ayarlanır (--sparse uygular)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "GNU eski tarz arttırımlı yedekleme tanınır" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "GNU yeni tarz arttırımlı yedekleme tanınır" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "oluşturulan listed-incremental arşivi için döküm seviyesi" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "dosyalar okunamadığında sıfırdan farklı bir değerle çıkılmaz" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1536,139 +1710,148 @@ msgstr "" "ve dosyaların listelenmesi sırasında ya komut satırından ya da -T seçeneği " "üzerinden belirtilir. SAYI öntanımlı olaral 1'dir." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "arşiv arama yapılabilen türde" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "arşiv aranabilir değil" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "artımlı arşivler oluştururken aygıt numaralarını denetleme" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "artımlı arşivler oluştururken aygıt numaralarını denetle (öntanımlı)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Üsteyazma denetimi:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "yazdıktan sonra arşivi doğrulamaya çalışır" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "arşive eklendikten sonra dosyalar silinir" -#: src/tar.c:485 +#: src/tar.c:463 #, fuzzy msgid "don't replace existing files when extracting, treat them as errors" msgstr "çıkarılırken mevcut dosyalar değiştirilmez" -#: src/tar.c:488 +#: src/tar.c:466 #, fuzzy msgid "don't replace existing files when extracting, silently skip over them" msgstr "çıkarılırken mevcut dosyalar değiştirilmez" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "arşivdeki kopyalaraından daha yeni dosyalar değiştirilmez" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "çıkarılırken mevcut dosyaların üzerine yazılır" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "çıkarılmadan önce mevcut dosya silinir" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "dizin çıkarılmadan önce alt dizinleri silinir" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "mevcut dizinlerin öznitelikleri korunur" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "çıkarılırken mevcut dizinlerin metaverisinin üzerine yazılır (öntanımlı)" -#: src/tar.c:504 +#: src/tar.c:482 #, fuzzy msgid "preserve existing symlinks to directories when extracting" msgstr "çıkarılırken mevcut dosyaların üzerine yazılır" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "DÄ°ZÄ°N" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Çıktı akımını seçiniz:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "dosyalar standart çıktıya çıkarılır" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "KOMUT" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "çıkarılan dosyaları başka bir uygulamaya borular" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "altsüreçlerin çıkış kodları yoksayılır" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "altsüreçlerin çıkış kodları sıfırdan farklıysa hata olarak ele alınır" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Dosya özniteliklerinin elde edilmesi:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "Ä°SÄ°M eklenen dosyaların sahibi yapılır" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "Ä°SÄ°M eklenen dosyaların grubu yapılır" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DOSYA-TARÄ°HÄ°" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "DOSYA-TARÄ°HÄ°nde eklenen dosyalar için mtime ayarlanır" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "KÄ°P" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "KÄ°P eklenen dosyaların (sembolik) kipi yapılır" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "YÖNTEM" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1678,11 +1861,11 @@ msgstr "" "değerine getirerek (YÖNTEM='replace' öntanımlıdır) ya da ilk yerindeki " "zamanı değiştirmeyerek (YÖNTEM='system')." -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "dosya değişiklik zamanı çıkarılmaz" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1690,21 +1873,21 @@ msgstr "" "dosyaları arşivde bulunduğu gibi aynı sahiplikle çıkarmayı deneyin (yetkili " "kullanıcı için öntanımlı)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" "dosyalar sizin sahipliğinizde çıkarın (normal kullanıcılar için öntanımlı)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "kullanıcı/grup isimleri yerine daima numaraları kullanılır" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "dosya izinleri ile ilgili bilgileri çıkarır (root kullanıcısı için öntanımlı)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1712,16 +1895,12 @@ msgstr "" "arşivden çıkarılırken izinlere kullanıcıların umask'ı uygulanır (sıradan " "kullanıcılar için öntanımlı)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "-p ve -s birlikte verilmiş gibi olur" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1729,188 +1908,188 @@ msgstr "" "herşey çıkarılana kadar çıkarılan dizinlerin izinleri ve değişiklik " "zamanlarının değiştirilmesi geciktirilir" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "--delay-directory-restore seçeneğinin etkisi iptal edilir." -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 #, fuzzy msgid "Handling of extended file attributes:" msgstr "Dosya özniteliklerinin elde edilmesi:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Aygıt seçimi ve aygıt değiştirme:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARŞİV" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "arşiv dosyası ya da ARŞİV aygıtı kullanılır" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "bir iki nokta üstüste içerse bile arşiv dosyası yereldir" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "rmt yerine rmt KOMUT kullanılır" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "rsh yerine uzak uçta KOMUT kullanılır" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "sürücü ve yoğunluk belirtilir" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "çok bölümlü arşivi oluşturur/listeler/çıkarır" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "SAYI x 1024 bayt yazıldıktan sonra band değiştirilir" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "her bandın sonunda betiği çalıştırır (-M uygular)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "DOSYAda bölüm numarası kullanılır/güncellenir" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Aygıtın blok düzeni:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOK" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "kayıt başına BLOK x 512 bayt" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "512'nin katları olarak kayıt başına BOYUT bayt" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "arşivdeki sıfırlı bloklar yoksayılır (dosyasonu anlamında)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "okunmuş olarak yeniden bloklanır (4.2 BSD boruları için)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Arşiv biçimi seçimi:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "BİÇİM" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "belirtilen biçimin arşivi oluşturulur." -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "BİÇİM şunlardan biri olabilir:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "eski V7 tar biçimi" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "tar <= 1.12 için GNU biçimi" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x biçimi" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) biçimi" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) biçimi" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "pax ile aynı" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr " --format=v7 ile aynı" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "--format=posix ile aynı" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "isim[[:]=değer][,isim[[:]=değer]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "pax anahtar sözcüklerini denetler" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "METÄ°N" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1918,184 +2097,84 @@ msgstr "" "arşivi METÄ°N bölüm ismiyle oluşturur; listeleme/çıkarma sırasında METÄ°N, " "bölüm ismini genelleme kalıbı olarak kullanılır" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Sıkıştırma seçenekleri:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "sıkıştırma programını bulmak için arşiv sonekini kullan" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "sıkıştırma programını bulmak için arşiv sonekini kullanma" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "UYG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "arşivi UYG üzerinden geçirir (UYG -d kabul etmeli)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Yerel dosya seçimi:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"belirtilen DOSYA arşive eklenir (isim bir tire ile başlıyorsa kullanışlıdır)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "DÄ°ZÄ°N dizinine geçilir" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "çıkarılacak ya da oluşturulacak isimler DOSYAdan alınır" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T boş karakter sonlandırmalı isimleri okur, -C iptal edilir" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "önceki --null seçeneği etkisini devre dışı bırak" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanır" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanmaz" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "ŞABLON" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "belirtilen ŞABLONa uyan dosyalar hariç tutulur" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "DOSYAdaki şablonlara uyan isimler hariç tutulur" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "yafta dosyası hariç, CACHEDIR.TAG içeren dizinler dışlanır" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "CACHEDIR.TAG içeren dizinlerin altındaki herşey hariç tutulur" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "CACHEDIR.TAG içeren dizinler hariç tutulur" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"DOSYA'nın kendisi hariç, DOSYA içeren dizinlerin içerikleri hariç tutulur" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "DOSYA içeren dizinlerin altındaki herşey hariç tutulur" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "DOSYA içeren dizinler hariç tutulur" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "sürüm denetimi sistem dizinlerini hariç tut" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "yedek ve kilit dosyalarını hariç tut" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "dizinlerde özdevinimli olarak azalan sıralamadan kaçınılır" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "arşiv oluşturulurken yerel dosya sisteminde kalınır" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "dizinlerin alt dizinlerine inilir (öntanımlı)" - -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "dosya isimlerinin başındaki `/'lar ayrılmaz" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "sembolik bağlar izlenir; hedeflerindeki dosyalar arşivlenir ve dökümlenir" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "sembolik bağları izle; hedeflerindeki dosyaları arşivle ve şuraya atıfta " "bulunan dosyaları dökümle" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "ÜYE-Ä°SMÄ°" -#: src/tar.c:767 +#: src/tar.c:699 #, fuzzy msgid "begin at member MEMBER-NAME when reading the archive" msgstr "arşivin ÜYE-Ä°SMÄ° üyesinden başlanır" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "sadece DOSYA-TARÄ°HÄ°nden daha yeni dosyalar saklanır" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "TARÄ°H" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "sadece veri değişecekse tarih ve saat karşılaştırılır" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "DENETÄ°M" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "kaldırılmadan önce DENETÄ°M sürümü seçilerek yedeklenir" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "DÄ°ZGE" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2103,100 +2182,59 @@ msgstr "" "kaldırmadan önce uygun sonekle yedekleme yapılır (SIMPLE_BACKUP_SUFFIX ortam " "değişkeni ile belirlenmemişse sonek olarak '~' kullanılır" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Dosya ismi dönüşümleri:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "çıkarılırken dosya isimlerinden baştaki SAYI bileşen ayrılır" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "Ä°FADE" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "dosya isimleri dönüştürülürken sed değiştirme Ä°FADEsi kullanılır" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Dosya ismi eşleştirme seçenekleri\n" -"(içerme ve dışlama kalıplarının her ikisi de etkili):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "harf büyüklükleri önemsenmez" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "dosya isminin başlangıcına uyan kalıplar" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "bir /'dan sonra şablonla eşleşen kalıplar (dışlama için öntanımlı)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "harf büyüklüklerine duyarlı eşleşme (öntanımlı)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "genelleme kalıpları kullanılır (dışlama için öntanımlı)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "birebir dizge eşleme" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "'/' ile eşleşmeyen genelleme kalıpları" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "'/' ile eşleşen genelleme kalıpları (dışlama için öntanımlı)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Bilgilendirme çıktısı:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "işlenen dosyalar ayrıntılı listelenir" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "ANAHTAR SÖZCÜK" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "uyarı denetimi" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "her SAYIncı kayıtta gelişim iletisi gösterilir (öntanımlı: 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "İŞLEM" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "her kontrol noktasında İŞLEM çalıştır" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "tüm bağlar dökümlenmezse bir ileti basılır" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SiNYAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2207,80 +2245,87 @@ msgstr "" "alındığında bayt toplamını basar; Ä°zin verilen sinyaller: SIGHUP, SIGQUIT, " "SIGINT, SIGUSR1 ve SIGUSR2; SIG ile başlamayanları da kabul edilir" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "dosya değişiklik zamanlarını UTC'ye göre bas" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "tüm çözünürlüğü kullanarak dosya zamanını bas" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "ayrıntılı çıktı DOSYAya gönderilir" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "her iletide arşiv içindeki blok sayısı gösterilir" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "her eylemden önce doğrulama istenir" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "tar öntanımlıları gösterilir" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" "listeleme ya da çıkarma sırasında arama koşuluna uymayan dizinler listelenir" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "dönüşümden sonra dosya ve arşiv isimlerini gösterir" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "ŞEKÄ°L" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "sarmalama şeklinin ismi; geçerli ŞEKÄ°L değerleri için aşağıya bakınız" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "DÄ°ZGEdeki sarmalama karakterlerine ek olarak" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "DÄ°ZGEdeki karakterler için sarmalamayı iptal eder" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Uyumluluk seçenekleri:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "oluştururken --old-archive ile, çıkarırken --no-same-owner ile aynı" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Diğer seçenekler:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "bozuculuk olasılığı olan bazı seçeneklerin kullanımı iptal edilir" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, fuzzy, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s: %s e gidilemiyor" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " @@ -2289,40 +2334,40 @@ msgstr "" "Aynı anda `-Acdtrux' veya `--test-label' seçeneklerinin sadece birini " "kullanabilirsiniz" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Sıkıştırma seçenekleri çelişiyor" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Bilinmeyen sinyal ismi: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Tarih örnekleri dosyası bulunamadı" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Bilinmeyen tarih biçemi %2$s yerine %1$s kullanılıyor" -#: src/tar.c:1140 +#: src/tar.c:1066 #, fuzzy, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Seçenek %s: `%s' tarihi %s olarak ele alınıyor" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "arşivi %s üzerinden filtrele" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "--quoting-style seçeneği için geçerli argümanlar:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2330,178 +2375,187 @@ msgstr "" "\n" "*Bu* tar için öntanımlılar:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 #, fuzzy msgid "Invalid owner or group ID" msgstr "Sahip geçersiz" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Bloklama çarpanı geçersiz" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Kayıt ortamının uzunluğu geçersiz" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Geçersiz arttırımlı seviye değeri" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Birden fazla eşik tarihi" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Seyrek sürüm değeri geçersiz" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' seçeneği bu platformda desteklenmiyor" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "--checkpoint değeri bir tamsayı değil" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Seçenekte verilen kip geçersiz" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Sayı geçersiz" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"--preserve seçeneği kullanılmıyor, yerine --preserve-permissions --preserve-" -"order kullanın" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Kayıt uzunluğu geçersiz" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Kayıt uzunluğu %d nin katları olmalı" -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Elemen sayısı geçersiz" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Sadece tek bir --to-command seçeneği kullanılabilir" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Hatalı yoğunluk argümanı: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, fuzzy, c-format msgid "Unknown density: '%c'" msgstr "Bilinmeyen yoğunluk: '%c'" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "`-[0-7][lmh]' seçeneği *bu* tar ile desteklenmiyor" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Sayı çözümlenirken `%s' civarında hata" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[DOSYA]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "%s şablonu kullanılamıyor" +msgid "non-option arguments in %s" +msgstr "`%2$s' için %1$s argümanı geçersiz" + +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "zaman `%s' olarak ayarlanamaz" -#: src/tar.c:2389 +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "Eski seçenek `%c' bir argümanla kullanılır." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence bir dosya listesi olmaksızın anlamlı değil" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "Çok sayıda arşiv dosyası `-M' seçeneği gerektirir" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--listed-incremental olmadan --level anlamsızdır" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Bölüm etiketi çok uzun (sınır: %lu bayt)" msgstr[1] "%s: Bölüm etiketi çok uzun (sınır: %lu bayt)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Çok sayıda bölüm içeren arşivler doğrulanamaz" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Sıkıştırılmış arşivler doğrulanamaz" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Çok sayıda bölüm içeren sıkıştırılmış arşivler kullanılamıyor" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Sıkıştırılmış arşivler birleştirilemez" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir" -#: src/tar.c:2560 +#: src/tar.c:2486 #, fuzzy msgid "--acls can be used only on POSIX archives" msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir" -#: src/tar.c:2565 +#: src/tar.c:2491 #, fuzzy msgid "--selinux can be used only on POSIX archives" msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir" -#: src/tar.c:2570 +#: src/tar.c:2496 #, fuzzy msgid "--xattrs can be used only on POSIX archives" msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Hacim uzunluğu kayıt boyutundan daha az olamaz" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Bir boş arşivin oluşturulması ister istemez reddediliyor" -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr "`-Aru' seçenekleri `-f -' ile uyumsuz" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" @@ -2509,12 +2563,12 @@ msgstr "" "Aynı anda `-Acdtrux' veya `--test-label' seçeneklerinin sadece birini " "kullanmalısınız" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Önceki hatalar nedeniyle başarısız durumla çıkılıyor" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2570,34 +2624,34 @@ msgstr "Ek başlık bozuk: satırsonu eksik" msgid "Ignoring unknown extended header keyword '%s'" msgstr "Bilinmeyen ek başlık anahtar sözcüğü `%s' yoksayılıyor" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Üretilen isim/değer çifti çok uzun (isim=%s, uzunluk=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Ek başlık %s=%s, %s..%s aralığının dışında" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Ek başlık bozuk: %s=%s geçersiz" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Ek başlık bozuk: %s=%s aşırıya kaçmış" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Ek başlık bozuk: %s geçersiz: umulmadık %c ayracı" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Ek başlık bozuk: %s geçersiz: değerler tek sayıda" @@ -2638,7 +2692,7 @@ msgstr "Yazma sınama yeri %u" msgid "Read checkpoint %u" msgstr "Okuma sınaması yeri %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2646,70 +2700,74 @@ msgstr "" "genfile, GNU paxutils deneme araçları için veri dosyalarını işleme sokar.\n" "SEÇENEKLER:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Dosya oluşturma seçenekleri:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "BOYUT" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Dosya belirtilen BOYUTta oluşturulur" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Dosyalar standart çıktı yerine Ä°SÄ°M dosyasına yazılır" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Dosya isimleri DOSYAdan okunur" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T boş karakter sonlandırmalı isimleri okur" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "Dosyayı belirtilen ŞABLON ile doldurur. ŞABLON 'default' veya 'zeros' " "olabilir" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Seyrek dosyalar için blok boyu" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "Seyrek dosya üretilir. Komut satırının kalanı dosya eşlemini verir." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "KONUM" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Veriyi yazmadan önce belirtilen konuma gider" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Dosya istatistikleri seçenekleri:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" "Belirtilen her dosya için stat yapısının içeriğini basar. Öntanımlı BİÇİM: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Ä°cra eşzamanlama seçenekleri:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "SEÇENEK" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2717,19 +2775,19 @@ msgstr "" "Belirtilen ARGları çalıştır. --checkpoint ile ve --cut, --append, --touch " "seçeneklerinden biri ile birlikte kullanışlıdır" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "Sınama SAYIsı aşıldığında belirtilen eylem uygulanır (aşağıya bakınız)" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Sonraki --touch seçeneği için tarih ayarlanır" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Ä°cra edilen sınamalar ve KOMUTun çıkış durumu gösterilir" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2737,172 +2795,169 @@ msgstr "" "Çalıştırma eylemlerini eşzamanlar. Bunlar --checkpoint seçeneği ile " "belirtilen sayı aşıldığında çalıştırılırlar." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" "DOSYA --length seçeneği ile belirtilen boyutta kırpılır (belirtilmemişse 0)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "DOSYAya BOYUT bayt eklenir. BOYUT evvelce --length seçeneği ile belirtilir." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "DOSYAnın değişiklik ve erişim zamanları güncellenir" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "KOMUT çalıştırılır" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "DOSYA bağlantısını kes" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Geçersiz boyut: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Numara izin verilen aralığın dışında: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Negatif boyut: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) başarısız" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "istenen dosya uzunluğu %lu, asıl %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "oluşturulan dosya seyrek değil" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Sayı çözümlenirken `%s' civarında hata" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Bilinmeyen tarih biçimi" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGÜMANLAR...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "`%s' açılamıyor" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "konumlanamıyor" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "dosya ismi boş karakter içeriyor" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "seyrek dosyalar standart çıktıda üretilemez, --file seçeneğini kullanın" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "kalıp yanlış (`%s' yakınında)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Bilinmeyen alan `%s'" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "zaman `%s' olarak ayarlanamaz" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "`%s' bağlantısı kesilemiyor" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, fuzzy, c-format msgid "command failed: %s" msgstr "%s komutu başarısız" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "`%s' bağlantısı kesilemiyor" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Komut başarıyla sonlandı\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Komut %d çıkış durumu ile başarısız oldu\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Komut %d sinyali ile sonlandırıldı\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Komut %d sinyali ile durduruldu\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Komut bellek dökümü verdi\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Komut sonlandı\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat seçeneği dosya isimleri gerektirir" -#~ msgid "sort names to extract to match archive" -#~ msgstr "isimler arşivdeki sırasına göre çıkarılır" - -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "--occurrence istenen işlem kipinde kullanılamaz" +#~ msgid "same as both -p and -s" +#~ msgstr "-p ve -s birlikte verilmiş gibi olur" -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "--listed-incremental ile --newer birlikte kullanılamaz" - -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "--preserve-order, --listed-incremental ile uyumlu değil" +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "--preserve seçeneği kullanılmıyor, yerine --preserve-permissions --" +#~ "preserve-order kullanın" #~ msgid "Field too long while reading snapshot file" #~ msgstr "Anlık görüntü dosyası okunurken alan çok uzun" @@ -2916,9 +2971,21 @@ msgstr "--stat seçeneği dosya isimleri gerektirir" #~ msgid "Cannot get working directory" #~ msgstr "Çalışma dizini alınamıyor" +#~ msgid "sort names to extract to match archive" +#~ msgstr "isimler arşivdeki sırasına göre çıkarılır" + #~ msgid "Invalid group" #~ msgstr "Geçersiz grup" +#~ msgid "--occurrence cannot be used in the requested operation mode" +#~ msgstr "--occurrence istenen işlem kipinde kullanılamaz" + +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "--listed-incremental ile --newer birlikte kullanılamaz" + +#~ msgid "--preserve-order is not compatible with --listed-incremental" +#~ msgstr "--preserve-order, --listed-incremental ile uyumlu değil" + #~ msgid "Extended header length is out of allowed range" #~ msgstr "Ek başlık uzunluğu izin verilen aralığın dışında" diff --git a/po/uk.gmo b/po/uk.gmo index a67beabf38177910533694c5c6f5238b03e7b147..319d2f4878ef7843a52e4a0688816d72c89f6341 100644 GIT binary patch delta 28420 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 Xo=S{qsV91R;!aCF!+g+6|Ka}tL8i(w diff --git a/po/uk.po b/po/uk.po index 1a69676f..a8c31680 100644 --- a/po/uk.po +++ b/po/uk.po @@ -1,15 +1,16 @@ # Ukrainian messages for GNU tar # This file is distributed under the same license as the tar package. -# Copyright (C) 2010 Free Software Foundation, Inc. -# Sergey Poznyakoff , 2005, 2006, 2007, 2008, 2009, 2010. +# Copyright (C) 2016 Free Software Foundation, Inc. # -#: src/create.c:1574 +# Sergey Poznyakoff , 2005-2010, 2016. +# Yuri Chornoivan , 2014. +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar 1.24\n" +"Project-Id-Version: tar 1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2010-10-25 15:22+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-05-16 09:24+0300\n" "Last-Translator: Sergey Poznyakoff \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -19,193 +20,197 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" -msgstr "неправильний аргумент %s для %s" +msgstr "некоректний аргумент %s для %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "неоднозначний аргумент %s для %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" -msgstr "Дозволені аргументи такі:" +msgstr "Коректні аргументи:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" -msgstr "ARGP_HELP_FMT: значення %s є менше ніж або дорівнює %s" +msgstr "ARGP_HELP_FMT: значення %s є меншим або рівним за %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: параметр ARGP_HELP_FMT вимагає значення" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: параметр ARGP_HELP_FMT має бути додатнім" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" -msgstr "%.*s: Невідомий параметр ARGP_HELP_FMT" +msgstr "%.*s: невідомий параметр ARGP_HELP_FMT" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Хибні дані в ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "Аргументи, обов'язкові для довгих ключів, є обов'язковими й для коротких." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Використання:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " чи: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" -msgstr " [ОПЦІЯ...]" +msgstr " [ПАРАМЕТР...]" -#: gnu/argp-help.c:1686 -#, fuzzy, c-format +#: gnu/argp-help.c:1688 +#, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" -msgstr "" -"Спробуйте `%s --help' або `%s --usage' для отримання докладнішого опису.\n" +msgstr "Віддайте команду «%s --help» або «%s --usage», щоб дізнатися більше.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "Про помилки звітуйте на <%s>.\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Невідома системна помилка" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "вивести цю довідку" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "вивести коротке повідомлення про використання" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "НАЗВА" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "встановити назву програми" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "СЕКУНДИ" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "зачекати вказану кількість секунд (типово 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "вивести версію програми" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ПОМИЛКА ПРОГРАМУВАННЯ) Невідома версія!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" -msgstr "%s: Забагато аргументів\n" +msgstr "%s: забагато аргументів\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" -msgstr "(ПОМИЛКА ПРОГРАМУВАННЯ) Опція мала бути розпізнана!?" +msgstr "(ПОМИЛКА ПРОГРАМУВАННЯ) Параметр мало бути розпізнано!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "помилка запису" -#: gnu/getopt.c:549 gnu/getopt.c:578 -#, fuzzy, c-format +#: gnu/getopt.c:575 gnu/getopt.c:604 +#, c-format msgid "%s: option '%s' is ambiguous; possibilities:" -msgstr "%s: опція '%s' неоднозначна\n" +msgstr "%s: неоднозначний параметр «%s»; можливі варіанти:" + +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: неоднозначна опція `%s'\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "%s: опція '--%s' не може мати аргументу\n" +msgstr "%s: параметр '--%s' не може мати аргументу\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "%s: опція '%c%s' не може мати аргументу\n" +msgstr "%s: параметр '%c%s' не може мати аргументу\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 -#, fuzzy, c-format +#: gnu/getopt.c:715 gnu/getopt.c:734 +#, c-format msgid "%s: option '--%s' requires an argument\n" -msgstr "%s: опція '%s' вимагає аргументу\n" +msgstr "%s: до параметра «--%s» слід додати аргумент\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "%s: невідома опція '--%s'\n" +msgstr "%s: невідомий параметр '--%s'\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "%s: невідома опція '%c%s'\n" +msgstr "%s: невідома параметр '%c%s'\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "%s: недійсна опція -- '%c'\n" +msgstr "%s: некоректна параметр -- '%c'\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: опція вимагає аргументу -- '%c'\n" +msgstr "%s: параметр вимагає аргументу -- '%c'\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "%s: опція '-W %s' неоднозначна\n" +msgstr "%s: параметр '-W %s' неоднозначна\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "%s: опція '-W %s' не може мати аргументу\n" +msgstr "%s: параметр '-W %s' не може мати аргументу\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 -#, fuzzy, c-format +#: gnu/getopt.c:1043 gnu/getopt.c:1061 +#, c-format msgid "%s: option '-W %s' requires an argument\n" -msgstr "%s: опція '%s' вимагає аргументу\n" +msgstr "%s: до параметра «-W %s» слід додати аргумент\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "пам'ять вичерпана" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" -msgstr "не вдається змінити поточний каталог" +msgstr "не вдалося змінити поточний каталог" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" -msgstr "не вдається зберегти поточний каталог" +msgstr "не вдалося зберегти поточний каталог" #. TRANSLATORS: #. Get translations for open and closing quotation marks. @@ -228,11 +233,11 @@ msgstr "не вдається зберегти поточний каталог" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "`" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "'" @@ -242,7 +247,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[yYтТ]" @@ -252,28 +257,28 @@ msgstr "^[yYтТ]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nNнН]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" -msgstr "Пакував %s (%s)\n" +msgstr "Запаковано %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" -msgstr "Пакував %s\n" +msgstr "Запаковано %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" -"Це є вільне програмне забезпечення: ви можете змінювати та розповсюджувати " +"Це вільне програмне забезпечення: ви можете змінювати та розповсюджувати " "його.\n" -"Немає ЖОДНИХ ГАРАНТІЙ, в межах дозволених правом.\n" +"Не надається ЖОДНИХ ГАРАНТІЙ в межах дозволених правом.\n" "\n" #. TRANSLATORS: %s denotes an author name. -#: gnu/version-etc.c:104 +#: gnu/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Автор: %s.\n" #. TRANSLATORS: Each %s denotes an author name. -#: gnu/version-etc.c:108 +#: gnu/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Автори: %s та %s.\n" #. TRANSLATORS: Each %s denotes an author name. -#: gnu/version-etc.c:112 +#: gnu/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Автори: %s, %s та %s.\n" @@ -311,7 +316,7 @@ msgstr "Автори: %s, %s та %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:119 +#: gnu/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" @@ -323,7 +328,7 @@ msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:126 +#: gnu/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" @@ -335,7 +340,7 @@ msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:133 +#: gnu/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" @@ -347,7 +352,7 @@ msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:141 +#: gnu/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" @@ -359,7 +364,7 @@ msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:149 +#: gnu/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" @@ -372,7 +377,7 @@ msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:158 +#: gnu/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" @@ -386,7 +391,7 @@ msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. -#: gnu/version-etc.c:169 +#: gnu/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" @@ -401,7 +406,7 @@ msgstr "" #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -412,22 +417,22 @@ msgstr "" "Про помилки у перекладі звітуйте за адресою \n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Про помилки у програмі %s звітуйте на %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "домашня сторінка %s: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "домашня сторінка %s: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Загальна допомога щодо використання ПЗ GNU: \n" @@ -439,7 +444,7 @@ msgstr "" #: lib/paxerror.c:60 lib/paxerror.c:73 #, c-format msgid "%s: Cannot %s" -msgstr "%s: Помилка у функції %s" +msgstr "%s: помилка у функції %s" #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. #. Directly translating this to another language will not work, first because @@ -448,22 +453,22 @@ msgstr "%s: Помилка у функції %s" #: lib/paxerror.c:86 #, c-format msgid "%s: Warning: Cannot %s" -msgstr "%s: Попередження: Помилка у функції %s" +msgstr "%s: попередження: помилка у функції %s" #: lib/paxerror.c:95 #, c-format msgid "%s: Cannot change mode to %s" -msgstr "%s: Не вдається змінити права доступу на %s" +msgstr "%s: не вдалося змінити права доступу на %s" #: lib/paxerror.c:103 #, c-format msgid "%s: Cannot change ownership to uid %lu, gid %lu" -msgstr "%s: Не вдається змінити власника на uid %lu, gid %lu" +msgstr "%s: не вдалося змінити власника на uid %lu, gid %lu" #: lib/paxerror.c:129 #, c-format msgid "%s: Cannot hard link to %s" -msgstr "%s: Не вдається створити жорстке посилання на %s" +msgstr "%s: не вдалося створити жорстке посилання на %s" #: lib/paxerror.c:181 lib/paxerror.c:213 #, c-format @@ -484,48 +489,48 @@ msgstr[2] "%s: Попередження: Помилка в позиції %s, п #: lib/paxerror.c:261 #, c-format msgid "%s: Cannot seek to %s" -msgstr "%s: Не вдається виконати lseek до %s" +msgstr "%s: не вдалося виконати lseek до %s" #: lib/paxerror.c:277 #, c-format msgid "%s: Warning: Cannot seek to %s" -msgstr "%s: Попередження: Не вдається виконати lseek до %s" +msgstr "%s: попередження: не вдалося виконати lseek до %s" #: lib/paxerror.c:286 #, c-format msgid "%s: Cannot create symlink to %s" -msgstr "%s: Не вдається створити символічне посилання на %s" +msgstr "%s: не вдалося створити символічне посилання на %s" #: lib/paxerror.c:351 #, c-format msgid "%s: Wrote only %lu of %lu byte" msgid_plural "%s: Wrote only %lu of %lu bytes" -msgstr[0] "%s: Вдалося записати тільки %lu з %lu байта" -msgstr[1] "%s: Вдалося записати тільки %lu з %lu байтів" -msgstr[2] "%s: Вдалося записати тільки %lu з %lu байтів" +msgstr[0] "%s: вдалося записати тільки %lu з %lu байта" +msgstr[1] "%s: вдалося записати тільки %lu з %lu байтів" +msgstr[2] "%s: вдалося записати тільки %lu з %lu байтів" #: lib/paxnames.c:140 #, c-format msgid "Removing leading `%s' from member names" -msgstr "Видалення початкового префіксу `%s' з назв файлів" +msgstr "Видалення початкового префікса `%s' з назв файлів" #: lib/paxnames.c:141 #, c-format msgid "Removing leading `%s' from hard link targets" -msgstr "Видалення початкового префіксу `%s' з назви цілі жорсткого посилання" +msgstr "Видалення початкового префікса `%s' з назви цілі жорсткого посилання" #: lib/paxnames.c:154 msgid "Substituting `.' for empty member name" -msgstr "Підстановка `.' замість пустої назви файлу" +msgstr "Підстановка `.' замість порожньої назви файла" #: lib/paxnames.c:155 msgid "Substituting `.' for empty hard link target" -msgstr "Підстановка `.' замість пустої назви цілі жорсткого посилання" +msgstr "Замінюємо порожнє призначення жорсткого посилання на `.'" #: lib/rtapelib.c:299 #, c-format msgid "exec/tcp: Service not available" -msgstr "exec/tcp: сервіс відсутній" +msgstr "exec/tcp: немає доступу до служби" #: lib/rtapelib.c:303 #, c-format @@ -540,12 +545,12 @@ msgstr "stdout" #: lib/rtapelib.c:429 #, c-format msgid "Cannot connect to %s: resolve failed" -msgstr "Не вдалося під'єднатись до %s: неможливо встановити адресу хоста" +msgstr "Не вдалося з'єднатись з %s: неможливо встановити адресу вузла" #: lib/rtapelib.c:502 -#, fuzzy, c-format +#, c-format msgid "Cannot redirect files for remote shell" -msgstr "Не вдалося запустити віддалену оболонку" +msgstr "Переспрямовування файлів для віддаленої оболонки не передбачено" #: lib/rtapelib.c:516 #, c-format @@ -582,7 +587,7 @@ msgstr "Передчасне закінчення файла" #: rmt/rmt.c:601 msgid "Invalid operation code" -msgstr "Недійсний код операції" +msgstr "Некоректний код операції" #: rmt/rmt.c:636 rmt/rmt.c:680 msgid "Operation not supported" @@ -596,8 +601,8 @@ msgstr "Неочікувані аргументи" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Керує стрічковим пристроєм, отримуючи команди від віддаленого процесу" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "ЧИСЛО" @@ -605,23 +610,24 @@ msgstr "ЧИСЛО" msgid "set debug level" msgstr "встановити рівень налагоджування" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "ФАЙЛ" #: rmt/rmt.c:699 msgid "set debug output file name" -msgstr "встановити назву файлу для виходу налагоджування" +msgstr "встановити назву файла для виходу налагоджування" #: rmt/rmt.c:715 rmt/rmt.c:783 #, c-format msgid "cannot open %s" -msgstr "не вдається відкрити %s" +msgstr "не вдалося відкрити %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "забагато аргументів" @@ -630,67 +636,68 @@ msgstr "забагато аргументів" msgid "Garbage command" msgstr "Хибна команда" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Це не схоже на архів tar" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Прочитано байтів загалом" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Записано загалом" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Видалено загалом: %s\n" +msgstr "Загальна кількість вилучених байтів" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(канал)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" +"Відмовляємося читати вміст архіву з термінала (не вказано параметр -f?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" +"Відмовляємося записувати вміст архіву до термінала (пропущено параметр -f?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "Недійсне значення record_size" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Не вказано назви архіву" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Неможливо перевіряти архів, записаний до stdout" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" -msgstr "Архів стиснений. Використовуйте опцію %s" +msgstr "Архів стиснено. Використовуйте параметр %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Не можна оновлювати стиснені архіви" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "На початку стрічки, закінчуємо" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Надто багато помилок, виконання перервано" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -698,7 +705,7 @@ msgstr[0] "Розмір запису = %lu блок" msgstr[1] "Розмір запису = %lu блоки" msgstr[2] "Розмір запису = %lu блоків" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -706,39 +713,39 @@ msgstr[0] "Невірне вирівнювання блоку (%lu байт) в msgstr[1] "Невірне вирівнювання блоку (%lu байти) в архіві" msgstr[2] "Невірне вирівнювання блоку (%lu байтів) в архіві" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Не вдалося переміститись назад у архіві; можливо архів не можна прочитати " -"без опції -i" +"без параметра -i" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek не зупинився на межі запису" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" -msgstr "%s: містить невірний номер тому" +msgstr "%s: містить некоректний номер тому" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Переповнення номера тому" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " -msgstr "Підготуйте том #%d архіву %s ї натиснить return: " +msgstr "Підготуйте том #%d архіву %s ї натисніть Enter: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" -msgstr "Кінець файлу, замість очікуваної відповіді" +msgstr "Кінець файла, замість очікуваної відповіді" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" -msgstr "ПОПЕРЕДЖЕННЯ: Незавершений архів" +msgstr "ПОПЕРЕДЖЕННЯ: незавершений архів" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -749,74 +756,74 @@ msgstr "" " q Перервати роботу\n" " у або новий рядок Продовжувати\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Викликати оболонку\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? Вивести цю довідку\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Новий том відсутній. Завершення.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" -msgstr "Не вказано назви файлу. Спробуйте ще раз.\n" +msgstr "Не вказано назви файла. Спробуйте ще раз.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Недійсні вхідні дані. Наберіть ? щоб отримати підказку.\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "збій виконання `%s'" -#: src/buffer.c:1491 +#: src/buffer.c:1511 src/buffer.c:1527 +#, c-format +msgid "%s is not continued on this volume" +msgstr "%s не продовжується у цьому томі" + +#: src/buffer.c:1523 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s можливо продовжується у цьому томі: заголовок містить обрізану назву" -#: src/buffer.c:1495 -#, c-format -msgid "%s is not continued on this volume" -msgstr "%s не продовжується у цьому томі" - -#: src/buffer.c:1509 +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s є неправильним розміром (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Цей том є за межами послідовності (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Назви тому відсутня в архіві. Не можна порівняти з %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Етикетка тому %s не співпадає з %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -"%s: назва файлу надто довга щоб зберегти її у заголовку тому GNU; назву " +"%s: назва файла надто довга щоб зберегти її у заголовку тому GNU; назву " "обрізано" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "запис не закінчився на межі блоку" @@ -828,20 +835,20 @@ msgstr[0] "Вдалося прочитати тільки %lu з %lu байта" msgstr[1] "Вдалося прочитати тільки %lu з %lu байтів" msgstr[2] "Вдалося прочитати тільки %lu з %lu байтів" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Різниця у змісті" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Неочікуваний кінець файла в архіві" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" -msgstr "Різниця у типі файлу" +msgstr "Різниця у типі файла" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Різниця у правах доступу" @@ -857,7 +864,7 @@ msgstr "Різниця у значенні GID" msgid "Mod time differs" msgstr "Різниця у часі модифікації" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Різниця у розмірі" @@ -866,87 +873,86 @@ msgstr "Різниця у розмірі" msgid "Not linked to %s" msgstr "Не є посиланням до %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Різниця у символічному посиланні" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Різниця у номері пристрою" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Перевірка " -#: src/compare.c:473 -#, fuzzy, c-format +#: src/compare.c:477 +#, c-format msgid "%s: Unknown file type '%c', diffed as normal file" -msgstr "%s: Невідомий тип файлу `%c', перевірюється як звичайний файл" +msgstr "%s: невідомий тип файла `%c', порівняно як звичайний файл" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." -msgstr "Архів містить назви файлів без попереджуючих префіксів." +msgstr "Архів містить назви файлів з вилученими початковими префіксами." # FIXME: base=64? -#: src/compare.c:535 -#, fuzzy +#: src/compare.c:539 msgid "Archive contains transformed file names." -msgstr "Архів містить застарілі заголовки з основою 64" +msgstr "У архіві містяться перетворені назви файлів." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Перевірка може не знайти первинних файлів." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" -msgstr[0] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d невірний заголовок" +msgstr[0] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d некоректний заголовок" msgstr[1] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d невірних заголовки" msgstr[2] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d невірних заголовків" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Самотній блок нулів, зсув %s" # Не подобається мені це "кешування"... -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: містить мітку каталогу кешування `%s'; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "Значення %s поза межами діапазону типа %s %s..%s; заміна на %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "значення %s за межами діапазону типа %s %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Створення від'ємних вісімкових заголовків" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" -msgstr "%s: назва файлу занадто довга (макс. %d); не архівується" +msgstr "%s: назва файла занадто довга (макс. %d); не архівується" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" -msgstr "%s: назва файлу занадто довга (не вдається розділити); не архівується" +msgstr "%s: назва файла занадто довга (не вдалося розділити); не архівується" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: назва посилання занадто довга; не архівується" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -954,56 +960,56 @@ msgstr[0] "%s: Файл скоротився на %s байт; заповнен msgstr[1] "%s: Файл скоротився на %s байти; заповнення нулями" msgstr[2] "%s: Файл скоротився на %s байтів; заповнення нулями" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: файл знаходиться в іншої файлової системі; не архівується" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "вміст не архівується" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Невідомий тип файла; Файл проігноровано" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Відсутні деякі посилання до %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: файл не змінено; не архівується" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: файл є архівом; не архівується" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "каталог не архівується" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: файл змінився під час читання" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" -msgstr "%s: гніздо ігнорується" +msgstr "%s: сокет проігноровано" # FIXME: door? -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" -msgstr "%s: двері ігноруються" +msgstr "%s: двері проігноровано" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Перехід до наступного заголовка" @@ -1021,58 +1027,58 @@ msgstr "%s: неймовірно стара дата %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: мітка часу %s зсунута на %s сек. до майбутнього" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Неочікувана суперечність під час створення каталогу" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" -msgstr "" +msgstr "%s: пропускаємо наявний файл" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Каталог перейменовано перед тим, як tar встиг витягнути його стан" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Витягування безперервних файлів у звичайні" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Спроба перетворити символічні посилання на жорсткі" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" -msgstr "%s: Не вдається витягнути -- файл починається в іншому томі" +msgstr "%s: не вдалося витягнути -- файл починається в іншому томі" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Неочікуваний кінець файла у заголовку довгої назви" -#: src/extract.c:1542 -#, fuzzy, c-format +#: src/extract.c:1587 +#, c-format msgid "%s: Unknown file type '%c', extracted as normal file" -msgstr "%s: Невідомий тип файлу `%c', спроба витягнути його як звичайний файл" +msgstr "%s: невідомий тип файла `%c', видобуто як звичайний файл" # FIXME: або сучасний? -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" -msgstr "Існуючий файл `%s' є новіший" +msgstr "Поточний файл `%s' є новішим" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Не вдалося створити резервну копію цього файла" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" -msgstr "Не вдається перейменувати %s на %s" +msgstr "не вдалося перейменувати %s на %s" #: src/incremen.c:494 src/incremen.c:536 #, c-format @@ -1085,166 +1091,167 @@ msgid "%s: Directory is new" msgstr "%s: Новий каталог" #: src/incremen.c:566 -#, fuzzy, c-format +#, c-format msgid "%s: directory is on a different filesystem; not dumped" -msgstr "%s: файл знаходиться в іншої файлової системі; не архівується" +msgstr "%s: каталог перебуває у іншій файловій системі; дамп не створено" #: src/incremen.c:587 #, c-format msgid "%s: Directory has been renamed" -msgstr "%s: Каталог перейменовано" +msgstr "%s: каталог перейменовано" #: src/incremen.c:1003 src/incremen.c:1018 msgid "Invalid time stamp" -msgstr "Невірний час файлу" +msgstr "Некоректна часова позначка файла" #: src/incremen.c:1047 -#, fuzzy msgid "Invalid modification time" -msgstr "Невірна дата модифікації (секунди)" +msgstr "Некоректний час внесення змін" #: src/incremen.c:1057 msgid "Invalid modification time (nanoseconds)" -msgstr "Недійсний час модифікації (наносекунди)" +msgstr "Некоректний час модифікації (наносекунди)" #: src/incremen.c:1073 msgid "Invalid device number" -msgstr "Невірний номер пристрою" +msgstr "Некоректний номер пристрою" #: src/incremen.c:1081 msgid "Invalid inode number" -msgstr "Невірний номер і-вузла" +msgstr "Некоректний номер і-вузла" #: src/incremen.c:1137 #, c-format msgid "%s: byte %s: %s %.*s... too long" -msgstr "" +msgstr "%s: байт %s: %s %.*s... задовгий" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Неочікуваний кінець файла-знімка" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" -msgstr "" +msgstr "%s: байт %s: за %s %s слідує некоректний байт 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" +"%s: байт %s: (коректний діапазон %s..%s)\n" +"\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" -msgstr "" +msgstr "%s: байт %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" -msgstr "" +msgstr "%s: байт %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Бракує ознаки кінця запису" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Неправильний формат файла знімку" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Такий інкрементний формат не підтримується: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" "Неправильно сформований dumpdir: очікувалося '%c' натомість знайдено %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Неправильно сформований dumpdir: 'X' вказаний двічі" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" -msgstr "Невірний формат dumpdir: пуста назва у `R'" +msgstr "Некоректний формат dumpdir: пуста назва у `R'" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" -msgstr "Невірний формат dumpdir: `T' без попереднього `R'" +#: src/incremen.c:1585 +msgid "Malformed dumpdir: 'T' not preceded by 'R'" +msgstr "Некоректний формат dumpdir: 'T' без попереднього 'R'" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" -msgstr "Невірний формат dumpdir: пуста назва у `T'" +msgstr "Некоректний формат dumpdir: пуста назва у `T'" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -"Невірний формат dumpdir: очікувалося `%c', натомість знайдено кінець файла" +"Некоректний формат dumpdir: очікувалося `%c', натомість знайдено кінець файла" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" -msgstr "Невірний формат dumpdir: `X' не використаний" +msgstr "Некоректний формат dumpdir: `X' не використаний" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" -msgstr "Не вдається створити тимчасовий каталог використовуючи шаблон %s" +msgstr "не вдалося створити тимчасовий каталог використовуючи шаблон %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Каталог не очищується: не вдалося виконати stat" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: Каталог знаходиться на іншому пристрої: не очищується" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" -msgstr "%s: Стирання %s\n" +msgstr "%s: вилучаємо %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" -msgstr "%s: Не вдається видалити" +msgstr "%s: не вдалося вилучити" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" -msgstr "%s: Пропускається" +msgstr "%s: пропускаємо" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "блок %s: ** Містить нулі **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" -msgstr "блок %s: ** Кінець файлу **\n" +msgstr "блок %s: ** Кінець файла **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "блок %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Пробіли у заголовку замість очікуваного числового значення типу %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1252,17 +1259,17 @@ msgstr "" "вважається, що це є двійкове доповнення" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Вісімкове значення %.*s знаходиться поза межами діапазону типу %s" # FIXME: base=64? -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Архів містить застарілі заголовки з основою 64" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" @@ -1270,76 +1277,76 @@ msgstr "" "типу %s" # FIXME: base-256 -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Значення з основою 256 поза допустимими межами типу %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Знайдено %.*s замість числового значення типу %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Значення %s поза допустимими межами типу %s %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr "посилання до %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr "невідомий тип файла %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Довге посилання--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Довга назва--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Заголовок тому--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Продовжується з байту %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Створення каталогу:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Перейменовано %s у %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" -msgstr "%s: Не вдається перейменувати на %s" +msgstr "%s: не вдалося перейменувати на %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Перейменовано %s назад у %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" -msgstr "%s: Файл було видалено перед тим як tar встиг його прочитати" +msgstr "%s: Файл було вилучено перед тим як tar встиг його прочитати" #: src/misc.c:1122 msgid "child process" @@ -1349,88 +1356,248 @@ msgstr "процес-нащадок" msgid "interprocess channel" msgstr "канал між процесами" -#: src/names.c:360 -#, fuzzy +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "Вибір локальних файлів:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "долучити ФАЙЛ до архіву (корисне, якщо його назва починається з -)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "КАТАЛОГ" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "перейти до вказаного каталогу" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "читати назви файлів для додання/видобування з вказаного файла" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "" +"файл, вказаний з параметром -T, містить назви, відокремлені нульовими " +"символами; вмикає --verbatim-files-from" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "відмінити дію попередньої параметра --null" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "усувати лапки з назв вхідних файлів або учасників (типово)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "не усувати лапки з назв вхідних файлів або учасників" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "-T вичитує назви файлів буквально (без аналізу опцій)" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" +"-T вважає слова що починаються з риски опціями (поведінка за замовчуванням)" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "ШАБЛОН" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "не обробляти файли, назви яких відповідають вказаному шаблону" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "виключити назви що відповідають шаблонам, вказаним у файлі" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"не архівувати файли в каталогах, що містять CACHEDIR.TAG, з винятком самого " +"файла" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "не архівувати жодні файли в каталогах, що містять CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "не архівувати каталоги, що містять CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"не архівувати файли в каталогах, що містять ФАЙЛ, з винятком самого файла" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" +"прочитати взірці виключення для кожного з каталогів із файла ФАЙЛ, якщо " +"такий існує" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"прочитати взірці виключення для кожного з каталогів і його підкаталогів із " +"файла ФАЙЛ, якщо такий існує" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "не архівувати жодні файли в каталогах, що містять ФАЙЛ" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "не архівувати каталоги, що містять ФАЙЛ" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "не архівувати каталоги систем керування версіями" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" +"прочитати взірці виключення із файлів ігнорування системи керування версіями" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "не архівувати резерві файли та файли блокування" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "рекурсивно проходити каталоги (типово)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "не заходити автоматично у каталоги" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Керування порівнюванням назв (впливає на взірці як вилучення, так і " +"долучення):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "порівнювати шаблони з назвами файлів починаючи від початку назви" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "відповідність взірцям після усіх '/' (типово для виключення)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "шаблони ігнорують відмінності у регістрі символів" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "шаблони враховують регістр (типово)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "користатися шаблонами (типово для вилучення)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "порівнювати назви буквально" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "шаблони стосуються '/' (типово для виключення)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "шаблони не стосуються до '/'" + +#: src/names.c:768 msgid "command line" -msgstr "збій виконання `%s'" +msgstr "рядок команди" -#: src/names.c:378 -#, fuzzy, c-format +#: src/names.c:786 +#, c-format msgid "%s: file list requested from %s already read from %s" -msgstr "%s: перелік файлів уже прочитано" +msgstr "%s: список файлів, запит щодо якого надіслано з %s, вже прочитано з %s" -#: src/names.c:448 src/checkpoint.c:274 -#, fuzzy, c-format +#: src/names.c:867 src/checkpoint.c:274 +#, c-format msgid "cannot split string '%s': %s" -msgstr "не вдається встановити час файла `%s'" +msgstr "не вдалося розділити рядок '%s': %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: прочитана назва файла містить нульовий символ" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Назви файлів містять символи-шаблони" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -"Користайтеся опцією --wildcards аби увімкнути шаблони, або опцією --no-" -"wildcards, щоб позбутися цього повідомлення" +"Користайтеся параметром --wildcards аби увімкнути шаблони, або параметром --" +"no-wildcards, щоб позбутися цього повідомлення" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Не знайдено в архіві" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Потрібну копію у архіві не знайдено" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Незгідність назви тому" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -"Використання опції -C у переліку файлів разом з опцією --listed-incremental " -"не дозволяється" +"Використання параметра -C у переліку файлів разом з параметром --listed-" +"incremental не дозволяється" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" -msgstr "Разом з --listed-incremental дозволяється лише одна опція -C" +msgstr "" +"Разом з --listed-incremental можна використовувати лише один параметр -C" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Обидві опції -%s і -%s вимагають доступу до стандартного входу" +msgstr "Обидва параметри, «%s» і «%s», вимагають доступу до стандартного входу" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" -msgstr "%s: Невірний формат архіву" +msgstr "%s: некоректний формат архіву" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Формат архіву є несумісним з розширеними властивостями GNU" -#: src/tar.c:264 -#, fuzzy, c-format +#: src/tar.c:265 +#, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -"Невідомий стиль цитування `%s'. Наберіть `%s --quoting-style=help' аби " +"Невідомий стиль цитування `%s'. Наберіть `%s --quoting-style=help', щоб " "отримати перелік стилів." -#: src/tar.c:378 -#, fuzzy +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1440,17 +1607,16 @@ msgid "" " tar -tvf archive.tar # List all files in archive.tar verbosely.\n" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -"GNU `tar' записує будь-яку кількість файлів в архів на стрічці або диску а " -"також може витягувати окремі файли з архіву.\n" +"GNU `tar' записує будь-яку кількість файлів до архіву на стрічці або диску, " +"а також може видобувати окремі файли з архіву.\n" "\n" "Приклади:\n" " tar -cf archive.tar foo bar # Створює archive.tar з файлів foo та bar.\n" -" tar -tvf archive.tar # Виводить докладну інформацію про зміст\n" +" tar -tvf archive.tar # Виводить список усіх файлів у архіві\n" " # archive.tar\n" -" tar -xf archive.tar # Витягує усі файли з archive.tar.\n" +" tar -xf archive.tar # Видобуває усі файли з archive.tar.\n" -#: src/tar.c:387 -#, fuzzy +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1462,237 +1628,255 @@ msgid "" " never, simple always make simple backups\n" msgstr "" "Типовим суфіксом резервних копій є `~', його можна змінити за допомогою\n" -"опції --suffix або змінної середовища SIMPLE_BACKUP_SUFFIX.\n" -" \n" -"Створення резервних копій вмикається через опцію --backup або змінну " -"середовища VERSION_CONTROL. Можливі значення:\n" +"параметра --suffix або змінної середовища SIMPLE_BACKUP_SUFFIX.\n" +"\n" +"Створення резервних копій вмикається за допомогою параметра --backup або\n" +"змінної середовища VERSION_CONTROL. Можливі значення:\n" "\n" +" none, off ніколи не створювати резервних копій\n" " t, numbered створювати резервні копії з номерами\n" " nil, existing створювати нумеровані копії, якщо такі вже існують,\n" " інакше - прості\n" " never, simple завжди створювати прості резервні копії\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Режими роботи:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "вивести вміст архіву" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "витягнути файли з архіву" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "створити новий архів" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "порівняти файли в архіві з файлами у файлової системі" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" -msgstr "долучити файли до існуючого архіву" +msgstr "долучити файли до наявного архіву" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "долучати тільки такі файли, що є новішими за їх копії в архіві" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "долучити архів до архіву" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" -msgstr "видалити файли з архіву (не на стрічці!)" +msgstr "вилучити файли з архіву (не на стрічці!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "перевірити мітку тому та вийти" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Модифікатори режиму роботи:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "заощаджувати простір під час зберігання розсіяних файлів" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "ТИП" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "техніка розпізнавання дір" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "ГОЛОВНИЙ[.ДРУГОРЯДНИЙ]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "встановлює версію формату розсіяних файлів (вмикає --sparse)" # FIXME: incremental -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "обробка старого формату інкрементного архіву GNU" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "обробка нового формату інкрементного архіву GNU" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "рівень архівної копії для створення інкрементного архіву" # FIXME: хммм... -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "ігнорувати помилки читання файлів" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" "diff, --extract or --list and when a list of files is given either on the " "command line or via the -T option; NUMBER defaults to 1" msgstr "" -"обробляти тільки вказане входження кожного файла в архіві. Ця опція є " -"дійсною тільки разом з однією з опцій --delete, --diff, --extract, --list і " -"з переліком файлів (у командному рядку або за допомогою опції -T). Типове " -"ЧИСЛО: 1." +"обробляти тільки вказане входження кожного файла в архіві. Ця параметр є " +"дійсною тільки разом з одним з параметрів --delete, --diff, --extract, --" +"list і з переліком файлів (у командному рядку або за допомогою параметра -" +"T). Типове ЧИСЛО: 1." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "архів підтримує операцію seek" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "архів не підтримує операцію seek" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "не перевіряти номери пристрою під час створювання інкрементних архівів" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "" "перевіряти номери пристрою під час створювання інкрементних архівів (типово)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Керування перезаписом:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "перевірити архів після запису в нього" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" -msgstr "видаляти файли після додавання до архіву" +msgstr "вилучяти файли після додавання до архіву" -#: src/tar.c:485 -#, fuzzy +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" -msgstr "не заміняти існуючи файли під час витягування" +msgstr "" +"не заміняти наявні файли під час видобування, вважати наявність файла " +"помилкою" -#: src/tar.c:488 -#, fuzzy +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" -msgstr "не заміняти існуючи файли під час витягування" +msgstr "" +"не заміняти наявні файли під час видобування, мовчки пропускати такі файли" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" -msgstr "не заміняти існуючи файли що є новішими за їх копії у архіві" +msgstr "не заміняти наявні файли що є новішими за їх копії у архіві" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" -msgstr "перезаписувати існуючі файли під час витягування" +msgstr "перезаписувати наявні файли під час видобування" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" -msgstr "видаляти кожний файл перед витягуванням його копії" +msgstr "вилучяти кожний файл перед видобуванням його копії" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" -msgstr "спорожняти старий каталог перед витягуванням його копії з архіву" +msgstr "спорожняти старий каталог перед видобуванням його копії з архіву" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" -msgstr "зберігати мета-дані існуючих каталогів" +msgstr "зберігати мета-дані наявних каталогів" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" -msgstr "" -"перезаписувати метадані існуючих каталогів під час витягування (типово)" +msgstr "перезаписувати метадані наявних каталогів під час видобування (типово)" -#: src/tar.c:504 -#, fuzzy +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" -msgstr "перезаписувати існуючі файли під час витягування" +msgstr "зберігати наявні символічні посилання на каталоги під час видобування" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "КАТАЛОГ" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "створити підкаталог для уникнення втрати видобутих файлів" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Вибір вихідного потоку:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" -msgstr "витягувати файли у стандартний вивід" +msgstr "видобувати файли у стандартний вивід" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "КОМАНДА" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "передавати витягнуті файли до стандартного вводу іншої програми" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "ігнорувати коди завершення процесів-нащадків" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "вважати ненульовий код завершення нащадка помилкою" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" -msgstr "Обробка атрибутів файлу:" +msgstr "Обробка атрибутів файла:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "встановлення вказаного користувача власником доданих файлів" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "встановлення групи з вказаною назвою групою власника доданих файлів" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "читати мапу трансляції імен користувачів та значень UID з ФАЙЛА" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "читати мапу трансляції імен груп та значень GID з ФАЙЛА" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "ДАТА-АБО-ФАЙЛ" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "встановлення часу останньої зміни доданих файлів" +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" +"встановлювати час лише якщо файл є новіший за час вказаний опцією --mtime" + # Ну, і чому це CHANGES?? -#: src/tar.c:535 +#: src/tar.c:519 msgid "CHANGES" msgstr "ПРАВА" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "встановлення вказаних символічно прав доступу для доданих файлів" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "МЕТОД" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1702,11 +1886,11 @@ msgstr "" "читання (типово, МЕТОД='replace'), або через запобігання оновленню часу " "(МЕТОД='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" -msgstr "не витягувати час модифікації файлів" +msgstr "не видобувати час модифікації файлів" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1714,21 +1898,21 @@ msgstr "" "встановлювати власників файлів за даними з архіву (типово для супер-" "користувача)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "стати власником витягнутих файлів (типово для звичайного користувача)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "завжди використовувати числа замість назв власника/групи" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "встановлювати права доступу згідно з даними архіву (типово для супер-" "користувача)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1736,492 +1920,341 @@ msgstr "" "встановлювати права доступу згідно зі значенням umask (типово для звичайного " "користувача)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" -msgstr "" - -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "те ж, що -p -s разом" +msgstr "аргументи участі вказано у тому самому порядку, що і файли у архіві" -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" "затримати встановлення часу модифікації та прав доступу до каталогів до " -"кінця витягування" +"кінця видобування" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" -msgstr "відмінити дії опції --delay-directory-restore" +msgstr "відмінити дії параметра --delay-directory-restore" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "ПОРЯДОК" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" +"спосіб упорядковування каталогів: none (немає, типовий) або name (за назвою)" -#: src/tar.c:578 -#, fuzzy +#: src/tar.c:560 msgid "Handling of extended file attributes:" -msgstr "Обробка атрибутів файлу:" +msgstr "Обробка розширених атрибутів файлів:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" -msgstr "" +msgstr "Увімкнути підтримку розширених атрибутів" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" -msgstr "" +msgstr "Вимкнути підтримку розширених атрибутів" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" -msgstr "" +msgstr "МАСКА" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" -msgstr "" +msgstr "вказати взірець включення для ключів xattr" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" -msgstr "" +msgstr "вказати взірець виключення для ключів xattr" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" -msgstr "" +msgstr "Увімкнути підтримку контекстів SELinux" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" -msgstr "" +msgstr "Вимкнути підтримку контекстів SELinux" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" -msgstr "" +msgstr "Увімкнути підтримку ACL POSIX" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" -msgstr "" +msgstr "Вимкнути підтримку ACL POSIX" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Вибір та зміна пристрою:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "АРХІВ" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "використовувати вказаний файл або пристрій" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "файл архіву є локальним, навіть якщо його назва містить двокрапку" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "використовувати вказану команду замість rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "використовувати вказану команду замість rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "визначає пристрой та густину" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" -msgstr "створити, виводити зміст або витягувати файли з багатотомного архіву" +msgstr "створити, виводити зміст або видобувати файли з багатотомного архіву" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "змінити стрічку після запису ЧИСЛА x 1024 байтів" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "запускати сценарій наприкінці кожної стрічки (вмикає -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" -msgstr "використовувати/обновляти номер тому у ФАЙЛІ" +msgstr "використовувати/оновлювати номер тому у ФАЙЛІ" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Блокування пристрою:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "ЧИСЛО-БЛОКІВ" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "розмір запису ЧИСЛО-БЛОКІВ x 512 байтів" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "встановити розмір запису у блоках по 512 байтів" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" -msgstr "ігнорувати нульові блоки в архіві (звичайно вказують кінець файлу)" +msgstr "ігнорувати нульові блоки в архіві (звичайно вказують кінець файла)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "розбивати на блоки під час читання (для каналів 4.2BSD)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Вибір формату архіву:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "ФОРМАТ" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "створити архів у вказаному форматі" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "ФОРМАТ будь-який з наступних:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "старий формат V7" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "формат GNU, сумісний з версією tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "формат GNU, сумісний з версією tar 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "формат POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "формат POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "те ж, що і pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "те ж, що і --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "те ж, що і --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "ключове_слово[[:]=значення][,ключове_слово[[:]=значення], ...]\"" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "керування ключовими словами pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "ТЕКСТ" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" "створити архів з назвою тому \"ТЕКСТ\". Під час виводу змісту або " -"витягування, використовувати ТЕКСТ як шаблон пошуку тому" +"видобування, використовувати ТЕКСТ як шаблон пошуку тому" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" -msgstr "Опції стиснення:" +msgstr "Параметри стиснення:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "вибирати програму стиснення за суфіксом архіву" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "не використовувати суфікс для вибору програми стиснення" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "ПРОГРАМА" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "використовувати ПРОГРАМУ для стиснення/розтискання архіву" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Вибір файлів:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "долучити ФАЙЛ до архіву (корисне, якщо його назва починається з -)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "перейти до вказаного каталогу" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "читати назви файлів для додання/витягування з вказаного файла" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "" -"файл, вказаний з опцією -T, містить назви, відокремлені нульовими символами. " -"Ця опція вимикає -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "відмінити дію попередньої опції --null" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "усувати цитування з назв файлів прочитаних за допомогою -T (типово)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "не усувати цитування з назв файлів прочитаних за допомогою -T" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "ШАБЛОН" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "не обробляти файли, назви яких відповідають вказаному шаблону" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "виключити назви що відповідають шаблонам, вказаним у файлі" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"не архівувати файли в каталогах, що містять CACHEDIR.TAG, з винятком самого " -"файлу" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "не архівувати жодні файли в каталогах, що містять CACHEDIR.TAG" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "не архівувати каталоги, що містять CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" -"не архівувати файли в каталогах, що містять ФАЙЛ, з винятком самого файлу" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "не архівувати жодні файли в каталогах, що містять ФАЙЛ" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "не архівувати каталоги, що містять ФАЙЛ" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "не архівувати каталоги систем керування версіями" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "не архівувати резерві файли та файли блокування" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "не заходити автоматично у каталоги" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "залишатися у локальної файлової системі під час створення архіву" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "рекурсивно проходити каталоги (типово)" - -#: src/tar.c:761 -#, fuzzy +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" -msgstr "не видаляти початкову косу риску `/' з назв файлів" +msgstr "не вилучати початкову похилу риску, '/', з назв файлів" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "Йти за символьними посиланнями: долучати файли, на яки вони вказують" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "Йти за жорсткими посиланнями: долучати файли, на яки вони вказують" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "НАЗВА-ФАЙЛУ" -#: src/tar.c:767 -#, fuzzy +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" -msgstr "починати обслуговування архіву з вказаного файлу" +msgstr "починати читання архіву з вказаного файла" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "долучати тільки такі файли, що є новіші за вказану дату або файл" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "ДАТА" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "порівнювати тільки дату і час зміни даних" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "РЕЖИМ" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" -msgstr "перед видаленням створювати резервні файли у вказаному режимі" +msgstr "перед вилученням створювати резервні файли у вказаному режимі" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "РЯДОК" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -"перед видаленням створювати резервні файли з указаним суфіксом (типово '~', " +"перед вилученням створювати резервні файли з указаним суфіксом (типово '~', " "якщо не перевизначено змінною середовища SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Перетворювання назв файлів:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" -msgstr "видаляти вказане ЧИСЛО компонентів з початку назв файлів" +msgstr "вилучяти вказане ЧИСЛО компонентів з початку назв файлів" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "ВИРАЗ" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "перетворювати назви файлів за допомогою вказаного виразу заміни" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Керування порівнюванням назв (впливає на взірці як вилучення, так і " -"долучення):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "шаблони ігнорують відмінності у регістрі символів" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "порівнювати шаблони з назвами файлів починаючи від початку назви" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "" -"порівнювати шаблони з назвами файлів починаючи від будь-якого / (типово)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "шаблони враховують регістр (типово)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "користатися шаблонами (типово для вилучення)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "порівнювати назви буквально" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "шаблони не стосуються до '/'" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "шаблони стосуються до '/' (типово)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Інформативний вивід:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "виводити докладну інформацію про оброблені файли" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "КЛ.-СЛОВО" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "керування попередженнями" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "виводити контрольне повідомлення кожне ЧИСЛО записів (типово 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "ДІЯ" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "виконати вказану дію у контрольному пункті" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "виводити повідомлення якщо до архіву було додано не всі посилання" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "СИГНАЛ" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2232,124 +2265,131 @@ msgstr "" "- друкувати статистику по отриманню цього сигналу; дозволеними сигналами є " "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 і SIGUSR2, а також ці назви без префікса SIG" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "друкувати час модифікації файлів у UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "друкувати час модифікації файлів у повній вирізняльної здатності" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "виводити детальну інформацію у ФАЙЛ" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "попереджувати кожне повідомлення номером блоку в архіві" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "Запитувати підтвердження кожної дії" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "вивести типові налаштування" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" -msgstr "" +msgstr "вивести коректні діапазони для полів файлів-знімків" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -"під час виведення змісту або витягування файлів друкувати назви каталогів що " +"під час виведення змісту або видобування файлів друкувати назви каталогів що " "не відповідають критеріям пошуку" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "показувати перетворені назви файлів" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "СТИЛЬ" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "встановити стиль цитування; дозволені стилі див. нижче" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "цитувати також вказані символи" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "вимкнути цитування вказаних символів" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" -msgstr "Опції сумісності:" +msgstr "Параметри сумісності:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" "під час створення архіву, те ж саме, що і --old-archive. Під час " -"витягування, те ж саме, що --no-same-owner" +"видобування, те ж саме, що --no-same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" -msgstr "Інші опції:" +msgstr "Інші параметри:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" -msgstr "заборонити користування деякими потенційно небезпечними опціями" +msgstr "заборонити користування деякими потенційно небезпечними параметрами" -#: src/tar.c:1010 -#, fuzzy +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "'%s' не можна використовувати разом з '%s'" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "" -"Не можна вказувати більш ніж одну з опцій `-Acdtrux' або `--test-label'" +"Не можна вказувати більш одного параметра з набору '-Acdtrux', '--delete' " +"та '--test-label'" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" -msgstr "Опції стиснення конфліктують одна з другою" +msgstr "Конфлікт параметрів стискання" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Невідомий тип файла %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Не знайдено файл-зразок дати" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Використовується %s замість невідомого формату дати %s" -#: src/tar.c:1140 -#, fuzzy, c-format +#: src/tar.c:1066 +#, c-format msgid "Option %s: Treating date '%s' as %s" -msgstr "Опція %s: Дату `%s' сприйнято як %s" +msgstr "Параметр %s: дату `%s' сприйнято як %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "фільтрувати архів через %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" -msgstr "Допустимими аргументами опції --quoting-style є:" +msgstr "Допустимими аргументами параметра --quoting-style є:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2357,117 +2397,120 @@ msgstr "" "\n" "Типові налаштування *цієї* копії програми:\n" -#: src/tar.c:1330 -#, fuzzy +#: src/tar.c:1253 msgid "Invalid owner or group ID" -msgstr "Невірний власник" +msgstr "Некоректний ідентифікатор власника або групи" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Неправильний фактор блокування" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Неправильна довжина стрічки" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Недійсне значення для рівня архівації" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Більш ніж одна гранична дата" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Недійсна версія формату розсіяних файлів" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" -msgstr "опція --atime-preserve='system' не підтримується на цій платформі" +msgstr "параметр --atime-preserve='system' не підтримується на цій платформі" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "аргумент --checkpoint мусить бути цілим числом" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" -msgstr "Невірний формат прав доступу" +msgstr "Некоректний формат прав доступу" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Невірне число" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"Опція --preserve є застарілою, замість неї використовуйте --preserve-" -"permissions --preserve-order" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" -msgstr "Невірний розмір запису" +msgstr "Некоректний розмір запису" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Розмір запису має ділитися на %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" -msgstr "Невірна кількість елементів" +msgstr "Некоректна кількість елементів" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" -msgstr "Дозволяється лише одна опція --to-command" +msgstr "Дозволяється лише одна параметр --to-command" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" -msgstr "Невірний аргумент вказання густини: `%s'" +msgstr "Некоректний аргумент вказання густини: `%s'" -#: src/tar.c:2205 -#, fuzzy, c-format +#: src/tar.c:2052 +#, c-format msgid "Unknown density: '%c'" -msgstr "Невідома густина: `%c'" +msgstr "Невідома густина: '%c'" -#: src/tar.c:2222 -#, fuzzy, c-format +#: src/tar.c:2069 +#, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" -msgstr "Опції `-[0-7][lmh]' не підтримуються *цією* версією tar" +msgstr "Підтримки параметрів '-[0-7][lmh]' у *цій* версії tar не передбачено" + +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: місце помилки" + +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "помилка розбору %s" -#: src/tar.c:2235 +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[ФАЙЛ]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "Шаблон %s забороняється уживати" +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "неопціональний аргумент для %s" + +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "не вдалося розділити значення TAR_OPTIONS: %s" -#: src/tar.c:2389 -#, fuzzy, c-format +#: src/tar.c:2293 +#, c-format msgid "Old option '%c' requires an argument." -msgstr "Стара опція `%c' потребує аргументу" +msgstr "Застарілий параметр `%c' потребує аргументу." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "вказання --occurrence не має сенсу без вказання переліку файлів" -#: src/tar.c:2490 -#, fuzzy +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" -msgstr "Вказання декількох файлів потребує вказання опції `-M'" +msgstr "Для визначення декількох файлів архівів слід використати параметр '-M'" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "Використання --level разом з --listed-incremental не має сенсу" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2475,74 +2518,81 @@ msgstr[0] "%s: Мітка тому є надто довга (обмеження msgstr[1] "%s: Мітка тому є надто довга (обмеження в %lu байти)" msgstr[2] "%s: Мітка тому є надто довга (обмеження в %lu байтів)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Не можна перевіряти багатотомні архіви" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Не можна перевіряти стиснені архіви" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Не можна використовувати стиснення багатотомних архівів" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Не можна з'єднувати стиснені архіви" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "--clamp-mtime вимагає опції --mtime для встановлення часу" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" -msgstr "Опція --pax-option використовується тільки з архівами у форматі POSIX" +msgstr "" +"Параметр --pax-option використовується тільки з архівами у форматі POSIX" -#: src/tar.c:2560 -#, fuzzy +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" -msgstr "Опція --pax-option використовується тільки з архівами у форматі POSIX" +msgstr "Параметр --acls можна використовувати лише для архівів у форматі POSIX" -#: src/tar.c:2565 -#, fuzzy +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" -msgstr "Опція --pax-option використовується тільки з архівами у форматі POSIX" +msgstr "" +"Параметр --selinux можна використовувати лише для архівів у форматі POSIX" -#: src/tar.c:2570 -#, fuzzy +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" -msgstr "Опція --pax-option використовується тільки з архівами у форматі POSIX" +msgstr "" +"Параметр --xattr можна використовувати лише для архівів у форматі POSIX" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Не вдалося визначити назву каталогу верхнього рівня. Будь ласка, вкажіть її " +"явним чином за допомогою параметра --one-top-level=КАТАЛОГ" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Розмір тому не може бути більшим від розміру запису" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Полохливо відмовляюся створювати пустий архів" -#: src/tar.c:2669 -#, fuzzy +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" -msgstr "Опції `-Aru' несумісні з `-f -'" +msgstr "Параметри '-Aru' несумісні з '-f -'" -#: src/tar.c:2766 -#, fuzzy +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" -msgstr "Необхідно вказати одну з опцій `-Acdtrux' або `--test-label'" +msgstr "" +"Слід вказати один з параметрів, '-Acdtrux', '--delete' або '--test-label'" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Невдачне завершення внаслідок попередніх помилок" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" +"спосіб упорядковування каталогів: none (немає, типовий), name (за назвою) " +"або inode (за номером вузла)" #: src/update.c:87 #, c-format @@ -2578,7 +2628,7 @@ msgstr "Невірно сформований розширений заголо #: src/xheader.c:677 #, c-format msgid "Extended header length %*s is out of range" -msgstr "Довжина розширеного заголовку %*s є за межами діапазону" +msgstr "Довжина розширеного заголовку %*s перебуває за межами діапазону" #: src/xheader.c:689 msgid "Malformed extended header: missing blank after length" @@ -2587,49 +2637,49 @@ msgstr "" #: src/xheader.c:697 msgid "Malformed extended header: missing equal sign" -msgstr "Невірно сформований розширений заголовок: відсутній знак рівняння" +msgstr "Невірно сформований розширений заголовок: відсутній знак рівності" #: src/xheader.c:703 msgid "Malformed extended header: missing newline" msgstr "Невірно сформований розширений заголовок: відсутній знак нового рядка" #: src/xheader.c:741 -#, fuzzy, c-format +#, c-format msgid "Ignoring unknown extended header keyword '%s'" -msgstr "Невідоме ключове слово `%s' іґнорується" +msgstr "Ігноруємо невідоме ключове слово розширеного заголовка, «%s»" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" -msgstr "Створена пара ключове слово/значення є за довга (ключ=%s, довжина=%s)" +msgstr "Створена пара ключове слово/значення є задовгою (ключ=%s, довжина=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "" "Значення розширеного заголовку %s=%s лежить поза допустимими межами типу %s.." "%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" -msgstr "Невірно сформований розширений заголовок: недійсна змінна %s=%s" +msgstr "Невірно сформований розширений заголовок: некоректна змінна %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Невірно сформований розширений заголовок: зайвий %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Невірно сформований розширений заголовок: змінна %s: неочікуваний розділювач " "%c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Невірно сформований розширений заголовок %s: непарна кількість значень" @@ -2637,7 +2687,7 @@ msgstr "Невірно сформований розширений заголо #: src/checkpoint.c:114 #, c-format msgid "%s: not a valid timeout" -msgstr "%s: недійсний ліміт часу" +msgstr "%s: некоректне обмеження часу очікування" #: src/checkpoint.c:121 #, c-format @@ -2670,291 +2720,263 @@ msgstr "Контрольна відмітка запису %u" msgid "Read checkpoint %u" msgstr "Контрольна відмітка читання %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" msgstr "" -"genfile - програма обробки файлів з набору перевірок пакету GNU paxutils\n" -"Перелік опцій:\n" +"genfile - програма обробки файлів з набору перевірок комплекту програм GNU " +"paxutils\n" +"Перелік параметрів:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" -msgstr "Опції створювання файлів:" +msgstr "Параметри створювання файлів:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "РОЗМІР" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Створити файл заданого розміру" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Писати у вказаний файл, замість стандартного виводу" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" -msgstr "Читати назви файлів з вказаного файлу" +msgstr "Читати назви файлів з вказаного файла" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "" -"файл, вказаний з опцією -T, містить назви, відокремлені нульовими символами" +"файл, вказаний з параметром -T, містить назви, відокремлені нульовими " +"символами" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" "Взірець заповнення файла: 'default' (типовий) або 'zeros' (заповнення нулями)" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Розмір блока розсіяного файла" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "Створити розсіяний файл. Решта аргументів дає мапу файла." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "ЗСУВ" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Перед записом даних перейти до вказаного зсуву в файлі" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "Не виводити повідомлення про не фатальні помилки" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Статистика файлів:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "Виводити вміст структури stat для кожного файла. Типовий формат: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Синхронне виконання:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" -msgstr "ОПЦІЯ" +msgstr "ПАРАМЕТР" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" -"Виконати вказану команду. Для використання з опціями --cut, --append, --" +"Виконати вказану команду. Для використання з параметрами --cut, --append, --" "touch або --unlink" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" "Виконати вказану операцію (див. нижче) по досягненню контрольної відмітки" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" -msgstr "Встановлює дати для наступної опції --touch" +msgstr "Встановлює дати для наступної параметра --touch" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Друкувати виконані операції і код завершення команди" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" "Операції синхронного виконання. Виконуються по досягненню контрольної " -"відмітки, вказаної опцією --checkpoint. " +"відмітки, вказаної параметром --checkpoint. " -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" -"Обрізати файл до розміру, вказаного попередньою опцією --length (до 0, якщо " -"її не було вказано)" +"Обрізати файл до розміру, вказаного попередньою параметром --length (до 0, " +"якщо її не було вказано)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." -msgstr "Додати до файла кількість байтів, вказану попередньою опцією --length." +msgstr "" +"Додати до файла кількість байтів, вказану попередньою параметром --length." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Поновити час доступу та модифікації файла" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Виконати КОМАНДУ" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" -msgstr "Видалити файл" +msgstr "Від’єднати файл" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" -msgstr "Невірний розмір: %s" +msgstr "Некоректний розмір: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Число поза допустимими межами: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Від'ємний розмір: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "збій виконання stat(%s)" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" -msgstr "замовлений розмір файлу %lu, справжній -- %lu" +msgstr "замовлений розмір файла %lu, справжній -- %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "створений файл не є розсіяним" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Помилка розбору числа біля `%s'" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Невідомий формат дати" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[АРГУМЕНТИ...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" -msgstr "не вдається відкрити `%s'" +msgstr "не вдалося відкрити `%s'" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" -msgstr "не вдається виконати lseek" +msgstr "не вдалося виконати lseek" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "назва файла містить нульовий символ" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "неможливо створювати розсіяні файли на стандартному виводі; користайтеся " -"опцією --file" +"параметром --file" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" -msgstr "недійсна маска (біля `%s')" +msgstr "некоректна маска (біля `%s')" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Невідоме поле `%s'" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" -msgstr "не вдається встановити час файла `%s'" +msgstr "не вдалося встановити часову позначку файла `%s'" -#: tests/genfile.c:692 -#, fuzzy, c-format +#: tests/genfile.c:760 +#, c-format msgid "cannot truncate `%s'" -msgstr "не вдається видалити `%s'" +msgstr "не вдалося обрізати «%s»" -#: tests/genfile.c:701 -#, fuzzy, c-format +#: tests/genfile.c:769 +#, c-format msgid "command failed: %s" -msgstr "збій виконання `%s'" +msgstr "помилка команди: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" -msgstr "не вдається видалити `%s'" +msgstr "не вдалося вилучити `%s'" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" -msgstr "Команда завершилася успішно\n" +msgstr "Виконання команди успішно завершено\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" -msgstr "Команда завершилася з кодом %d\n" +msgstr "Не вдалося виконати команду. Стан %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" -msgstr "Команда завершилася по сигналу %d\n" +msgstr "Команда завершилася за сигналом %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" -msgstr "Команда зупинилася по сигналу %d\n" +msgstr "Команда зупинилася за сигналом %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Команда скинула відбиток пам'яті\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Команда завершилася\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" -msgstr "опція --stat вимагає назв файлів" - -#~ msgid "sort names to extract to match archive" -#~ msgstr "витягувати файли у порядку їх з'явлення в архіві" - -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "" -#~ "опцію --occurrence не можна використовувати у зазначеному режимі роботи" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "Не можна використовувати --listed-incremental разом з --newer" - -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "Опція --preserve-order несумісна з --listed-incremental" - -#~ msgid "Field too long while reading snapshot file" -#~ msgstr "З файла-знімка прочитано надто довге поле" - -#~ msgid "Read error in snapshot file" -#~ msgstr "Помилка читання файла-знімка" - -#~ msgid "Unexpected field value in snapshot file" -#~ msgstr "Неочікуваний кінець файла-знімка" - -#~ msgid "Cannot get working directory" -#~ msgstr "Не вдається отримати поточний каталог" - -#~ msgid "%s: Directory removed before we read it" -#~ msgstr "%s: Каталог було видалено перед тим як tar встиг його прочитати" - -#~ msgid "Invalid group" -#~ msgstr "Недійсна група" - -#~ msgid "Extended header length is out of allowed range" -#~ msgstr "Довжина розширеного заголовку є за межами діапазону" +msgstr "параметр --stat вимагає назв файлів" diff --git a/po/vi.gmo b/po/vi.gmo index f1ed4bb2fc02067022c6277813e17bf13676aff7..58dcde7ad47db856f11de77d9c84505629e9cc98 100644 GIT binary patch delta 14797 zcmbW-3w+M?|NrsNHQSs=+ni4yhcRpnW6rjm3ppPXvt8_ByEfZ3hp3BmMyf@QMUs$H z7nLocNks@LNi?ODbWrJ_Z~Y$6>-|ys|Gu~X@B90GZnwAl>-GMe-p9{I9hn>Y{lZZH z*~rkvF3YmIgjiMrR*$qSS1E!<2%%KU3RqbeaCF8R*aZ*b2#m%Ctt=}XlhDSlSP#cx z1@t>Ezz4{ewX*zHRf77hEvp5#cbtSVnT4v8>+M4r#A-H&(>8 zSR1!vOFV*V$RF4V>n2)OO&p!*H!sMiq8b$sU=@5CE8|YAiwCeVUchLq(AKg#VtrIY zZpU`$$2;&P)C;OmSsfFwDfUH;L>{K&96v!E!39(UB9knO&RNZnQL@G&@3ac|Dh2)bXBJPFm~!KnM(SO*tkJ=UMKDHvGR zA#`!#l5@dj)J7=Z&5TGTRL@$YR{12XfnJQj2OXb8z3@3yk9Q%RwmwBI(t62eWP4ys zKNT|+;Pa>+pF*`fEXA^#qm6a3A8KT#pc*g_OXI_+sd^lH;sMl)E8J{ZtV63EcEn87 z^Vg$B>OJ(U2mc~a%c^xZi>fo$BOiilKpytOr%^BZ9GhXy9%f{EqF$7NYS>e#Azp`? z+G5nUJ%{Q*Wm>6*$M$6W6(l$n?U7NplCd%Ru@OFpdhsC~g@2+RJc?H7x_s1bSc&y9 zfNJhU5}gI;vQ)1&IBMbaK^?2meo7qx5VV-sA5+W&`9Jw1aOiJwu|MGQ7Cj78OVcJd)unfF_h z2!btiPAtYq>NlX~>{Tp{r%^+F9^)`%h-q+3tVrGywYY|$MqngriqcUXnSz@0IjE6( z8vP3P5ooSHbu7bzXh|NA?Qkrrr%#~1WUpdZ`~_n%X_(pn<55Gr1e@Z1)Y|z5^RUKn z%Syq87>!4VGyWQ)�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 EU)=hrPyhe` delta 13262 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 BXaoQN diff --git a/po/vi.po b/po/vi.po index 1bd4ee32..d2ddce3d 100644 --- a/po/vi.po +++ b/po/vi.po @@ -1,17 +1,18 @@ # Vietnamese translation for Tar. -# Copyright © 2013 Free Software Foundation, Inc. +# Bản dịch tiếng Việt dành cho tar. +# Copyright © 2014 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. # Phan Vinh Thinh , 2005. # Clytie Siddall , 2007-2010. -# Trần Ngọc Quân , 2012-2013. +# Trần Ngọc Quân , 2012-2014. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar-1.27\n" +"Project-Id-Version: tar-1.28\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2013-10-07 14:21+0700\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2014-07-29 07:49+0700\n" "Last-Translator: Trần Ngọc Quân \n" "Language-Team: Vietnamese \n" "Language: vi\n" @@ -24,46 +25,46 @@ msgstr "" "X-Poedit-Country: VIET NAM\n" "X-Poedit-SourceCharset: utf-8\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" -msgstr "tham số không thích hợp %s cho %s" +msgstr "tham số %s không hợp lệ với %s" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" -msgstr "tham số không rõ ràng %s cho %s" +msgstr "tham số %s không rõ ràng với %s" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "Các tham số đúng là:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: giá trị %s nhỏ hÆ¡n hay bằng %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: tham số ARGP_HELP_FMT yêu cầu một giá trị" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: tham số ARGP_HELP_FMT phải là số dÆ°Æ¡ng" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Tham số không rõ ARGP_HELP_FMT" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Có rác trong ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -71,146 +72,150 @@ msgstr "" "Các tham số là bắt buộc hay không bắt buộc cho các tùy chọn dài thì cÅ©ng yêu " "cầu nhÆ° thế khi dùng tùy chọn ngắn tÆ°Æ¡ng ứng." -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "Cách dùng:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " hoặc: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [TÙY CHỌN...]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Hãy chạy “%s --help” hoặc “%s --usage” để biết thêm thông tin.\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "" "Thông báo lỗi cho %s.\n" -"Báo cáo lỗi dịch cho nhóm dịch tiếng Việt: \n" +"Báo cáo lỗi dịch cho: .\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "Lỗi hệ thống không rõ" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "hiển thị trợ giúp này" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "hiển thị cách sá»­ dụng dạng ngắn gọn" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "TÊN" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "đặt tên chÆ°Æ¡ng trình" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "GIÂY" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "treo trong vòng GIÂY giây (mặc định 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "In ra phiên bản chÆ°Æ¡ng trình" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(LỖI CHƯƠNG TRÌNH) Không rõ phiên bản!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Quá nhiều đối số\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(LỖI CHƯƠNG TRÌNH) Tùy chọn nên được nhận ra!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "lỗi ghi" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: tùy chọn “%s” chÆ°a rõ ràng; khả năng là:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: tùy chọn “-W %s” vẫn chÆ°a rõ ràng\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: tùy chọn “--%s” không cho phép đối số\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: tùy chọn “%c%s” không cho phép đối số\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: tùy chọn “--%s” yêu cầu một đối số\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: không nhận ra tuỳ chọn “--%s”\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: không nhận ra tuỳ chọn “%c%s”\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: tùy chọn sai -- “%c”\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: tùy chọn yêu cầu một đối số -- “%c”\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: tùy chọn “-W %s” vẫn chÆ°a rõ ràng\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: tùy chọn “-W %s” không cho phép đối số\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: tùy chọn “-W %s” yêu cầu một đối số\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" -msgstr "cạn bộ nhớ" +msgstr "hết bộ nhớ" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" -msgstr "Không thể thu thÆ° mục làm việc hiện thời" +msgstr "Không thể ghi lại thÆ° mục làm việc hiện thời" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "không trở được về thÆ° mục làm việc đầu tiên" @@ -236,11 +241,11 @@ msgstr "không trở được về thÆ° mục làm việc đầu tiên" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "“" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "”" @@ -250,7 +255,7 @@ msgstr "”" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[cCyY]" @@ -260,16 +265,16 @@ msgstr "^[cCyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[kKnN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Đóng gói bởi %s (%s)\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Đóng gói bởi %s\n" @@ -277,11 +282,11 @@ msgstr "Đóng gói bởi %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -417,28 +422,26 @@ msgid "" msgstr "" "\n" "Báo cáo lỗi cho: %s\n" -"Báo cáo lỗi dịch cho nhóm dịch tiếng Việt: \n" +"Báo cáo lỗi dịch cho: \n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" "Báo cáo lỗi liên quan đến %s cho: %s\n" -"Báo cáo lỗi dịch cho nhóm dịch tiếng Việt: \n" +"Báo cáo lỗi dịch cho: \n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Trang chủ %s: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Trang chủ %s: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Trợ giúp chung về cách sá»­ dụng phần mềm GNU: \n" @@ -555,7 +558,7 @@ msgstr "Không thể chuyển hướng kết xuất các tập tin cho hệ vỏ #: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" -msgstr "Không thể chạy shell ở xa" +msgstr "Không thể chạy hệ vỏ ở xa" #: rmt/rmt.c:432 msgid "Seek direction out of range" @@ -601,8 +604,8 @@ msgstr "Gặp đối số bất thường" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Thao tác một ổ băng từ, chấp nhận lệnh từ một tiến trình ở xa" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "SỐ" @@ -610,10 +613,11 @@ msgstr "SỐ" msgid "set debug level" msgstr "đặt cấp gỡ rối" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "TẬP-TIN" @@ -626,7 +630,7 @@ msgstr "đặt tên tập tin kết xuất gỡ rối" msgid "cannot open %s" msgstr "không thể mở %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "quá nhiều đối số" @@ -635,111 +639,110 @@ msgstr "quá nhiều đối số" msgid "Garbage command" msgstr "Câu lệnh rác" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "Đây có vẻ không phải là một kho lÆ°u tar" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "Tổng số byte đã đọc" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "Tổng số byte đã ghi" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "Tổng số byte đã xoá: %s\n" +msgstr "Tổng số byte đã xoá" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(đường ống)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "Từ chối đọc nội dung kho lÆ°u từ thiết bị cuối (thiếu tùy chọn -f ?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "Từ chối ghi nội dung kho lÆ°u vào thiết bị cuối (thiếu tùy chọn -f ?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" -msgstr "Giá trị cho `record_size' không đúng" +msgstr "Giá trị cho “record_size” không đúng" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "Không đưa ra tên kho lÆ°u" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "Không kiểm tra được kho lÆ°u stdin/stdout" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "Kho lÆ°u được nén. Hãy sá»­ dụng tùy chọn %s" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "Không cập nhật được kho lÆ°u đã nén" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "Tại đầu băng từ, thoát ra bây giờ" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "Quá nhiều lỗi, đang thoát" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Kích cỡ mục ghi = %lu khối" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Khối chÆ°a sắp hàng (%lu byte) trong kho lÆ°u" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Không thể \"tua\" lại tập tin kho lÆ°u; nó có thể không đọc được khi không có " "“-i”" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek không dừng lại tại một ranh giới bản ghi" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: chứa số thứ tá»± khối không đúng" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "Số thứ tá»± khối thừa ra" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Chuẩn bị khối #%d cho %s và nhấn Enter: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "Kết thúc tập tin (EOF) bất ngờ khi cần trả lời của người dùng" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "CẢNH BÁO: Kho lÆ°u không hoàn thành" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -751,65 +754,65 @@ msgstr "" " q Dừng tar\n" " y hay dòng mới Tiếp tục lại chạy tiến trình\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Sản sinh một hệ vỏ con\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? In ra danh sách này\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "Không có khối mới; đang thoát.\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "ChÆ°a ghi rõ tên tập tin. Hãy thá»­ lại.\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Gõ sai. (Gõ ? để xem trợ giúp.)\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "Câu lệnh %s không thành công" -#: src/buffer.c:1491 -#, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s có thể tiếp tục trên khối tin này: phần đầu chứa tên bị cắt ngắn" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s không tiếp tục trên khối này" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s có thể tiếp tục trên khối tin này: phần đầu chứa tên bị cắt ngắn" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s là kích thước sai (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Khối tin này vượt quá dãy cho phép (%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "Kho lÆ°u không có nhãn tÆ°Æ¡ng ứng với %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "Khối %s không tÆ°Æ¡ng ứng %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -817,7 +820,7 @@ msgstr "" "%s: tên tập tin quá dài để chứa trong một phần đầu đa khối GNU nên bị cắt " "ngắn" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "tiến trình ghi (write) không dừng lại tại một ranh giới khối" @@ -827,20 +830,20 @@ msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Chỉ đọc được %lu từ %lu byte" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "Diff nội dung" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "Kết thúc tập tin bất ngờ trong kho lÆ°u" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "Diff dạng tập tin" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "Diff chế độ" @@ -856,7 +859,7 @@ msgstr "Khác biệt Gid" msgid "Mod time differs" msgstr "Khác biệt thời gian sá»­a đổi" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "Khác biệt kích thước" @@ -865,137 +868,137 @@ msgstr "Khác biệt kích thước" msgid "Not linked to %s" msgstr "Không liên kết tới %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "Khác biệt liên kết mềm" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "Diff số thứ tá»± của thiết bị" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "Kiểm tra " -#: src/compare.c:473 +#: src/compare.c:477 #, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" "%s: Không rõ kiểu tập tin “%c” nên khác biệt (diff) nhÆ° tập tin thông thường" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "Kho lÆ°u chứa tên tập tin không có tiền tố ở đầu." -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "Tài liệu được nén có chứa tên tệp tin chuyển đổi." -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "Sá»± kiểm tra có thể không định vị được các tập tin gốc." -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "LỖI KIỂM TRA: tìm thấy %d phần đầu không đúng" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "Một khối không đơn lẻ tại %s" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: chứa một thẻ thÆ° mục ghi nhớ tạm %s: %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "giá trị %s vượt quá %s phạm vi %s..%s; đang thay thế %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "giá trị %s vượt quá %s phạm vi %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "Đang tạo phần đầu hệ bát phân âm" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: tên tập tin quá dài (tối đa là %d); không được dump" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: tên tập tin quá dài (không chia được); không được dump" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: tên liên kết quá dài; không được dump" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Tập tin được rút ngắn %s byte; độn vào bắng các số không" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: tập tin trên một hệ thống tập tin khác; không được dump" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "chÆ°a đổ nội dung" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Không hiểu kiểu tập tin; tập tin bị lờ đi" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "Thiếu liên kết tới %s." -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: tập tin chÆ°a thay đổi; không được dump" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: tập tin là kho lÆ°u; không được đổ" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "chÆ°a đổ thÆ° mục" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: tập tin đã thay đổi khi chúng ta đọc nó" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: socket bị lờ đi" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: cá»­a (door) bị lờ đi" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "Nhảy tới phần đầu tiếp theo" @@ -1013,55 +1016,55 @@ msgstr "%s: tem thời gian cÅ© không hợp lý %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s: dấu vết thời gian %s là %s giây trong tÆ°Æ¡ng lai" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Sá»± mâu thuẫn bất ngờ khi tạo thÆ° mục" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "%s: bỏ qua tập tin sẵn có" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Đổi tên thÆ° mục trước khi có thể rút trích trạng thái của nó" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "Rút trích các tập tin liền nhau thành những tập tin thông thường" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "Đang thá»­ rút trích liên kết mềm thành liên kết cứng" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Không rút trích được -- tập tin tiếp tục từ khối khác" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "Gặp phần đầu tên dài bất ngờ" -#: src/extract.c:1542 +#: src/extract.c:1587 #, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "" "%s: Không hiểu kiểu tập tin “%c” nên rút trích nhÆ° tập tin thông thường" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "%s hiện tại là mới hÆ¡n hoặc cùng tuổi" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Không thể sao lÆ°u tập tin này" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "Không thể đổi tên %s thành %s" @@ -1111,16 +1114,16 @@ msgstr "Số thứ tá»± chỉ mục inode sai" msgid "%s: byte %s: %s %.*s... too long" msgstr "%s: byte %s: %s %.*s... quá dài" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "Kết thúc tập tin (EOF) bất ngờ trong tập tin ảnh chụp" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "%s: byte %s: %s %s được theo sau bởi byte 0x%02x không hợp lệ" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" @@ -1129,200 +1132,201 @@ msgstr "" "%s: byte %s: (vùng %s..%s không hợp lệ)\n" "\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "%s: byte %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "%s: byte %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "Thiếu dấu giới hạn mục ghi" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "Định dạng tập tin dần sai" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "Phiên bản định dạng dần không được hỗ trợ: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "ThÆ° mục đổ dạng sai: cần “%c” nhÆ°ng lại nhận được %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "ThÆ° mục đổ dạng sai: “X” đã nhân đôi" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "ThÆ° mục đổ dạng sai: tên rỗng trong “R”" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "ThÆ° mục đổ dạng sai: “T” không có “R” đi trước" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "ThÆ° mục đổ dạng sai: tên rỗng trong “T”" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "ThÆ° mục đổ dạng sai: cần “%c” nhÆ°ng lại gặp kết thúc dữ liệu" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "ThÆ° mục đổ dạng sai: “X” không bao giờ dùng" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Không thể tạo thÆ° mục tạm bằng mẫu %s" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Không làm sạch thÆ° mục: không thể lấy trạng thái (stat)" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: thÆ° mục trên một thiết bị khác: không làm sạch" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Đang xóa %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s: Không thể xóa bỏ" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s: Đang bỏ đi" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "khối %s: ** Khối của các số không (NUL) **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "khối %s: ** Kết thúc tập tin **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "khối %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Khoảng trống trong Phần đầu trong khi cần một giá trị số %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" "Giá trị hệ tám %.*s của kho lÆ°u vượt ra phạm vi %s; coi nhÆ° phần bù của hai" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Giá trị hệ tám %.*s của kho lÆ°u vượt ra phạm vi %s" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "Kho lÆ°u chứa phần đầu base-64 không còn dùng nữa" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Kho lÆ°u ký chuỗi base-64 %s vượt ra ngoài vùng %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Giá trị base-256 của kho lÆ°u vượt ra ngoài vùng %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Kho lÆ°u chứa %.*s nÆ¡i mà cần giá trị số %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Giá trị kho lÆ°u %s vượt quá phạm vi %s (%s..%s)" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " liên kết tới %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " kiểu tập tin không rõ %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--Liên kết Dài--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--Tên Dài--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--Phần đầu Khối--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Tiếp tục tại byte %s--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "Đang tạo thÆ° mục:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "Đang đổi tên %s thành %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Không thể đổi tên thành %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "Đang đổi tên %s ngược lại thành %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Tập tin bị xóa trước khi chúng ta đọc nó" @@ -1335,30 +1339,187 @@ msgstr "tiến trình con" msgid "interprocess channel" msgstr "kênh liên tiến trình" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "Lá»±a chọn tập tin nội bộ:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"thêm vào kho lÆ°u TẬP-TIN đã cho (có ích nếu tên nó bắt đầu với dấu gạch)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "TMỤC" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "thay đổi tới thÆ° mục THƯ MỤC" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "lấy các tên tập tin cần rút trích hay tạo từ TẬP-TIN" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T đọc tên kết thúc bằng ký hiệu null, tắt -C" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "tắt hiệu ứng của tùy chọn “--null” trước đây" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "hủy trích dẫn các tên tập tin hay thành viên (mặc định)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "đừng hủy trích dẫn các tên tập tin hay thành viên" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "MẪU" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "loại trừ những tập tin tÆ°Æ¡ng ứng với MẪU" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "loại trừ những mẫu liệt kê trong TẬP-TIN" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"loại trừ nội dung của thÆ° mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG, trừ tập tin " +"thẻ chính nó" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "" +"loại trừ mọi thứ đều nằm dưới thÆ° mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "loại trừ thÆ° mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "loại trừ nội dung của thÆ° mục chứa TẬP-TIN, trừ TẬP-TIN chính nó" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "đọc các mẫu loại trừ cho từng thÆ° mục từ TẬP-TIN, nếu có" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" +"đọc các mẫu loại trừ cho từng thÆ° mục và những thÆ° mục con của nó từ TẬP-" +"TIN, nếu có" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "loại trừ mọi thứ đều nằm dưới thÆ° mục chứa TẬP-TIN" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "loại trừ thÆ° mục chứa TẬP-TIN" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "loại trừ thÆ° mục của hệ thống điều khiển phiên bản (v.d. “.svn”)" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "đọc các mẫu loại trừ từ tập tin bỏ qua của VSC" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "loại trừ tập tin kiểu sao lÆ°u và khoá" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "đệ quy vào các thÆ° mục (mặc định)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "tránh sá»± giảm dần một cách tá»± động trong các thÆ° mục" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Tùy chọn khớp tên tập tin (có tác động mẫu kiểu cả hai loại trừ và bao gồm):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "mẫu tÆ°Æ¡ng ứng với bắt đầu tên tập tin" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "mẫu khớp sau bất kỳ “/” nào (mặc định để loại trừ)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "không phân biệt HOA/thường" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "khớp mẫu phân biệt HOA/ thường (mặc định)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "dùng ký tá»± đại diện (mặc định để loại trừ)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "khớp đúng nguyên văn" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "ký tá»± đại khớp “/” (mặc định để loại trừ)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "ký tá»± đại diện không khớp “/”" + +#: src/names.c:768 msgid "command line" msgstr "dòng lệnh" -#: src/names.c:378 +#: src/names.c:786 #, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s: danh sách tập tin đã yêu cầu từ %s đã sẵn được đọc từ %s" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, c-format msgid "cannot split string '%s': %s" msgstr "không thể chia tách chuỗi “%s”: %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: đọc tên tập tin chứa ký tá»± vô giá trị" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "Tên tập tin chứa ký tá»± khớp mẫu" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1366,47 +1527,47 @@ msgstr "" "Dùng “--wildcards” (ký tá»± đặi diện) để hiệu lá»±c chức năng khớp mẫu,\n" "hoặc “--no-wildcards” để thu hồi cảnh báo này." -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s: Không tìm thấy trong kho lÆ°u" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Không tìm thấy phần tá»­ yêu cầu trong kho lÆ°u" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "Sai khớp nhãn kho lÆ°u" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Sá»­ dụng tuỳ chọn “-C” bên trong danh sách tập tin không được phép với “--" "listed-incremental”" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Chỉ cho phép một tuỳ chọn “-C” với “--listed-incremental”" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "Cả hai tùy chọn “-%s” và “-%s” đều muốn đầu vào tiêu chuẩn" +msgstr "Cả hai tùy chọn “%s” và “%s” đều muốn đầu vào tiêu chuẩn" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Định dạng kho lÆ°u không đúng" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "Muốn tính năng GNU trên định dạng kho lÆ°u không tÆ°Æ¡ng thích" -#: src/tar.c:264 +#: src/tar.c:265 #, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." @@ -1414,7 +1575,7 @@ msgstr "" "Không rõ kiểu trích dẫn “%s”. Hãy chạy lệnh “%s --quoting-style=help” để lấy " "danh sách." -#: src/tar.c:378 +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1433,7 +1594,7 @@ msgstr "" "kho.tar.\n" " tar -xf kho.tar # Rút trích tất cả các tập tin từ kho.tar.\n" -#: src/tar.c:387 +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1455,79 +1616,87 @@ msgstr "" "dạng đơn giản\n" " never, simple luôn luôn tạo bản sao lÆ°u dạng đơn giản\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "Chế độ thao tác chính:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "liệt kê nội dung của một kho lÆ°u" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "rút trích các tập tin từ một kho lÆ°u" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "tạo một kho lÆ°u mới" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "tìm sá»± khác nhau giữa kho lÆ°u và hệ thống tập tin" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "thêm các tập tin vào cuối một kho lÆ°u" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "chỉ thêm những tập tin mới hÆ¡n bản sao trong kho lÆ°u" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "thêm các tập tin tar vào một kho lÆ°u" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "xóa từ kho lÆ°u (không dùng trên các băng ghi âm mag!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "thá»­ nhãn khối tin kho lÆ°u rồi thoát" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "Từ khóa bổ nghÄ©a thao tác:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "điều khiển các tập tin thÆ°a thớt một cách có hiệu quả" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "CHÍNH[.PHỤ] " -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "đặt phiên bản của định dạng sparse cần dùng (ngụ ý “--sparse”)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "điều khiển sao lÆ°u incremental có định dạng GNU cÅ©" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "điều khiển sao lÆ°u incremental có định dạng GNU mới" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "cấp đổ cho kho lÆ°u liệt kê tăng dần được tạo" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "đừng thoát với giá trị khác không trên tập tin không thể đọc" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1544,139 +1713,148 @@ msgstr "" "T”.\n" "Mặc định SỐ có giá trị bằng 1." -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "có thể tìm nÆ¡i trong kho lÆ°u" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "không thể tìm nÆ¡i trong kho lÆ°u" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "đừng kiểm tra số thứ tá»± thiết bị khi tạo kho nén dần" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "kiểm tra số thứ tá»± thiết bị khi tạo kho lÆ°u tăng dần" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "Điều khiển ghi đè:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "thá»­ kiểm tra kho lÆ°u sau khi ghi nó" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "xóa bỏ các tập tin sau khi thêm chúng vào kho lÆ°u" -#: src/tar.c:485 +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" msgstr "" "khi rút trích thì không thay thế những tập tin đã có, mà coi đó là các lỗi" -#: src/tar.c:488 +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" msgstr "" "khi rút trích thì không thay thế những tập tin đã có, chỉ âm thầm bỏ qua " "chúng" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "không thay thế những tập tin đã có mà mới hÆ¡n bản sao trong kho lÆ°u" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "ghi đè lên những tập tin đã có khi rút trích" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "xóa bỏ quyền Æ°u tiên của mỗi tập tin để rút trích và ghi đè lên nó" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "xóa sạch quyền Æ°u tiên trong cây thÆ° mục để rút trích thÆ° mục" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "bảo quản dữ liệu mêta của các thÆ° mục đã có" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "ghi đè lên siêu dữ liệu của những thÆ° mục đã có khi rút trích (mặc định)" -#: src/tar.c:504 +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" msgstr "bảo tồn liên kết mềm đến các thÆ° mục sẵn có khi rút trích" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "TMỤC" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "tạo một thÆ° mục để tranhs mất các tập tin đã rút trích" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "Chọn luồng dữ liệu xuất:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "rút trích tập tin ra đầu ra tiêu chuẩn" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "LỆNH" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "gá»­i các tập tin đã rút trích qua ống dẫn cho chÆ°Æ¡ng trình khác" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "bỏ qua mã thoát của tiến trình con" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "xá»­ lý mã thoát khác số không của tiến trình con nhÆ° lỗi" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "Điều khiển thuộc tính tập tin:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "bắt buộc dùng TÊN làm người sở hữu cho những tập tin thêm vào" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "bắt buộc dùng TÊN làm nhóm sở hữu cho những tập tin thêm vào" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "NGÀY-CỦA-TẬP-TIN" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "đặt từ NGÀY-CỦA-TẬP-TIN thời gian mtime cho các tập tin đã thêm" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "TH.ĐỔI" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "bắt buộc THAY_ĐỔI chế độ (ký hiệu) cho những tập tin thêm vào" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "PHƯƠNG_THỨC" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1686,11 +1864,11 @@ msgstr "" "thời gian sau khi đọc (PHƯƠNG_THỨC=“replace”; mặc định), hoặc bằng cách " "không đặt thời gian nhÆ° vậy (PHƯƠNG_THỨC=“system”)" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "không rút trích thời gian sá»­a đổi của tập tin" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1698,23 +1876,23 @@ msgstr "" "thá»­ rút trích tập tin cùng quyền sở hữu với tập tin trong kho lÆ°u (mặc định " "cho siêu người dùng)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "" "rút trích tập tin dưới tên người dùng riêng (mặc định cho người dùng bình " "thường)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "luôn luôn sá»­ dụng số cho tên người dùng/nhóm" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "" "cÅ©ng rút trích thông tin về quyền truy cập tập tin (mặc định cho siêu người " "dùng)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1722,17 +1900,13 @@ msgstr "" "áp dụng umask của người dùng khi rút trích quyền truy cập ra từ kho lÆ°u (mặc " "định cho người dùng bình thường)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" "các đối số thành viên được liệt kê cùng thứ tá»± với các tập tin trong kho lÆ°u" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "giống nhÆ° khi có hai tùy chọn -p và -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1740,187 +1914,187 @@ msgstr "" "hoãn đến kết thúc tiến trình rút trích việc đặt thời gian sá»­a đổi và quyền " "truy cập các thÆ° mục đã rút trích" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "hủy hiệu ứng của tùy chọn “--delay-directory-restore”" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "THỨ_Tá»°" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "thứ tá»± sắp xếp thÆ° mục: không (mặc định) hoặc tên" -#: src/tar.c:578 +#: src/tar.c:560 msgid "Handling of extended file attributes:" msgstr "Điều khiển thuộc tính tập tin mở rộng:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "Bật hỗ trợ các thuộc tính mở rộng" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "Tắt hỗ trợ các thuộc tính mở rộng" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "MẶT_NẠ" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "chỉ định mẫu bao gồm cho khóa “xattr”" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "chỉ định mẫu loại trừ cho khóa “xattr”" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "Bật hỗ trợ ngữ cảnh SELinux" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "Tắt hỗ trợ ngữ cảnh SELinux" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "Bật hỗ trợ “POSIX ACLs”" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "Tắt hỗ trợ “POSIX ACLs”" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "Lá»±a chọn và chuyển đổi thiết bị:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "KHO-LƯU" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "sá»­ dụng tập tin kho lÆ°u hoặc thiết bị KHO_LƯU" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "tập tin kho lÆ°u là cục bộ thậm chí nếu có một dấu hai chấm" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "sá»­ dụng CÂU LỆNH rmt đưa ra thay cho rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "sá»­ dụng CÂU LỆNH từ xa thay cho rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "chỉ ra ổ đĩa và mật độ ghi dữ liệu" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "tạo/liệt kê/rút trích kho lÆ°u nhiều khối" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "thay băng từ (tape) sau khi ghi SỐ x 1024 byte" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "chạy script tại cuối mỗi băng ghi âm (có nghÄ©a -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "sá»­ dụng/cập nhật số thứ tá»± khối trong TẬP-TIN" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "Khối của thiết bị:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "KHỐI " -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "KHỐI x 512 byte cho mỗi bản ghi" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "SỐ byte cho mỗi bản ghi, bội số của 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "lờ đi những khối không (zero) trong kho lÆ°u (có nghÄ©a EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "đặt khối lại khi chúng ta đọc (cho đường ống 4.2BSD)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "Lá»±a chọn định dạng kho lÆ°u:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "Đ.DẠNG" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" -msgstr "tạo lÆ°Æ° trữ với định dạng đưa ra" +msgstr "tạo kho lÆ°u với định dạng đưa ra" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "ĐỊNH DẠNG là một trong số sau:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "định dạng tar V7 cÅ©" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "định dạng GNU theo nhÆ° tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "định dạng tar GNU 1.13.x" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "định dạng POSIX 1003.1-1988 (ustar)" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "định dạng POSIX 1003.1-2001 (pax)" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "giống nhÆ° pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "giống nhÆ° “--format=v7”" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "giống nhÆ° “--format=posix”" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "từ_khoá[[:]=giá_trị][,từ_khoá[[:]=giá_trị]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "từ khóa điều khiển pax" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "VĂN_BẢN" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1928,181 +2102,79 @@ msgstr "" "tạo kho lÆ°u với tên khối tin VĂN_BẢN; tại thời điểm liệt kê/rút trích, sá»­ " "dụng VĂN_BẢN làm mẫu glob cho tên khối tin" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "Tùy chọn nén:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "dùng hậu tố kho lÆ°u để xác định chÆ°Æ¡ng trình nén" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "không nên dùng hậu tố kho lÆ°u để xác định chÆ°Æ¡ng trình nén" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PMỀM" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "lọc qua chÆ°Æ¡ng TRÌNH (phải chấp nhận -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "Lá»±a chọn tập tin nội bộ:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "" -"thêm vào kho lÆ°u TẬP-TIN đã cho (có ích nếu tên nó bắt đầu với dấu gạch)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "thay đổi tới thÆ° mục THƯ MỤC" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "lấy các tên tập tin cần rút trích hay tạo từ TẬP-TIN" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T đọc tên kết thúc vô hiệu lá»±c, tắt -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "tắt hiệu ứng của tùy chọn “--null” đi trước" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "hủy trích dẫn các tên tập tin được đọc bằng “-T” (mặc định)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "đừng hủy trích dẫn các tên tập tin được đọc bằng “-T”" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "MẪU" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "loại trừ những tập tin tÆ°Æ¡ng ứng với MẪU" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "loại trừ những mẫu liệt kê trong TẬP-TIN" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "" -"loại trừ nội dung của thÆ° mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG, trừ tập tin " -"thẻ chính nó" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "" -"loại trừ mọi thứ đều nằm dưới thÆ° mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "loại trừ thÆ° mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "loại trừ nội dung của thÆ° mục chứa TẬP-TIN, trừ TẬP-TIN chính nó" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "loại trừ mọi thứ đều nằm dưới thÆ° mục chứa TẬP-TIN" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "loại trừ thÆ° mục chứa TẬP-TIN" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "loại trừ thÆ° mục của hệ thống điều khiển phiên bản (v.d. “.svn”)" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "loại trừ tập tin kiểu sao lÆ°u và khoá" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "tránh sá»± giảm dần một cách tá»± động trong các thÆ° mục" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "nằm trong hệ thống tập tin nội bộ khi tạo kho lÆ°u" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "đệ quy vào các thÆ° mục (mặc định)" - -#: src/tar.c:761 +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "đừng bỏ “/” ở đầu tên tập tin" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "theo liên kết mềm; kho lÆ°u và đổ tập tin tới đó nó chỉ" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "theo liên kết cứng; kho lÆ°u và đổ tập tin tới đó nó chỉ" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "TÊN-TH.VIÊN" -#: src/tar.c:767 +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" msgstr "bắt đầu tại thành viên TÊN-THÀNH-VIÊN khi đọc kho lÆ°u" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "chỉ chứa những tập tin mới hÆ¡n NGÀY-CỦA-TẬP-TIN" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "NGÀY" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "so sánh ngày và thời gian chỉ khi dữ liệu thay đổi" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "Đ.KHIỂN" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "sao lÆ°u trước khi xóa, chọn phiên bản ĐIỀU KHIỂN" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "CHUỖI" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2110,137 +2182,98 @@ msgstr "" "sao lÆ°u trước khi xóa, ghi đè hậu tố thông thường (“~” trừ khi ghi đè bằng " "biến môi trường SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "Chuyển dạng tên tập tin:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "bỏ đi SỐ thành phần đứng đầu ra tên tập tin khi rút trích" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "BIỂU-THỨC" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "dùng “sed replace BIỂU THỨC” để chuyển dạng tên tập tin" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "" -"Tùy chọn khớp tên tập tin (có tác động mẫu kiểu cả hai loại trừ và bao gồm):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "không phân biệt HOA/thường" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "mẫu tÆ°Æ¡ng ứng với bắt đầu tên tập tin" - -#: src/tar.c:799 -msgid "patterns match after any '/' (default for exclusion)" -msgstr "mẫu khớp sau bất kỳ “/” nào (mặc định để loại trừ)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "khớp mẫu phân biệt HOA/ thường (mặc định)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "dùng ký tá»± đại diện (mặc định để loại trừ)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "khớp đúng nguyên văn" - -#: src/tar.c:807 -msgid "wildcards do not match '/'" -msgstr "ký tá»± đại diện không khớp “/”" - -#: src/tar.c:809 -msgid "wildcards match '/' (default for exclusion)" -msgstr "ký tá»± đại khớp “/” (mặc định để loại trừ)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "Dữ liệu kết quả có tính thông tin:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "liệt kê một cách tỉ mỉ những tập tin được xá»­ lý" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" -msgstr "T.KHOÁ" +msgstr "TỪKHOÁ" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "điều khiển cảnh báo" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "hiển thị thông báo về tiến triển sau mỗi bản ghi thứ SỐ (mặc định 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "H.ĐỘNG" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "thá»±c hiện HÀNH_ĐỘNG này ở mỗi điểm kiểm tra" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "in ra một thông báo nếu không phải tất cả các liên kết được dump" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "T.HIỆU" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " "SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names without SIG prefix are also " "accepted" msgstr "" -"in ra tổng số byte sau khi xá»­ lý kho lÆ°u ;\n" -"có đối số thì in ra tổng số byte khi nhận được TÍN HIỆU này; tín hiệu được " -"phép:\n" -"SIGHUP, SIGQUIT, SIGINT, SIGUSR1, SIGUSR2;\n" -"cÅ©ng chấp nhận tên không có tiền tố “SIG”;" +"in ra tổng số byte sau khi xá»­ lý kho lÆ°u; có đối số thì in ra tổng số byte " +"khi nhận được TÍN HIỆU này; tín hiệu được phép: SIGHUP, SIGQUIT, SIGINT, " +"SIGUSR1, SIGUSR2; cÅ©ng chấp nhận tên không có tiền tố “SIG”;" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "in ra giờ sá»­a đổi tập tin theo UTC" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "in ra giờ tập tin đến độ phân giải đầy đủ" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "gá»­i kết quả chi tiết tới TẬP-TIN" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "hiển thị số thứ tá»± khối trong kho lÆ°u với mỗi thông báo" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "hỏi xác nhận trước mỗi hành động" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "hiển thị các giá trị mặc định của tar" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "hiển thị vùng hợp lệ cho trường “snapshot-file”" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2248,88 +2281,94 @@ msgstr "" "khi liệt kê hay rút trích, liệt kê mỗi thÆ° mục không tÆ°Æ¡ng ứng với tiêu chí " "tìm kiếm" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "hiển thị các tên tập tin hay kho lÆ°u sau khi chuyển dạng" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "KDÁNG" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "đặt kiểu dáng trích dẫn tên; xem dưới để tìm các giá trị KIỂU DÁNG hợp lệ" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "cÅ©ng trích dẫn các ký tá»± của CHUỖI" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "tắt trích dẫn các ký tá»± của CHUỖI" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "Tùy chọn tÆ°Æ¡ng thích:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -"khi tạo, giống nhÆ° “--old-archive”\n" -"khi rút trích, giống nhÆ° “--no-same-owner”" +"khi tạo, giống nhÆ° “--old-archive” khi rút trích, giống nhÆ° “--no-same-owner”" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "Những tùy chọn khác:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "tắt sá»­ dụng một số tùy chọn có thể gây tai hại" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "“%s” không được dùng cùng với “%s”" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "" "Chỉ cho phép đưa ra một tùy chọn “-Acdtrux”, “--delete” hoặc “--test-label”" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "Mâu thuẫn giữa các tùy chọn nén" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "Không rõ tên tín hiệu: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "Không tìm thấy tập tin mẫu ngày tháng" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Đang thay thế %s cho dạng ngày tháng không rõ %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "Tùy chọn %s: Đang xá»­ lý ngày tháng “%s” nhÆ° là %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "lọc kho lÆ°u qua %s" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" -msgstr "Các đối số thích hợp với tùy chọn “--quoting-style”:" +msgstr "Các đối số thích hợp với tùy chọn “--quoting-style” là:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2337,185 +2376,196 @@ msgstr "" "\n" "tar *này* mặc định dùng:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 msgid "Invalid owner or group ID" msgstr "ID của chủ sở hữu hay nhóm không đúng" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "Nhân tố khối không đúng" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "Chiều dài băng từ không đúng" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "Giá trị mức gia số không hợp lệ" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "Có nhiều hÆ¡n một ngưỡng ngày tháng" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "Giá trị phiên bản sparse không hợp lệ" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" -msgstr "--atime-preserve=“system” không được hỗ trợ trên nền tảng này" +msgstr "--atime-preserve=\"system\" không được hỗ trợ trên nền tảng này" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "giá trị “--checkpoint” không phải số nguyên" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "Đưa ra chế độ không đúng trên tùy chọn" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "Số không đúng" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"Tùy chọn “--preserve” đã cổ, hãy thay bằng tùy chọn “--preserve-" -"permissions”, “--preserve-order”" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "Kích thước bản ghi không đúng" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "Kích thước bản ghi phải là bội số của %d." -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "Số thứ tá»± của nguyên tố không đúng" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "Cho phép chỉ một tùy chọn “--to-command”" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "Tham số mật độ sai dạng: %s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, c-format msgid "Unknown density: '%c'" msgstr "Không hiểu mật độ: “%c”" -#: src/tar.c:2222 +#: src/tar.c:2069 #, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "tar *này* không hỗ trợ tùy chọn “-[0-7][lmh]”" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "Lỗi phân tích số gần “%s”" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[TẬP-TIN]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "tùy chọn “--%s” không được dùng cùng với %s" +msgid "non-option arguments in %s" +msgstr "tham số %s không hợp lệ với %s" + +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "không thể chia tách chuỗi “%s”: %s" -#: src/tar.c:2389 +#: src/tar.c:2293 #, c-format msgid "Old option '%c' requires an argument." msgstr "Tùy chọn cÅ© “%c” yêu cầu một tham số." -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "“--occurrence” không có giá trị khi không đưa ra một danh sách tập tin" -#: src/tar.c:2490 +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "Tập tin nhiều kho lÆ°u yêu cầu tùy chọn “-M”" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "Tùy chọn “--level” vô ích nếu không có “--listed-incremental”" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Nhãn khối quá dài (giới hạn là %lu byte)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "Không thể kiểm tra kho lÆ°u nhiều khối" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "Không thể kiểm tra kho lÆ°u đã nén" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "Không thể sá»­ dụng kho lÆ°u nhiều khối đã nén" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "Không thể ghép nối các kho nén" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "“--pax-option” chỉ dùng được trên kho lÆ°u POSIX" -#: src/tar.c:2560 +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" msgstr "“--acls” chỉ dùng được trên kho lÆ°u POSIX" -#: src/tar.c:2565 +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" msgstr "“--selinux” chỉ dùng được trên kho lÆ°u POSIX" -#: src/tar.c:2570 +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" msgstr "“--xattrs” chỉ dùng được trên kho lÆ°u POSIX" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" +"Không thể suy diễn tên thÆ° mục cấp cao nhất; hãy đặt nó rõ ràng bằng tùy " +"chọn --one-top-level=THƯ-MỤC" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "Chiều dài khối tin không thể nhỏ hÆ¡n kích cỡ mục ghi" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "Từ chối tạo một kho lÆ°u trống rỗng" -#: src/tar.c:2669 +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Các tùy chọn “-Aru” không tÆ°Æ¡ng thích với “-f -”" -#: src/tar.c:2766 +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "Bạn phải chỉ ra một trong số các tùy chọn “-Acdtrux”, “--delete” hoặc “--" "test-label”" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Đang thoát với trạng thái thất bại do lỗi xảy ra trước" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "thứ tá»± sắp xếp thÆ° mục: không (mặc định), tên hoặc inode" #: src/update.c:87 #, c-format @@ -2568,34 +2618,34 @@ msgstr "Phần đầu mở rộng dạng sai: thiếu dòng mới" msgid "Ignoring unknown extended header keyword '%s'" msgstr "Bỏ qua từ khoá phần đầu mở rộng không rõ “%s”" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Cặp từ khoá/giá trị đã tạo ra quá dài (từ khoá=%s, chiều dài=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Phần đầu mở rộng %s=%s nằm ngoài phạm vi (%s..%s)" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Phần đầu mở rộng dạng sai: %s=%s không hợp lệ" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Phần đầu mở rộng dạng sai: %s=%s thừa" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Phần đầu mở rộng dạng sai: %s không hợp lệ: không cần dấu phân cách %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Phần đầu mở rộng dạng sai: %s không hợp lệ: số giá trị lẻ" @@ -2636,103 +2686,108 @@ msgstr "Điểm kiểm tra ghi %u" msgid "Read checkpoint %u" msgstr "Điểm kiểm tra đọc %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" msgstr "" -"genfile thao tác các tập tin dữ liệu cho bộ tiện ích thá»­ paxutils của GNU.\n" +"genfile thao tác các tập tin dữ liệu cho bộ tiện ích thá»­ “paxutils” của " +"GNU.\n" "TÙY CHỌN:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "Tùy chọn tạo tập tin:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "Cá» " -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "Tạo tập tin có KÍCH_Cá»  đã cho" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "Ghi vào tập tin TÊN, thay cho đầu ra tiêu chuẩn" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "Đọc các tên tập tin từ TẬP-TIN" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "“-T” đọc tên kết thúc vô hiệu lá»±c" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "" -"Điền vào tập tin bằng MẪU đã cho. MẪU là:\n" -" • default mặc định\n" -" • zeros các số không" +"Điền thêm vào tập tin bằng MẪU đã cho. MẪU là:\n" +" * default mặc định\n" +" * zeros các số không" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "Kích cỡ của khối cho tập tin spare" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" "Tạo ra tập tin sparse. Phần còn lại của dòng lệnh đưa ra ánh xạ tập tin." -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "HIỆU_SỐ" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "Di chuyển vị trí đọc tới hiệu số đã cho trước khi ghi dữ liệu" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "Tùy chọn thống kê tập tin:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "In ra kết xuất struct stat về mỗi tập tin đã cho. ĐỊNH DẠNG mặc định: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "Tùy chọn thá»±c hiện đồng thời:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "T.CHỌN" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" "Thá»±c hiện các ĐỐI_SỐ đã cho. Có ích với “--checkpoint” (điểm kiểm tra) và " "một trong số:\n" -" • --cut cắt\n" -" • --append nối thêm\n" -" • --touch chạm vào\n" -" • --unlink bỏ liên kết" +" * --cut cắt\n" +" * --append nối thêm\n" +" * --touch chạm vào\n" +" * --unlink bỏ liên kết" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "Thá»±c hiện hành động đã cho (xem dưới) khi tới điểm kiểm tra SỐ" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "Đặt ngày tháng cho tùy chọn “-touch” kế tiếp" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "Hiển thị các điểm kiểm tra đã thá»±c hiện và trạng thái thoát của LỆNH" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2740,7 +2795,7 @@ msgstr "" "Các hành động thá»±c hiện đồng thời; được thá»±c hiện khi tới điểm kiểm tra có " "số được ghi rõ bằng tùy chọn “--checkpoint”." -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" @@ -2748,154 +2803,164 @@ msgstr "" "Cắt ngắn TẬP-TIN thành kích cỡ được ghi rõ bằng tùy chọn “--length” trước " "(không ghi rõ thì 0)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" "Phụ thêm KÍCH_Cá»  byte vào TẬP-TIN. KÍCH_Cá»  được ghi rõ bằng tùy chọn “--" "length” trước." -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "Cập nhật các thời gian truy cập và sá»­a đổi của TẬP-TIN" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "Thá»±c hiện LỆNH" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "Bỏ liên kết TẬP_TIN" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "Kích cỡ không hợp lệ: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "Số nằm ngoài phạm vi cho phép: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "Kích cỡ bị âm: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) bị lỗi" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "yêu cầu chiều dài tập tin %lu mà có %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "đã tạo tập tin không phải thÆ°a thớt (sparse)" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "Lỗi phân tích số gần “%s”" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "Không rõ định dạng ngày tháng" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[Đ.SỐ...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "không thể mở “%s”" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "không thể tìm nÆ¡i" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "tên tập tin chứa ký tá»± null" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "không thể tạo ra tập tin sparse trên thiết bị gõ chuẩn: dùng tùy chọn “--" "file”" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "mặt nạ không đúng (gần “%s”)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "Không rõ trường “%s”" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "không thể đặt thời gian trên “%s”" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, c-format msgid "cannot truncate `%s'" msgstr "không thể cắt ngắn “%s”" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, c-format msgid "command failed: %s" msgstr "Câu lệnh không thành công: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "không thể bỏ liên kết “%s”" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "Lệnh đã thoát thành công\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "Lệnh bị lỗi với trạng thái thoát %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "Lệnh đã chấm dứt khi nhận tín hiệu %d\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "Lệnh đã dừng chạy khi nhận tín hiệu %d\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "Lệnh đã đổ lõi\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "Lệnh đã chấm dứt\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" -msgstr "“--stat” yêu cầu tên tập tin" +msgstr "“--stat” cần tên tập tin" + +#~ msgid "same as both -p and -s" +#~ msgstr "giống nhÆ° khi có hai tùy chọn -p và -s" + +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "Tùy chọn “--preserve” đã cổ, hãy thay bằng tùy chọn “--preserve-" +#~ "permissions”, “--preserve-order”" #~ msgid "--occurrence cannot be used with %s" #~ msgstr "“--occurrence” không thể dùng cùng với %s" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo index 42ea31f565bc8bcbdf3fdbe0ed96039f0aec4814..fece7ab23d13a489c72cc7c3ab836bb46577b79d 100644 GIT binary patch delta 20642 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, 2002. # Rongjun Mu , 2004. -# Ji ZhengYu , 2008, 2009, 2010, 2011. +# Ji ZhengYu , 2016. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" -"Project-Id-Version: tar 1.26\n" +"Project-Id-Version: tar 1.28.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" -"PO-Revision-Date: 2011-04-28 20:42+0800\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" +"PO-Revision-Date: 2016-03-30 16:45China Standard Time\n" "Last-Translator: Ji ZhengYu \n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" @@ -20,188 +20,193 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "%2$s 的参数 %1$s 无效" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "%2$s 的参数 %1$s 具有歧义" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "有效的参数为:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s 的值小于或者等于 %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT 参数需要一个值" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT 参数值必须为正" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: 未知的 ARGP_HELP_FMT 参数" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "ARGP_HELP_FMT 中的参数错误: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "长选项和相应短选项具有相同的强制参数或可选参数。" -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "用法:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " 或: " -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [选项...]" -#: gnu/argp-help.c:1686 -#, fuzzy, c-format +#: gnu/argp-help.c:1688 +#, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "请用“%s --help”或“%s --usage”获得更多信息。\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "将错误报告发送到 %s。\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "未知的系统错误" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "显示此帮助列表" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "显示简短的用法说明" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "名称" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "设置程序名" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "秒" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "挂起 SECS 秒(默认 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "打印程序版本" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(程序错误)未知版本!?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s:参数太多\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(程序错误)选项可否被识别!?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "写错误" -#: gnu/getopt.c:549 gnu/getopt.c:578 -#, fuzzy, c-format +#: gnu/getopt.c:575 gnu/getopt.c:604 +#, c-format msgid "%s: option '%s' is ambiguous; possibilities:" -msgstr "%s: 选项\"%s\"具有歧义\n" +msgstr "%s: 选项“%s”具有歧义; 可能是:" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: 选项“%s”具有歧义\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: 选项\"--%s\"不需要参数\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: 选项\"%c%s\"不需要参数\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: 选项\"%s\"需要带参数\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: 无法识别的选项\"--%s\"\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: 无法识别的选项\"%c%s\"\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: 无效选项 -- \"%c\"\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: 选项需要参数 -- \"%c\"\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: 选项\"-W %s\"具有歧义\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: 选项\"-W %s\"不要参数\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: 选项\"%s\"需要带参数\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "内存耗尽" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "无法记录当前工作目录" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "无法回到起始的工作目录" @@ -227,11 +232,11 @@ msgstr "无法回到起始的工作目录" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "“" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "”" @@ -241,7 +246,7 @@ msgstr "”" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[yY]" @@ -251,16 +256,16 @@ msgstr "^[yY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "由 %s (%s) 打包\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "由 %s 打包\n" @@ -268,11 +273,11 @@ msgstr "由 %s 打包\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "(C)" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -409,22 +414,22 @@ msgstr "" "\n" "将错误报告发送到: %s。翻译错误报告给 \n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "将 %s 错误报告发送到: %s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 主页: <%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s 主页: \n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "GNU 软件的通用帮助: \n" @@ -533,9 +538,9 @@ msgid "Cannot connect to %s: resolve failed" msgstr "无法连接至 %s: 解析失败" #: lib/rtapelib.c:502 -#, fuzzy, c-format +#, c-format msgid "Cannot redirect files for remote shell" -msgstr "无法执行远程 shell" +msgstr "无法为远程 shell重定向文件" #: lib/rtapelib.c:516 #, c-format @@ -586,8 +591,8 @@ msgstr "参数异常" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "接受远程程序的命令操作磁带机" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "NUMBER" @@ -595,10 +600,11 @@ msgstr "NUMBER" msgid "set debug level" msgstr "设定调试级别" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "FILE" @@ -611,7 +617,7 @@ msgstr "设定调试输出文件名" msgid "cannot open %s" msgstr "无法打开 %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "参数过多" @@ -620,109 +626,108 @@ msgstr "参数过多" msgid "Garbage command" msgstr "垃圾命令" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "它似乎不像是一个 tar 归档文件" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "总计读取字节数" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "总计写入字节数" -#: src/buffer.c:577 -#, fuzzy +#: src/buffer.c:580 msgid "Total bytes deleted" -msgstr "总计删除字节数:%s\n" +msgstr "总计删除字节数" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(管道)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" -msgstr "" +msgstr "无法从终端读取归档内容(缺少 -f 选项?)" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" -msgstr "" +msgstr "无法向终端写入归档内容(缺少 -f 选项?)" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "record_size 的无效值" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "未给出归档文件名" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "无法验证标准输入/标准输出归档文件" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "归档被压缩。使用 %s 选项" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "无法更新压缩归档文件" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "处于磁带的起点,现在退出" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "错误过多,退出" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "记录大小 = %lu 块" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "归档中未对齐的块 (%lu 字节)s" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "无法倒回归档文件;如果没有 -i 可能无法读入它" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek 未停在记录边界处" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s:包含无效的卷编号" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "卷编号溢出" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "为 %2$s 准备卷 #%1$d 并按回车:" -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "需得到用户应答时文件结束" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "警告:归档文件不完整" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -733,71 +738,71 @@ msgstr "" " q\t\t终止 tar\n" " y or newline\t继续操作\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! 衍生出一个子 shell\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? 打印此列表\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "没有新的卷;退出。\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "未指定文件名。重试。\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "无效输入。输入 ? 显示帮助。\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "%s 命令失败" -#: src/buffer.c:1491 -#, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s 在本卷可能连续: 头部包含截短的名字" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s 在本卷中不连续" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s 在本卷可能连续: 头部包含截短的名字" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s 的大小错误 (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "此卷次序有误(%s - %s != %s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "归档未被标记为匹配 %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "卷标 %s 不匹配 %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "%s: 文件名太长而无法贮存在 GNU 多卷头,已被截短" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "写操作未在记录边界处终止" @@ -807,20 +812,20 @@ msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "仅能读入 %2$lu 中的 %1$lu 个字节" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "内容不同" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "归档文件中异常的 EOF" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "文件类型不同" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "访问模式不同" @@ -836,7 +841,7 @@ msgstr "Gid 不同" msgid "Mod time differs" msgstr "修改时间不同" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "大小不同" @@ -845,136 +850,136 @@ msgstr "大小不同" msgid "Not linked to %s" msgstr "没有连接到 %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "符号连接不同" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "设备号不同" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "校验" -#: src/compare.c:473 -#, fuzzy, c-format +#: src/compare.c:477 +#, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s:未知的文件类型“%c”,与普通文件不同" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "归档包含带有被移除前导字符的文件名。" -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "归档中有文件被改名。" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "位于原始文件中的验证可能失败。" -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "校验失败:检测到 %d 个无效的头" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "在 %s 处一个单独的零块" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: 包含一个缓存目录标识 %s;%s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "值 %s 超出了 %s 的范围 %s..%s;正在替换 %s" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "值 %s 超出了 %s 的范围 %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "正在生成负八进制头" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s:文件名太长(最长 %d);未输出" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s:文件名太长(不能被分割);未输出" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s:连接名太长;未输出" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s:文件缩小 %s 字节;用零填充" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s:文件在不同的文件系统上;未输出" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "未输出内容" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s:未知的文件类型;忽略文件" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "缺少到 %s 的连接。" -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: 文件未改变;未输出" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: 文件是归档文件;未输出" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "未输出目录" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s: 在我们读入文件时文件发生了变化" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s: 忽略套接字(socket)" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s: 忽略权限" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "跳转到下一个头" @@ -992,54 +997,54 @@ msgstr "%s:不可信的旧时间戳 %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s:时间戳 %s 是未来的 %s 秒之后" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s:创建目录时出现意外的不一致" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" -msgstr "" +msgstr "%s: 忽略已存在的文件" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s:目录名在状态信息被获取之前改变了" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "展开紧邻的文件为普通文件" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "正试图将符号连接展开为硬连接" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s:无法展开 -- 文件一直延伸至另一卷中" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "异常的长名字头部" -#: src/extract.c:1542 -#, fuzzy, c-format +#: src/extract.c:1587 +#, c-format msgid "%s: Unknown file type '%c', extracted as normal file" -msgstr "%s:未知的文件类型“%c”,作为普通文件展开" +msgstr "%s:未知的文件类型“%c”,按正常文件解开" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "当前的“%s”更新或一样新" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s:无法备份该文件" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "无法将 %s 重命名为 %s" @@ -1055,9 +1060,9 @@ msgid "%s: Directory is new" msgstr "%s:目录是新的" #: src/incremen.c:566 -#, fuzzy, c-format +#, c-format msgid "%s: directory is on a different filesystem; not dumped" -msgstr "%s:文件在不同的文件系统上;未输出" +msgstr "%s:目录在不同的文件系统上;未输出" #: src/incremen.c:587 #, c-format @@ -1069,9 +1074,8 @@ msgid "Invalid time stamp" msgstr "无效的时间戳" #: src/incremen.c:1047 -#, fuzzy msgid "Invalid modification time" -msgstr "无效的修改时间(秒)" +msgstr "无效的修改时间" #: src/incremen.c:1057 msgid "Invalid modification time (nanoseconds)" @@ -1088,217 +1092,220 @@ msgstr "无效的 inode 号" #: src/incremen.c:1137 #, c-format msgid "%s: byte %s: %s %.*s... too long" -msgstr "" +msgstr "%s: 字节 %s: %s %.*s... 太长" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "目录文件中异常的文件结尾(EOF)" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" -msgstr "" +msgstr "%s: 字节 %s: %s %s 后跟无效字节 0x%02x" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" +"%s: 字节 %s: (有效范围 %s..%s)\n" +"\t%s %s" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" -msgstr "" +msgstr "%s: 字节 %s: %s %s" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" -msgstr "" +msgstr "%s: 字节 %s: %s" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "缺少记录终止符" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "文件格式错误增量" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "不支持增量格式版本: %" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "错误的 dumpdir: 需要“%c”但实际为 %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "错误的 dumpdir: 重复的“X”" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "错误的 dumpdir: “R”中有空名字" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" -msgstr "错误的 dumpdir: “R”后未紧接着用“T”" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" +msgstr "错误的 dumpdir: 'T' not preceded by 'R'" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "错误的 dumpdir: “T”中有空名字" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "错误的 dumpdir: 需要“%c”但实际为数据结尾" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "错误的 dumpdir: 从未用过“X”" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "无法通过模板 %s 创建临时目录" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s:未清除目录:无法 stat" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: 目录在不同的设备上: 未清除" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s:正在删除 %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s:无法删除" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s:忽略" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "块 %s:** 空块 **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "块 %s:** 文件结束 **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "块 %s:" #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "头中需要数值 %s 处为空白符" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "归档的八进制值 %.*s 超出范围 %s;假定为其二进制补码" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "归档八进制值 %.*s 超出 %s 的范围" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "归档包含过时的 base-64 头" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "归档签署的 base-64 字符串 %s 超出范围 %s" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "归档的 base-256 值超出范围 %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "归档包含 %.*s 而需要数字值 %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "归档值 %s 超出 %s 的范围 %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " 连接到 %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " 未知的文件类型 %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--长连接--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--长名--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--卷头--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--从 %s 字节继续--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "正在创建目录:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "将 %s 改名为 %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s:无法重命名为 %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "将 %s 的名字改回 %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s:文件在我们读入之前被删除了" @@ -1311,82 +1318,228 @@ msgstr "子进程" msgid "interprocess channel" msgstr "进程内通道" -#: src/names.c:360 -#, fuzzy +#: src/names.c:68 +msgid "Local file name selection:" +msgstr "本地文件名选择:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "添加指定的 FILE 至归档(如果名字以 - 开始会很有用的)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "DIR" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "改变至目录 DIR" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "从 FILE 中获取文件名来解压或创建文件" + +#: src/names.c:77 +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T 读取以空终止的名字; 隐含 --verbatim-files-from" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "禁用上一次的效果 --null 选项" + +#: src/names.c:82 +msgid "unquote input file or member names (default)" +msgstr "unquote 输入文件或成员名称(默认)" + +#: src/names.c:84 +msgid "do not unquote input file or member names" +msgstr "不要unquote 输入文件或成员名称" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "-T 逐字读取文件名(不处理选项)" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "-T 把以‘-’开始的文件作为选项(默认)" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "PATTERN" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "排除以 PATTERN 指定的文件" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "排除 FILE 中列出的模式串" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "除标识文件本身外,排除包含 CACHEDIR.TAG 的目录中的内容" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "排除包含 CACHEDIR.TAG 的目录中所有内容" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "排除包含 CACHEDIR.TAG 的目录" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "除 FILE 自身外,排除包含 FILE 的目录中的内容" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "若存在FILE, 则从其中读取每个目录的例外匹配项" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "若存在FILE, 则从其中为每个目录及其子目录读取需要排除的例外匹配项" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "排除包含 FILE 的目录中的所有内容" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "排除包含 FILE 的目录" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "排除版本控制系统目录" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "从VCS 忽略文件中读取排除匹配项" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "排除备份和锁文件" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "目录递归(默认)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "避免目录中的自动降级" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "文件名匹配选项(同时影响排除和包括模式串):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "模式串匹配文件名头部" + +#: src/names.c:134 +msgid "patterns match after any '/' (default for exclusion)" +msgstr "模式串匹配任意‘/’后字符(默认对 exclusion 有效)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "忽略大小写" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "匹配大小写(默认)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "使用通配符(默认对 exclusion )" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "逐字匹配字符串" + +#: src/names.c:144 +msgid "wildcards match '/' (default for exclusion)" +msgstr "通配符匹配‘/’(默认对exclusion 有效)" + +#: src/names.c:146 +msgid "wildcards do not match '/'" +msgstr "通配符不匹配‘/’" + +#: src/names.c:768 msgid "command line" -msgstr "%s 命令失败" +msgstr "命令行" -#: src/names.c:378 -#, fuzzy, c-format +#: src/names.c:786 +#, c-format msgid "%s: file list requested from %s already read from %s" -msgstr "%s: 文件列表已经读取" +msgstr "%s: 从%s 里读取的文件列表已经从%s 里读取了" -#: src/names.c:448 src/checkpoint.c:274 -#, fuzzy, c-format +#: src/names.c:867 src/checkpoint.c:274 +#, c-format msgid "cannot split string '%s': %s" -msgstr "无法设定“%s”的时间" +msgstr "无法拆分字符串‘%s’: %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s: 读取的文件名含有空字符" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "文件名中所使用的字符匹配模式" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "使用 --wildcards 打开模式匹配,或是 --no-wildcards 来关闭之" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s:归档中找不到" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s:没有在归档中找到需要的" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "归档卷标不匹配" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "在文件列表中 -C 选项与 --listed-incremental 选项不许合用" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "仅一个 -C 选项允许与 --listed-incremental 合用" -#: src/tar.c:87 -#, fuzzy, c-format +#: src/tar.c:88 +#, c-format msgid "Options '%s' and '%s' both want standard input" -msgstr "选项“-%s”和“-%s”都需要标准输出" +msgstr "选项“%s”和“%s”都需要标准输出" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s:无效的归档格式" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "在不兼容的归档格式上需要 GNU 特征" -#: src/tar.c:264 -#, fuzzy, c-format +#: src/tar.c:265 +#, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "未知的引用形式‘%s’。尝试用‘%s --quoting-style=help’获取列表。" -#: src/tar.c:378 -#, fuzzy +#: src/tar.c:354 msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" @@ -1404,10 +1557,9 @@ msgstr "" "tar。\n" " tar -tvf archive.tar # 详细列举归档文件 archive.tar 中的所有文" "件。\n" -" tar -xf archive.tar # 展开归档文件 archive.tar 中的所有文件。\n" +" tar -xf archive.tar # 解开归档文件 archive.tar 中的所有文件。\n" -#: src/tar.c:387 -#, fuzzy +#: src/tar.c:363 msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " @@ -1426,79 +1578,87 @@ msgstr "" " nil, existing 如果编号备份存在则进行编号备份,否则进行简单备份\n" " never, simple 总是使用简单备份\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "主操作模式:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "列出归档内容" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "从归档中解出文件" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "创建一个新归档" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "找出归档和文件系统的差异" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "追加文件至归档结尾" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "仅追加比归档中副本更新的文件" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "追加 tar 文件至归档" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "从归档(非磁带!)中删除" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "测试归档卷标并退出" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "操作修饰符:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "高效处理离散文件" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "TYPE" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "用于探测holes 的技术" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "设置所用的离散格式版本(隐含 --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "处理老式的 GNU 格式的增量备份" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "处理新式的 GNU 格式的增量备份" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "所创建的增量列表归档的输出级别" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "当遇上不可读文件时不要以非零值退出" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1509,138 +1669,144 @@ msgstr "" "extract 或是 --list 中的一个联合使用时,此选项才有效。而且不管文件列表是以命" "令行形式给出或是通过 -T 选项指定的;NUMBER 值默认为 1" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "归档可检索" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "归档不可检索" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "当创建增量归档时不要检查设备号" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "当创建增量归档时检查设备号(默认)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "重写控制:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "在写入以后尝试校验归档" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "在添加文件至归档后删除它们" -#: src/tar.c:485 -#, fuzzy +#: src/tar.c:463 msgid "don't replace existing files when extracting, treat them as errors" -msgstr "解压时不要替换存在的文件" +msgstr "解压时不替换存在的文件, 而将其认为是错误" -#: src/tar.c:488 -#, fuzzy +#: src/tar.c:466 msgid "don't replace existing files when extracting, silently skip over them" -msgstr "解压时不要替换存在的文件" +msgstr "解压时不替换存在的文件,而是自动忽略" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "不要替换比归档中副本更新的已存在的文件" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "解压时重写存在的文件" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "在解压要重写的文件之前先删除它们" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "解压目录之前先清除目录层次" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "保留已存在目录的元数据" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "解压时重写已存在目录的元数据(默认)" -#: src/tar.c:504 -#, fuzzy +#: src/tar.c:482 msgid "preserve existing symlinks to directories when extracting" -msgstr "解压时重写存在的文件" +msgstr "解压时保留已存在的目录符号链接" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "DIR" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" -msgstr "" +msgstr "创建子目录以避免解压松散文件" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "选择输出流:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "解压文件至标准输出" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "COMMAND" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "将解压的文件通过管道传送至另一个程序" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "忽略子进程的退出代码" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "将子进程的非零退出代码认为发生错误" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "操作文件属性:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "强制将 NAME 作为所添加的文件的所有者" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "强制将 NAME 作为所添加的文件的组所有者" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "用FILE 映射文件所有者UIDs 和名字" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "用FILE 映射文件所有者GIDs 和名字" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "DATE-OR-FILE" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "从 DATE-OR-FILE 中为添加的文件设置 mtime" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "CHANGES" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "强制将所添加的文件(符号)更改为权限 CHANGES" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "METHOD" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1649,507 +1815,363 @@ msgstr "" "在输出的文件上保留访问时间,要么通过在读取(默认 METHOD=‘replace’)后还原时间," "要不就不要在第一次(METHOD=‘system’)设置时间" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "不要解压文件的修改时间" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "尝试解压时保持所有者关系一致(超级用户默认此项)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "将文件解压为您所有(普通用户默认此项)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "总是以数字代表用户/组的名称" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "解压文件权限信息(默认只为超级用户服务)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "从归档中解压权限时使用用户的掩码位(默认为普通用户服务)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" -msgstr "" - -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "与 -p 和 -s 一样" +msgstr "成员参数按归档中的文件顺序列出" -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "直到解压结束才设置修改时间和所解目录的权限" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "取消 --delay-directory-restore 选项的效果" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" -msgstr "" +msgstr "ORDER" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" -msgstr "" +msgstr "目录排序顺序: none(默认)或name" -#: src/tar.c:578 -#, fuzzy +#: src/tar.c:560 msgid "Handling of extended file attributes:" -msgstr "操作文件属性:" +msgstr "操作extended 文件属性:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" -msgstr "" +msgstr "开启extended 属性支持" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" -msgstr "" +msgstr "关闭extended 属性支持" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" -msgstr "" +msgstr "MASK" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" -msgstr "" +msgstr "为xattr 关键字指定包含匹配项" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" -msgstr "" +msgstr "为xattr 关键字指定排除匹配项" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" -msgstr "" +msgstr "开启SELinux 上下文支持" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" -msgstr "" +msgstr "关闭SELinux 上下文支持" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" -msgstr "" +msgstr "开启POSIX ACLs 支持" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" -msgstr "" +msgstr "关闭POSIX ACLs 支持" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "设备选择和切换:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "ARCHIVE" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "使用归档文件或 ARCHIVE 设备" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "即使归档文件存在副本还是把它认为是本地归档" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "使用指定的 rmt COMMAND 代替 rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "使用远程 COMMAND 代替 rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "指定驱动器和压缩率" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "创建/列出/解压多卷归档文件" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "写入 NUMBER × 1024 字节后更换磁带" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "在每卷磁带最后运行脚本(隐含 -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "使用/更新 FILE 中的卷数" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "设备分块:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "BLOCKS" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "每个记录 BLOCKS x 512 字节" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "每个记录的字节数 NUMBER,乘以 512" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "忽略归档中的零字节块(即文件结尾)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "读取时重新分块(只对 4.2BSD 管道有效)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "选择归档格式:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "创建指定格式的归档" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "FORMAT 是以下格式中的一种:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "old V7 tar 格式" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "GNU 格式 as per tar <= 1.12" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x 格式" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) 格式" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) 格式" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "等同于 pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "等同于 --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "等同于 --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "关键字[[:]=值][,关键字[[:]=值]]..." -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "控制 pax 关键字" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "TEXT" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "创建带有卷名 TEXT 的归档;在列出/解压时,使用 TEXT 作为卷名的模式串" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "压缩选项:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "使用归档后缀名来决定压缩程序" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "不使用归档后缀名来决定压缩程序" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "PROG" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "通过 PROG 过滤(必须是能接受 -d 选项的程序)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "本地文件选择:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "添加指定的 FILE 至归档(如果名字以 - 开始会很有用的)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "改变至目录 DIR" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "从 FILE 中获取文件名来解压或创建文件" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T 读取以空终止的名字,-C 禁用" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "禁用上一次的效果 --null 选项" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "以 -T 读取的文件名作为引用结束(默认)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "不以 -T 读取的文件名作为引用结束" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "PATTERN" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "排除以 PATTERN 指定的文件" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "排除 FILE 中列出的模式串" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "除标识文件本身外,排除包含 CACHEDIR.TAG 的目录中的内容" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "排除包含 CACHEDIR.TAG 的目录中所有内容" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "排除包含 CACHEDIR.TAG 的目录" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "除 FILE 自身外,排除包含 FILE 的目录中的内容" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "排除包含 FILE 的目录中的所有内容" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "排除包含 FILE 的目录" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "排除版本控制系统目录" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "排除备份和锁文件" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "避免目录中的自动降级" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "创建归档时保存在本地文件系统中" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "目录递归(默认)" - -#: src/tar.c:761 -#, fuzzy +#: src/tar.c:693 msgid "don't strip leading '/'s from file names" msgstr "不要从文件名中清除引导符‘/’" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "跟踪符号链接;将它们所指向的文件归档并输出" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "跟踪硬链接;将它们所指向的文件归档并输出" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "MEMBER-NAME" -#: src/tar.c:767 -#, fuzzy +#: src/tar.c:699 msgid "begin at member MEMBER-NAME when reading the archive" -msgstr "从归档中的 MEMBER-NAME 成员处开始" +msgstr "从归档中的 MEMBER-NAME 成员处开始读取归档" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "只保存比 DATE-OR-FILE 更新的文件" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "DATE" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "当只有数据改变时比较数据和时间" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "CONTROL" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "在删除前备份,选择 CONTROL 版本" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "STRING" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" "在删除前备份,除非被环境变量 SIMPLE_BACKUP_SUFFIX 覆盖,否则覆盖常用后缀(‘’)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "文件名变换:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "解压时从文件名中清除 NUMBER 个引导部分" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "EXPRESSION" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "使用 sed 代替 EXPRESSION 来进行文件名变换" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "文件名匹配选项(同时影响排除和包括模式串):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "忽略大小写" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "模式串匹配文件名头部" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "模式串匹配任意‘/’后字符(默认对 exclusion 有效)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "匹配大小写(默认)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "使用通配符(默认对 exclusion )" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "逐字匹配字符串" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "通配符不匹配‘/’" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "通配符匹配‘/’(默认对排除操作有效)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "提示性输出:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "详细地列出处理的文件" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "KEYWORD" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "警告控制:" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "每隔 NUMBER 个记录显示进度信息(默认为 10 个)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "ACTION" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "在每个检查点上执行 ACTION" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "只要不是所有链接都被输出就打印信息" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2160,119 +2182,125 @@ msgstr "" "号为: SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和 SIGUSR2;同时也接受不带 SIG 前缀的" "信号名称" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "以 UTC 格式打印文件修改时间" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "按文件原本时间格式打印" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "将详细输出发送至 FILE" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "每个信息都显示归档内的块数" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "每次操作都要求确认" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "显示 tar 默认选项" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" -msgstr "" +msgstr "显示快照文件区的有效范围" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "列表或解压时,列出每个不匹配查找标准的目录" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "显示变换后的文件名或归档名" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "STYLE" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "设置名称引用风格;有效的 STYLE 值请参阅以下说明" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "来自 STRING 的额外的引用字符" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "禁用来自 STRING 的字符引用" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "兼容性选项:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "创建归档时,相当于 --old-archive;展开归档时,相当于 --no-same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "其它选项:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "禁用某些潜在的有危险的选项" -#: src/tar.c:1010 -#, fuzzy +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "‘%s’无法与‘%s’一起用" + +#: src/tar.c:934 msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" -msgstr "您不能指定超过一个\"-Acdtrux\"或是\"--test-label\"外的选项" +msgstr "您不能指定\"-Acdtrux\", \"--delete\"或是\"--test-label\"外的选项" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "压缩选项冲突" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "未知的信号名称: %s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "找不到数据样板文件" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "把未知的时间格式 %2$s 替换为 %1$s" -#: src/tar.c:1140 -#, fuzzy, c-format +#: src/tar.c:1066 +#, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "选项 %s: 将日期 ‘%s’ 当作 %s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "通过 %s 过滤归档" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "--quoting-style 选项的有效参数为:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2280,192 +2308,193 @@ msgstr "" "\n" "æ­¤ tar 默认为:\n" -#: src/tar.c:1330 -#, fuzzy +#: src/tar.c:1253 msgid "Invalid owner or group ID" -msgstr "无效的所有者" +msgstr "无效的所有者或组ID" -#: src/tar.c:1389 +#: src/tar.c:1348 #, fuzzy msgid "Invalid blocking factor" msgstr "无效的块因子" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "无效的磁带长度" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "无效的增量度" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "多于一个时间阈值" -#: src/tar.c:1626 src/tar.c:1629 -#, fuzzy +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" -msgstr "无效的稀疏版本值" +msgstr "无效的离散版本值" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "此平台不支持 --atime-preserve=‘system’ " -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "--checkpoint 值不是个整数" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "选项中给出无效的访问模式" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "无效的数字" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"--preserve 选项已经废弃了,请使用 --preserve-permissions --preserve-order 代" -"替" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "无效的记录大小" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "记录大小必须是 %d 的倍数。" -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "无效的元素数" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "仅允许使用一个 --to-command 选项" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "错误的压缩参数: %s" -#: src/tar.c:2205 -#, fuzzy, c-format +#: src/tar.c:2052 +#, c-format msgid "Unknown density: '%c'" msgstr "未知的压缩参数: ‘%c’" -#: src/tar.c:2222 -#, fuzzy, c-format +#: src/tar.c:2069 +#, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" -msgstr "本 tar 不支持选项“-[0-7][lmh]”" +msgstr "此版本 tar 不支持选项“-[0-7][lmh]”" + +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "%s:%lu: 错误定位" -#: src/tar.c:2235 +#: src/tar.c:2078 +#, c-format +msgid "error parsing %s" +msgstr "错误解析 %s" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[FILE]..." -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 -#, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "不能使用模式 %s" +#: src/tar.c:2183 +#, c-format +msgid "non-option arguments in %s" +msgstr "%s 中有非选项参数" -#: src/tar.c:2389 -#, fuzzy, c-format +#: src/tar.c:2198 +#, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "无法分割 TAR_OPTIONS: %s" + +#: src/tar.c:2293 +#, c-format msgid "Old option '%c' requires an argument." msgstr "旧选项“%c”需要参数。" -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "没有一个文件列表时 --occurrence 是没有意义的" -#: src/tar.c:2490 -#, fuzzy +#: src/tar.c:2395 msgid "Multiple archive files require '-M' option" msgstr "多个归档文件需要使用“-M”选项" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "没有 --listed-incremental 选项的话 --level 选项是无意义的" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s:卷标过长 (限制为 %lu 字节)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "无法检验多卷归档文件" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "无法检验压缩归档文件" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "无法使用多卷压缩归档文件" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "无法联结压缩归档文件" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option 只能用于 POSIX 归档中" -#: src/tar.c:2560 -#, fuzzy +#: src/tar.c:2486 msgid "--acls can be used only on POSIX archives" -msgstr "--pax-option 只能用于 POSIX 归档中" +msgstr "--acls 只能用于 POSIX 归档中" -#: src/tar.c:2565 -#, fuzzy +#: src/tar.c:2491 msgid "--selinux can be used only on POSIX archives" -msgstr "--pax-option 只能用于 POSIX 归档中" +msgstr "--selinux 只能用于 POSIX 归档中" -#: src/tar.c:2570 -#, fuzzy +#: src/tar.c:2496 msgid "--xattrs can be used only on POSIX archives" -msgstr "--pax-option 只能用于 POSIX 归档中" +msgstr "--xattrs 只能用于 POSIX 归档中" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" -msgstr "" +msgstr "无法推断顶层目录名; 请用--one-top-level=DIR 明确指定" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "卷长度不可小于记录大小" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "谨慎地拒绝创建空归档文件" -#: src/tar.c:2669 -#, fuzzy +#: src/tar.c:2628 msgid "Options '-Aru' are incompatible with '-f -'" msgstr "选项“-Aru”与“-f -”不兼容" -#: src/tar.c:2766 -#, fuzzy +#: src/tar.c:2716 msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" -msgstr "您必须从\"-Acdtrux\"或是\"--test-label\"选项中指定一个" +msgstr "您必须从\"-Acdtrux\", \"--delete\"或是\"--test-label\"中指定一个选项" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "由于前次错误,将以上次的错误状态退出" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" -msgstr "" +msgstr "目录排序顺序: none(默认), name 或inode" #: src/update.c:87 #, c-format @@ -2514,38 +2543,38 @@ msgid "Malformed extended header: missing newline" msgstr "错误的扩展头: 缺少空行" #: src/xheader.c:741 -#, fuzzy, c-format +#, c-format msgid "Ignoring unknown extended header keyword '%s'" msgstr "忽略未知的扩展头关键字‘%s’" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "生成的关键字/值对太长了(keyword=%s, length=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "扩展头 %s=%s 超出范围 %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "错误的扩展头: %s=%s 无效" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "错误的扩展头: %s=%s 溢出" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "错误的扩展头: %s 无效: 非预期的分隔符 %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "错误的扩展头: %s 无效: 奇怪的数值" @@ -2586,7 +2615,7 @@ msgstr "写入操作的检查点 %u" msgid "Read checkpoint %u" msgstr "读取操作的检查点 %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2594,86 +2623,90 @@ msgstr "" "genfile 为 GNU paxutils 测试软件操作数据文件。\n" "选项为:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "文件创建选项:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "SIZE" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "创建指定 SIZE 的文件" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "写入文件 NAME,而不是标准输出" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "从 FILE 读取文件名" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T 读取以 NULL 终止的名字" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "以指定的 PATTERN 填充文件。PATTERN 可以是‘default’或是‘zeros’" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "稀疏文件的块大小" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "生成稀疏文件。命令行其余选项指定 map 文件。" -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "OFFSET" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "在写入数据前定位至指定的偏移位" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "文件统计选项:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "打印每个给定文件的 stat 结构定义的内容。默认 FORMAT 是: " -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "同步执行选项:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "OPTION" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" "执行 ARGS。与 --checkpoint 或 --cut,--append,--touch 中的一个一起使用时有用" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "只要达到 checkpoint NUMBER 指定的数值就执行指定的操作(见下)" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "为下一个 --touch 选项设定日期" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "显示执行的 checkpoints 以及 COMMAND 的退出状态" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2681,169 +2714,166 @@ msgstr "" "同步执行操作。当达到由 --checkpoint 选项指定的 checkpoint 数值时会执行这些操" "作。" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "截短 FILE 至由前面 --length 选项指定的大小(如果未指定的话,默认 0)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "添加 SIZE 字节至 FILE。SIZE 由前面的 --length 选项指定。" -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "更新 FILE 的访问和修改时间" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "执行 COMMAND" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "删除 FILE" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "无效的值: %s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "数值超出所允许的范围: %s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "负值: %s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) 错误" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "需要文件长度为 %lu,实际为 %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "所创建的文件非稀疏文件" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "“%s”附近解析数字错误" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "未知的数据格式" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[ARGS...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "无法打开“%s”" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "无法定位" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "文件名包含空字符" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "使用 --file 选项无法在标准输出上生成离散文件" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "不正确的掩码(“%s”附近)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "未知的文件掩码位“%s”" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "无法设定“%s”的时间" -#: tests/genfile.c:692 -#, fuzzy, c-format +#: tests/genfile.c:760 +#, c-format msgid "cannot truncate `%s'" -msgstr "无法删除 \"%s\"" +msgstr "无法删除“%s”" -#: tests/genfile.c:701 -#, fuzzy, c-format +#: tests/genfile.c:769 +#, c-format msgid "command failed: %s" -msgstr "%s 命令失败" +msgstr "命令失败: %s" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "无法删除 \"%s\"" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "命令成功退出\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "命令出错,状态 %d\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "命令由信号 %d 终止了\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "命令由信号 %d 停止了\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "命令输出 core\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "命令终止\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat 选项需要文件名" -#~ msgid "sort names to extract to match archive" -#~ msgstr "为解压至匹配归档排序名称" - -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "--occurrence 不能用于请求的操作模式中" - -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "无法在使用 --newer 的时候使用 --listed-incremental" +#~ msgid "same as both -p and -s" +#~ msgstr "与 -p 和 -s 一样" -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "--preserve-order 与 --listed-incremental 不匹配" +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "--preserve 选项已经废弃了,请使用 --preserve-permissions --preserve-order " +#~ "代替" #~ msgid "Field too long while reading snapshot file" #~ msgstr "读取目录文件时字段太长" @@ -2857,9 +2887,21 @@ msgstr "--stat 选项需要文件名" #~ msgid "Cannot get working directory" #~ msgstr "无法获取工作目录" +#~ msgid "sort names to extract to match archive" +#~ msgstr "为解压至匹配归档排序名称" + #~ msgid "Invalid group" #~ msgstr "无效的组" +#~ msgid "--occurrence cannot be used in the requested operation mode" +#~ msgstr "--occurrence 不能用于请求的操作模式中" + +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "无法在使用 --newer 的时候使用 --listed-incremental" + +#~ msgid "--preserve-order is not compatible with --listed-incremental" +#~ msgstr "--preserve-order 与 --listed-incremental 不匹配" + #~ msgid "Extended header length is out of allowed range" #~ msgstr "扩展头长度超出所允许的范围" diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo index ac67d9216f0f95c477a687d705cb589ab9a9f0dd..24eff68201fa7e18fd3c4e3f533262af2a4933e3 100644 GIT binary patch delta 10997 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 sB%{-)(>7-uPE;_YL2?ALeo#=O2Dl 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 diff --git a/po/zh_TW.po b/po/zh_TW.po index f0f332b3..561723f8 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -3,12 +3,12 @@ # This file is distributed under the same license as the tar package. # Wei-Lun Chao , 2009, 2013. # -#: src/create.c:1574 +#: src/create.c:1592 msgid "" msgstr "" "Project-Id-Version: tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2014-07-27 23:35+0300\n" +"POT-Creation-Date: 2016-05-16 09:55+0300\n" "PO-Revision-Date: 2013-05-31 23:39+0800\n" "Last-Translator: Wei-Lun Chao \n" "Language-Team: Chinese (traditional) \n" @@ -18,188 +18,193 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: gnu/argmatch.c:135 +#: gnu/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "%2$s 的引數 %1$s 無效" -#: gnu/argmatch.c:136 +#: gnu/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "%2$s 的引數 %1$s 是模稜兩可的" -#: gnu/argmatch.c:155 +#: gnu/argmatch.c:153 msgid "Valid arguments are:" msgstr "有效的引數為:" -#: gnu/argp-help.c:150 +#: gnu/argp-help.c:148 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT:%s 值是少於或等於 %s" -#: gnu/argp-help.c:223 +#: gnu/argp-help.c:221 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT 參數需要一個值" -#: gnu/argp-help.c:229 +#: gnu/argp-help.c:227 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT 參數必須是正值" -#: gnu/argp-help.c:238 +#: gnu/argp-help.c:236 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: 不明的 ARGP_HELP_FMT 參數" -#: gnu/argp-help.c:250 +#: gnu/argp-help.c:248 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "ARGP_HELP_FMT 中無用的資訊: %s" -#: gnu/argp-help.c:1250 +#: gnu/argp-help.c:1248 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "長選項的必須或可選用的引數也是相對應短選項的必須或可選用的引數。" -#: gnu/argp-help.c:1643 +#: gnu/argp-help.c:1645 msgid "Usage:" msgstr "用法:" -#: gnu/argp-help.c:1647 +#: gnu/argp-help.c:1649 msgid " or: " msgstr " 或:" -#: gnu/argp-help.c:1659 +#: gnu/argp-help.c:1661 msgid " [OPTION...]" msgstr " [選項…]" -#: gnu/argp-help.c:1686 +#: gnu/argp-help.c:1688 #, fuzzy, c-format msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "試試 %s --help 或 %s --usage 以獲得更多資訊。\n" -#: gnu/argp-help.c:1714 +#: gnu/argp-help.c:1716 #, c-format msgid "Report bugs to %s.\n" msgstr "請向 %s 回報錯誤。\n" -#: gnu/argp-help.c:1933 gnu/error.c:190 +#: gnu/argp-help.c:1935 gnu/error.c:191 msgid "Unknown system error" msgstr "不明的系統錯誤" -#: gnu/argp-parse.c:83 +#: gnu/argp-parse.c:81 msgid "give this help list" msgstr "給出這個使用方式列表" -#: gnu/argp-parse.c:84 +#: gnu/argp-parse.c:82 msgid "give a short usage message" msgstr "給出簡短的使用訊息" -#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630 -#: tests/genfile.c:130 +#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612 +#: tests/genfile.c:134 msgid "NAME" msgstr "名稱" -#: gnu/argp-parse.c:85 +#: gnu/argp-parse.c:83 msgid "set the program name" msgstr "設定程式名稱" -#: gnu/argp-parse.c:86 +#: gnu/argp-parse.c:84 msgid "SECS" msgstr "秒" -#: gnu/argp-parse.c:87 +#: gnu/argp-parse.c:85 msgid "hang for SECS seconds (default 3600)" msgstr "掛斷若干秒 (預設 3600)" -#: gnu/argp-parse.c:144 +#: gnu/argp-parse.c:142 msgid "print program version" msgstr "印出程式版本" -#: gnu/argp-parse.c:161 +#: gnu/argp-parse.c:159 msgid "(PROGRAM ERROR) No version known!?" msgstr "(程式錯誤) 沒有已知版本 !?" -#: gnu/argp-parse.c:614 +#: gnu/argp-parse.c:612 #, c-format msgid "%s: Too many arguments\n" msgstr "%s:太多引數\n" -#: gnu/argp-parse.c:757 +#: gnu/argp-parse.c:755 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(程式錯誤) 選項應該已被辨識 !?" -#: gnu/closeout.c:114 +#: gnu/closeout.c:112 msgid "write error" msgstr "寫入錯誤" -#: gnu/getopt.c:549 gnu/getopt.c:578 +#: gnu/getopt.c:575 gnu/getopt.c:604 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s:選項 %s 是模稜兩可的\n" -#: gnu/getopt.c:626 gnu/getopt.c:630 +#: gnu/getopt.c:619 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s:選項 -W %s 是模稜兩可的\n" + +#: gnu/getopt.c:654 gnu/getopt.c:658 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s:選項 --%s 不允許引數\n" -#: gnu/getopt.c:639 gnu/getopt.c:644 +#: gnu/getopt.c:667 gnu/getopt.c:672 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s:選項 %c%s 不允許有引數\n" -#: gnu/getopt.c:687 gnu/getopt.c:706 +#: gnu/getopt.c:715 gnu/getopt.c:734 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s:選項 --%s 需要一個引數\n" -#: gnu/getopt.c:744 gnu/getopt.c:747 +#: gnu/getopt.c:772 gnu/getopt.c:775 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s:無法辨識的選項 --%s\n" -#: gnu/getopt.c:755 gnu/getopt.c:758 +#: gnu/getopt.c:783 gnu/getopt.c:786 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s:無法辨識的選項 %c%s\n" -#: gnu/getopt.c:807 gnu/getopt.c:810 +#: gnu/getopt.c:835 gnu/getopt.c:838 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s:無效的選項 -- %c\n" -#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s:選項需要一個引數 -- %c\n" -#: gnu/getopt.c:936 gnu/getopt.c:952 +#: gnu/getopt.c:964 gnu/getopt.c:980 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s:選項 -W %s 是模稜兩可的\n" -#: gnu/getopt.c:976 gnu/getopt.c:994 +#: gnu/getopt.c:1004 gnu/getopt.c:1022 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s:選項 -W %s 不允許有引數\n" -#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#: gnu/getopt.c:1043 gnu/getopt.c:1061 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s:選項 -W %s 需要一個引數\n" -#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34 msgid "memory exhausted" msgstr "記憶體已耗盡" -#: gnu/openat-die.c:40 +#: gnu/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "無法記錄目前的工作目錄" -#: gnu/openat-die.c:59 +#: gnu/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "回到初始工作目錄時失敗" @@ -225,11 +230,11 @@ msgstr "回到初始工作目錄時失敗" #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:314 +#: gnu/quotearg.c:312 msgid "`" msgstr "「" -#: gnu/quotearg.c:315 +#: gnu/quotearg.c:313 msgid "'" msgstr "」" @@ -239,7 +244,7 @@ msgstr "」" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:152 +#: gnu/rpmatch.c:150 msgid "^[yY]" msgstr "^[yY是]" @@ -249,16 +254,16 @@ msgstr "^[yY是]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:165 +#: gnu/rpmatch.c:163 msgid "^[nN]" msgstr "^[nN否]" -#: gnu/version-etc.c:76 +#: gnu/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "由 %s (%s) 打包套件\n" -#: gnu/version-etc.c:79 +#: gnu/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "由 %s 打包套件\n" @@ -266,11 +271,11 @@ msgstr "由 %s 打包套件\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: gnu/version-etc.c:86 +#: gnu/version-etc.c:84 msgid "(C)" msgstr "©" -#: gnu/version-etc.c:88 +#: gnu/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: gnu/version-etc.c:247 +#: gnu/version-etc.c:245 #, c-format msgid "" "\n" @@ -407,22 +412,22 @@ msgstr "" "\n" "將錯誤通報給:%s\n" -#: gnu/version-etc.c:249 +#: gnu/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "通報 %s 錯誤給:%s\n" -#: gnu/version-etc.c:253 +#: gnu/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 首頁:<%s>\n" -#: gnu/version-etc.c:255 +#: gnu/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s 首頁:\n" -#: gnu/version-etc.c:258 +#: gnu/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "使用 GNU 軟體的一般說明:\n" @@ -584,8 +589,8 @@ msgstr "未預期的引數" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "操控磁帶機,從遠端行程接受命令" -#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643 -#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625 +#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171 msgid "NUMBER" msgstr "數目" @@ -593,10 +598,11 @@ msgstr "數目" msgid "set debug level" msgstr "設定除錯等級" -#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713 -#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744 -#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180 -#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193 +#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102 +#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113 +#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747 +#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189 +#: tests/genfile.c:192 tests/genfile.c:198 msgid "FILE" msgstr "檔案" @@ -609,7 +615,7 @@ msgstr "設定除錯輸出檔案名稱" msgid "cannot open %s" msgstr "無法開啟 %s" -#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977 #, c-format msgid "too many arguments" msgstr "太多引數" @@ -618,109 +624,109 @@ msgstr "太多引數" msgid "Garbage command" msgstr "無用的命令" -#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373 -#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273 -#: src/update.c:188 +#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396 +#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212 +#: src/list.c:275 src/update.c:188 msgid "This does not look like a tar archive" msgstr "這個看起來不像 tar 封存" -#: src/buffer.c:574 +#: src/buffer.c:577 msgid "Total bytes read" msgstr "已讀取位元組總數" -#: src/buffer.c:576 +#: src/buffer.c:579 msgid "Total bytes written" msgstr "已寫入位元組總數" -#: src/buffer.c:577 +#: src/buffer.c:580 #, fuzzy msgid "Total bytes deleted" msgstr "已刪除位元組總數:%s\n" -#: src/buffer.c:656 +#: src/buffer.c:659 msgid "(pipe)" msgstr "(管線)" -#: src/buffer.c:680 +#: src/buffer.c:683 msgid "Refusing to read archive contents from terminal (missing -f option?)" msgstr "" -#: src/buffer.c:682 +#: src/buffer.c:685 msgid "Refusing to write archive contents to terminal (missing -f option?)" msgstr "" -#: src/buffer.c:695 +#: src/buffer.c:698 msgid "Invalid value for record_size" msgstr "無效的記錄大小" -#: src/buffer.c:698 +#: src/buffer.c:701 msgid "No archive name given" msgstr "沒有指定封存名稱" -#: src/buffer.c:741 +#: src/buffer.c:744 msgid "Cannot verify stdin/stdout archive" msgstr "無法檢驗標準輸出入封存" -#: src/buffer.c:754 +#: src/buffer.c:757 #, c-format msgid "Archive is compressed. Use %s option" msgstr "封存被壓縮過。使用 %s 選項" -#: src/buffer.c:812 src/tar.c:2541 +#: src/buffer.c:815 src/tar.c:2460 msgid "Cannot update compressed archives" msgstr "無法更新壓縮的封存" -#: src/buffer.c:905 +#: src/buffer.c:908 msgid "At beginning of tape, quitting now" msgstr "位於磁帶起始部分,立刻退出" -#: src/buffer.c:911 +#: src/buffer.c:914 msgid "Too many errors, quitting" msgstr "太多錯誤,離開中" -#: src/buffer.c:944 +#: src/buffer.c:947 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "記錄大小 = %lu 區塊" -#: src/buffer.c:965 +#: src/buffer.c:968 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "封存中未排列的區塊 (%lu 位元組)" -#: src/buffer.c:1042 +#: src/buffer.c:1055 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "無法倒退封存檔案;沒有 -i 也許會無法讀取" -#: src/buffer.c:1074 +#: src/buffer.c:1087 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek 無法在記錄分界處停止" -#: src/buffer.c:1125 +#: src/buffer.c:1148 #, c-format msgid "%s: contains invalid volume number" msgstr "%s:包含無效的卷冊號碼" -#: src/buffer.c:1160 +#: src/buffer.c:1183 msgid "Volume number overflow" msgstr "卷冊號碼已滿" -#: src/buffer.c:1175 +#: src/buffer.c:1198 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "準備好卷冊 #%d 以完成 %s 並按下 return: " -#: src/buffer.c:1181 +#: src/buffer.c:1204 msgid "EOF where user reply was expected" msgstr "到達期待使用者回答的檔案末端" -#: src/buffer.c:1186 src/buffer.c:1218 +#: src/buffer.c:1209 src/buffer.c:1241 msgid "WARNING: Archive is incomplete" msgstr "警告:封存不完整" -#: src/buffer.c:1200 +#: src/buffer.c:1223 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -731,71 +737,71 @@ msgstr "" " q 放棄打包\n" " y 或 newline 繼續作業\n" -#: src/buffer.c:1205 +#: src/buffer.c:1228 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! 衍生一個子命令殼\n" -#: src/buffer.c:1206 +#: src/buffer.c:1229 #, c-format msgid " ? Print this list\n" msgstr " ? 列印這個清單\n" -#: src/buffer.c:1213 +#: src/buffer.c:1236 msgid "No new volume; exiting.\n" msgstr "沒有新卷冊;離開。\n" -#: src/buffer.c:1246 +#: src/buffer.c:1269 msgid "File name not specified. Try again.\n" msgstr "檔案名稱尚未指定。再次嘗試。\n" -#: src/buffer.c:1259 +#: src/buffer.c:1282 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "無效的輸入。按下 ? 以獲得說明。\n" -#: src/buffer.c:1310 +#: src/buffer.c:1333 #, c-format msgid "%s command failed" msgstr "%s 命令失敗" -#: src/buffer.c:1491 -#, c-format -msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s 在本卷冊中可能連續:標頭含有截斷的名稱" - -#: src/buffer.c:1495 +#: src/buffer.c:1511 src/buffer.c:1527 #, c-format msgid "%s is not continued on this volume" msgstr "%s 在本卷冊中並不連續" -#: src/buffer.c:1509 +#: src/buffer.c:1523 +#, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "%s 在本卷冊中可能連續:標頭含有截斷的名稱" + +#: src/buffer.c:1541 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s 的大小有錯 (%s != %s + %s)" -#: src/buffer.c:1524 +#: src/buffer.c:1556 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "本卷冊已超出序列 (%s - %s !=%s)" -#: src/buffer.c:1602 src/buffer.c:1628 +#: src/buffer.c:1634 src/buffer.c:1660 #, c-format msgid "Archive not labeled to match %s" msgstr "封存未標誌為符合 %s" -#: src/buffer.c:1632 +#: src/buffer.c:1664 #, c-format msgid "Volume %s does not match %s" msgstr "卷冊 %s 不符合 %s" -#: src/buffer.c:1726 +#: src/buffer.c:1758 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "%s:檔名太長,無法儲存於 GNU 多重卷冊標頭之中,已截斷" -#: src/buffer.c:1917 +#: src/buffer.c:1949 msgid "write did not end on a block boundary" msgstr "並未於區段界限結束寫入" @@ -805,20 +811,20 @@ msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "只能讀取 %2$lu 位元組中的 %1$lu 個" -#: src/compare.c:106 src/compare.c:391 +#: src/compare.c:106 src/compare.c:395 msgid "Contents differ" msgstr "內容不同" -#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487 -#: src/list.c:1426 src/xheader.c:837 +#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489 +#: src/list.c:1405 src/xheader.c:847 msgid "Unexpected EOF in archive" msgstr "未預期的封存結尾" -#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415 +#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419 msgid "File type differs" msgstr "檔案類型不同" -#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +#: src/compare.c:183 src/compare.c:203 src/compare.c:328 msgid "Mode differs" msgstr "模式不同" @@ -834,7 +840,7 @@ msgstr "Gid 號碼不同" msgid "Mod time differs" msgstr "修改時間不同" -#: src/compare.c:216 src/compare.c:425 +#: src/compare.c:216 src/compare.c:429 msgid "Size differs" msgstr "大小不同" @@ -843,136 +849,136 @@ msgstr "大小不同" msgid "Not linked to %s" msgstr "並未鏈結至 %s" -#: src/compare.c:289 +#: src/compare.c:290 msgid "Symlink differs" msgstr "符號連結不同" -#: src/compare.c:318 +#: src/compare.c:322 msgid "Device number differs" msgstr "裝置編號不同" -#: src/compare.c:466 +#: src/compare.c:470 #, c-format msgid "Verify " msgstr "驗證 " -#: src/compare.c:473 +#: src/compare.c:477 #, fuzzy, c-format msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s:不明檔案類型 %c,會以普通檔案的方式作比較" -#: src/compare.c:529 +#: src/compare.c:533 msgid "Archive contains file names with leading prefixes removed." msgstr "封存包含前置文字被移除的檔案名稱。" -#: src/compare.c:535 +#: src/compare.c:539 msgid "Archive contains transformed file names." msgstr "封存含有變換過的檔案名稱。" -#: src/compare.c:540 +#: src/compare.c:544 msgid "Verification may fail to locate original files." msgstr "查核動作可能無法找到原始檔案" -#: src/compare.c:614 +#: src/compare.c:618 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "驗證失敗:%d 偵測到無效的標頭" -#: src/compare.c:632 src/list.c:250 +#: src/compare.c:636 src/list.c:252 #, c-format msgid "A lone zero block at %s" msgstr "位於 %s 的孤立零值區塊" -#: src/create.c:73 +#: src/create.c:74 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s:包含一個快取目錄標記 %s; %s" -#: src/create.c:262 +#: src/create.c:263 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "數值 %s 已超出 %s 的範圍 %s..%s;以 %s 替代中" -#: src/create.c:268 +#: src/create.c:269 #, c-format msgid "value %s out of %s range %s..%s" msgstr "數值 %s 已超出 %s 的範圍 %s..%s" -#: src/create.c:328 +#: src/create.c:329 msgid "Generating negative octal headers" msgstr "正在產生負數的八進位標頭" -#: src/create.c:601 src/create.c:664 +#: src/create.c:602 src/create.c:665 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s:檔名太長 (最大 %d);未傾印" -#: src/create.c:611 +#: src/create.c:612 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s:檔名太長 (無法分割);未傾印" -#: src/create.c:638 +#: src/create.c:639 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s:鏈結名稱太長;未傾印" -#: src/create.c:1084 +#: src/create.c:1102 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s:檔案縮小了 %s 位元組;以零值填補" -#: src/create.c:1182 +#: src/create.c:1200 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s:檔案位於不同的檔案系統;未傾印" -#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617 +#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "內容無法傾印" -#: src/create.c:1440 +#: src/create.c:1458 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s:不明檔案類型;忽略該檔案" -#: src/create.c:1551 +#: src/create.c:1569 #, c-format msgid "Missing links to %s." msgstr "缺少連結到 %s。" -#: src/create.c:1712 +#: src/create.c:1730 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s:檔案沒有變更;未傾印" -#: src/create.c:1721 +#: src/create.c:1739 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s:檔案是封存;未傾印" -#: src/create.c:1749 src/incremen.c:603 +#: src/create.c:1767 src/incremen.c:603 msgid "directory not dumped" msgstr "目錄未傾印" -#: src/create.c:1821 +#: src/create.c:1839 #, c-format msgid "%s: file changed as we read it" msgstr "%s:檔案在讀取時已變更" -#: src/create.c:1902 +#: src/create.c:1915 #, c-format msgid "%s: socket ignored" msgstr "%s:忽略通訊端" -#: src/create.c:1908 +#: src/create.c:1921 #, c-format msgid "%s: door ignored" msgstr "%s:忽略匣門" -#: src/delete.c:218 src/list.c:287 src/update.c:193 +#: src/delete.c:218 src/list.c:289 src/update.c:193 msgid "Skipping to next header" msgstr "跳至下一個標頭" @@ -990,54 +996,54 @@ msgstr "%s:難以確信的舊時間戳記 %s" msgid "%s: time stamp %s is %s s in the future" msgstr "%s:時間戳記 %s 代表未來的 %s 秒" -#: src/extract.c:536 +#: src/extract.c:535 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s:產生目錄時有未預期的不一致" -#: src/extract.c:705 +#: src/extract.c:754 #, c-format msgid "%s: skipping existing file" msgstr "" -#: src/extract.c:821 +#: src/extract.c:870 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s:解開目錄狀態之前已更改了名稱" -#: src/extract.c:1010 +#: src/extract.c:1055 msgid "Extracting contiguous files as regular files" msgstr "正在解開連續檔案為正常檔案" -#: src/extract.c:1365 +#: src/extract.c:1410 msgid "Attempting extraction of symbolic links as hard links" msgstr "嘗試解開符號連結為硬式連結" -#: src/extract.c:1528 +#: src/extract.c:1573 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s:無法解開 -- 檔案延續自其他卷冊" -#: src/extract.c:1535 src/list.c:1167 +#: src/extract.c:1580 src/list.c:1168 msgid "Unexpected long name header" msgstr "未預期的長名稱標頭" -#: src/extract.c:1542 +#: src/extract.c:1587 #, fuzzy, c-format msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s:不明檔案類型 %c,會以普通檔案的方式解開資料" -#: src/extract.c:1568 +#: src/extract.c:1613 #, c-format msgid "Current %s is newer or same age" msgstr "目前的 %s 較新或相同" -#: src/extract.c:1620 +#: src/extract.c:1665 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s:之前無法備份這個檔案" -#: src/extract.c:1767 +#: src/extract.c:1814 #, c-format msgid "Cannot rename %s to %s" msgstr "無法將 %s 重新命名為 %s" @@ -1088,215 +1094,216 @@ msgstr "無效的 inode 號碼" msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270 +#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273 msgid "Unexpected EOF in snapshot file" msgstr "未預期的快照檔結尾" -#: src/incremen.c:1159 +#: src/incremen.c:1161 #, c-format msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1171 +#: src/incremen.c:1174 #, c-format msgid "" "%s: byte %s: (valid range %s..%s)\n" "\t%s %s" msgstr "" -#: src/incremen.c:1178 +#: src/incremen.c:1181 #, c-format msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1262 #, c-format msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1262 +#: src/incremen.c:1265 msgid "Missing record terminator" msgstr "缺少記錄終止符號" -#: src/incremen.c:1368 src/incremen.c:1371 +#: src/incremen.c:1371 src/incremen.c:1374 msgid "Bad incremental file format" msgstr "不當的遞增檔案格式" -#: src/incremen.c:1390 +#: src/incremen.c:1393 #, c-format msgid "Unsupported incremental format version: %" msgstr "不受支援的遞增格式版本:%" -#: src/incremen.c:1545 +#: src/incremen.c:1549 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "異常的傾印目錄:預期 %c 但是找到 %#3o" -#: src/incremen.c:1555 +#: src/incremen.c:1559 msgid "Malformed dumpdir: 'X' duplicated" msgstr "異常的傾印目錄:X 重製" -#: src/incremen.c:1568 +#: src/incremen.c:1572 msgid "Malformed dumpdir: empty name in 'R'" msgstr "異常的傾印目錄:在 R 中有空的名稱" -#: src/incremen.c:1581 -msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +#: src/incremen.c:1585 +#, fuzzy +msgid "Malformed dumpdir: 'T' not preceded by 'R'" msgstr "異常的傾印目錄:R 未在 T 之前" -#: src/incremen.c:1587 +#: src/incremen.c:1591 msgid "Malformed dumpdir: empty name in 'T'" msgstr "異常的傾印目錄:在 T 中有空的名稱" -#: src/incremen.c:1607 +#: src/incremen.c:1611 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "異常的傾印目錄:預期 %c 但是發現資料的結束" -#: src/incremen.c:1614 +#: src/incremen.c:1618 msgid "Malformed dumpdir: 'X' never used" msgstr "異常的傾印目錄:X 永不使用" -#: src/incremen.c:1658 +#: src/incremen.c:1662 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "無法使用模板 %s 建立暫存目錄" -#: src/incremen.c:1719 +#: src/incremen.c:1723 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s:未能清空目錄;無法顯示狀態" -#: src/incremen.c:1732 +#: src/incremen.c:1736 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s:目錄位於不同的裝置;無法清空" -#: src/incremen.c:1740 +#: src/incremen.c:1744 #, c-format msgid "%s: Deleting %s\n" msgstr "%s:正在刪除 %s\n" -#: src/incremen.c:1745 +#: src/incremen.c:1749 #, c-format msgid "%s: Cannot remove" msgstr "%s:無法移除" -#: src/list.c:217 +#: src/list.c:219 #, c-format msgid "%s: Omitting" msgstr "%s:省略中" -#: src/list.c:235 +#: src/list.c:237 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "區塊 %s:** 空值區塊 **\n" -#: src/list.c:261 +#: src/list.c:263 #, c-format msgid "block %s: ** End of File **\n" msgstr "區塊 %s:** 檔案結尾 **\n" -#: src/list.c:284 src/list.c:1136 src/list.c:1394 +#: src/list.c:286 src/list.c:1137 src/list.c:1373 #, c-format msgid "block %s: " msgstr "區塊 %s:" #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:751 +#: src/list.c:752 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "空白出現在標頭中預期為數值 %s 的地方" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:806 +#: src/list.c:807 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "封存八進位數值 %.*s 超出 %s 範圍;假定為二的補數" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:817 +#: src/list.c:818 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "封存八進位數值 %.*s 超出 %s 範圍" -#: src/list.c:838 +#: src/list.c:839 msgid "Archive contains obsolescent base-64 headers" msgstr "封存含有過時的 base-64 標頭" -#: src/list.c:852 +#: src/list.c:853 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "封存有號 base-64 字串 %s 超出 %s 範圍" -#: src/list.c:883 +#: src/list.c:884 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "封存 base-256 值超出 %s 範圍" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:912 +#: src/list.c:913 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "封存包含 %.*s 於預期為數值 %s 的地方" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:934 +#: src/list.c:935 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "封存值 %s 已超出 %s 的範圍 %s..%s" -#: src/list.c:1294 +#: src/list.c:1273 #, c-format msgid " link to %s\n" msgstr " 連結到 %s\n" -#: src/list.c:1302 +#: src/list.c:1281 #, c-format msgid " unknown file type %s\n" msgstr " 不明檔案類型 %s\n" -#: src/list.c:1320 +#: src/list.c:1299 #, c-format msgid "--Long Link--\n" msgstr "--長 連 結--\n" -#: src/list.c:1324 +#: src/list.c:1303 #, c-format msgid "--Long Name--\n" msgstr "--長 名 稱--\n" -#: src/list.c:1328 +#: src/list.c:1307 #, c-format msgid "--Volume Header--\n" msgstr "--卷 冊 標 é ­--\n" -#: src/list.c:1336 +#: src/list.c:1315 #, c-format msgid "--Continued at byte %s--\n" msgstr "--於第 %s 位元組繼續--\n" -#: src/list.c:1399 +#: src/list.c:1378 msgid "Creating directory:" msgstr "正在建立目錄:" -#: src/misc.c:726 +#: src/misc.c:733 #, c-format msgid "Renaming %s to %s\n" msgstr "正在將 %s 重新命名為 %s\n" -#: src/misc.c:735 src/misc.c:754 +#: src/misc.c:742 src/misc.c:761 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s:無法重新命名為 %s" -#: src/misc.c:759 +#: src/misc.c:766 #, c-format msgid "Renaming %s back to %s\n" msgstr "將 %s 的名稱還原為 %s\n" -#: src/misc.c:1101 +#: src/misc.c:1108 #, c-format msgid "%s: File removed before we read it" msgstr "%s:讀取檔案之前已被移除" @@ -1309,81 +1316,236 @@ msgstr "子行程" msgid "interprocess channel" msgstr "行程間通道" -#: src/names.c:360 +#: src/names.c:68 +#, fuzzy +msgid "Local file name selection:" +msgstr "本機檔案選擇:" + +#: src/names.c:71 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "將給定的 FILE 加入封存 (如果它的名稱以減號開始時就很有用)" + +#: src/names.c:72 src/tar.c:484 +msgid "DIR" +msgstr "目錄" + +#: src/names.c:73 +msgid "change to directory DIR" +msgstr "更改至目錄 DIR" + +#: src/names.c:75 +msgid "get names to extract or create from FILE" +msgstr "從 FILE 中取得要解開或建立的名稱" + +#: src/names.c:77 +#, fuzzy +msgid "-T reads null-terminated names; implies --verbatim-files-from" +msgstr "-T 讀取零值終結的名稱,停用 -C" + +#: src/names.c:80 +msgid "disable the effect of the previous --null option" +msgstr "停用先前 --null 選項的效果" + +#: src/names.c:82 +#, fuzzy +msgid "unquote input file or member names (default)" +msgstr "去除以 -T 讀取的檔名引號 (預設)" + +#: src/names.c:84 +#, fuzzy +msgid "do not unquote input file or member names" +msgstr "不去除以 -T 讀取的檔名引號" + +#: src/names.c:86 +msgid "-T reads file names verbatim (no option handling)" +msgstr "" + +#: src/names.c:88 +msgid "-T treats file names starting with dash as options (default)" +msgstr "" + +#: src/names.c:90 tests/genfile.c:140 +msgid "PATTERN" +msgstr "胚騰" + +#: src/names.c:91 +msgid "exclude files, given as a PATTERN" +msgstr "排除給定胚騰的檔案" + +#: src/names.c:93 +msgid "exclude patterns listed in FILE" +msgstr "排除 FILE 中所列出的胚騰" + +#: src/names.c:95 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "排除包含 CACHEDIR.TAG 的目錄內容,除了該標記檔案本身" + +#: src/names.c:98 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "排除包含 CACHEDIR.TAG 的目錄之下所有東西" + +#: src/names.c:101 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "排除包含 CACHEDIR.TAG 的目錄" + +#: src/names.c:103 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "排除包含 FILE 的目錄內容,除了該檔案本身" + +#: src/names.c:106 +msgid "read exclude patterns for each directory from FILE, if it exists" +msgstr "" + +#: src/names.c:109 +msgid "" +"read exclude patterns for each directory and its subdirectories from FILE, " +"if it exists" +msgstr "" + +#: src/names.c:112 +msgid "exclude everything under directories containing FILE" +msgstr "排除包含 FILE 的目錄之下所有東西" + +#: src/names.c:114 +msgid "exclude directories containing FILE" +msgstr "排除包含 FILE 的目錄" + +#: src/names.c:116 +msgid "exclude version control system directories" +msgstr "排除版本控制系統目錄" + +#: src/names.c:118 +msgid "read exclude patterns from the VCS ignore files" +msgstr "" + +#: src/names.c:120 +msgid "exclude backup and lock files" +msgstr "排除備份和鎖定檔案" + +#: src/names.c:122 +msgid "recurse into directories (default)" +msgstr "遞迴進入目錄 (預設)" + +#: src/names.c:124 +msgid "avoid descending automatically in directories" +msgstr "避免自動在目錄中遞降" + +#: src/names.c:129 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "檔案名稱吻合選項 (同時影響排除和包含胚騰同者):" + +#: src/names.c:132 +msgid "patterns match file name start" +msgstr "吻合檔案名稱開頭的胚騰" + +#: src/names.c:134 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" +msgstr "胚騰吻合任何 / 之後的胚騰 (預設排除)" + +#: src/names.c:136 +msgid "ignore case" +msgstr "忽略大小寫" + +#: src/names.c:138 +msgid "case sensitive matching (default)" +msgstr "大小寫需相符的吻合 (預設)" + +#: src/names.c:140 +msgid "use wildcards (default for exclusion)" +msgstr "使用萬用字元 (預設排除)" + +#: src/names.c:142 +msgid "verbatim string matching" +msgstr "逐字進行吻合" + +#: src/names.c:144 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" +msgstr "萬用字元會吻合 / (預設排除)" + +#: src/names.c:146 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "萬用字元不會吻合 /" + +#: src/names.c:768 #, fuzzy msgid "command line" msgstr "%s 命令失敗" -#: src/names.c:378 +#: src/names.c:786 #, fuzzy, c-format msgid "%s: file list requested from %s already read from %s" msgstr "%s:已經讀取檔案清單" -#: src/names.c:448 src/checkpoint.c:274 +#: src/names.c:867 src/checkpoint.c:274 #, fuzzy, c-format msgid "cannot split string '%s': %s" msgstr "無法設定時間為 %s" -#: src/names.c:490 +#: src/names.c:914 #, c-format msgid "%s: file name read contains nul character" msgstr "%s:所讀檔案名稱含有空值字元" -#: src/names.c:824 +#: src/names.c:1242 msgid "Pattern matching characters used in file names" msgstr "用於檔案名稱的胚騰匹配字元" -#: src/names.c:826 +#: src/names.c:1244 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "使用 --wildcards 以啟用胚騰匹配,或 --no-wildcards 以抑制這個警告" -#: src/names.c:844 src/names.c:860 +#: src/names.c:1262 src/names.c:1278 #, c-format msgid "%s: Not found in archive" msgstr "%s:在封存中找不到" -#: src/names.c:845 +#: src/names.c:1263 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s:要求項目在封存中找不到" -#: src/names.c:879 +#: src/names.c:1297 #, c-format msgid "Archive label mismatch" msgstr "封存標貼不匹配" -#: src/names.c:1183 +#: src/names.c:1601 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "於檔案清單內部使用 -C 選項是不允許與 --listed-incremental 共用" -#: src/names.c:1189 +#: src/names.c:1607 msgid "Only one -C option is allowed with --listed-incremental" msgstr "只有一個 -C 選項是允許與 --listed-incremental 共用" -#: src/tar.c:87 +#: src/tar.c:88 #, fuzzy, c-format msgid "Options '%s' and '%s' both want standard input" msgstr "選項 -%s 和 -%s 兩者都需要標準輸入" -#: src/tar.c:164 +#: src/tar.c:165 #, c-format msgid "%s: Invalid archive format" msgstr "%s:無效的封存格式" -#: src/tar.c:196 +#: src/tar.c:197 msgid "GNU features wanted on incompatible archive format" msgstr "不能在不兼容的封存格式中使用 GNU 功能" -#: src/tar.c:264 +#: src/tar.c:265 #, fuzzy, c-format msgid "" "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "不明引號樣式 %s 。嘗試 %s --quoting-style=help 以取得清單。" -#: src/tar.c:378 +#: src/tar.c:354 #, fuzzy msgid "" "GNU 'tar' saves many files together into a single tape or disk archive, and " @@ -1402,7 +1564,7 @@ msgstr "" " tar -tvf archive.tar # 詳細列出 archive.tar 中的所有檔案。\n" " tar -xf archive.tar # 解開 archive.tar 中的所有檔案。\n" -#: src/tar.c:387 +#: src/tar.c:363 #, fuzzy msgid "" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" @@ -1422,79 +1584,87 @@ msgstr "" " nil, existing 若有數字的備份檔已經存在則使用數字,否則使用普通方式備份\n" " never, simple 永遠使用普通方式備份\n" -#: src/tar.c:417 +#: src/tar.c:393 msgid "Main operation mode:" msgstr "主要操作模式:" -#: src/tar.c:420 +#: src/tar.c:396 msgid "list the contents of an archive" msgstr "列出封存的內容" -#: src/tar.c:422 +#: src/tar.c:398 msgid "extract files from an archive" msgstr "從封存中解開檔案" -#: src/tar.c:425 +#: src/tar.c:401 msgid "create a new archive" msgstr "建立新的封存" -#: src/tar.c:427 +#: src/tar.c:403 msgid "find differences between archive and file system" msgstr "在封存與檔案系統之間找出差異" -#: src/tar.c:430 +#: src/tar.c:406 msgid "append files to the end of an archive" msgstr "加入檔案到封存末端" -#: src/tar.c:432 +#: src/tar.c:408 msgid "only append files newer than copy in archive" msgstr "只加入比封存中複本還新的檔案" -#: src/tar.c:434 +#: src/tar.c:410 msgid "append tar files to an archive" msgstr "加入 tar 檔案到封存中" -#: src/tar.c:437 +#: src/tar.c:413 msgid "delete from the archive (not on mag tapes!)" msgstr "從封存中刪除 (並非在磁帶上!)" -#: src/tar.c:439 +#: src/tar.c:415 msgid "test the archive volume label and exit" msgstr "測試封存卷冊標籤然後離開" -#: src/tar.c:444 +#: src/tar.c:420 msgid "Operation modifiers:" msgstr "運算變更項:" -#: src/tar.c:447 +#: src/tar.c:423 msgid "handle sparse files efficiently" msgstr "有效率地處理稀疏檔案" -#: src/tar.c:448 +#: src/tar.c:424 +msgid "TYPE" +msgstr "" + +#: src/tar.c:425 +msgid "technique to detect holes" +msgstr "" + +#: src/tar.c:426 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:449 +#: src/tar.c:427 msgid "set version of the sparse format to use (implies --sparse)" msgstr "設定稀疏格式版本以使用 (意味著 --sparse)" -#: src/tar.c:451 +#: src/tar.c:429 msgid "handle old GNU-format incremental backup" msgstr "處理舊型 GNU-格式之遞增備份" -#: src/tar.c:453 +#: src/tar.c:431 msgid "handle new GNU-format incremental backup" msgstr "處理新型 GNU-格式之遞增備份" -#: src/tar.c:455 +#: src/tar.c:433 msgid "dump level for created listed-incremental archive" msgstr "用於建立 listed-incremental 封存的傾印等級" -#: src/tar.c:457 +#: src/tar.c:435 msgid "do not exit with nonzero on unreadable files" msgstr "離開無法讀取的檔案時不要回傳非零的值" -#: src/tar.c:459 +#: src/tar.c:437 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1505,138 +1675,147 @@ msgstr "" "diff、--extract 或 --list 等次命令之一合併使用時才有效,而且要經由命令列或是 " "-T 選項來提供一個檔案序列。預設的數目是 1。" -#: src/tar.c:465 +#: src/tar.c:443 msgid "archive is seekable" msgstr "封存是可尋指的" -#: src/tar.c:467 +#: src/tar.c:445 msgid "archive is not seekable" msgstr "封存不是可尋指的" -#: src/tar.c:469 +#: src/tar.c:447 msgid "do not check device numbers when creating incremental archives" msgstr "不檢查裝置數量時建立遞增檔案" -#: src/tar.c:472 +#: src/tar.c:450 msgid "check device numbers when creating incremental archives (default)" msgstr "檢查裝置數量時建立遞增檔案 (預設)" -#: src/tar.c:478 +#: src/tar.c:456 msgid "Overwrite control:" msgstr "覆寫控制:" -#: src/tar.c:481 +#: src/tar.c:459 msgid "attempt to verify the archive after writing it" msgstr "嘗試在寫入之後驗證封存" -#: src/tar.c:483 +#: src/tar.c:461 msgid "remove files after adding them to the archive" msgstr "在加入檔案至封存之後移除它們" -#: src/tar.c:485 +#: src/tar.c:463 #, fuzzy msgid "don't replace existing files when extracting, treat them as errors" msgstr "解開時不要替換既有的檔案" -#: src/tar.c:488 +#: src/tar.c:466 #, fuzzy msgid "don't replace existing files when extracting, silently skip over them" msgstr "解開時不要替換既有的檔案" -#: src/tar.c:491 +#: src/tar.c:469 msgid "don't replace existing files that are newer than their archive copies" msgstr "不要替換既有且比它們在封存中複本還新的檔案" -#: src/tar.c:493 +#: src/tar.c:471 msgid "overwrite existing files when extracting" msgstr "解開時覆寫既有檔案" -#: src/tar.c:495 +#: src/tar.c:473 msgid "remove each file prior to extracting over it" msgstr "在解開並覆寫檔案之前先移除它" -#: src/tar.c:497 +#: src/tar.c:475 msgid "empty hierarchies prior to extracting directory" msgstr "在解開目錄之前先清空階層結構" -#: src/tar.c:499 +#: src/tar.c:477 msgid "preserve metadata of existing directories" msgstr "保留既有目錄的後設資料" -#: src/tar.c:501 +#: src/tar.c:479 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "解開時覆寫既有目錄的後設資料 (預設)" -#: src/tar.c:504 +#: src/tar.c:482 #, fuzzy msgid "preserve existing symlinks to directories when extracting" msgstr "解開時覆寫既有檔案" -#: src/tar.c:506 src/tar.c:711 -msgid "DIR" -msgstr "目錄" - -#: src/tar.c:507 +#: src/tar.c:485 msgid "create a subdirectory to avoid having loose files extracted" msgstr "" -#: src/tar.c:513 +#: src/tar.c:491 msgid "Select output stream:" msgstr "選取輸出串流:" -#: src/tar.c:516 +#: src/tar.c:494 msgid "extract files to standard output" msgstr "解開檔案到標準輸出" -#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190 +#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195 msgid "COMMAND" msgstr "命令" -#: src/tar.c:518 +#: src/tar.c:496 msgid "pipe extracted files to another program" msgstr "將解開的檔案管線引導到另外的程式" -#: src/tar.c:520 +#: src/tar.c:498 msgid "ignore exit codes of children" msgstr "忽略子行程的離開代碼" -#: src/tar.c:522 +#: src/tar.c:500 msgid "treat non-zero exit codes of children as error" msgstr "將子行程的非零離開代碼視為錯誤" -#: src/tar.c:527 +#: src/tar.c:505 msgid "Handling of file attributes:" msgstr "檔案屬性的處理:" -#: src/tar.c:530 +#: src/tar.c:508 msgid "force NAME as owner for added files" msgstr "強制以 NAME 做為加入檔案的擁有者" -#: src/tar.c:532 +#: src/tar.c:510 msgid "force NAME as group for added files" msgstr "強制以 NAME 做為加入檔案的群組" -#: src/tar.c:533 src/tar.c:768 +#: src/tar.c:512 +msgid "use FILE to map file owner UIDs and names" +msgstr "" + +#: src/tar.c:514 +msgid "use FILE to map file owner GIDs and names" +msgstr "" + +#: src/tar.c:515 src/tar.c:700 msgid "DATE-OR-FILE" msgstr "檔案的日期" -#: src/tar.c:534 +#: src/tar.c:516 msgid "set mtime for added files from DATE-OR-FILE" msgstr "將加入檔案的 mtime 設定為 DATE-OR-FILE" -#: src/tar.c:535 +#: src/tar.c:518 +msgid "" +"only set time when the file is more recent than what was given with --mtime" +msgstr "" + +#: src/tar.c:519 msgid "CHANGES" msgstr "變更" -#: src/tar.c:536 +#: src/tar.c:520 msgid "force (symbolic) mode CHANGES for added files" msgstr "強制將 (符號) 模式 CHANGES 用於已加入檔案" -#: src/tar.c:538 +#: src/tar.c:522 msgid "METHOD" msgstr "方法" -#: src/tar.c:539 +#: src/tar.c:523 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1645,231 +1824,227 @@ msgstr "" "保留傾印檔案的存取時間,若非由讀取之後的回復時間(方法='replace';預設),就是" "藉由原本不設定時間 (方法='system')" -#: src/tar.c:543 +#: src/tar.c:527 msgid "don't extract file modified time" msgstr "不要解開檔案的修改時間" -#: src/tar.c:545 +#: src/tar.c:529 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "嘗試以與存在於封存中的相同擁有屬性來抽出檔案 (預設用於系統管理者)" -#: src/tar.c:547 +#: src/tar.c:531 msgid "extract files as yourself (default for ordinary users)" msgstr "以您自己擁有的屬性來抽出檔案 (預設用於一般使用者)" -#: src/tar.c:549 +#: src/tar.c:533 msgid "always use numbers for user/group names" msgstr "總是使用數字做為使用者/群組名稱" -#: src/tar.c:551 +#: src/tar.c:535 msgid "extract information about file permissions (default for superuser)" msgstr "解開檔案權限相關資訊 (預設用於超級使用者)" -#: src/tar.c:555 +#: src/tar.c:539 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "從封存解開權限時套用使用者 umask (預設用於一般使用者)" -#: src/tar.c:557 +#: src/tar.c:541 msgid "" "member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:561 -msgid "same as both -p and -s" -msgstr "等同於指定 -p 與 -s" - -#: src/tar.c:563 +#: src/tar.c:545 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "延遲設定解開目錄的修改時間和權限,直到解開結束" -#: src/tar.c:566 +#: src/tar.c:548 msgid "cancel the effect of --delay-directory-restore option" msgstr "取消 --delay-directory-restore 選項的效果" -#: src/tar.c:567 +#: src/tar.c:549 msgid "ORDER" msgstr "" -#: src/tar.c:571 +#: src/tar.c:553 msgid "directory sorting order: none (default) or name" msgstr "" -#: src/tar.c:578 +#: src/tar.c:560 #, fuzzy msgid "Handling of extended file attributes:" msgstr "檔案屬性的處理:" -#: src/tar.c:581 +#: src/tar.c:563 msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:583 +#: src/tar.c:565 msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:584 src/tar.c:586 +#: src/tar.c:566 src/tar.c:568 msgid "MASK" msgstr "" -#: src/tar.c:585 +#: src/tar.c:567 msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:587 +#: src/tar.c:569 msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:589 +#: src/tar.c:571 msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:591 +#: src/tar.c:573 msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:593 +#: src/tar.c:575 msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:595 +#: src/tar.c:577 msgid "Disable the POSIX ACLs support" msgstr "" -#: src/tar.c:600 +#: src/tar.c:582 msgid "Device selection and switching:" msgstr "裝置選擇與切換:" -#: src/tar.c:602 +#: src/tar.c:584 msgid "ARCHIVE" msgstr "封存" -#: src/tar.c:603 +#: src/tar.c:585 msgid "use archive file or device ARCHIVE" msgstr "使用 ARCHIVE 檔案或 ARCHIVE 裝置" -#: src/tar.c:605 +#: src/tar.c:587 msgid "archive file is local even if it has a colon" msgstr "即使具有冒號,封存檔案仍位於本地端" -#: src/tar.c:607 +#: src/tar.c:589 msgid "use given rmt COMMAND instead of rmt" msgstr "使用給定的 rmt COMMAND 以代替 rmt" -#: src/tar.c:609 +#: src/tar.c:591 msgid "use remote COMMAND instead of rsh" msgstr "使用遠端 COMMAND 以代替 rsh" -#: src/tar.c:613 +#: src/tar.c:595 msgid "specify drive and density" msgstr "指定磁碟機與記錄密度" -#: src/tar.c:627 +#: src/tar.c:609 msgid "create/list/extract multi-volume archive" msgstr "建立/列表/解開 多重卷冊的封存" -#: src/tar.c:629 +#: src/tar.c:611 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "在寫入 NUMBER x 1024 位元組之後更換磁帶" -#: src/tar.c:631 +#: src/tar.c:613 msgid "run script at end of each tape (implies -M)" msgstr "在每卷磁帶末端執行命令稿 (意指 -M)" -#: src/tar.c:634 +#: src/tar.c:616 msgid "use/update the volume number in FILE" msgstr "使用/更新 FILE 中的卷冊號碼" -#: src/tar.c:639 +#: src/tar.c:621 msgid "Device blocking:" msgstr "裝置分區:" -#: src/tar.c:641 +#: src/tar.c:623 msgid "BLOCKS" msgstr "區塊" -#: src/tar.c:642 +#: src/tar.c:624 msgid "BLOCKS x 512 bytes per record" msgstr "每筆記錄含有 BLOCKS x 512 位元組" -#: src/tar.c:644 +#: src/tar.c:626 msgid "NUMBER of bytes per record, multiple of 512" msgstr "每筆記錄 SIZE 位元組,為 512 的倍數" -#: src/tar.c:646 +#: src/tar.c:628 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "忽略封存中零值的區塊 (意指 EOF)" -#: src/tar.c:648 +#: src/tar.c:630 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "讀取時重新分區 (用於 4.2BSD 管線)" -#: src/tar.c:653 +#: src/tar.c:635 msgid "Archive format selection:" msgstr "封存格式選擇:" -#: src/tar.c:655 tests/genfile.c:153 +#: src/tar.c:637 tests/genfile.c:158 msgid "FORMAT" msgstr "格式" -#: src/tar.c:656 +#: src/tar.c:638 msgid "create archive of the given format" msgstr "以給定格式建立封存" -#: src/tar.c:658 +#: src/tar.c:640 msgid "FORMAT is one of the following:" msgstr "符合下列任一 FORMAT:" -#: src/tar.c:659 +#: src/tar.c:641 msgid "old V7 tar format" msgstr "舊式 V7 tar 格式" -#: src/tar.c:662 +#: src/tar.c:644 msgid "GNU format as per tar <= 1.12" msgstr "tar <= 1.12 之 GNU 格式" -#: src/tar.c:664 +#: src/tar.c:646 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x 格式" -#: src/tar.c:666 +#: src/tar.c:648 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) 格式" -#: src/tar.c:668 +#: src/tar.c:650 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) 格式" -#: src/tar.c:669 +#: src/tar.c:651 msgid "same as pax" msgstr "等同 pax" -#: src/tar.c:672 +#: src/tar.c:654 msgid "same as --format=v7" msgstr "等同 --format=v7" -#: src/tar.c:675 +#: src/tar.c:657 msgid "same as --format=posix" msgstr "等同 --format=posix" -#: src/tar.c:676 +#: src/tar.c:658 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "關鍵字[[:]=值][,關鍵字[[:]=值]…]" -#: src/tar.c:677 +#: src/tar.c:659 msgid "control pax keywords" msgstr "控制 pax 的關鍵字" -#: src/tar.c:678 +#: src/tar.c:660 msgid "TEXT" msgstr "文字" -#: src/tar.c:679 +#: src/tar.c:661 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1877,179 +2052,81 @@ msgstr "" "以卷冊名稱 NAME 來建立封存。在列表/解開時,使用 TEXT 做為卷冊名稱的萬用比對胚" "騰" -#: src/tar.c:684 +#: src/tar.c:666 msgid "Compression options:" msgstr "壓縮選項:" -#: src/tar.c:686 +#: src/tar.c:668 msgid "use archive suffix to determine the compression program" msgstr "利用封存字尾決定壓縮程式" -#: src/tar.c:688 +#: src/tar.c:670 msgid "do not use archive suffix to determine the compression program" msgstr "不利用封存字尾決定壓縮程式" -#: src/tar.c:690 +#: src/tar.c:672 msgid "PROG" msgstr "程式" -#: src/tar.c:691 +#: src/tar.c:673 msgid "filter through PROG (must accept -d)" msgstr "以 PROG 過濾處理 (必須接受 -d)" -#: src/tar.c:707 +#: src/tar.c:689 msgid "Local file selection:" msgstr "本機檔案選擇:" -#: src/tar.c:710 -msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "將給定的 FILE 加入封存 (如果它的名稱以減號開始時就很有用)" - -#: src/tar.c:712 -msgid "change to directory DIR" -msgstr "更改至目錄 DIR" - -#: src/tar.c:714 -msgid "get names to extract or create from FILE" -msgstr "從 FILE 中取得要解開或建立的名稱" - -#: src/tar.c:716 -msgid "-T reads null-terminated names, disable -C" -msgstr "-T 讀取零值終結的名稱,停用 -C" - -#: src/tar.c:718 -msgid "disable the effect of the previous --null option" -msgstr "停用先前 --null 選項的效果" - -#: src/tar.c:720 -#, fuzzy -msgid "unquote input file or member names (default)" -msgstr "去除以 -T 讀取的檔名引號 (預設)" - -#: src/tar.c:722 -#, fuzzy -msgid "do not unquote input file or member names" -msgstr "不去除以 -T 讀取的檔名引號" - -#: src/tar.c:723 tests/genfile.c:136 -msgid "PATTERN" -msgstr "胚騰" - -#: src/tar.c:724 -msgid "exclude files, given as a PATTERN" -msgstr "排除給定胚騰的檔案" - -#: src/tar.c:726 -msgid "exclude patterns listed in FILE" -msgstr "排除 FILE 中所列出的胚騰" - -#: src/tar.c:728 -msgid "" -"exclude contents of directories containing CACHEDIR.TAG, except for the tag " -"file itself" -msgstr "排除包含 CACHEDIR.TAG 的目錄內容,除了該標記檔案本身" - -#: src/tar.c:731 -msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "排除包含 CACHEDIR.TAG 的目錄之下所有東西" - -#: src/tar.c:734 -msgid "exclude directories containing CACHEDIR.TAG" -msgstr "排除包含 CACHEDIR.TAG 的目錄" - -#: src/tar.c:736 -msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "排除包含 FILE 的目錄內容,除了該檔案本身" - -#: src/tar.c:739 -msgid "read exclude patterns for each directory from FILE, if it exists" -msgstr "" - -#: src/tar.c:742 -msgid "" -"read exclude patterns for each directory and its subdirectories from FILE, " -"if it exists" -msgstr "" - -#: src/tar.c:745 -msgid "exclude everything under directories containing FILE" -msgstr "排除包含 FILE 的目錄之下所有東西" - -#: src/tar.c:747 -msgid "exclude directories containing FILE" -msgstr "排除包含 FILE 的目錄" - -#: src/tar.c:749 -msgid "exclude version control system directories" -msgstr "排除版本控制系統目錄" - -#: src/tar.c:751 -msgid "read exclude patterns from the VCS ignore files" -msgstr "" - -#: src/tar.c:753 -msgid "exclude backup and lock files" -msgstr "排除備份和鎖定檔案" - -#: src/tar.c:755 -msgid "avoid descending automatically in directories" -msgstr "避免自動在目錄中遞降" - -#: src/tar.c:757 +#: src/tar.c:691 msgid "stay in local file system when creating archive" msgstr "建立封存時保持在本地檔案系統中" -#: src/tar.c:759 -msgid "recurse into directories (default)" -msgstr "遞迴進入目錄 (預設)" - -#: src/tar.c:761 +#: src/tar.c:693 #, fuzzy msgid "don't strip leading '/'s from file names" msgstr "不要從檔案名稱中截去前導的 '/'" -#: src/tar.c:763 +#: src/tar.c:695 msgid "follow symlinks; archive and dump the files they point to" msgstr "跟隨符號連結;封存和傾印它們所指涉的檔案" -#: src/tar.c:765 +#: src/tar.c:697 msgid "follow hard links; archive and dump the files they refer to" msgstr "跟隨硬式連結;封存和傾印它們所參考的檔案" -#: src/tar.c:766 +#: src/tar.c:698 msgid "MEMBER-NAME" msgstr "成員-名稱" -#: src/tar.c:767 +#: src/tar.c:699 #, fuzzy msgid "begin at member MEMBER-NAME when reading the archive" msgstr "從封存中名為 MEMBER-NAME 的成員開始" -#: src/tar.c:769 +#: src/tar.c:701 msgid "only store files newer than DATE-OR-FILE" msgstr "只儲存比 DATE-OF-FILE 還新的檔案" -#: src/tar.c:771 +#: src/tar.c:703 msgid "DATE" msgstr "日期" -#: src/tar.c:772 +#: src/tar.c:704 msgid "compare date and time when data changed only" msgstr "只有當資料變更時才比較日期和時間" -#: src/tar.c:773 +#: src/tar.c:705 msgid "CONTROL" msgstr "控制" -#: src/tar.c:774 +#: src/tar.c:706 msgid "backup before removal, choose version CONTROL" msgstr "移除之前先備份,選擇版本 CONTROL" -#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169 +#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174 msgid "STRING" msgstr "字串" -#: src/tar.c:776 +#: src/tar.c:708 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2057,98 +2134,59 @@ msgstr "" "移除之前先備份並覆寫常用後置文字 ( ~ 除非被環境變數 SIMPLE_BACKUP_SUFFIX 所蓋" "過)" -#: src/tar.c:781 +#: src/tar.c:713 msgid "File name transformations:" msgstr "檔案名稱變換:" -#: src/tar.c:783 +#: src/tar.c:715 msgid "strip NUMBER leading components from file names on extraction" msgstr "從檔案名稱中截去以 NUMBER 為首的成分" -#: src/tar.c:785 +#: src/tar.c:717 msgid "EXPRESSION" msgstr "表示式" -#: src/tar.c:786 +#: src/tar.c:718 msgid "use sed replace EXPRESSION to transform file names" msgstr "利用 sed 將 EXPRESSION 替代為變換檔案名稱" -#: src/tar.c:792 -msgid "File name matching options (affect both exclude and include patterns):" -msgstr "檔案名稱吻合選項 (同時影響排除和包含胚騰同者):" - -#: src/tar.c:795 -msgid "ignore case" -msgstr "忽略大小寫" - -#: src/tar.c:797 -msgid "patterns match file name start" -msgstr "吻合檔案名稱開頭的胚騰" - -#: src/tar.c:799 -#, fuzzy -msgid "patterns match after any '/' (default for exclusion)" -msgstr "胚騰吻合任何 / 之後的胚騰 (預設排除)" - -#: src/tar.c:801 -msgid "case sensitive matching (default)" -msgstr "大小寫需相符的吻合 (預設)" - -#: src/tar.c:803 -msgid "use wildcards (default for exclusion)" -msgstr "使用萬用字元 (預設排除)" - -#: src/tar.c:805 -msgid "verbatim string matching" -msgstr "逐字進行吻合" - -#: src/tar.c:807 -#, fuzzy -msgid "wildcards do not match '/'" -msgstr "萬用字元不會吻合 /" - -#: src/tar.c:809 -#, fuzzy -msgid "wildcards match '/' (default for exclusion)" -msgstr "萬用字元會吻合 / (預設排除)" - -#: src/tar.c:814 +#: src/tar.c:724 msgid "Informative output:" msgstr "富含資訊的輸出:" -#: src/tar.c:817 +#: src/tar.c:727 msgid "verbosely list files processed" msgstr "詳細列出處理過的檔案" -#: src/tar.c:818 +#: src/tar.c:728 msgid "KEYWORD" msgstr "關鍵字" -#: src/tar.c:819 +#: src/tar.c:729 msgid "warning control" msgstr "警告控制" -#: src/tar.c:821 +#: src/tar.c:731 msgid "display progress messages every NUMBERth record (default 10)" msgstr "每幾項記錄顯示一次進度訊息 (預設 10)" -#: src/tar.c:823 +#: src/tar.c:733 msgid "ACTION" msgstr "動作" -#: src/tar.c:824 +#: src/tar.c:734 msgid "execute ACTION on each checkpoint" msgstr "於每個查核點執行 ACTION" -#: src/tar.c:827 +#: src/tar.c:737 msgid "print a message if not all links are dumped" msgstr "如果並非所有連結都被傾印則印出訊息" -#: src/tar.c:828 +#: src/tar.c:738 msgid "SIGNAL" msgstr "信號" -#: src/tar.c:829 +#: src/tar.c:739 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2159,119 +2197,126 @@ msgstr "" "的信號是:SIGHUP、SIGQUIT、SIGINT、SIGUSR1 和 SIGUSR2;不具 SIG 前綴的名稱也" "是可接受的" -#: src/tar.c:834 +#: src/tar.c:744 msgid "print file modification times in UTC" msgstr "以 UTC 印出檔案修改時間" -#: src/tar.c:836 +#: src/tar.c:746 msgid "print file time to its full resolution" msgstr "以完整精度印出檔案時間" -#: src/tar.c:838 +#: src/tar.c:748 msgid "send verbose output to FILE" msgstr "將詳細輸出送至 FILE" -#: src/tar.c:840 +#: src/tar.c:750 msgid "show block number within archive with each message" msgstr "每則訊息附帶顯示在封存中的區塊號碼" -#: src/tar.c:842 +#: src/tar.c:752 msgid "ask for confirmation for every action" msgstr "任何動作都要求確認" -#: src/tar.c:845 +#: src/tar.c:755 msgid "show tar defaults" msgstr "顯示 tar 預設值" -#: src/tar.c:847 +#: src/tar.c:757 msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:849 +#: src/tar.c:759 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "當表列或解開時,列出每一個不符合搜尋條件的目錄" -#: src/tar.c:851 +#: src/tar.c:761 msgid "show file or archive names after transformation" msgstr "顯示變換之後的檔案或封存名稱" -#: src/tar.c:854 +#: src/tar.c:764 msgid "STYLE" msgstr "樣式" -#: src/tar.c:855 +#: src/tar.c:765 msgid "set name quoting style; see below for valid STYLE values" msgstr "設定名稱引號樣式;參看下列的有效樣式值" -#: src/tar.c:857 +#: src/tar.c:767 msgid "additionally quote characters from STRING" msgstr "來自 STRING 的額外引號字元" -#: src/tar.c:859 +#: src/tar.c:769 msgid "disable quoting for characters from STRING" msgstr "停用來自字串的引號字元" -#: src/tar.c:864 +#: src/tar.c:774 msgid "Compatibility options:" msgstr "相容選項:" -#: src/tar.c:867 +#: src/tar.c:777 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "當建立時,等同於 --old-archive。當解開時,等同於 --no-same-owner" -#: src/tar.c:872 +#: src/tar.c:782 msgid "Other options:" msgstr "其他選項:" -#: src/tar.c:875 +#: src/tar.c:785 msgid "disable use of some potentially harmful options" msgstr "停用某些潛在有害的選項" -#: src/tar.c:1010 +#. TRANSLATORS: Both %s in this statement are replaced with +#. option names. +#: src/tar.c:846 +#, fuzzy, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "%s:無法尋指到 %s" + +#: src/tar.c:934 #, fuzzy msgid "" "You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " "option" msgstr "您不可以指定超過一個 -Acdtrux 或 --test-label 選項" -#: src/tar.c:1020 +#: src/tar.c:946 msgid "Conflicting compression options" msgstr "互相抵觸的壓縮選項" -#: src/tar.c:1079 +#: src/tar.c:1005 #, c-format msgid "Unknown signal name: %s" msgstr "不明的信號名稱:%s" -#: src/tar.c:1103 +#: src/tar.c:1029 msgid "Date sample file not found" msgstr "找不到日期範例檔案" -#: src/tar.c:1111 +#: src/tar.c:1037 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "以 %s 代替不明的日期格式 %s" -#: src/tar.c:1140 +#: src/tar.c:1066 #, fuzzy, c-format msgid "Option %s: Treating date '%s' as %s" msgstr "選項 %1$s: 以 %3$s 格式來處理日期 %2$s" -#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199 -#: src/tar.c:1203 src/tar.c:1206 +#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122 +#: src/tar.c:1126 src/tar.c:1129 #, c-format msgid "filter the archive through %s" msgstr "將封存透過 %s 篩選" -#: src/tar.c:1214 +#: src/tar.c:1137 msgid "Valid arguments for the --quoting-style option are:" msgstr "用於 --quoting-style 的有效引數選項是:" -#: src/tar.c:1218 +#: src/tar.c:1141 msgid "" "\n" "*This* tar defaults to:\n" @@ -2279,188 +2324,197 @@ msgstr "" "\n" "*這個* tar 預設為:\n" -#: src/tar.c:1330 +#: src/tar.c:1253 #, fuzzy msgid "Invalid owner or group ID" msgstr "無效的擁有者" -#: src/tar.c:1389 +#: src/tar.c:1348 msgid "Invalid blocking factor" msgstr "無效的分區因子" -#: src/tar.c:1507 +#: src/tar.c:1469 msgid "Invalid tape length" msgstr "無效的磁帶長度" -#: src/tar.c:1521 +#: src/tar.c:1483 msgid "Invalid incremental level value" msgstr "無效的遞增等級值" -#: src/tar.c:1567 +#: src/tar.c:1530 msgid "More than one threshold date" msgstr "一個以上的限定日期" -#: src/tar.c:1626 src/tar.c:1629 +#: src/tar.c:1597 src/tar.c:1600 msgid "Invalid sparse version value" msgstr "無效的稀疏版本值" -#: src/tar.c:1714 +#: src/tar.c:1664 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' 於這個平臺未被支援" -#: src/tar.c:1739 +#: src/tar.c:1689 msgid "--checkpoint value is not an integer" msgstr "--checkpoint 值不是整數" -#: src/tar.c:1868 +#: src/tar.c:1767 msgid "Invalid mode given on option" msgstr "選項中的模式無效" -#: src/tar.c:1925 +#: src/tar.c:1800 msgid "Invalid number" msgstr "無效的號碼" -#: src/tar.c:1982 -msgid "" -"The --preserve option is deprecated, use --preserve-permissions --preserve-" -"order instead" -msgstr "" -"--preserve 選項不宜再用,請以 --preserve-permissions --preserve-order 做為替" -"代" - -#: src/tar.c:1993 +#: src/tar.c:1864 msgid "Invalid record size" msgstr "無效的記錄大小" -#: src/tar.c:1996 +#: src/tar.c:1867 #, c-format msgid "Record size must be a multiple of %d." msgstr "記錄大小必須是 %d 的倍數。" -#: src/tar.c:2042 +#: src/tar.c:1913 msgid "Invalid number of elements" msgstr "無效的元素號碼" -#: src/tar.c:2067 +#: src/tar.c:1938 msgid "Only one --to-command option allowed" msgstr "只允許一個 --to-command 選項" -#: src/tar.c:2179 +#: src/tar.c:2026 #, c-format msgid "Malformed density argument: %s" msgstr "異常的密度引數:%s" -#: src/tar.c:2205 +#: src/tar.c:2052 #, fuzzy, c-format msgid "Unknown density: '%c'" msgstr "不明的密度:%c" -#: src/tar.c:2222 +#: src/tar.c:2069 #, fuzzy, c-format msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "此版本的 tar 不支援 -[0-7][lmh] 選項" -#: src/tar.c:2235 +#: src/tar.c:2075 +#, c-format +msgid "%s:%lu: location of the error" +msgstr "" + +#: src/tar.c:2078 +#, fuzzy, c-format +msgid "error parsing %s" +msgstr "剖析數字接近 %s 時發生錯誤" + +#: src/tar.c:2092 msgid "[FILE]..." msgstr "[FILE]…" -#. TRANSLATORS: Both %s in this statement are replaced with -#. option names. -#: src/tar.c:2303 +#: src/tar.c:2183 #, fuzzy, c-format -msgid "'%s' cannot be used with '%s'" -msgstr "胚騰 %s 無法使用" +msgid "non-option arguments in %s" +msgstr "%2$s 的引數 %1$s 無效" + +#: src/tar.c:2198 +#, fuzzy, c-format +msgid "cannot split TAR_OPTIONS: %s" +msgstr "無法設定時間為 %s" -#: src/tar.c:2389 +#: src/tar.c:2293 #, fuzzy, c-format msgid "Old option '%c' requires an argument." msgstr "舊的選項 %c 需要一個引數。" -#: src/tar.c:2469 +#: src/tar.c:2369 msgid "--occurrence is meaningless without a file list" msgstr "若無檔案列表,--occurrence 便不具意義" -#: src/tar.c:2490 +#: src/tar.c:2395 #, fuzzy msgid "Multiple archive files require '-M' option" msgstr "指定多個封存時需要 -M 選項" -#: src/tar.c:2498 +#: src/tar.c:2412 msgid "--level is meaningless without --listed-incremental" msgstr "--level 不與 --listed-incremental 共用是無意義的" -#: src/tar.c:2515 +#: src/tar.c:2429 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s:卷冊標籤太長 (限制為 %lu 位元組)" -#: src/tar.c:2528 +#: src/tar.c:2442 msgid "Cannot verify multi-volume archives" msgstr "無法驗證多重卷冊的封存" -#: src/tar.c:2530 +#: src/tar.c:2444 msgid "Cannot verify compressed archives" msgstr "無法驗證壓縮過的封存" -#: src/tar.c:2539 +#: src/tar.c:2458 msgid "Cannot use multi-volume compressed archives" msgstr "無法使用多重卷冊的壓縮封存" -#: src/tar.c:2543 +#: src/tar.c:2462 msgid "Cannot concatenate compressed archives" msgstr "無法串接壓縮過的檔案" -#: src/tar.c:2553 +#: src/tar.c:2469 +msgid "--clamp-mtime needs a date specified using --mtime" +msgstr "" + +#: src/tar.c:2479 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option 只能用於 POSIX 封存" -#: src/tar.c:2560 +#: src/tar.c:2486 #, fuzzy msgid "--acls can be used only on POSIX archives" msgstr "--pax-option 只能用於 POSIX 封存" -#: src/tar.c:2565 +#: src/tar.c:2491 #, fuzzy msgid "--selinux can be used only on POSIX archives" msgstr "--pax-option 只能用於 POSIX 封存" -#: src/tar.c:2570 +#: src/tar.c:2496 #, fuzzy msgid "--xattrs can be used only on POSIX archives" msgstr "--pax-option 只能用於 POSIX 封存" -#: src/tar.c:2597 +#: src/tar.c:2545 msgid "" "Cannot deduce top-level directory name; please set it explicitly with --one-" "top-level=DIR" msgstr "" -#: src/tar.c:2630 +#: src/tar.c:2578 msgid "Volume length cannot be less than record size" msgstr "卷冊長度無法少於記錄大小" -#: src/tar.c:2643 +#: src/tar.c:2602 msgid "Cowardly refusing to create an empty archive" msgstr "低調拒絕建立空白的封存" -#: src/tar.c:2669 +#: src/tar.c:2628 #, fuzzy msgid "Options '-Aru' are incompatible with '-f -'" msgstr " -Aru 與 -f - 選項不相容" -#: src/tar.c:2766 +#: src/tar.c:2716 #, fuzzy msgid "" "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "您必須指定 -Acdtrux 或 --test-label 選項之一" -#: src/tar.c:2823 +#: src/tar.c:2773 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "由於先前錯誤而以失敗狀態離開" -#: src/tar.c:569 +#: src/tar.c:551 msgid "directory sorting order: none (default), name or inode" msgstr "" @@ -2515,34 +2569,34 @@ msgstr "異常的擴充標頭:缺少新列" msgid "Ignoring unknown extended header keyword '%s'" msgstr "忽略不明擴充標頭關鍵字 %s" -#: src/xheader.c:1013 +#: src/xheader.c:1023 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "產生的關鍵字/值對太長 (關鍵字=%s,長度=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:1043 +#: src/xheader.c:1053 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "擴充標頭 %s=%s 超出範圍 %s..%s" -#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456 +#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "異常的擴充標頭:無效的 %s=%s" -#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489 +#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "異常的擴充標頭:過剩的 %s=%s" -#: src/xheader.c:1502 +#: src/xheader.c:1515 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "異常的擴充標頭:無效的 %s:未預期的分隔符號 %c" -#: src/xheader.c:1512 +#: src/xheader.c:1525 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "異常的擴充標頭:無效的 %s:奇怪的數值數量" @@ -2583,7 +2637,7 @@ msgstr "寫入的查核點 %u" msgid "Read checkpoint %u" msgstr "讀取的查核點 %u" -#: tests/genfile.c:111 +#: tests/genfile.c:115 msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" @@ -2591,67 +2645,71 @@ msgstr "" "genfile 在 GNU paxutils 測試套件中用於操控資料檔案。\n" "選項:\n" -#: tests/genfile.c:127 +#: tests/genfile.c:131 msgid "File creation options:" msgstr "檔案建立選項:" -#: tests/genfile.c:128 tests/genfile.c:139 +#: tests/genfile.c:132 tests/genfile.c:143 msgid "SIZE" msgstr "大小" -#: tests/genfile.c:129 +#: tests/genfile.c:133 msgid "Create file of the given SIZE" msgstr "以給定 SIZE 建立檔案。" -#: tests/genfile.c:131 +#: tests/genfile.c:135 msgid "Write to file NAME, instead of standard output" msgstr "寫入檔案 NAME,以代替標準輸出" -#: tests/genfile.c:133 +#: tests/genfile.c:137 msgid "Read file names from FILE" msgstr "從 FILE 讀取檔案名稱" -#: tests/genfile.c:135 +#: tests/genfile.c:139 msgid "-T reads null-terminated names" msgstr "-T 讀取零值終結的名稱" -#: tests/genfile.c:137 +#: tests/genfile.c:141 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" msgstr "以給定 PATTERN 填充檔案。PATTERN 是 default 或 zeros" -#: tests/genfile.c:140 +#: tests/genfile.c:144 msgid "Size of a block for sparse file" msgstr "用於稀疏檔案的區塊大小" -#: tests/genfile.c:142 +#: tests/genfile.c:146 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "產生稀疏檔案。命令列的其餘部分給出檔案對映。" -#: tests/genfile.c:144 +#: tests/genfile.c:148 msgid "OFFSET" msgstr "偏移值" -#: tests/genfile.c:145 +#: tests/genfile.c:149 msgid "Seek to the given offset before writing data" msgstr "寫入資料之前尋指給定的偏移值" -#: tests/genfile.c:151 +#: tests/genfile.c:152 +msgid "Suppress non-fatal diagnostic messages" +msgstr "" + +#: tests/genfile.c:156 msgid "File statistics options:" msgstr "檔案統計選項:" -#: tests/genfile.c:154 +#: tests/genfile.c:159 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "列印每個給定檔案的結構狀態內容。預設 FORMAT 為:" -#: tests/genfile.c:161 +#: tests/genfile.c:166 msgid "Synchronous execution options:" msgstr "同步的執行選項:" -#: tests/genfile.c:163 +#: tests/genfile.c:168 msgid "OPTION" msgstr "選項" -#: tests/genfile.c:164 +#: tests/genfile.c:169 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" @@ -2659,19 +2717,19 @@ msgstr "" "執行引數。適合與 --checkpoint 以及 --cut, --append, --touch, --unlink 之一共" "用" -#: tests/genfile.c:167 +#: tests/genfile.c:172 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "當達到查核點 NUMBER 時實行給定動作 (參看以下)" -#: tests/genfile.c:170 +#: tests/genfile.c:175 msgid "Set date for next --touch option" msgstr "設定後續 --touch 選項所需的日期" -#: tests/genfile.c:173 +#: tests/genfile.c:178 msgid "Display executed checkpoints and exit status of COMMAND" msgstr "顯示已執行的查核點以及 COMMAND 的離開狀態" -#: tests/genfile.c:178 +#: tests/genfile.c:183 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." @@ -2679,169 +2737,166 @@ msgstr "" "同步的執行動作。當到達由 --checkpoint 選項所給定的查核點編號時,這些動作會被" "執行。" -#: tests/genfile.c:181 +#: tests/genfile.c:186 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "依先前 --length 選項指定的大小來截斷檔案 (如果它未被給定就是 0)" -#: tests/genfile.c:185 +#: tests/genfile.c:190 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "附加 SIZE 位元組到 FILE。SIZE 是由先前 --length 選項所給定。" -#: tests/genfile.c:188 +#: tests/genfile.c:193 msgid "Update the access and modification times of FILE" msgstr "更新檔案的存取和修改時間" -#: tests/genfile.c:191 +#: tests/genfile.c:196 msgid "Execute COMMAND" msgstr "執行 COMMAND" -#: tests/genfile.c:194 +#: tests/genfile.c:199 msgid "Unlink FILE" msgstr "取消連結檔案" -#: tests/genfile.c:244 +#: tests/genfile.c:249 #, c-format msgid "Invalid size: %s" msgstr "無效的大小:%s" -#: tests/genfile.c:249 +#: tests/genfile.c:254 #, c-format msgid "Number out of allowed range: %s" msgstr "號碼超出允許的範圍:%s" -#: tests/genfile.c:252 +#: tests/genfile.c:257 #, c-format msgid "Negative size: %s" msgstr "負值大小:%s" -#: tests/genfile.c:265 tests/genfile.c:569 +#: tests/genfile.c:270 tests/genfile.c:637 #, c-format msgid "stat(%s) failed" msgstr "狀態(%s) 失敗" -#: tests/genfile.c:268 +#: tests/genfile.c:273 #, c-format msgid "requested file length %lu, actual %lu" msgstr "要求檔案長度 %lu,實際則是 %lu" -#: tests/genfile.c:272 +#: tests/genfile.c:277 #, c-format msgid "created file is not sparse" msgstr "建立的不是稀疏檔案" -#: tests/genfile.c:361 +#: tests/genfile.c:370 #, c-format msgid "Error parsing number near `%s'" msgstr "剖析數字接近 %s 時發生錯誤" -#: tests/genfile.c:367 +#: tests/genfile.c:376 #, c-format msgid "Unknown date format" msgstr "不明的日期格式" -#: tests/genfile.c:391 +#: tests/genfile.c:400 msgid "[ARGS...]" msgstr "[引數…]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 -#: tests/genfile.c:673 tests/genfile.c:687 +#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578 +#: tests/genfile.c:741 tests/genfile.c:755 #, c-format msgid "cannot open `%s'" msgstr "無法開啟 %s" -#: tests/genfile.c:434 +#: tests/genfile.c:443 msgid "cannot seek" msgstr "無法尋指" -#: tests/genfile.c:451 +#: tests/genfile.c:460 #, c-format msgid "file name contains null character" msgstr "檔案名稱含有空字元" -#: tests/genfile.c:518 +#: tests/genfile.c:573 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "無法於標準輸出產生稀疏檔案,使用 --file 選項" -#: tests/genfile.c:596 +#: tests/genfile.c:664 #, c-format msgid "incorrect mask (near `%s')" msgstr "不正確遮罩 (接近 %s)" -#: tests/genfile.c:602 tests/genfile.c:635 +#: tests/genfile.c:670 tests/genfile.c:703 #, c-format msgid "Unknown field `%s'" msgstr "不明的欄位 %s" -#: tests/genfile.c:662 +#: tests/genfile.c:730 #, c-format msgid "cannot set time on `%s'" msgstr "無法設定時間為 %s" -#: tests/genfile.c:692 +#: tests/genfile.c:760 #, fuzzy, c-format msgid "cannot truncate `%s'" msgstr "無法取消連結 %s" -#: tests/genfile.c:701 +#: tests/genfile.c:769 #, fuzzy, c-format msgid "command failed: %s" msgstr "%s 命令失敗" -#: tests/genfile.c:706 +#: tests/genfile.c:774 #, c-format msgid "cannot unlink `%s'" msgstr "無法取消連結 %s" -#: tests/genfile.c:833 +#: tests/genfile.c:901 #, c-format msgid "Command exited successfully\n" msgstr "成功離開命令\n" -#: tests/genfile.c:835 +#: tests/genfile.c:903 #, c-format msgid "Command failed with status %d\n" msgstr "命令以狀態 %d 失敗\n" -#: tests/genfile.c:839 +#: tests/genfile.c:907 #, c-format msgid "Command terminated on signal %d\n" msgstr "命令於信號 %d 終止\n" -#: tests/genfile.c:841 +#: tests/genfile.c:909 #, c-format msgid "Command stopped on signal %d\n" msgstr "命令於信號 %d 停止\n" -#: tests/genfile.c:844 +#: tests/genfile.c:912 #, c-format msgid "Command dumped core\n" msgstr "命令傾印核心\n" -#: tests/genfile.c:847 +#: tests/genfile.c:915 #, c-format msgid "Command terminated\n" msgstr "命令終止\n" -#: tests/genfile.c:879 +#: tests/genfile.c:947 #, c-format msgid "--stat requires file names" msgstr "--stat 需要檔案名稱" -#~ msgid "sort names to extract to match archive" -#~ msgstr "解開時依名稱排序以符合封存" - -#, fuzzy -#~ msgid "--occurrence cannot be used with %s" -#~ msgstr "--occurrence 無法於要求的作業模式中使用" +#~ msgid "same as both -p and -s" +#~ msgstr "等同於指定 -p 與 -s" -#~ msgid "Cannot combine --listed-incremental with --newer" -#~ msgstr "無法同時使用 --listed-incremental 及 --newer" - -#~ msgid "--preserve-order is not compatible with --listed-incremental" -#~ msgstr "--preserve-order 與 --listed-incremental 不相容" +#~ msgid "" +#~ "The --preserve option is deprecated, use --preserve-permissions --" +#~ "preserve-order instead" +#~ msgstr "" +#~ "--preserve 選項不宜再用,請以 --preserve-permissions --preserve-order 做為" +#~ "替代" #~ msgid "Field too long while reading snapshot file" #~ msgstr "讀取快照檔時欄位太長" @@ -2855,8 +2910,20 @@ msgstr "--stat 需要檔案名稱" #~ msgid "Cannot get working directory" #~ msgstr "無法提取工作目錄" +#~ msgid "sort names to extract to match archive" +#~ msgstr "解開時依名稱排序以符合封存" + #~ msgid "Invalid group" #~ msgstr "無效的群組" +#~ msgid "--occurrence cannot be used in the requested operation mode" +#~ msgstr "--occurrence 無法於要求的作業模式中使用" + +#~ msgid "Cannot combine --listed-incremental with --newer" +#~ msgstr "無法同時使用 --listed-incremental 及 --newer" + +#~ msgid "--preserve-order is not compatible with --listed-incremental" +#~ msgstr "--preserve-order 與 --listed-incremental 不相容" + #~ msgid "Extended header length is out of allowed range" #~ msgstr "擴充標頭長度超出允許範圍" diff --git a/rmt/Makefile.in b/rmt/Makefile.in index c3f2509f..a1bdee0e 100644 --- a/rmt/Makefile.in +++ b/rmt/Makefile.in @@ -106,10 +106,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ - $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ - $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \ + $(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \ + $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -124,10 +125,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ - $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \ - $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ @@ -149,14 +150,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ - $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ - $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix_openpt.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \ + $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/opendir.m4 \ + $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ + $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/ptsname.m4 \ - $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/raise.m4 \ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/read.m4 \ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \ @@ -192,24 +192,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ + $(top_srcdir)/m4/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ - $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkat.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/unlockpt.m4 \ - $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ - $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ - $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ - $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ - $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ - $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ - $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ - $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \ - $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \ - $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ + $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ + $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ + $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ + $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_h.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \ + $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wcwidth.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/write.m4 \ + $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ + $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -476,6 +476,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_QSORT_R = @GNULIB_QSORT_R@ GNULIB_RAISE = @GNULIB_RAISE@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ @@ -535,6 +536,7 @@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ +GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ @@ -687,6 +689,7 @@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ @@ -773,6 +776,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ @@ -846,6 +850,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_EACCESS = @LIB_EACCESS@ +LIB_HAS_ACL = @LIB_HAS_ACL@ LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ @@ -1011,10 +1016,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ +REPLACE_READLINKAT = @REPLACE_READLINKAT@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ @@ -1047,6 +1054,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ +REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ @@ -1089,6 +1097,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ +UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_ACL = @USE_ACL@ diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 7484ff80..d9439b86 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -1,6 +1,7 @@ # Make GNU tar scripts. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/scripts/Makefile.in b/scripts/Makefile.in index 57c0d0da..6c2883a6 100644 --- a/scripts/Makefile.in +++ b/scripts/Makefile.in @@ -16,7 +16,8 @@ # Make GNU tar scripts. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. @@ -123,10 +124,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ - $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ - $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \ + $(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \ + $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -141,10 +143,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ - $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \ - $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ @@ -166,14 +168,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ - $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ - $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix_openpt.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \ + $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/opendir.m4 \ + $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ + $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/ptsname.m4 \ - $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/raise.m4 \ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/read.m4 \ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \ @@ -209,24 +210,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ + $(top_srcdir)/m4/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ - $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkat.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/unlockpt.m4 \ - $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ - $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ - $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ - $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ - $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ - $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ - $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ - $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \ - $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \ - $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ + $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ + $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ + $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ + $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_h.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \ + $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wcwidth.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/write.m4 \ + $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ + $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -481,6 +482,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_QSORT_R = @GNULIB_QSORT_R@ GNULIB_RAISE = @GNULIB_RAISE@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ @@ -540,6 +542,7 @@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ +GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ @@ -692,6 +695,7 @@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ @@ -778,6 +782,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ @@ -851,6 +856,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_EACCESS = @LIB_EACCESS@ +LIB_HAS_ACL = @LIB_HAS_ACL@ LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ @@ -1016,10 +1022,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ +REPLACE_READLINKAT = @REPLACE_READLINKAT@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ @@ -1052,6 +1060,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ +REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ @@ -1094,6 +1103,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ +UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_ACL = @USE_ACL@ diff --git a/scripts/backup-specs b/scripts/backup-specs index f06233bf..6634a9da 100644 --- a/scripts/backup-specs +++ b/scripts/backup-specs @@ -82,7 +82,7 @@ SLEEP_MESSAGE="`awk ' }' /dev/null`" -# Copyright 2004, 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/scripts/backup.sh.in b/scripts/backup.sh.in index 9977ec25..4e739cd8 100644 --- a/scripts/backup.sh.in +++ b/scripts/backup.sh.in @@ -1,7 +1,7 @@ #! /bin/sh # Make backups. -# Copyright 2004-2006, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004-2006, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/scripts/dump-remind.in b/scripts/dump-remind.in index f9a299b5..59080a06 100644 --- a/scripts/dump-remind.in +++ b/scripts/dump-remind.in @@ -8,7 +8,8 @@ # interested parties that a tape for the next volume of the backup needs to # be put in the tape drive. -# Copyright 2004-2005, 2010, 2012-2014 Free Software Foundation, Inc. +# Copyright 2004-2005, 2010, 2012-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/scripts/restore.in b/scripts/restore.in index f4e80e8d..3b68c69c 100644 --- a/scripts/restore.in +++ b/scripts/restore.in @@ -1,7 +1,7 @@ #! /bin/sh # Restore backups. -# Copyright 2004, 2006, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/src/Makefile.am b/src/Makefile.am index 82b2d462..08fc24c7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,7 +1,7 @@ # Makefile for GNU tar sources. -# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2009, 2013-2014 Free -# Software Foundation, Inc. +# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2009, 2013-2014, 2016 +# Free Software Foundation, Inc. # This file is part of GNU tar. @@ -33,6 +33,7 @@ tar_SOURCES = \ xheader.c\ incremen.c\ list.c\ + map.c\ misc.c\ names.c\ sparse.c\ @@ -52,7 +53,3 @@ AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV) tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIB_SELINUX) - -if TAR_LIB_ATTR -tar_LDADD += -lattr -endif diff --git a/src/Makefile.in b/src/Makefile.in index 6f9a5920..91567f59 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -16,8 +16,8 @@ # Makefile for GNU tar sources. -# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2009, 2013-2014 Free -# Software Foundation, Inc. +# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2009, 2013-2014, 2016 +# Free Software Foundation, Inc. # This file is part of GNU tar. @@ -99,7 +99,6 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = tar$(EXEEXT) -@TAR_LIB_ATTR_TRUE@am__append_1 = -lattr subdir = src DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/build-aux/depcomp $(noinst_HEADERS) @@ -128,10 +127,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ - $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ - $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \ + $(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \ + $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -146,10 +146,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ - $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \ - $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ @@ -171,14 +171,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ - $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ - $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix_openpt.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \ + $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/opendir.m4 \ + $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ + $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/ptsname.m4 \ - $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/raise.m4 \ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/read.m4 \ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \ @@ -214,24 +213,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ + $(top_srcdir)/m4/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ - $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkat.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/unlockpt.m4 \ - $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ - $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ - $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ - $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ - $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ - $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ - $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ - $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \ - $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \ - $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ + $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ + $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ + $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ + $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_h.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \ + $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wcwidth.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/write.m4 \ + $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ + $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -244,7 +243,7 @@ am_tar_OBJECTS = buffer.$(OBJEXT) checkpoint.$(OBJEXT) \ compare.$(OBJEXT) create.$(OBJEXT) delete.$(OBJEXT) \ exit.$(OBJEXT) exclist.$(OBJEXT) extract.$(OBJEXT) \ xheader.$(OBJEXT) incremen.$(OBJEXT) list.$(OBJEXT) \ - misc.$(OBJEXT) names.$(OBJEXT) sparse.$(OBJEXT) \ + map.$(OBJEXT) misc.$(OBJEXT) names.$(OBJEXT) sparse.$(OBJEXT) \ suffix.$(OBJEXT) system.$(OBJEXT) tar.$(OBJEXT) \ transform.$(OBJEXT) unlink.$(OBJEXT) update.$(OBJEXT) \ utf8.$(OBJEXT) warning.$(OBJEXT) xattrs.$(OBJEXT) @@ -254,7 +253,7 @@ am__DEPENDENCIES_2 = ../lib/libtar.a ../gnu/libgnu.a \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) tar_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -509,6 +508,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_QSORT_R = @GNULIB_QSORT_R@ GNULIB_RAISE = @GNULIB_RAISE@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ @@ -568,6 +568,7 @@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ +GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ @@ -720,6 +721,7 @@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ @@ -806,6 +808,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ @@ -879,6 +882,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_EACCESS = @LIB_EACCESS@ +LIB_HAS_ACL = @LIB_HAS_ACL@ LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ @@ -1044,10 +1048,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ +REPLACE_READLINKAT = @REPLACE_READLINKAT@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ @@ -1080,6 +1086,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ +REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ @@ -1122,6 +1129,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ +UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_ACL = @USE_ACL@ @@ -1209,6 +1217,7 @@ tar_SOURCES = \ xheader.c\ incremen.c\ list.c\ + map.c\ misc.c\ names.c\ sparse.c\ @@ -1225,8 +1234,7 @@ tar_SOURCES = \ AM_CPPFLAGS = -I$(top_srcdir)/gnu -I../ -I../gnu -I$(top_srcdir)/lib -I../lib AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV) -tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) \ - $(LIB_SELINUX) $(am__append_1) +tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIB_SELINUX) all: all-am .SUFFIXES: @@ -1340,6 +1348,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extract.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/incremen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/map.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/names.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sparse.Po@am__quote@ diff --git a/src/arith.h b/src/arith.h index 0749d19f..ed930aca 100644 --- a/src/arith.h +++ b/src/arith.h @@ -1,5 +1,5 @@ /* Long integers, for GNU tar. - Copyright 1999, 2007, 2013-2014 Free Software Foundation, Inc. + Copyright 1999, 2007, 2013-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. diff --git a/src/buffer.c b/src/buffer.c index a7d89712..dcbfd028 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1,6 +1,6 @@ /* Buffer management for tar. - Copyright 1988, 1992-1994, 1996-1997, 1999-2010, 2013-2014 Free + Copyright 1988, 1992-1994, 1996-1997, 1999-2010, 2013-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. @@ -391,7 +391,10 @@ check_compressed_archive (bool *pshort) /* Restore global values */ read_full_records = sfr; - if (tar_checksum (record_start, true) == HEADER_SUCCESS) + if ((strcmp (record_start->header.magic, TMAGIC) == 0 || + strcmp (record_start->buffer + offsetof (struct posix_header, magic), + OLDGNU_MAGIC) == 0) && + tar_checksum (record_start, true) == HEADER_SUCCESS) /* Probably a valid header */ return ct_tar; @@ -495,7 +498,7 @@ print_stats (FILE *fp, const char *text, tarlong numbytes) char abbr[LONGEST_HUMAN_READABLE + 1]; char rate[LONGEST_HUMAN_READABLE + 1]; int n = 0; - + int human_opts = human_autoscale | human_base_1024 | human_SI | human_B; if (text && text[0]) @@ -512,12 +515,12 @@ print_stats (FILE *fp, const char *text, tarlong numbytes) before each data item (bytes read, written, deleted, in that order). EOR is a delimiter to output after each item (used only if deleting from the archive), EOL is a delimiter to add at the end of the output - line. */ + line. */ int -format_total_stats (FILE *fp, const char **formats, int eor, int eol) +format_total_stats (FILE *fp, char const *const *formats, int eor, int eol) { int n; - + switch (subcommand_option) { case CREATE_SUBCOMMAND: @@ -536,7 +539,7 @@ format_total_stats (FILE *fp, const char **formats, int eor, int eol) fputc (eor, fp); n++; - + n += print_stats (fp, formats[TF_WRITE], prev_written + bytes_written); @@ -570,7 +573,7 @@ format_total_stats (FILE *fp, const char **formats, int eor, int eol) return n; } -const char *default_total_format[] = { +static char const *const default_total_format[] = { N_("Total bytes read"), /* Amanda 2.4.1p1 looks for "Total bytes written: [0-9][0-9]*". */ N_("Total bytes written"), @@ -980,18 +983,28 @@ short_read (size_t status) void flush_archive (void) { - size_t buffer_level = current_block->buffer - record_start->buffer; - record_start_block += record_end - record_start; - current_block = record_start; - record_end = record_start + blocking_factor; - + size_t buffer_level; + if (access_mode == ACCESS_READ && time_to_start_writing) { access_mode = ACCESS_WRITE; time_to_start_writing = false; backspace_output (); + if (record_end - record_start < blocking_factor) + { + memset (record_end, 0, + (blocking_factor - (record_end - record_start)) + * BLOCKSIZE); + record_end = record_start + blocking_factor; + return; + } } + buffer_level = current_block->buffer - record_start->buffer; + record_start_block += record_end - record_start; + current_block = record_start; + record_end = record_start + blocking_factor; + switch (access_mode) { case ACCESS_READ: @@ -1031,7 +1044,7 @@ backspace_output (void) /* Seek back to the beginning of this record and start writing there. */ - position -= record_size; + position -= record_end->buffer - record_start->buffer; if (position < 0) position = 0; if (rmtlseek (archive, position, SEEK_SET) != position) @@ -1112,6 +1125,16 @@ close_archive (void) bufmap_free (NULL); } +void +write_fatal_details (char const *name, ssize_t status, size_t size) +{ + write_error_details (name, status, size); + if (rmtclose (archive) != 0) + close_error (*archive_name_cursor); + sys_wait_for_child (child_pid, false); + fatal_exit (); +} + /* Called to initialize the global volume number. */ void init_volume_number (void) @@ -1406,7 +1429,10 @@ try_new_volume (void) header = find_next_block (); if (!header) - return false; + { + WARN ((0, 0, _("This does not look like a tar archive"))); + return false; + } switch (header->header.typeflag) { @@ -1416,7 +1442,7 @@ try_new_volume (void) if (read_header (&header, &dummy, read_header_x_global) != HEADER_SUCCESS_EXTENDED) { - ERROR ((0, 0, _("This does not look like a tar archive"))); + WARN ((0, 0, _("This does not look like a tar archive"))); return false; } @@ -1445,7 +1471,7 @@ try_new_volume (void) break; default: - ERROR ((0, 0, _("This does not look like a tar archive"))); + WARN ((0, 0, _("This does not look like a tar archive"))); return false; } break; @@ -1480,8 +1506,14 @@ try_new_volume (void) if (bufmap_head) { uintmax_t s; - if (!continued_file_name - || strcmp (continued_file_name, bufmap_head->file_name)) + if (!continued_file_name) + { + WARN ((0, 0, _("%s is not continued on this volume"), + quote (bufmap_head->file_name))); + return false; + } + + if (strcmp (continued_file_name, bufmap_head->file_name)) { if ((archive_format == GNU_FORMAT || archive_format == OLDGNU_FORMAT) && strlen (bufmap_head->file_name) >= NAME_FIELD_SIZE diff --git a/src/checkpoint.c b/src/checkpoint.c index 54e7b596..1a253c29 100644 --- a/src/checkpoint.c +++ b/src/checkpoint.c @@ -1,6 +1,6 @@ /* Checkpoint management for tar. - Copyright 2007, 2013-2014 Free Software Foundation, Inc. + Copyright 2007, 2013-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. diff --git a/src/common.h b/src/common.h index edf787c8..50c34cc7 100644 --- a/src/common.h +++ b/src/common.h @@ -1,6 +1,6 @@ /* Common declarations for the tar program. - Copyright 1988, 1992-1994, 1996-1997, 1999-2010, 2012-2014 Free + Copyright 1988, 1992-1994, 1996-1997, 1999-2010, 2012-2016 Free Software Foundation, Inc. This file is part of GNU tar. @@ -211,13 +211,20 @@ GLOBAL bool multi_volume_option; do not get archived (also see after_date_option above). */ GLOBAL struct timespec newer_mtime_option; -/* If true, override actual mtime (see below) */ -GLOBAL bool set_mtime_option; -/* Value to be put in mtime header field instead of the actual mtime */ +enum set_mtime_option_mode +{ + USE_FILE_MTIME, + FORCE_MTIME, + CLAMP_MTIME, +}; + +/* Override actual mtime if set to FORCE_MTIME or CLAMP_MTIME */ +GLOBAL enum set_mtime_option_mode set_mtime_option; +/* Value to use when forcing or clamping the mtime header field. */ GLOBAL struct timespec mtime_option; -/* Return true if newer_mtime_option is initialized. */ -#define NEWER_OPTION_INITIALIZED(opt) (0 <= (opt).tv_nsec) +/* Return true if mtime_option or newer_mtime_option is initialized. */ +#define TIME_OPTION_INITIALIZED(opt) (0 <= (opt).tv_nsec) /* Return true if the struct stat ST's M time is less than newer_mtime_option. */ @@ -280,6 +287,15 @@ GLOBAL bool sparse_option; GLOBAL unsigned tar_sparse_major; GLOBAL unsigned tar_sparse_minor; +enum hole_detection_method + { + HOLE_DETECTION_DEFAULT, + HOLE_DETECTION_RAW, + HOLE_DETECTION_SEEK + }; + +GLOBAL enum hole_detection_method hole_detection; + GLOBAL bool starting_file_option; /* Specified maximum byte length of each tape volume (multiple of 1024). */ @@ -399,9 +415,8 @@ GLOBAL bool show_transformed_names_option; set for incremental archives. */ GLOBAL bool delay_directory_restore_option; -/* Warn about implicit use of the wildcards in command line arguments. - (Default for tar prior to 1.15.91, but changed afterwards */ -GLOBAL bool warn_regex_usage; +/* When set, tar will not refuse to create empty archives */ +GLOBAL bool files_from_option; /* Declarations for each module. */ @@ -453,7 +468,7 @@ void set_start_time (void); #define TF_READ 0 #define TF_WRITE 1 #define TF_DELETED 2 -int format_total_stats (FILE *fp, const char **formats, int eor, int eol); +int format_total_stats (FILE *fp, char const *const *formats, int eor, int eol); void print_total_stats (void); void mv_begin_write (const char *file_name, off_t totsize, off_t sizeleft); @@ -523,6 +538,8 @@ void extract_archive (void); void extract_finish (void); bool rename_directory (char *src, char *dst); +void remove_delayed_set_stat (const char *fname); + /* Module delete.c. */ void delete_archive_members (void); @@ -618,8 +635,6 @@ typedef struct namebuf *namebuf_t; namebuf_t namebuf_create (const char *dir); void namebuf_free (namebuf_t buf); char *namebuf_name (namebuf_t buf, const char *name); -void namebuf_add_dir (namebuf_t buf, const char *name); -char *namebuf_finish (namebuf_t buf); const char *tar_dirname (void); @@ -723,9 +738,7 @@ void uid_to_uname (uid_t uid, char **uname); int uname_to_uid (char const *uname, uid_t *puid); void name_init (void); -void name_add_name (const char *name, int matching_flags); -void name_add_dir (const char *name); -void name_add_file (const char *name, int term); +void name_add_name (const char *name); void name_term (void); const char *name_next (int change_dirs); void name_gather (void); @@ -739,7 +752,7 @@ void collect_and_sort_names (void); struct name *name_scan (const char *name); struct name const *name_from_list (void); void blank_name_list (void); -char *new_name (const char *dir_name, const char *name); +char *make_file_name (const char *dir_name, const char *name); size_t stripped_prefix_len (char const *file_name, size_t num); bool all_names_found (struct tar_stat_info *st); @@ -748,10 +761,12 @@ bool is_avoided_name (char const *name); bool contains_dot_dot (char const *name); -#define ISFOUND(c) ((occurrence_option == 0) ? (c)->found_count : \ - (c)->found_count == occurrence_option) -#define WASFOUND(c) ((occurrence_option == 0) ? (c)->found_count : \ - (c)->found_count >= occurrence_option) +#define ISFOUND(c) (occurrence_option == 0 \ + ? (c)->found_count != 0 \ + : (c)->found_count == occurrence_option) +#define WASFOUND(c) (occurrence_option == 0 \ + ? (c)->found_count != 0 \ + : (c)->found_count >= occurrence_option) /* Module tar.c. */ @@ -769,7 +784,26 @@ const char *subcommand_string (enum subcommand c); void set_exit_status (int val); void request_stdin (const char *option); -void more_options (int argc, char **argv); + +/* Where an option comes from: */ +enum option_source + { + OPTS_ENVIRON, /* Environment variable TAR_OPTIONS */ + OPTS_COMMAND_LINE, /* Command line */ + OPTS_FILE /* File supplied by --files-from */ + }; + +/* Option location */ +struct option_locus +{ + enum option_source source; /* Option origin */ + char const *name; /* File or variable name */ + size_t line; /* Number of input line if source is OPTS_FILE */ + struct option_locus *prev; /* Previous occurrence of the option of same + class */ +}; + +void more_options (int argc, char **argv, struct option_locus *loc); /* Module update.c. */ @@ -926,9 +960,15 @@ extern void (*fatal_exit_hook) (void); void excfile_add (const char *name, int flags); void info_attach_exclist (struct tar_stat_info *dir); -void info_cleanup_exclist (struct tar_stat_info *dir); void info_free_exclist (struct tar_stat_info *dir); bool excluded_name (char const *name, struct tar_stat_info *st); void exclude_vcs_ignores (void); +/* Module map.c */ +void owner_map_read (char const *name); +int owner_map_translate (uid_t uid, uid_t *new_uid, char const **new_name); +void group_map_read (char const *file); +int group_map_translate (gid_t gid, gid_t *new_gid, char const **new_name); + + _GL_INLINE_HEADER_END diff --git a/src/compare.c b/src/compare.c index d29cfdd4..3f91279b 100644 --- a/src/compare.c +++ b/src/compare.c @@ -1,7 +1,7 @@ /* Diff files from a tar archive. Copyright 1988, 1992-1994, 1996-1997, 1999-2001, 2003-2007, - 2009-2010, 2012-2014 Free Software Foundation, Inc. + 2009-2010, 2012-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. @@ -270,11 +270,12 @@ diff_link (void) static void diff_symlink (void) { + char buf[1024]; size_t len = strlen (current_stat_info.link_name); - char *linkbuf = alloca (len + 1); + char *linkbuf = len < sizeof buf ? buf : xmalloc (len + 1); - int status = readlinkat (chdir_fd, current_stat_info.file_name, - linkbuf, len + 1); + ssize_t status = readlinkat (chdir_fd, current_stat_info.file_name, + linkbuf, len + 1); if (status < 0) { @@ -285,8 +286,11 @@ diff_symlink (void) report_difference (¤t_stat_info, NULL); } else if (status != len - || strncmp (current_stat_info.link_name, linkbuf, len) != 0) + || memcmp (current_stat_info.link_name, linkbuf, len) != 0) report_difference (¤t_stat_info, _("Symlink differs")); + + if (linkbuf != buf) + free (linkbuf); } #endif diff --git a/src/create.c b/src/create.c index e2f4ede6..3a0f2dce 100644 --- a/src/create.c +++ b/src/create.c @@ -1,7 +1,7 @@ /* Create a tar archive. Copyright 1985, 1992-1994, 1996-1997, 1999-2001, 2003-2007, - 2009-2010, 2012-2014 Free Software Foundation, Inc. + 2009-2010, 2012-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. @@ -22,6 +22,7 @@ #include +#include #include #include "common.h" @@ -706,7 +707,7 @@ write_extended (bool global, struct tar_stat_info *st, union block *old_header) { type = XHDTYPE; p = xheader_xhdr_name (st); - t = st->stat.st_mtime; + t = set_mtime_option ? mtime_option.tv_sec : st->stat.st_mtime; } xheader_write (type, p, t, &st->xhdr); free (p); @@ -740,17 +741,17 @@ union block * start_header (struct tar_stat_info *st) { union block *header; - + char const *uname = NULL; + char const *gname = NULL; + header = write_header_name (st); if (!header) return NULL; /* Override some stat fields, if requested to do so. */ + owner_map_translate (st->stat.st_uid, &st->stat.st_uid, &uname); + group_map_translate (st->stat.st_gid, &st->stat.st_gid, &gname); - if (owner_option != (uid_t) -1) - st->stat.st_uid = owner_option; - if (group_option != (gid_t) -1) - st->stat.st_gid = group_option; if (mode_option) st->stat.st_mode = ((st->stat.st_mode & ~MODE_ALL) @@ -822,7 +823,24 @@ start_header (struct tar_stat_info *st) } { - struct timespec mtime = set_mtime_option ? mtime_option : st->mtime; + struct timespec mtime; + + switch (set_mtime_option) + { + case USE_FILE_MTIME: + mtime = st->mtime; + break; + + case FORCE_MTIME: + mtime = mtime_option; + break; + + case CLAMP_MTIME: + mtime = timespec_cmp (st->mtime, mtime_option) > 0 + ? mtime_option : st->mtime; + break; + } + if (archive_format == POSIX_FORMAT) { if (MAX_OCTAL_VAL (header->header.mtime) < mtime.tv_sec @@ -909,13 +927,13 @@ start_header (struct tar_stat_info *st) } else { - if (owner_name_option) - st->uname = xstrdup (owner_name_option); + if (uname) + st->uname = xstrdup (uname); else uid_to_uname (st->stat.st_uid, &st->uname); - if (group_name_option) - st->gname = xstrdup (group_name_option); + if (gname) + st->gname = xstrdup (gname); else gid_to_gname (st->stat.st_gid, &st->gname); @@ -1114,7 +1132,7 @@ dump_dir0 (struct tar_stat_info *st, char const *directory) return; info_attach_exclist (st); - + if (incremental_option && archive_format != POSIX_FORMAT) blk->header.typeflag = GNUTYPE_DUMPDIR; else /* if (standard_option) */ @@ -1198,7 +1216,7 @@ dump_dir0 (struct tar_stat_info *st, char const *directory) char const *entry; size_t entry_len; size_t name_len; - + name_buf = xstrdup (st->orig_file_name); name_size = name_len = strlen (name_buf); @@ -1472,8 +1490,8 @@ dump_hard_link (struct tar_stat_info *st) /* We found a link. */ char const *link_name = safer_name_suffix (duplicate->name, true, absolute_names_option); - - duplicate->nlink--; + if (duplicate->nlink) + duplicate->nlink--; block_ordinal = current_block_ordinal (); assign_string (&st->link_name, link_name); @@ -1837,22 +1855,17 @@ dump_file0 (struct tar_stat_info *st, char const *name, char const *p) #ifdef HAVE_READLINK else if (S_ISLNK (st->stat.st_mode)) { - char *buffer; - int size; - size_t linklen = st->stat.st_size; - if (linklen != st->stat.st_size || linklen + 1 == 0) - xalloc_die (); - buffer = (char *) alloca (linklen + 1); - size = readlinkat (parentfd, name, buffer, linklen + 1); - if (size < 0) + st->link_name = areadlinkat_with_size (parentfd, name, st->stat.st_size); + if (!st->link_name) { + if (errno == ENOMEM) + xalloc_die (); file_removed_diag (p, top_level, readlink_diag); return; } - buffer[size] = '\0'; - assign_string (&st->link_name, buffer); transform_name (&st->link_name, XFORM_SYMLINK); - if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT) < size) + if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT) + < strlen (st->link_name)) write_long_link (st); xattrs_selinux_get (parentfd, name, st, 0); diff --git a/src/delete.c b/src/delete.c index 337b922f..93e8d8d4 100644 --- a/src/delete.c +++ b/src/delete.c @@ -1,7 +1,7 @@ /* Delete entries from a tar archive. Copyright 1988, 1992, 1994, 1996-1997, 2000-2001, 2003-2006, 2010, - 2013-2014 Free Software Foundation, Inc. + 2013-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. diff --git a/src/exclist.c b/src/exclist.c index 7cccc745..f6e88532 100644 --- a/src/exclist.c +++ b/src/exclist.c @@ -1,6 +1,6 @@ /* Per-directory exclusion files for tar. - Copyright 2014 Free Software Foundation, Inc. + Copyright 2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. @@ -43,7 +43,7 @@ struct excfile char name[1]; }; -struct excfile *excfile_head, *excfile_tail; +static struct excfile *excfile_head, *excfile_tail; void excfile_add (const char *name, int flags) @@ -72,7 +72,7 @@ info_attach_exclist (struct tar_stat_info *dir) struct excfile *file; struct exclist *head = NULL, *tail = NULL, *ent; struct vcs_ignore_file *vcsfile; - + if (dir->exclude_list) return; for (file = excfile_head; file; file = file->next) @@ -102,7 +102,7 @@ info_attach_exclist (struct tar_stat_info *dir) if (vcsfile->initfn) vcsfile->data = vcsfile->initfn (vcsfile->data); - + if (add_exclude_fp (vcsfile->addfn, ex, fp, EXCLUDE_WILDCARDS|EXCLUDE_ANCHORED, '\n', vcsfile->data)) @@ -111,7 +111,7 @@ info_attach_exclist (struct tar_stat_info *dir) FATAL_ERROR ((0, e, "%s", quotearg_colon (file->name))); } fclose (fp); - + ent = xmalloc (sizeof (*ent)); ent->excluded = ex; ent->flags = file->flags == EXCL_DEFAULT @@ -129,34 +129,6 @@ info_attach_exclist (struct tar_stat_info *dir) dir->exclude_list = head; } -void -info_cleanup_exclist (struct tar_stat_info *dir) -{ - struct exclist *ep = dir->exclude_list; - - while (ep) - { - struct exclist *next = ep->next; - - if (ep->flags & EXCL_NON_RECURSIVE) - { - - /* Remove the entry */ - if (ep->prev) - ep->prev->next = ep->next; - else - dir->exclude_list = ep->next; - - if (ep->next) - ep->next->prev = ep->prev; - - free_exclude (ep->excluded); - free (ep); - } - ep = next; - } -} - void info_free_exclist (struct tar_stat_info *dir) { @@ -172,7 +144,7 @@ info_free_exclist (struct tar_stat_info *dir) dir->exclude_list = NULL; } - + /* Return nonzero if file NAME is excluded. */ bool @@ -183,7 +155,7 @@ excluded_name (char const *name, struct tar_stat_info *st) char *bname = NULL; bool result; int nr = 0; - + name += FILE_SYSTEM_PREFIX_LEN (name); /* Try global exclusion list first */ @@ -192,7 +164,7 @@ excluded_name (char const *name, struct tar_stat_info *st) if (!st) return false; - + for (result = false; st && !result; st = st->parent, nr = EXCL_NON_RECURSIVE) { for (ep = st->exclude_list; ep; ep = ep->next) @@ -201,7 +173,7 @@ excluded_name (char const *name, struct tar_stat_info *st) continue; if ((result = excluded_file_name (ep->excluded, name))) break; - + if (!rname) { rname = name; @@ -229,8 +201,8 @@ cvs_addfn (struct exclude *ex, char const *pattern, int options, void *data) { struct wordsplit ws; size_t i; - - if (wordsplit (pattern, &ws, + + if (wordsplit (pattern, &ws, WRDSF_NOVAR | WRDSF_NOCMD | WRDSF_SQUEEZE_DELIMS)) return; for (i = 0; i < ws.ws_wordc; i++) @@ -278,22 +250,18 @@ bzr_addfn (struct exclude *ex, char const *pattern, int options, void *data) static void * hg_initfn (void *data) { - int *hgopt; static int hg_options; - - if (!data) - hgopt = &hg_options; - + int *hgopt = data ? data : &hg_options; *hgopt = EXCLUDE_REGEX; return hgopt; } - + static void hg_addfn (struct exclude *ex, char const *pattern, int options, void *data) { int *hgopt = data; size_t len; - + while (isspace (*pattern)) ++pattern; if (*pattern == 0 || *pattern == '#') @@ -318,27 +286,27 @@ hg_addfn (struct exclude *ex, char const *pattern, int options, void *data) --len; p = xmalloc (len+1); - memcpy (p, pattern, len); + memcpy (p, pattern, len); p[len] = 0; pattern = p; exclude_add_pattern_buffer (ex, p); options |= FNM_LEADING_DIR|EXCLUDE_ALLOC; } - + add_exclude (ex, pattern, ((*hgopt == EXCLUDE_REGEX) ? (options & ~EXCLUDE_WILDCARDS) : (options & ~EXCLUDE_REGEX)) | *hgopt); } -struct vcs_ignore_file vcs_ignore_files[] = { +static struct vcs_ignore_file vcs_ignore_files[] = { { ".cvsignore", EXCL_NON_RECURSIVE, cvs_addfn, NULL, NULL }, { ".gitignore", 0, git_addfn, NULL, NULL }, { ".bzrignore", 0, bzr_addfn, NULL, NULL }, - { ".hgignore", 0, hg_addfn, hg_initfn , NULL }, + { ".hgignore", 0, hg_addfn, hg_initfn, NULL }, { NULL, 0, git_addfn, NULL, NULL } }; - + static struct vcs_ignore_file * get_vcs_ignore_file (const char *name) { diff --git a/src/exit.c b/src/exit.c index 411d6306..17dc1ff0 100644 --- a/src/exit.c +++ b/src/exit.c @@ -1,6 +1,6 @@ /* Exit from GNU tar. - Copyright 2009, 2013-2014 Free Software Foundation, Inc. + Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. diff --git a/src/extract.c b/src/extract.c index ca25603a..f982433d 100644 --- a/src/extract.c +++ b/src/extract.c @@ -1,7 +1,7 @@ /* Extract files from a tar archive. - Copyright 1988, 1992-1994, 1996-2001, 2003-2007, 2010, 2012-2014 Free - Software Foundation, Inc. + Copyright 1988, 1992-1994, 1996-2001, 2003-2007, 2010, 2012-2014, + 2016 Free Software Foundation, Inc. This file is part of GNU tar. @@ -109,7 +109,7 @@ struct delayed_set_stat struct xattr_array *xattr_map; /* Length and contents of name. */ size_t file_name_len; - char file_name[1]; + char *file_name; }; static struct delayed_set_stat *delayed_set_stat_head; @@ -441,9 +441,7 @@ delay_set_stat (char const *file_name, struct tar_stat_info const *st, mode_t mode, int atflag) { size_t file_name_len = strlen (file_name); - struct delayed_set_stat *data = - xmalloc (offsetof (struct delayed_set_stat, file_name) - + file_name_len + 1); + struct delayed_set_stat *data = xmalloc (sizeof (*data)); data->next = delayed_set_stat_head; data->mode = mode; if (st) @@ -456,6 +454,7 @@ delay_set_stat (char const *file_name, struct tar_stat_info const *st, data->mtime = st->mtime; } data->file_name_len = file_name_len; + data->file_name = xstrdup (file_name); data->current_mode = current_mode; data->current_mode_mask = current_mode_mask; data->interdir = ! st; @@ -537,6 +536,56 @@ repair_delayed_set_stat (char const *dir, quotearg_colon (dir))); } +static void +free_delayed_set_stat (struct delayed_set_stat *data) +{ + free (data->file_name); + xheader_xattr_free (data->xattr_map, data->xattr_map_size); + free (data->cntx_name); + free (data->acls_a_ptr); + free (data->acls_d_ptr); + free (data); +} + +void +remove_delayed_set_stat (const char *fname) +{ + struct delayed_set_stat *data, *next, *prev = NULL; + for (data = delayed_set_stat_head; data; data = next) + { + next = data->next; + if (chdir_current == data->change_dir + && strcmp (data->file_name, fname) == 0) + { + free_delayed_set_stat (data); + if (prev) + prev->next = next; + else + delayed_set_stat_head = next; + return; + } + else + prev = data; + } +} + +static void +fixup_delayed_set_stat (char const *src, char const *dst) +{ + struct delayed_set_stat *data; + for (data = delayed_set_stat_head; data; data = data->next) + { + if (chdir_current == data->change_dir + && strcmp (data->file_name, src) == 0) + { + free (data->file_name); + data->file_name = xstrdup (dst); + data->file_name_len = strlen (dst); + return; + } + } +} + /* After a file/link/directory creation has failed, see if it's because some required directory was not present, and if so, create all required directories. Return zero if all the required @@ -846,11 +895,7 @@ apply_nonancestor_delayed_set_stat (char const *file_name, bool after_links) } delayed_set_stat_head = data->next; - xheader_xattr_free (data->xattr_map, data->xattr_map_size); - free (data->cntx_name); - free (data->acls_a_ptr); - free (data->acls_d_ptr); - free (data); + free_delayed_set_stat (data); } } @@ -1741,7 +1786,9 @@ extract_finish (void) bool rename_directory (char *src, char *dst) { - if (renameat (chdir_fd, src, chdir_fd, dst) != 0) + if (renameat (chdir_fd, src, chdir_fd, dst) == 0) + fixup_delayed_set_stat (src, dst); + else { int e = errno; bool interdir_made; diff --git a/src/incremen.c b/src/incremen.c index b1b70ba4..19d0b9bc 100644 --- a/src/incremen.c +++ b/src/incremen.c @@ -1,7 +1,7 @@ /* GNU dump extensions to tar. - Copyright 1988, 1992-1994, 1996-1997, 1999-2001, 2003-2009, 2013-2014 - Free Software Foundation, Inc. + Copyright 1988, 1992-1994, 1996-1997, 1999-2001, 2003-2009, + 2013-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. @@ -735,7 +735,7 @@ scan_directory (struct tar_stat_info *st) savedir_error (dir); info_attach_exclist (st); - + tmp = xstrdup (dir); zap_slashes (tmp); @@ -1155,11 +1155,14 @@ read_num (FILE *fp, char const *fieldname, } if (c) - FATAL_ERROR ((0, 0, - _("%s: byte %s: %s %s followed by invalid byte 0x%02x"), - quotearg_colon (listed_incremental_option), - offtostr (ftello (fp), offbuf), - fieldname, buf, c)); + { + unsigned uc = c; + FATAL_ERROR ((0, 0, + _("%s: byte %s: %s %s followed by invalid byte 0x%02x"), + quotearg_colon (listed_incremental_option), + offtostr (ftello (fp), offbuf), + fieldname, buf, uc)); + } *pval = strtosysint (buf, NULL, min_val, max_val); conversion_errno = errno; @@ -1541,9 +1544,10 @@ dumpdir_ok (char *dumpdir) { if (expect && *p != expect) { + unsigned char uc = *p; ERROR ((0, 0, _("Malformed dumpdir: expected '%c' but found %#3o"), - expect, *p)); + expect, uc)); return false; } switch (*p) @@ -1578,7 +1582,7 @@ dumpdir_ok (char *dumpdir) if (expect != 'T') { ERROR ((0, 0, - _("Malformed dumpdir: 'T' not preceeded by 'R'"))); + _("Malformed dumpdir: 'T' not preceded by 'R'"))); return false; } if (p[1] == 0 && !has_tempdir) @@ -1708,7 +1712,7 @@ try_purge_directory (char const *directory_name) const char *entry; struct stat st; free (p); - p = new_name (directory_name, cur); + p = make_file_name (directory_name, cur); if (deref_stat (p, &st) != 0) { diff --git a/src/list.c b/src/list.c index b4277e02..8eef25d4 100644 --- a/src/list.c +++ b/src/list.c @@ -1,6 +1,6 @@ /* List a tar archive, with support routines for reading a tar archive. - Copyright 1988, 1992-1994, 1996-2001, 2003-2007, 2010, 2012-2014 Free + Copyright 1988, 1992-1994, 1996-2001, 2003-2007, 2010, 2012-2016 Free Software Foundation, Inc. This file is part of GNU tar. @@ -124,18 +124,20 @@ enforce_one_top_level (char **pfile_name) for (p = file_name; *p && (ISSLASH (*p) || *p == '.'); p++) ; - if (!*p) - return; - - if (strncmp (p, one_top_level_dir, strlen (one_top_level_dir)) == 0) + if (*p) { int pos = strlen (one_top_level_dir); - if (ISSLASH (p[pos]) || p[pos] == 0) - return; + if (strncmp (p, one_top_level_dir, pos) == 0) + { + if (ISSLASH (p[pos]) || p[pos] == 0) + return; + } + + *pfile_name = make_file_name (one_top_level_dir, file_name); + normalize_filename_x (*pfile_name); } - - *pfile_name = new_name (one_top_level_dir, file_name); - normalize_filename_x (*pfile_name); + else + *pfile_name = xstrdup (one_top_level_dir); free (file_name); } @@ -193,7 +195,7 @@ read_and (void (*do_something) (void)) decode_header (current_header, ¤t_stat_info, ¤t_format, 1); if (! name_match (current_stat_info.file_name) - || (NEWER_OPTION_INITIALIZED (newer_mtime_option) + || (TIME_OPTION_INITIALIZED (newer_mtime_option) /* FIXME: We get mtime now, and again later; this causes duplicate diagnostics if header.mtime is bogus. */ && ((mtime.tv_sec @@ -689,7 +691,6 @@ decode_header (union block *header, struct tar_stat_info *stat_info, } } - stat_info->archive_file_size = stat_info->stat.st_size; xheader_decode (stat_info); if (sparse_member_p (stat_info)) @@ -1218,18 +1219,7 @@ simple_print_header (struct tar_stat_info *st, union block *blk, && !numeric_owner_option) user = st->uname; else - { - /* Try parsing it as an unsigned integer first, and as a - uid_t if that fails. This method can list positive user - ids that are too large to fit in a uid_t. */ - uintmax_t u = from_header (blk->header.uid, - sizeof blk->header.uid, 0, - 0, UINTMAX_MAX, - false, false); - user = (u != -1 - ? STRINGIFY_BIGINT (u, uform) - : imaxtostr (UID_FROM_HEADER (blk->header.uid), uform)); - } + user = STRINGIFY_BIGINT (st->stat.st_uid, uform); if (st->gname && st->gname[0] @@ -1237,18 +1227,7 @@ simple_print_header (struct tar_stat_info *st, union block *blk, && !numeric_owner_option) group = st->gname; else - { - /* Try parsing it as an unsigned integer first, and as a - gid_t if that fails. This method can list positive group - ids that are too large to fit in a gid_t. */ - uintmax_t g = from_header (blk->header.gid, - sizeof blk->header.gid, 0, - 0, UINTMAX_MAX, - false, false); - group = (g != -1 - ? STRINGIFY_BIGINT (g, gform) - : imaxtostr (GID_FROM_HEADER (blk->header.gid), gform)); - } + group = STRINGIFY_BIGINT (st->stat.st_gid, gform); /* Format the file size or major/minor device numbers. */ diff --git a/src/map.c b/src/map.c new file mode 100644 index 00000000..0cd98619 --- /dev/null +++ b/src/map.c @@ -0,0 +1,283 @@ +/* Owner/group mapping for tar + + Copyright 2015-2016 Free Software Foundation, Inc. + + This file is part of GNU tar. + + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include +#include "common.h" +#include "wordsplit.h" +#include +#include + +struct mapentry +{ + uintmax_t orig_id; + uintmax_t new_id; + char *new_name; +}; + +static size_t +map_hash (void const *entry, size_t nbuckets) +{ + struct mapentry const *map = entry; + return map->orig_id % nbuckets; +} + +static bool +map_compare (void const *entry1, void const *entry2) +{ + struct mapentry const *map1 = entry1; + struct mapentry const *map2 = entry2; + return map1->orig_id == map2->orig_id; +} + +static int +parse_id (uintmax_t *retval, + char const *arg, char const *what, uintmax_t maxval, + char const *file, unsigned line) +{ + uintmax_t v; + char *p; + + errno = 0; + v = strtoumax (arg, &p, 10); + if (*p || errno) + { + error (0, 0, _("%s:%u: invalid %s: %s"), file, line, what, arg); + return -1; + } + if (v > maxval) + { + error (0, 0, _("%s:%u: %s out of range: %s"), file, line, what, arg); + return -1; + } + *retval = v; + return 0; +} + +static void +map_read (Hash_table **ptab, char const *file, + uintmax_t (*name_to_id) (char const *), char const *what, + uintmax_t maxval) +{ + FILE *fp; + char *buf = NULL; + size_t bufsize = 0; + ssize_t n; + struct wordsplit ws; + int wsopt; + unsigned line; + int err = 0; + + fp = fopen (file, "r"); + if (!fp) + open_fatal (file); + + ws.ws_comment = "#"; + wsopt = WRDSF_COMMENT | WRDSF_NOVAR | WRDSF_NOCMD | WRDSF_SQUEEZE_DELIMS + | WRDSF_QUOTE; + line = 0; + while ((n = getline (&buf, &bufsize, fp)) > 0) + { + struct mapentry *ent; + uintmax_t orig_id, new_id; + char *name = NULL; + char *colon; + + ++line; + if (wordsplit (buf, &ws, wsopt)) + FATAL_ERROR ((0, 0, _("%s:%u: cannot split line: %s"), + file, line, wordsplit_strerror (&ws))); + wsopt |= WRDSF_REUSE; + if (ws.ws_wordc == 0) + continue; + if (ws.ws_wordc != 2) + { + error (0, 0, _("%s:%u: malformed line"), file, line); + err = 1; + continue; + } + + if (ws.ws_wordv[0][0] == '+') + { + if (parse_id (&orig_id, ws.ws_wordv[0]+1, what, maxval, file, line)) + { + err = 1; + continue; + } + } + else if (name_to_id) + { + orig_id = name_to_id (ws.ws_wordv[0]); + if (orig_id == UINTMAX_MAX) + { + error (0, 0, _("%s:%u: can't obtain %s of %s"), + file, line, what, ws.ws_wordv[0]); + err = 1; + continue; + } + } + + colon = strchr (ws.ws_wordv[1], ':'); + if (colon) + { + if (colon > ws.ws_wordv[1]) + name = ws.ws_wordv[1]; + *colon++ = 0; + if (parse_id (&new_id, colon, what, maxval, file, line)) + { + err = 1; + continue; + } + } + else if (ws.ws_wordv[1][0] == '+') + { + if (parse_id (&new_id, ws.ws_wordv[1], what, maxval, file, line)) + { + err = 1; + continue; + } + } + else + { + name = ws.ws_wordv[1]; + new_id = name_to_id (ws.ws_wordv[1]); + if (new_id == UINTMAX_MAX) + { + error (0, 0, _("%s:%u: can't obtain %s of %s"), + file, line, what, ws.ws_wordv[1]); + err = 1; + continue; + } + } + + ent = xmalloc (sizeof (*ent)); + ent->orig_id = orig_id; + ent->new_id = new_id; + ent->new_name = name ? xstrdup (name) : NULL; + + if (!((*ptab + || (*ptab = hash_initialize (0, 0, map_hash, map_compare, 0))) + && hash_insert (*ptab, ent))) + xalloc_die (); + } + if (wsopt & WRDSF_REUSE) + wordsplit_free (&ws); + fclose (fp); + if (err) + FATAL_ERROR ((0, 0, _("errors reading map file"))); +} + +/* UID translation */ + +static Hash_table *owner_map; + +static uintmax_t +name_to_uid (char const *name) +{ + struct passwd *pw = getpwnam (name); + return pw ? pw->pw_uid : UINTMAX_MAX; +} + +void +owner_map_read (char const *file) +{ + map_read (&owner_map, file, name_to_uid, "UID", TYPE_MAXIMUM (uid_t)); +} + +int +owner_map_translate (uid_t uid, uid_t *new_uid, char const **new_name) +{ + int rc = 1; + + if (owner_map) + { + struct mapentry ent, *res; + + ent.orig_id = uid; + res = hash_lookup (owner_map, &ent); + if (res) + { + *new_uid = res->new_id; + *new_name = res->new_name; + return 0; + } + } + + if (owner_option != (uid_t) -1) + { + *new_uid = owner_option; + rc = 0; + } + if (owner_name_option) + { + *new_name = owner_name_option; + rc = 0; + } + + return rc; +} + +/* GID translation */ + +static Hash_table *group_map; + +static uintmax_t +name_to_gid (char const *name) +{ + struct group *gr = getgrnam (name); + return gr ? gr->gr_gid : UINTMAX_MAX; +} + +void +group_map_read (char const *file) +{ + map_read (&group_map, file, name_to_gid, "GID", TYPE_MAXIMUM (gid_t)); +} + +int +group_map_translate (gid_t gid, gid_t *new_gid, char const **new_name) +{ + int rc = 1; + + if (group_map) + { + struct mapentry ent, *res; + + ent.orig_id = gid; + res = hash_lookup (group_map, &ent); + if (res) + { + *new_gid = res->new_id; + *new_name = res->new_name; + return 0; + } + } + + if (group_option != (uid_t) -1) + { + *new_gid = group_option; + rc = 0; + } + if (group_name_option) + { + *new_name = group_name_option; + rc = 0; + } + + return rc; +} diff --git a/src/misc.c b/src/misc.c index 8e666438..071cf2a1 100644 --- a/src/misc.c +++ b/src/misc.c @@ -1,7 +1,7 @@ /* Miscellaneous functions, not really specific to GNU tar. Copyright 1988, 1992, 1994-1997, 1999-2001, 2003-2007, 2009-2010, - 2012-2014 Free Software Foundation, Inc. + 2012-2014, 2016 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -29,6 +29,8 @@ # define DOUBLE_SLASH_IS_DISTINCT_ROOT 0 #endif +static void namebuf_add_dir (namebuf_t, char const *); +static char *namebuf_finish (namebuf_t); static const char *tar_getcdpath (int); @@ -586,7 +588,12 @@ safer_rmdir (const char *file_name) return -1; } - return unlinkat (chdir_fd, file_name, AT_REMOVEDIR); + if (unlinkat (chdir_fd, file_name, AT_REMOVEDIR) == 0) + { + remove_delayed_set_stat (file_name); + return 0; + } + return -1; } /* Remove FILE_NAME, returning 1 on success. If FILE_NAME is a directory, @@ -650,7 +657,7 @@ remove_any_file (const char *file_name, enum remove_option option) (entrylen = strlen (entry)) != 0; entry += entrylen + 1) { - char *file_name_buffer = new_name (file_name, entry); + char *file_name_buffer = make_file_name (file_name, entry); int r = remove_any_file (file_name_buffer, RECURSIVE_REMOVE_OPTION); int e = errno; @@ -1106,13 +1113,6 @@ file_removed_diag (const char *name, bool top_level, diagfn (name); } -void -write_fatal_details (char const *name, ssize_t status, size_t size) -{ - write_error_details (name, status, size); - fatal_exit (); -} - /* Fork, aborting if unsuccessful. */ pid_t xfork (void) @@ -1197,7 +1197,7 @@ namebuf_name (namebuf_t buf, const char *name) return buf->buffer; } -void +static void namebuf_add_dir (namebuf_t buf, const char *name) { static char dirsep[] = { DIRECTORY_SEPARATOR, 0 }; @@ -1210,7 +1210,7 @@ namebuf_add_dir (namebuf_t buf, const char *name) buf->dir_length += strlen (name); } -char * +static char * namebuf_finish (namebuf_t buf) { char *res = buf->buffer; diff --git a/src/names.c b/src/names.c index 594e7fdd..037b869d 100644 --- a/src/names.c +++ b/src/names.c @@ -1,6 +1,6 @@ /* Various processing of names. - Copyright 1988, 1992, 1994, 1996-2001, 2003-2007, 2009, 2013-2014 + Copyright 1988, 1992, 1994, 1996-2001, 2003-2007, 2009, 2013-2016 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it @@ -26,6 +26,401 @@ #include "common.h" +static void name_add_option (int option, const char *arg); +static void name_add_dir (const char *name); +static void name_add_file (const char *name); + +enum + { + EXCLUDE_BACKUPS_OPTION = 256, + EXCLUDE_CACHES_OPTION, + EXCLUDE_CACHES_UNDER_OPTION, + EXCLUDE_CACHES_ALL_OPTION, + EXCLUDE_OPTION, + EXCLUDE_IGNORE_OPTION, + EXCLUDE_IGNORE_RECURSIVE_OPTION, + EXCLUDE_TAG_OPTION, + EXCLUDE_TAG_UNDER_OPTION, + EXCLUDE_TAG_ALL_OPTION, + EXCLUDE_VCS_OPTION, + EXCLUDE_VCS_IGNORES_OPTION, + IGNORE_CASE_OPTION, + NO_IGNORE_CASE_OPTION, + ANCHORED_OPTION, + NO_ANCHORED_OPTION, + RECURSION_OPTION, + NO_RECURSION_OPTION, + UNQUOTE_OPTION, + NO_UNQUOTE_OPTION, + NO_VERBATIM_FILES_FROM_OPTION, + NO_WILDCARDS_MATCH_SLASH_OPTION, + NO_WILDCARDS_OPTION, + NULL_OPTION, + NO_NULL_OPTION, + VERBATIM_FILES_FROM_OPTION, + WILDCARDS_MATCH_SLASH_OPTION, + WILDCARDS_OPTION + }; + +static struct argp_option names_options[] = { +#define GRID 100 + {NULL, 0, NULL, 0, + N_("Local file name selection:"), GRID }, + + {"add-file", ARGP_KEY_ARG, N_("FILE"), 0, + N_("add given FILE to the archive (useful if its name starts with a dash)"), GRID+1 }, + {"directory", 'C', N_("DIR"), 0, + N_("change to directory DIR"), GRID+1 }, + {"files-from", 'T', N_("FILE"), 0, + N_("get names to extract or create from FILE"), GRID+1 }, + {"null", NULL_OPTION, 0, 0, + N_("-T reads null-terminated names; implies --verbatim-files-from"), + GRID+1 }, + {"no-null", NO_NULL_OPTION, 0, 0, + N_("disable the effect of the previous --null option"), GRID+1 }, + {"unquote", UNQUOTE_OPTION, 0, 0, + N_("unquote input file or member names (default)"), GRID+1 }, + {"no-unquote", NO_UNQUOTE_OPTION, 0, 0, + N_("do not unquote input file or member names"), GRID+1 }, + {"verbatim-files-from", VERBATIM_FILES_FROM_OPTION, 0, 0, + N_("-T reads file names verbatim (no option handling)"), GRID+1 }, + {"no-verbatim-files-from", NO_VERBATIM_FILES_FROM_OPTION, 0, 0, + N_("-T treats file names starting with dash as options (default)"), + GRID+1 }, + {"exclude", EXCLUDE_OPTION, N_("PATTERN"), 0, + N_("exclude files, given as a PATTERN"), GRID+1 }, + {"exclude-from", 'X', N_("FILE"), 0, + N_("exclude patterns listed in FILE"), GRID+1 }, + {"exclude-caches", EXCLUDE_CACHES_OPTION, 0, 0, + N_("exclude contents of directories containing CACHEDIR.TAG, " + "except for the tag file itself"), GRID+1 }, + {"exclude-caches-under", EXCLUDE_CACHES_UNDER_OPTION, 0, 0, + N_("exclude everything under directories containing CACHEDIR.TAG"), + GRID+1 }, + {"exclude-caches-all", EXCLUDE_CACHES_ALL_OPTION, 0, 0, + N_("exclude directories containing CACHEDIR.TAG"), GRID+1 }, + {"exclude-tag", EXCLUDE_TAG_OPTION, N_("FILE"), 0, + N_("exclude contents of directories containing FILE, except" + " for FILE itself"), GRID+1 }, + {"exclude-ignore", EXCLUDE_IGNORE_OPTION, N_("FILE"), 0, + N_("read exclude patterns for each directory from FILE, if it exists"), + GRID+1 }, + {"exclude-ignore-recursive", EXCLUDE_IGNORE_RECURSIVE_OPTION, N_("FILE"), 0, + N_("read exclude patterns for each directory and its subdirectories " + "from FILE, if it exists"), GRID+1 }, + {"exclude-tag-under", EXCLUDE_TAG_UNDER_OPTION, N_("FILE"), 0, + N_("exclude everything under directories containing FILE"), GRID+1 }, + {"exclude-tag-all", EXCLUDE_TAG_ALL_OPTION, N_("FILE"), 0, + N_("exclude directories containing FILE"), GRID+1 }, + {"exclude-vcs", EXCLUDE_VCS_OPTION, NULL, 0, + N_("exclude version control system directories"), GRID+1 }, + {"exclude-vcs-ignores", EXCLUDE_VCS_IGNORES_OPTION, NULL, 0, + N_("read exclude patterns from the VCS ignore files"), GRID+1 }, + {"exclude-backups", EXCLUDE_BACKUPS_OPTION, NULL, 0, + N_("exclude backup and lock files"), GRID+1 }, + {"recursion", RECURSION_OPTION, 0, 0, + N_("recurse into directories (default)"), GRID+1 }, + {"no-recursion", NO_RECURSION_OPTION, 0, 0, + N_("avoid descending automatically in directories"), GRID+1 }, +#undef GRID + +#define GRID 120 + {NULL, 0, NULL, 0, + N_("File name matching options (affect both exclude and include patterns):"), + GRID }, + {"anchored", ANCHORED_OPTION, 0, 0, + N_("patterns match file name start"), GRID+1 }, + {"no-anchored", NO_ANCHORED_OPTION, 0, 0, + N_("patterns match after any '/' (default for exclusion)"), GRID+1 }, + {"ignore-case", IGNORE_CASE_OPTION, 0, 0, + N_("ignore case"), GRID+1 }, + {"no-ignore-case", NO_IGNORE_CASE_OPTION, 0, 0, + N_("case sensitive matching (default)"), GRID+1 }, + {"wildcards", WILDCARDS_OPTION, 0, 0, + N_("use wildcards (default for exclusion)"), GRID+1 }, + {"no-wildcards", NO_WILDCARDS_OPTION, 0, 0, + N_("verbatim string matching"), GRID+1 }, + {"wildcards-match-slash", WILDCARDS_MATCH_SLASH_OPTION, 0, 0, + N_("wildcards match '/' (default for exclusion)"), GRID+1 }, + {"no-wildcards-match-slash", NO_WILDCARDS_MATCH_SLASH_OPTION, 0, 0, + N_("wildcards do not match '/'"), GRID+1 }, +#undef GRID + + {NULL} +}; + +static bool +is_file_selection_option (int key) +{ + struct argp_option *p; + + for (p = names_options; + !(p->name == NULL && p->key == 0 && p->doc == NULL); p++) + if (p->key == key) + return true; + return false; +} + +/* Either NL or NUL, as decided by the --null option. */ +static char filename_terminator = '\n'; +/* Treat file names read from -T input verbatim */ +static bool verbatim_files_from_option; + +static error_t +names_parse_opt (int key, char *arg, struct argp_state *state) +{ + switch (key) + { + case 'C': + name_add_dir (arg); + break; + + case 'T': + name_add_file (arg); + /* Indicate we've been given -T option. This is for backward + compatibility only, so that `tar cfT archive /dev/null will + succeed */ + files_from_option = true; + break; + + default: + if (is_file_selection_option (key)) + name_add_option (key, arg); + else + return ARGP_ERR_UNKNOWN; + } + return 0; +} + +/* Wildcard matching settings */ +enum wildcards + { + default_wildcards, /* For exclusion == enable_wildcards, + for inclusion == disable_wildcards */ + disable_wildcards, + enable_wildcards + }; + +static enum wildcards wildcards = default_wildcards; + /* Wildcard settings (--wildcards/--no-wildcards) */ +static int matching_flags = 0; + /* exclude_fnmatch options */ +static int include_anchored = EXCLUDE_ANCHORED; + /* Pattern anchoring options used for file inclusion */ + +#define EXCLUDE_OPTIONS \ + (((wildcards != disable_wildcards) ? EXCLUDE_WILDCARDS : 0) \ + | matching_flags \ + | recursion_option) + +#define INCLUDE_OPTIONS \ + (((wildcards == enable_wildcards) ? EXCLUDE_WILDCARDS : 0) \ + | include_anchored \ + | matching_flags \ + | recursion_option) + +static char const * const vcs_file_table[] = { + /* CVS: */ + "CVS", + ".cvsignore", + /* RCS: */ + "RCS", + /* SCCS: */ + "SCCS", + /* SVN: */ + ".svn", + /* git: */ + ".git", + ".gitignore", + ".gitattributes", + ".gitmodules", + /* Arch: */ + ".arch-ids", + "{arch}", + "=RELEASE-ID", + "=meta-update", + "=update", + /* Bazaar */ + ".bzr", + ".bzrignore", + ".bzrtags", + /* Mercurial */ + ".hg", + ".hgignore", + ".hgtags", + /* darcs */ + "_darcs", + NULL +}; + +static char const * const backup_file_table[] = { + ".#*", + "*~", + "#*#", + NULL +}; + +static void +add_exclude_array (char const * const * fv, int opts) +{ + int i; + + for (i = 0; fv[i]; i++) + add_exclude (excluded, fv[i], opts); +} + +static void +handle_file_selection_option (int key, const char *arg) +{ + switch (key) + { + case EXCLUDE_BACKUPS_OPTION: + add_exclude_array (backup_file_table, EXCLUDE_WILDCARDS); + break; + + case EXCLUDE_OPTION: + add_exclude (excluded, arg, EXCLUDE_OPTIONS); + break; + + case EXCLUDE_CACHES_OPTION: + add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_contents, + cachedir_file_p); + break; + + case EXCLUDE_CACHES_UNDER_OPTION: + add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_under, + cachedir_file_p); + break; + + case EXCLUDE_CACHES_ALL_OPTION: + add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_all, + cachedir_file_p); + break; + + case EXCLUDE_IGNORE_OPTION: + excfile_add (arg, EXCL_NON_RECURSIVE); + break; + + case EXCLUDE_IGNORE_RECURSIVE_OPTION: + excfile_add (arg, EXCL_RECURSIVE); + break; + + case EXCLUDE_TAG_OPTION: + add_exclusion_tag (arg, exclusion_tag_contents, NULL); + break; + + case EXCLUDE_TAG_UNDER_OPTION: + add_exclusion_tag (arg, exclusion_tag_under, NULL); + break; + + case EXCLUDE_TAG_ALL_OPTION: + add_exclusion_tag (arg, exclusion_tag_all, NULL); + break; + + case EXCLUDE_VCS_OPTION: + add_exclude_array (vcs_file_table, 0); + break; + + case EXCLUDE_VCS_IGNORES_OPTION: + exclude_vcs_ignores (); + break; + + case RECURSION_OPTION: + recursion_option = FNM_LEADING_DIR; + break; + + case NO_RECURSION_OPTION: + recursion_option = 0; + break; + + case UNQUOTE_OPTION: + unquote_option = true; + break; + + case NO_UNQUOTE_OPTION: + unquote_option = false; + break; + + case NULL_OPTION: + filename_terminator = '\0'; + verbatim_files_from_option = true; + break; + + case NO_NULL_OPTION: + filename_terminator = '\n'; + verbatim_files_from_option = false; + break; + + case 'X': + if (add_exclude_file (add_exclude, excluded, arg, EXCLUDE_OPTIONS, '\n') + != 0) + { + int e = errno; + FATAL_ERROR ((0, e, "%s", quotearg_colon (arg))); + } + break; + + case ANCHORED_OPTION: + matching_flags |= EXCLUDE_ANCHORED; + break; + + case NO_ANCHORED_OPTION: + include_anchored = 0; /* Clear the default for comman line args */ + matching_flags &= ~ EXCLUDE_ANCHORED; + break; + + case IGNORE_CASE_OPTION: + matching_flags |= FNM_CASEFOLD; + break; + + case NO_IGNORE_CASE_OPTION: + matching_flags &= ~ FNM_CASEFOLD; + break; + + case WILDCARDS_OPTION: + wildcards = enable_wildcards; + break; + + case NO_WILDCARDS_OPTION: + wildcards = disable_wildcards; + break; + + case WILDCARDS_MATCH_SLASH_OPTION: + matching_flags &= ~ FNM_FILE_NAME; + break; + + case NO_WILDCARDS_MATCH_SLASH_OPTION: + matching_flags |= FNM_FILE_NAME; + break; + + case VERBATIM_FILES_FROM_OPTION: + verbatim_files_from_option = true; + break; + + case NO_VERBATIM_FILES_FROM_OPTION: + verbatim_files_from_option = false; + break; + + default: + FATAL_ERROR ((0, 0, "unhandled positional option %d", key)); + } +} + +static struct argp names_argp = { + names_options, + names_parse_opt, + NULL, + NULL, + NULL, + NULL, + NULL +}; + +struct argp_child names_argp_children[] = { + { &names_argp, 0, "", 0 }, + { NULL } +}; + /* User and group names. */ /* Make sure you link with the proper libraries if you are running the @@ -210,26 +605,36 @@ static struct name *nametail; /* end of name list */ /* A name_list element contains entries of three types: */ -#define NELT_NAME 0 /* File name */ -#define NELT_CHDIR 1 /* Change directory request */ -#define NELT_FMASK 2 /* Change fnmatch options request */ -#define NELT_FILE 3 /* Read file names from that file */ -#define NELT_NOOP 4 /* No operation */ +enum nelt_type + { + NELT_NAME, /* File name */ + NELT_CHDIR, /* Change directory request */ + NELT_FILE, /* Read file names from that file */ + NELT_NOOP, /* No operation */ + NELT_OPTION /* Filename-selection option */ + }; struct name_elt /* A name_array element. */ { struct name_elt *next, *prev; - char type; /* Element type, see NELT_* constants above */ + enum nelt_type type; /* Element type, see NELT_* constants above */ union { const char *name; /* File or directory name */ - int matching_flags;/* fnmatch options if type == NELT_FMASK */ struct /* File, if type == NELT_FILE */ { const char *name;/* File name */ + size_t line; /* Input line number */ int term; /* File name terminator in the list */ + bool verbatim; /* Verbatim handling of file names: no white-space + trimming, no option processing */ FILE *fp; } file; + struct + { + int option; + char const *arg; + } opt; /* NELT_OPTION */ } v; }; @@ -276,27 +681,29 @@ name_list_advance (void) free (elt); } -/* Add to name_array the file NAME with fnmatch options MATCHING_FLAGS */ + +/* Add to name_array the file NAME with fnmatch options MATFLAGS */ void -name_add_name (const char *name, int matching_flags) +name_add_name (const char *name) { - static int prev_flags = 0; /* FIXME: Or EXCLUDE_ANCHORED? */ struct name_elt *ep = name_elt_alloc (); - if (prev_flags != matching_flags) - { - ep->type = NELT_FMASK; - ep->v.matching_flags = matching_flags; - prev_flags = matching_flags; - ep = name_elt_alloc (); - } ep->type = NELT_NAME; ep->v.name = name; name_count++; } +static void +name_add_option (int option, const char *arg) +{ + struct name_elt *elt = name_elt_alloc (); + elt->type = NELT_OPTION; + elt->v.opt.option = option; + elt->v.opt.arg = arg; +} + /* Add to name_array a chdir request for the directory NAME */ -void +static void name_add_dir (const char *name) { struct name_elt *ep = name_elt_alloc (); @@ -304,13 +711,14 @@ name_add_dir (const char *name) ep->v.name = name; } -void -name_add_file (const char *name, int term) +static void +name_add_file (const char *name) { struct name_elt *ep = name_elt_alloc (); + ep->type = NELT_FILE; ep->v.file.name = name; - ep->v.file.term = term; + ep->v.file.line = 0; ep->v.file.fp = NULL; } @@ -389,6 +797,15 @@ add_file_id (const char *filename) file_id_list = p; return 0; } + +/* Chop trailing slashes. */ +static void +chopslash (char *str) +{ + char *p = str + strlen (str) - 1; + while (p > str && ISSLASH (*p)) + *p-- = '\0'; +} enum read_file_list_state /* Result of reading file name from the list file */ { @@ -409,6 +826,7 @@ read_name_from_file (struct name_elt *ent) FILE *fp = ent->v.file.fp; int term = ent->v.file.term; + ++ent->v.file.line; for (c = getc (fp); c != EOF && c != term; c = getc (fp)) { if (counter == name_buffer_length) @@ -428,16 +846,17 @@ read_name_from_file (struct name_elt *ent) if (counter == name_buffer_length) name_buffer = x2realloc (name_buffer, &name_buffer_length); name_buffer[counter] = 0; - + chopslash (name_buffer); return (counter == 0 && c == EOF) ? file_list_end : file_list_success; } static int -handle_option (const char *str) +handle_option (const char *str, struct name_elt const *ent) { struct wordsplit ws; int i; - + struct option_locus loc; + while (*str && isspace (*str)) ++str; if (*str != '-') @@ -447,8 +866,11 @@ handle_option (const char *str) if (wordsplit (str, &ws, WRDSF_DEFFLAGS|WRDSF_DOOFFS)) FATAL_ERROR ((0, 0, _("cannot split string '%s': %s"), str, wordsplit_strerror (&ws))); - ws.ws_wordv[0] = program_invocation_short_name; - more_options (ws.ws_wordc+ws.ws_offs, ws.ws_wordv); + ws.ws_wordv[0] = (char *) program_name; + loc.source = OPTS_FILE; + loc.name = ent->v.file.name; + loc.line = ent->v.file.line; + more_options (ws.ws_wordc+ws.ws_offs, ws.ws_wordv, &loc); for (i = 0; i < ws.ws_wordc+ws.ws_offs; i++) ws.ws_wordv[i] = NULL; @@ -476,6 +898,8 @@ read_next_name (struct name_elt *ent, struct name_elt *ret) if ((ent->v.file.fp = fopen (ent->v.file.name, "r")) == NULL) open_fatal (ent->v.file.name); } + ent->v.file.term = filename_terminator; + ent->v.file.verbatim = verbatim_files_from_option; } while (1) @@ -494,7 +918,7 @@ read_next_name (struct name_elt *ent, struct name_elt *ret) case file_list_success: if (unquote_option) unquote_string (name_buffer); - if (handle_option (name_buffer) == 0) + if (!ent->v.file.verbatim && handle_option (name_buffer, ent) == 0) { name_list_adjust (); return 1; @@ -518,7 +942,6 @@ copy_name (struct name_elt *ep) { const char *source; size_t source_len; - char *cursor; source = ep->v.name; source_len = strlen (source); @@ -536,24 +959,17 @@ copy_name (struct name_elt *ep) name_buffer = xmalloc(name_buffer_length + 2); } strcpy (name_buffer, source); - - /* Zap trailing slashes. */ - cursor = name_buffer + strlen (name_buffer) - 1; - while (cursor > name_buffer && ISSLASH (*cursor)) - *cursor-- = '\0'; + chopslash (name_buffer); } -static int matching_flags; /* exclude_fnmatch options */ - /* Get the next NELT_NAME element from name_array. Result is in static storage and can't be relied upon across two calls. If CHANGE_DIRS is true, treat any entries of type NELT_CHDIR as the request to change to the given directory. - Entries of type NELT_FMASK cause updates of the matching_flags - value. */ +*/ static struct name_elt * name_next_elt (int change_dirs) { @@ -568,12 +984,6 @@ name_next_elt (int change_dirs) name_list_advance (); break; - case NELT_FMASK: - matching_flags = ep->v.matching_flags; - recursion_option = matching_flags & FNM_LEADING_DIR; - name_list_advance (); - continue; - case NELT_FILE: if (read_next_name (ep, &entry) == 0) return &entry; @@ -595,6 +1005,11 @@ name_next_elt (int change_dirs) entry.v.name = name_buffer; name_list_advance (); return &entry; + + case NELT_OPTION: + handle_file_selection_option (ep->v.opt.option, ep->v.opt.arg); + name_list_advance (); + continue; } } @@ -640,7 +1055,7 @@ name_gather (void) buffer->change_dir = change_dir; buffer->next = 0; buffer->found_count = 0; - buffer->matching_flags = matching_flags; + buffer->matching_flags = INCLUDE_OPTIONS; buffer->directory = NULL; buffer->parent = NULL; buffer->cmdline = true; @@ -682,7 +1097,7 @@ addname (char const *string, int change_dir, bool cmdline, struct name *parent) name->prev = nametail; name->next = NULL; name->found_count = 0; - name->matching_flags = matching_flags; + name->matching_flags = INCLUDE_OPTIONS; name->change_dir = change_dir; name->directory = NULL; name->parent = parent; @@ -817,7 +1232,10 @@ regex_usage_warning (const char *name) { static int warned_once = 0; - if (warn_regex_usage && fnmatch_pattern_has_wildcards (name, 0)) + /* Warn about implicit use of the wildcards in command line arguments. + (Default for tar prior to 1.15.91, but changed afterwards) */ + if (wildcards == default_wildcards + && fnmatch_pattern_has_wildcards (name, 0)) { warned_once = 1; WARN ((0, 0, @@ -1358,18 +1776,18 @@ blank_name_list (void) name->found_count = 0; } -/* Yield a newly allocated file name consisting of FILE_NAME concatenated to - NAME, with an intervening slash if FILE_NAME does not already end in one. */ +/* Yield a newly allocated file name consisting of DIR_NAME concatenated to + NAME, with an intervening slash if DIR_NAME does not already end in one. */ char * -new_name (const char *file_name, const char *name) +make_file_name (const char *directory_name, const char *name) { - size_t file_name_len = strlen (file_name); - size_t namesize = strlen (name) + 1; - int slash = file_name_len && ! ISSLASH (file_name[file_name_len - 1]); - char *buffer = xmalloc (file_name_len + slash + namesize); - memcpy (buffer, file_name, file_name_len); - buffer[file_name_len] = '/'; - memcpy (buffer + file_name_len + slash, name, namesize); + size_t dirlen = strlen (directory_name); + size_t namelen = strlen (name) + 1; + int slash = dirlen && ! ISSLASH (directory_name[dirlen - 1]); + char *buffer = xmalloc (dirlen + slash + namelen); + memcpy (buffer, directory_name, dirlen); + buffer[dirlen] = '/'; + memcpy (buffer + dirlen + slash, name, namelen); return buffer; } diff --git a/src/sparse.c b/src/sparse.c index 6a976763..4e784015 100644 --- a/src/sparse.c +++ b/src/sparse.c @@ -1,6 +1,6 @@ /* Functions for dealing with sparse files - Copyright 2003-2007, 2010, 2013-2014 Free Software Foundation, Inc. + Copyright 2003-2007, 2010, 2013-2016 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -208,9 +208,9 @@ sparse_add_map (struct tar_stat_info *st, struct sp_array const *sp) st->sparse_map_avail = avail + 1; } -/* Scan the sparse file and create its map */ +/* Scan the sparse file byte-by-byte and create its map. */ static bool -sparse_scan_file (struct tar_sparse_file *file) +sparse_scan_file_raw (struct tar_sparse_file *file) { struct tar_stat_info *st = file->stat_info; int fd = file->fd; @@ -221,41 +221,38 @@ sparse_scan_file (struct tar_sparse_file *file) st->archive_file_size = 0; - if (ST_NBLOCKS (st->stat) == 0) - offset = st->stat.st_size; - else - { - if (!tar_sparse_scan (file, scan_begin, NULL)) - return false; - - while ((count = blocking_read (fd, buffer, sizeof buffer)) != 0 - && count != SAFE_READ_ERROR) - { - /* Analyze the block. */ - if (zero_block_p (buffer, count)) - { - if (sp.numbytes) - { - sparse_add_map (st, &sp); - sp.numbytes = 0; - if (!tar_sparse_scan (file, scan_block, NULL)) - return false; - } - } - else - { - if (sp.numbytes == 0) - sp.offset = offset; - sp.numbytes += count; - st->archive_file_size += count; - if (!tar_sparse_scan (file, scan_block, buffer)) - return false; - } + if (!tar_sparse_scan (file, scan_begin, NULL)) + return false; - offset += count; - } + while ((count = blocking_read (fd, buffer, sizeof buffer)) != 0 + && count != SAFE_READ_ERROR) + { + /* Analyze the block. */ + if (zero_block_p (buffer, count)) + { + if (sp.numbytes) + { + sparse_add_map (st, &sp); + sp.numbytes = 0; + if (!tar_sparse_scan (file, scan_block, NULL)) + return false; + } + } + else + { + if (sp.numbytes == 0) + sp.offset = offset; + sp.numbytes += count; + st->archive_file_size += count; + if (!tar_sparse_scan (file, scan_block, buffer)) + return false; + } + + offset += count; } + /* save one more sparse segment of length 0 to indicate that + the file ends with a hole */ if (sp.numbytes == 0) sp.offset = offset; @@ -264,6 +261,114 @@ sparse_scan_file (struct tar_sparse_file *file) return tar_sparse_scan (file, scan_end, NULL); } +static bool +sparse_scan_file_wholesparse (struct tar_sparse_file *file) +{ + struct tar_stat_info *st = file->stat_info; + struct sp_array sp = {0, 0}; + + /* Note that this function is called only for truly sparse files of size >= 1 + block size (checked via ST_IS_SPARSE before). See the thread + http://www.mail-archive.com/bug-tar@gnu.org/msg04209.html for more info */ + if (ST_NBLOCKS (st->stat) == 0) + { + st->archive_file_size = 0; + sp.offset = st->stat.st_size; + sparse_add_map (st, &sp); + return true; + } + + return false; +} + +#ifdef SEEK_HOLE +/* Try to engage SEEK_HOLE/SEEK_DATA feature. */ +static bool +sparse_scan_file_seek (struct tar_sparse_file *file) +{ + struct tar_stat_info *st = file->stat_info; + int fd = file->fd; + struct sp_array sp = {0, 0}; + off_t offset = 0; + off_t data_offset; + off_t hole_offset; + + st->archive_file_size = 0; + + for (;;) + { + /* locate first chunk of data */ + data_offset = lseek (fd, offset, SEEK_DATA); + + if (data_offset == (off_t)-1) + /* ENXIO == EOF; error otherwise */ + { + if (errno == ENXIO) + { + /* file ends with hole, add one more empty chunk of data */ + sp.numbytes = 0; + sp.offset = st->stat.st_size; + sparse_add_map (st, &sp); + return true; + } + return false; + } + + hole_offset = lseek (fd, data_offset, SEEK_HOLE); + + /* according to specs, if FS does not fully support + SEEK_DATA/SEEK_HOLE it may just implement kind of "wrapper" around + classic lseek() call. We must detect it here and try to use other + hole-detection methods. */ + if (offset == 0 /* first loop */ + && data_offset == 0 + && hole_offset == st->stat.st_size) + { + lseek (fd, 0, SEEK_SET); + return false; + } + + sp.offset = data_offset; + sp.numbytes = hole_offset - data_offset; + sparse_add_map (st, &sp); + + st->archive_file_size += sp.numbytes; + offset = hole_offset; + } + + return true; +} +#endif + +static bool +sparse_scan_file (struct tar_sparse_file *file) +{ + /* always check for completely sparse files */ + if (sparse_scan_file_wholesparse (file)) + return true; + + switch (hole_detection) + { + case HOLE_DETECTION_DEFAULT: + case HOLE_DETECTION_SEEK: +#ifdef SEEK_HOLE + if (sparse_scan_file_seek (file)) + return true; +#else + if (hole_detection == HOLE_DETECTION_SEEK) + WARN((0, 0, + _("\"seek\" hole detection is not supported, using \"raw\"."))); + /* fall back to "raw" for this and all other files */ + hole_detection = HOLE_DETECTION_RAW; +#endif + case HOLE_DETECTION_RAW: + if (sparse_scan_file_raw (file)) + return true; + } + + return false; +} + static struct tar_sparse_optab const oldgnu_optab; static struct tar_sparse_optab const star_optab; static struct tar_sparse_optab const pax_optab; diff --git a/src/suffix.c b/src/suffix.c index ac34cba2..a7695b9f 100644 --- a/src/suffix.c +++ b/src/suffix.c @@ -1,5 +1,5 @@ /* This file is part of GNU tar. - Copyright 2007, 2009, 2013-2014 Free Software Foundation, Inc. + Copyright 2007, 2009, 2013-2014, 2016 Free Software Foundation, Inc. Written by Sergey Poznyakoff. diff --git a/src/system.c b/src/system.c index 94142336..71a812d5 100644 --- a/src/system.c +++ b/src/system.c @@ -1,6 +1,7 @@ /* System-dependent calls for tar. - Copyright 2003-2008, 2010, 2013-2014 Free Software Foundation, Inc. + Copyright 2003-2008, 2010, 2013-2014, 2016 Free Software Foundation, + Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -26,13 +27,14 @@ static _Noreturn void xexec (const char *cmd) { - struct wordsplit ws; + char *argv[4]; - ws.ws_env = (const char **) environ; - if (wordsplit (cmd, &ws, (WRDSF_DEFFLAGS | WRDSF_ENV) & ~WRDSF_NOVAR)) - FATAL_ERROR ((0, 0, _("cannot split string '%s': %s"), - cmd, wordsplit_strerror (&ws))); - execvp (ws.ws_wordv[0], ws.ws_wordv); + argv[0] = (char *) "/bin/sh"; + argv[1] = (char *) "-c"; + argv[2] = (char *) cmd; + argv[3] = NULL; + + execv ("/bin/sh", argv); exec_fatal (cmd); } @@ -330,6 +332,7 @@ sys_child_open_for_compress (void) pid_t grandchild_pid; pid_t child_pid; + signal (SIGPIPE, SIG_IGN); xpipe (parent_pipe); child_pid = xfork (); diff --git a/src/tar.c b/src/tar.c index cd323790..ba24c434 100644 --- a/src/tar.c +++ b/src/tar.c @@ -1,6 +1,6 @@ /* A tar (tape archiver) program. - Copyright 1988, 1992-1997, 1999-2001, 2003-2007, 2012-2014 Free + Copyright 1988, 1992-1997, 1999-2001, 2003-2007, 2012-2016 Free Software Foundation, Inc. Written by John Gilmore, starting 1985-08-25. @@ -45,7 +45,8 @@ #include #include #include -#include +#include +#include #include #include #include @@ -261,7 +262,7 @@ tar_set_quoting_style (char *arg) return; } FATAL_ERROR ((0, 0, - _("Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."), arg, program_invocation_short_name)); + _("Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."), arg, program_name)); } @@ -270,31 +271,19 @@ tar_set_quoting_style (char *arg) enum { ACLS_OPTION = CHAR_MAX + 1, - ANCHORED_OPTION, ATIME_PRESERVE_OPTION, BACKUP_OPTION, CHECK_DEVICE_OPTION, CHECKPOINT_OPTION, CHECKPOINT_ACTION_OPTION, + CLAMP_MTIME_OPTION, DELAY_DIRECTORY_RESTORE_OPTION, HARD_DEREFERENCE_OPTION, DELETE_OPTION, - EXCLUDE_BACKUPS_OPTION, - EXCLUDE_CACHES_OPTION, - EXCLUDE_CACHES_UNDER_OPTION, - EXCLUDE_CACHES_ALL_OPTION, - EXCLUDE_OPTION, - EXCLUDE_IGNORE_OPTION, - EXCLUDE_IGNORE_RECURSIVE_OPTION, - EXCLUDE_TAG_OPTION, - EXCLUDE_TAG_UNDER_OPTION, - EXCLUDE_TAG_ALL_OPTION, - EXCLUDE_VCS_OPTION, - EXCLUDE_VCS_IGNORES_OPTION, FORCE_LOCAL_OPTION, FULL_TIME_OPTION, GROUP_OPTION, - IGNORE_CASE_OPTION, + GROUP_MAP_OPTION, IGNORE_COMMAND_ERROR_OPTION, IGNORE_FAILED_READ_OPTION, INDEX_FILE_OPTION, @@ -308,25 +297,17 @@ enum MTIME_OPTION, NEWER_MTIME_OPTION, NO_ACLS_OPTION, - NO_ANCHORED_OPTION, NO_AUTO_COMPRESS_OPTION, NO_CHECK_DEVICE_OPTION, NO_DELAY_DIRECTORY_RESTORE_OPTION, - NO_IGNORE_CASE_OPTION, NO_IGNORE_COMMAND_ERROR_OPTION, - NO_NULL_OPTION, NO_OVERWRITE_DIR_OPTION, NO_QUOTE_CHARS_OPTION, - NO_RECURSION_OPTION, NO_SAME_OWNER_OPTION, NO_SAME_PERMISSIONS_OPTION, NO_SEEK_OPTION, NO_SELINUX_CONTEXT_OPTION, - NO_UNQUOTE_OPTION, - NO_WILDCARDS_MATCH_SLASH_OPTION, - NO_WILDCARDS_OPTION, NO_XATTR_OPTION, - NULL_OPTION, NUMERIC_OWNER_OPTION, OCCURRENCE_OPTION, OLD_ARCHIVE_OPTION, @@ -335,13 +316,12 @@ enum OVERWRITE_DIR_OPTION, OVERWRITE_OPTION, OWNER_OPTION, + OWNER_MAP_OPTION, PAX_OPTION, POSIX_OPTION, - PRESERVE_OPTION, QUOTE_CHARS_OPTION, QUOTING_STYLE_OPTION, RECORD_SIZE_OPTION, - RECURSION_OPTION, RECURSIVE_UNLINK_OPTION, REMOVE_FILES_OPTION, RESTRICT_OPTION, @@ -355,6 +335,7 @@ enum SHOW_TRANSFORMED_NAMES_OPTION, SKIP_OLD_FILES_OPTION, SORT_OPTION, + HOLE_DETECTION_OPTION, SPARSE_VERSION_OPTION, STRIP_COMPONENTS_OPTION, SUFFIX_OPTION, @@ -362,19 +343,14 @@ enum TOTALS_OPTION, TO_COMMAND_OPTION, TRANSFORM_OPTION, - UNQUOTE_OPTION, UTC_OPTION, VOLNO_FILE_OPTION, WARNING_OPTION, - WILDCARDS_MATCH_SLASH_OPTION, - WILDCARDS_OPTION, XATTR_OPTION, XATTR_EXCLUDE, XATTR_INCLUDE }; -const char *argp_program_version = "tar (" PACKAGE_NAME ") " VERSION; -const char *argp_program_bug_address = "<" PACKAGE_BUGREPORT ">"; static char const doc[] = N_("\ GNU 'tar' saves many files together into a single tape or disk archive, \ and can restore individual files from the archive.\n\ @@ -445,6 +421,8 @@ static struct argp_option options[] = { {"sparse", 'S', 0, 0, N_("handle sparse files efficiently"), GRID+1 }, + {"hole-detection", HOLE_DETECTION_OPTION, N_("TYPE"), 0, + N_("technique to detect holes"), GRID+1 }, {"sparse-version", SPARSE_VERSION_OPTION, N_("MAJOR[.MINOR]"), 0, N_("set version of the sparse format to use (implies --sparse)"), GRID+1}, {"incremental", 'G', 0, 0, @@ -530,8 +508,14 @@ static struct argp_option options[] = { N_("force NAME as owner for added files"), GRID+1 }, {"group", GROUP_OPTION, N_("NAME"), 0, N_("force NAME as group for added files"), GRID+1 }, + {"owner-map", OWNER_MAP_OPTION, N_("FILE"), 0, + N_("use FILE to map file owner UIDs and names"), GRID+1 }, + {"group-map", GROUP_MAP_OPTION, N_("FILE"), 0, + N_("use FILE to map file owner GIDs and names"), GRID+1 }, {"mtime", MTIME_OPTION, N_("DATE-OR-FILE"), 0, N_("set mtime for added files from DATE-OR-FILE"), GRID+1 }, + {"clamp-mtime", CLAMP_MTIME_OPTION, 0, 0, + N_("only set time when the file is more recent than what was given with --mtime"), GRID+1 }, {"mode", MODE_OPTION, N_("CHANGES"), 0, N_("force (symbolic) mode CHANGES for added files"), GRID+1 }, {"atime-preserve", ATIME_PRESERVE_OPTION, @@ -557,8 +541,6 @@ static struct argp_option options[] = { N_("member arguments are listed in the same order as the " "files in the archive"), GRID+1 }, {"same-order", 0, 0, OPTION_ALIAS, NULL, GRID+1 }, - {"preserve", PRESERVE_OPTION, 0, 0, - N_("same as both -p and -s"), GRID+1 }, {"delay-directory-restore", DELAY_DIRECTORY_RESTORE_OPTION, 0, 0, N_("delay setting modification times and permissions of extracted" " directories until the end of extraction"), GRID+1 }, @@ -705,58 +687,8 @@ static struct argp_option options[] = { #define GRID 100 {NULL, 0, NULL, 0, N_("Local file selection:"), GRID }, - - {"add-file", ARGP_KEY_ARG, N_("FILE"), 0, - N_("add given FILE to the archive (useful if its name starts with a dash)"), GRID+1 }, - {"directory", 'C', N_("DIR"), 0, - N_("change to directory DIR"), GRID+1 }, - {"files-from", 'T', N_("FILE"), 0, - N_("get names to extract or create from FILE"), GRID+1 }, - {"null", NULL_OPTION, 0, 0, - N_("-T reads null-terminated names, disable -C"), GRID+1 }, - {"no-null", NO_NULL_OPTION, 0, 0, - N_("disable the effect of the previous --null option"), GRID+1 }, - {"unquote", UNQUOTE_OPTION, 0, 0, - N_("unquote input file or member names (default)"), GRID+1 }, - {"no-unquote", NO_UNQUOTE_OPTION, 0, 0, - N_("do not unquote input file or member names"), GRID+1 }, - {"exclude", EXCLUDE_OPTION, N_("PATTERN"), 0, - N_("exclude files, given as a PATTERN"), GRID+1 }, - {"exclude-from", 'X', N_("FILE"), 0, - N_("exclude patterns listed in FILE"), GRID+1 }, - {"exclude-caches", EXCLUDE_CACHES_OPTION, 0, 0, - N_("exclude contents of directories containing CACHEDIR.TAG, " - "except for the tag file itself"), GRID+1 }, - {"exclude-caches-under", EXCLUDE_CACHES_UNDER_OPTION, 0, 0, - N_("exclude everything under directories containing CACHEDIR.TAG"), - GRID+1 }, - {"exclude-caches-all", EXCLUDE_CACHES_ALL_OPTION, 0, 0, - N_("exclude directories containing CACHEDIR.TAG"), GRID+1 }, - {"exclude-tag", EXCLUDE_TAG_OPTION, N_("FILE"), 0, - N_("exclude contents of directories containing FILE, except" - " for FILE itself"), GRID+1 }, - {"exclude-ignore", EXCLUDE_IGNORE_OPTION, N_("FILE"), 0, - N_("read exclude patterns for each directory from FILE, if it exists"), - GRID+1 }, - {"exclude-ignore-recursive", EXCLUDE_IGNORE_RECURSIVE_OPTION, N_("FILE"), 0, - N_("read exclude patterns for each directory and its subdirectories " - "from FILE, if it exists"), GRID+1 }, - {"exclude-tag-under", EXCLUDE_TAG_UNDER_OPTION, N_("FILE"), 0, - N_("exclude everything under directories containing FILE"), GRID+1 }, - {"exclude-tag-all", EXCLUDE_TAG_ALL_OPTION, N_("FILE"), 0, - N_("exclude directories containing FILE"), GRID+1 }, - {"exclude-vcs", EXCLUDE_VCS_OPTION, NULL, 0, - N_("exclude version control system directories"), GRID+1 }, - {"exclude-vcs-ignores", EXCLUDE_VCS_IGNORES_OPTION, NULL, 0, - N_("read exclude patterns from the VCS ignore files"), GRID+1 }, - {"exclude-backups", EXCLUDE_BACKUPS_OPTION, NULL, 0, - N_("exclude backup and lock files"), GRID+1 }, - {"no-recursion", NO_RECURSION_OPTION, 0, 0, - N_("avoid descending automatically in directories"), GRID+1 }, {"one-file-system", ONE_FILE_SYSTEM_OPTION, 0, 0, N_("stay in local file system when creating archive"), GRID+1 }, - {"recursion", RECURSION_OPTION, 0, 0, - N_("recurse into directories (default)"), GRID+1 }, {"absolute-names", 'P', 0, 0, N_("don't strip leading '/'s from file names"), GRID+1 }, {"dereference", 'h', 0, 0, @@ -787,28 +719,6 @@ static struct argp_option options[] = { {"xform", 0, 0, OPTION_ALIAS, NULL, GRID+1 }, #undef GRID -#define GRID 120 - {NULL, 0, NULL, 0, - N_("File name matching options (affect both exclude and include patterns):"), - GRID }, - {"ignore-case", IGNORE_CASE_OPTION, 0, 0, - N_("ignore case"), GRID+1 }, - {"anchored", ANCHORED_OPTION, 0, 0, - N_("patterns match file name start"), GRID+1 }, - {"no-anchored", NO_ANCHORED_OPTION, 0, 0, - N_("patterns match after any '/' (default for exclusion)"), GRID+1 }, - {"no-ignore-case", NO_IGNORE_CASE_OPTION, 0, 0, - N_("case sensitive matching (default)"), GRID+1 }, - {"wildcards", WILDCARDS_OPTION, 0, 0, - N_("use wildcards (default for exclusion)"), GRID+1 }, - {"no-wildcards", NO_WILDCARDS_OPTION, 0, 0, - N_("verbatim string matching"), GRID+1 }, - {"no-wildcards-match-slash", NO_WILDCARDS_MATCH_SLASH_OPTION, 0, 0, - N_("wildcards do not match '/'"), GRID+1 }, - {"wildcards-match-slash", WILDCARDS_MATCH_SLASH_OPTION, 0, 0, - N_("wildcards match '/' (default for exclusion)"), GRID+1 }, -#undef GRID - #define GRID 130 {NULL, 0, NULL, 0, N_("Informative output:"), GRID }, @@ -892,25 +802,13 @@ static enum atime_preserve const atime_preserve_types[] = (minus 1 for NULL guard) */ ARGMATCH_VERIFY (atime_preserve_args, atime_preserve_types); -/* Wildcard matching settings */ -enum wildcards - { - default_wildcards, /* For exclusion == enable_wildcards, - for inclusion == disable_wildcards */ - disable_wildcards, - enable_wildcards - }; - struct tar_args /* Variables used during option parsing */ { + struct option_locus *loc; + struct textual_date *textual_date; /* Keeps the arguments to --newer-mtime and/or --date option if they are textual dates */ - enum wildcards wildcards; /* Wildcard settings (--wildcards/ - --no-wildcards) */ - int matching_flags; /* exclude_fnmatch options */ - int include_anchored; /* Pattern anchoring options used for - file inclusion */ bool o_option; /* True if -o option was given */ bool pax_option; /* True if --pax-option was given */ char const *backup_suffix_string; /* --suffix option argument */ @@ -920,66 +818,6 @@ struct tar_args /* Variables used during option parsing */ be attempted when creating archives */ }; - -#define MAKE_EXCL_OPTIONS(args) \ - ((((args)->wildcards != disable_wildcards) ? EXCLUDE_WILDCARDS : 0) \ - | (args)->matching_flags \ - | recursion_option) - -#define MAKE_INCL_OPTIONS(args) \ - ((((args)->wildcards == enable_wildcards) ? EXCLUDE_WILDCARDS : 0) \ - | (args)->include_anchored \ - | (args)->matching_flags \ - | recursion_option) - -static char const * const vcs_file_table[] = { - /* CVS: */ - "CVS", - ".cvsignore", - /* RCS: */ - "RCS", - /* SCCS: */ - "SCCS", - /* SVN: */ - ".svn", - /* git: */ - ".git", - ".gitignore", - /* Arch: */ - ".arch-ids", - "{arch}", - "=RELEASE-ID", - "=meta-update", - "=update", - /* Bazaar */ - ".bzr", - ".bzrignore", - ".bzrtags", - /* Mercurial */ - ".hg", - ".hgignore", - ".hgtags", - /* darcs */ - "_darcs", - NULL -}; - -static char const * const backup_file_table[] = { - ".#*", - "*~", - "#*#", - NULL -}; - -static void -add_exclude_array (char const * const * fv, int opts) -{ - int i; - - for (i = 0; fv[i]; i++) - add_exclude (excluded, fv[i], opts); -} - static char * format_default_settings (void) @@ -999,7 +837,93 @@ format_default_settings (void) #endif ); } + +static void +option_conflict_error (const char *a, const char *b) +{ + /* TRANSLATORS: Both %s in this statement are replaced with + option names. */ + USAGE_ERROR ((0, 0, _("'%s' cannot be used with '%s'"), a, b)); +} + +/* Classes of options that can conflict: */ +enum option_class + { + OC_COMPRESS, /* Compress options: -JjZz, -I, etc. */ + OC_OCCURRENCE, /* --occurrence */ + OC_LISTED_INCREMENTAL, /* --listed-incremental */ + OC_NEWER, /* --newer, --newer-mtime, --after-date */ + OC_VERIFY, /* --verify */ + OC_STARTING_FILE, /* --starting-file */ + OC_SAME_ORDER, /* --same-order */ + OC_ONE_TOP_LEVEL, /* --one-top-level */ + OC_ABSOLUTE_NAMES, /* --absolute-names */ + OC_OLD_FILES, /* --keep-old-files, --overwrite, etc. */ + OC_MAX + }; + +/* Table of locations of potentially conflicting options. Two options can + conflict only if they procede from the command line. Otherwise, options + in command line silently override those defined in TAR_OPTIONS. */ +static struct option_locus *option_class[OC_MAX]; + +/* Save location of an option of class ID. Return location of a previous + occurrence of an option of that class, or NULL. */ +static struct option_locus * +optloc_save (unsigned int id, struct option_locus *loc) +{ + struct option_locus *optloc; + char *p; + size_t s; + + if (id >= sizeof (option_class) / sizeof (option_class[0])) + abort (); + s = sizeof (*loc); + if (loc->name) + s += strlen (loc->name) + 1; + optloc = xmalloc (s); + if (loc->name) + { + p = (char*) optloc + sizeof (*loc); + strcpy (p, loc->name); + optloc->name = p; + } + else + optloc->name = NULL; + optloc->source = loc->source; + optloc->line = loc->line; + optloc->prev = option_class[id]; + option_class[id] = optloc; + return optloc->prev; +} +/* Return location of a recent option of class ID */ +static struct option_locus * +optloc_lookup (int id) +{ + return option_class[id]; +} + +/* Return true if the latest occurrence of option ID was in the command line */ +static int +option_set_in_cl (int id) +{ + struct option_locus *loc = optloc_lookup (id); + if (!loc) + return 0; + return loc->source == OPTS_COMMAND_LINE; +} + +/* Compare two option locations */ +static int +optloc_eq (struct option_locus *a, struct option_locus *b) +{ + if (a->source != b->source) + return 0; + if (a->source == OPTS_COMMAND_LINE) + return 1; + return strcmp (a->name, b->name) == 0; +} static void set_subcommand_option (enum subcommand subcommand) @@ -1013,10 +937,12 @@ set_subcommand_option (enum subcommand subcommand) } static void -set_use_compress_program_option (const char *string) +set_use_compress_program_option (const char *string, struct option_locus *loc) { + struct option_locus *p = optloc_save (OC_COMPRESS, loc); if (use_compress_program_option - && strcmp (use_compress_program_option, string) != 0) + && strcmp (use_compress_program_option, string) != 0 + && p->source == OPTS_COMMAND_LINE) USAGE_ERROR ((0, 0, _("Conflicting compression options"))); use_compress_program_option = string; @@ -1147,9 +1073,6 @@ report_textual_dates (struct tar_args *args) } -static bool files_from_option; /* When set, tar will not refuse to create - empty archives */ - /* Default density numbers for [0-9][lmh] device specifications */ #if defined DEVICE_PREFIX && !defined DENSITY_LETTER @@ -1201,7 +1124,7 @@ tar_help_filter (int key, const char *text, void *input) case LZOP_OPTION: s = xasprintf (_("filter the archive through %s"), LZOP_PROGRAM); - + case 'J': s = xasprintf (_("filter the archive through %s"), XZ_PROGRAM); break; @@ -1335,24 +1258,60 @@ parse_owner_group (char *arg, uintmax_t field_max, char const **name_option) #define TAR_SIZE_SUFFIXES "bBcGgkKMmPTtw" -/* Either NL or NUL, as decided by the --null option. */ -static char filename_terminator; - static char const *const sort_mode_arg[] = { "none", "name", +#if D_INO_IN_DIRENT "inode", +#endif NULL }; static int sort_mode_flag[] = { SAVEDIR_SORT_NONE, SAVEDIR_SORT_NAME, +#if D_INO_IN_DIRENT SAVEDIR_SORT_INODE +#endif }; ARGMATCH_VERIFY (sort_mode_arg, sort_mode_flag); +static char const *const hole_detection_args[] = +{ + "raw", "seek", NULL +}; + +static int const hole_detection_types[] = +{ + HOLE_DETECTION_RAW, HOLE_DETECTION_SEEK +}; + +ARGMATCH_VERIFY (hole_detection_args, hole_detection_types); + + +static void +set_old_files_option (int code, struct option_locus *loc) +{ + struct option_locus *prev; + static char const *const code_to_opt[] = { + "--overwrite-dir", + "--no-overwrite-dir", + "--overwrite", + "--unlink-first", + "--keep-old-files", + "--skip-old-files", + "--keep-newer-files" + }; + + prev = optloc_save (OC_OLD_FILES, loc); + if (prev && optloc_eq (loc, prev) && code != old_files_option) + option_conflict_error (code_to_opt[code], code_to_opt[old_files_option]); + + old_files_option = code; +} + + static error_t parse_opt (int key, char *arg, struct argp_state *state) { @@ -1362,7 +1321,7 @@ parse_opt (int key, char *arg, struct argp_state *state) { case ARGP_KEY_ARG: /* File name or non-parsed option, because of ARGP_IN_ORDER */ - name_add_name (arg, MAKE_INCL_OPTIONS (args)); + name_add_name (arg); args->input_files = true; break; @@ -1405,8 +1364,8 @@ parse_opt (int key, char *arg, struct argp_state *state) set_subcommand_option (CREATE_SUBCOMMAND); break; - case 'C': - name_add_dir (arg); + case CLAMP_MTIME_OPTION: + set_mtime_option = CLAMP_MTIME; break; case 'd': @@ -1435,6 +1394,7 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case 'g': + optloc_save (OC_LISTED_INCREMENTAL, args->loc); listed_incremental_option = arg; after_date_option = true; /* Fall through. */ @@ -1465,19 +1425,20 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case 'j': - set_use_compress_program_option (BZIP2_PROGRAM); + set_use_compress_program_option (BZIP2_PROGRAM, args->loc); break; case 'J': - set_use_compress_program_option (XZ_PROGRAM); + set_use_compress_program_option (XZ_PROGRAM, args->loc); break; case 'k': /* Don't replace existing files. */ - old_files_option = KEEP_OLD_FILES; + set_old_files_option (KEEP_OLD_FILES, args->loc); break; case 'K': + optloc_save (OC_STARTING_FILE, args->loc); starting_file_option = true; addname (arg, 0, true, NULL); break; @@ -1489,6 +1450,7 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case ONE_TOP_LEVEL_OPTION: + optloc_save (OC_ONE_TOP_LEVEL, args->loc); one_top_level_option = true; one_top_level_dir = arg; break; @@ -1523,15 +1485,15 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case LZIP_OPTION: - set_use_compress_program_option (LZIP_PROGRAM); + set_use_compress_program_option (LZIP_PROGRAM, args->loc); break; case LZMA_OPTION: - set_use_compress_program_option (LZMA_PROGRAM); + set_use_compress_program_option (LZMA_PROGRAM, args->loc); break; case LZOP_OPTION: - set_use_compress_program_option (LZOP_PROGRAM); + set_use_compress_program_option (LZOP_PROGRAM, args->loc); break; case 'm': @@ -1547,7 +1509,8 @@ parse_opt (int key, char *arg, struct argp_state *state) case MTIME_OPTION: get_date_or_file (args, "--mtime", arg, &mtime_option); - set_mtime_option = true; + if (set_mtime_option == USE_FILE_MTIME) + set_mtime_option = FORCE_MTIME; break; case 'n': @@ -1563,11 +1526,12 @@ parse_opt (int key, char *arg, struct argp_state *state) /* Fall through. */ case NEWER_MTIME_OPTION: - if (NEWER_OPTION_INITIALIZED (newer_mtime_option)) + if (TIME_OPTION_INITIALIZED (newer_mtime_option)) USAGE_ERROR ((0, 0, _("More than one threshold date"))); get_date_or_file (args, key == NEWER_MTIME_OPTION ? "--newer-mtime" : "--after-date", arg, &newer_mtime_option); + optloc_save (OC_NEWER, args->loc); break; case 'o': @@ -1583,6 +1547,7 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case 'P': + optloc_save (OC_ABSOLUTE_NAMES, args->loc); absolute_names_option = true; break; @@ -1603,7 +1568,7 @@ parse_opt (int key, char *arg, struct argp_state *state) case 's': /* Names to extract are sorted. */ - + optloc_save (OC_SAME_ORDER, args->loc); same_order_option = true; break; @@ -1612,7 +1577,13 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case SKIP_OLD_FILES_OPTION: - old_files_option = SKIP_OLD_FILES; + set_old_files_option (SKIP_OLD_FILES, args->loc); + break; + + case HOLE_DETECTION_OPTION: + hole_detection = XARGMATCH ("--hole-detection", arg, + hole_detection_args, hole_detection_types); + sparse_option = true; break; case SPARSE_VERSION_OPTION: @@ -1640,20 +1611,12 @@ parse_opt (int key, char *arg, struct argp_state *state) set_subcommand_option (TEST_LABEL_SUBCOMMAND); break; - case 'T': - name_add_file (arg, filename_terminator); - /* Indicate we've been given -T option. This is for backward - compatibility only, so that `tar cfT archive /dev/null will - succeed */ - files_from_option = true; - break; - case 'u': set_subcommand_option (UPDATE_SUBCOMMAND); break; case 'U': - old_files_option = UNLINK_FIRST_OLD_FILES; + set_old_files_option (UNLINK_FIRST_OLD_FILES, args->loc); break; case UTC_OPTION: @@ -1674,6 +1637,7 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case 'W': + optloc_save (OC_VERIFY, args->loc); verify_option = true; break; @@ -1681,26 +1645,12 @@ parse_opt (int key, char *arg, struct argp_state *state) set_subcommand_option (EXTRACT_SUBCOMMAND); break; - case 'X': - if (add_exclude_file (add_exclude, excluded, arg, - MAKE_EXCL_OPTIONS (args), '\n') - != 0) - { - int e = errno; - FATAL_ERROR ((0, e, "%s", quotearg_colon (arg))); - } - break; - case 'z': - set_use_compress_program_option (GZIP_PROGRAM); + set_use_compress_program_option (GZIP_PROGRAM, args->loc); break; case 'Z': - set_use_compress_program_option (COMPRESS_PROGRAM); - break; - - case ANCHORED_OPTION: - args->matching_flags |= EXCLUDE_ANCHORED; + set_use_compress_program_option (COMPRESS_PROGRAM, args->loc); break; case ATIME_PRESERVE_OPTION: @@ -1764,57 +1714,6 @@ parse_opt (int key, char *arg, struct argp_state *state) set_subcommand_option (DELETE_SUBCOMMAND); break; - case EXCLUDE_BACKUPS_OPTION: - add_exclude_array (backup_file_table, EXCLUDE_WILDCARDS); - break; - - case EXCLUDE_OPTION: - add_exclude (excluded, arg, MAKE_EXCL_OPTIONS (args)); - break; - - case EXCLUDE_CACHES_OPTION: - add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_contents, - cachedir_file_p); - break; - - case EXCLUDE_CACHES_UNDER_OPTION: - add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_under, - cachedir_file_p); - break; - - case EXCLUDE_CACHES_ALL_OPTION: - add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_all, - cachedir_file_p); - break; - - case EXCLUDE_IGNORE_OPTION: - excfile_add (arg, EXCL_NON_RECURSIVE); - break; - - case EXCLUDE_IGNORE_RECURSIVE_OPTION: - excfile_add (arg, EXCL_RECURSIVE); - break; - - case EXCLUDE_TAG_OPTION: - add_exclusion_tag (arg, exclusion_tag_contents, NULL); - break; - - case EXCLUDE_TAG_UNDER_OPTION: - add_exclusion_tag (arg, exclusion_tag_under, NULL); - break; - - case EXCLUDE_TAG_ALL_OPTION: - add_exclusion_tag (arg, exclusion_tag_all, NULL); - break; - - case EXCLUDE_VCS_OPTION: - add_exclude_array (vcs_file_table, 0); - break; - - case EXCLUDE_VCS_IGNORES_OPTION: - exclude_vcs_ignores (); - break; - case FORCE_LOCAL_OPTION: force_local_option = true; break; @@ -1827,10 +1726,6 @@ parse_opt (int key, char *arg, struct argp_state *state) index_file_name = arg; break; - case IGNORE_CASE_OPTION: - args->matching_flags |= FNM_CASEFOLD; - break; - case IGNORE_COMMAND_ERROR_OPTION: ignore_command_error_option = true; break; @@ -1844,7 +1739,7 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case KEEP_NEWER_FILES_OPTION: - old_files_option = KEEP_NEWER_FILES; + set_old_files_option (KEEP_NEWER_FILES, args->loc); break; case GROUP_OPTION: @@ -1862,6 +1757,10 @@ parse_opt (int key, char *arg, struct argp_state *state) } break; + case GROUP_MAP_OPTION: + group_map_read (arg); + break; + case MODE_OPTION: mode_option = mode_compile (arg); if (!mode_option) @@ -1870,21 +1769,12 @@ parse_opt (int key, char *arg, struct argp_state *state) umask (initial_umask); break; - case NO_ANCHORED_OPTION: - args->include_anchored = 0; /* Clear the default for comman line args */ - args->matching_flags &= ~ EXCLUDE_ANCHORED; - break; - - case NO_IGNORE_CASE_OPTION: - args->matching_flags &= ~ FNM_CASEFOLD; - break; - case NO_IGNORE_COMMAND_ERROR_OPTION: ignore_command_error_option = false; break; case NO_OVERWRITE_DIR_OPTION: - old_files_option = NO_OVERWRITE_DIR_OLD_FILES; + set_old_files_option (NO_OVERWRITE_DIR_OLD_FILES, args->loc); break; case NO_QUOTE_CHARS_OPTION: @@ -1892,27 +1782,12 @@ parse_opt (int key, char *arg, struct argp_state *state) set_char_quoting (NULL, *arg, 0); break; - case NO_WILDCARDS_OPTION: - args->wildcards = disable_wildcards; - break; - - case NO_WILDCARDS_MATCH_SLASH_OPTION: - args->matching_flags |= FNM_FILE_NAME; - break; - - case NULL_OPTION: - filename_terminator = '\0'; - break; - - case NO_NULL_OPTION: - filename_terminator = '\n'; - break; - case NUMERIC_OWNER_OPTION: numeric_owner_option = true; break; case OCCURRENCE_OPTION: + optloc_save (OC_OCCURRENCE, args->loc); if (!arg) occurrence_option = 1; else @@ -1931,11 +1806,11 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case OVERWRITE_DIR_OPTION: - old_files_option = DEFAULT_OLD_FILES; + set_old_files_option (DEFAULT_OLD_FILES, args->loc); break; case OVERWRITE_OPTION: - old_files_option = OVERWRITE_OLD_FILES; + set_old_files_option (OVERWRITE_OLD_FILES, args->loc); break; case OWNER_OPTION: @@ -1953,6 +1828,10 @@ parse_opt (int key, char *arg, struct argp_state *state) } break; + case OWNER_MAP_OPTION: + owner_map_read (arg); + break; + case QUOTE_CHARS_OPTION: for (;*arg; arg++) set_char_quoting (NULL, *arg, 1); @@ -1975,14 +1854,6 @@ parse_opt (int key, char *arg, struct argp_state *state) set_archive_format ("posix"); break; - case PRESERVE_OPTION: - /* FIXME: What it is good for? */ - same_permissions_option = true; - same_order_option = true; - WARN ((0, 0, _("The --preserve option is deprecated, " - "use --preserve-permissions --preserve-order instead"))); - break; - case RECORD_SIZE_OPTION: { uintmax_t u; @@ -2080,25 +1951,13 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case 'I': - set_use_compress_program_option (arg); + set_use_compress_program_option (arg, args->loc); break; case VOLNO_FILE_OPTION: volno_file_option = arg; break; - case WILDCARDS_OPTION: - args->wildcards = enable_wildcards; - break; - - case WILDCARDS_MATCH_SLASH_OPTION: - args->matching_flags &= ~ FNM_FILE_NAME; - break; - - case NO_RECURSION_OPTION: - recursion_option = 0; - break; - case NO_SAME_OWNER_OPTION: same_owner_option = -1; break; @@ -2139,22 +1998,10 @@ parse_opt (int key, char *arg, struct argp_state *state) xattrs_mask_add (arg, (key == XATTR_INCLUDE)); break; - case RECURSION_OPTION: - recursion_option = FNM_LEADING_DIR; - break; - case SAME_OWNER_OPTION: same_owner_option = 1; break; - case UNQUOTE_OPTION: - unquote_option = true; - break; - - case NO_UNQUOTE_OPTION: - unquote_option = false; - break; - case WARNING_OPTION: set_warning_option (arg); break; @@ -2223,18 +2070,28 @@ parse_opt (int key, char *arg, struct argp_state *state) #endif /* not DEVICE_PREFIX */ + case ARGP_KEY_ERROR: + if (args->loc->source == OPTS_FILE) + error (0, 0, _("%s:%lu: location of the error"), args->loc->name, + (unsigned long) args->loc->line); + else if (args->loc->source == OPTS_ENVIRON) + error (0, 0, _("error parsing %s"), args->loc->name); + exit (EX_USAGE); + default: return ARGP_ERR_UNKNOWN; } return 0; } +extern struct argp_child names_argp_children[]; + static struct argp argp = { options, parse_opt, N_("[FILE]..."), doc, - NULL, + names_argp_children, tar_help_filter, NULL }; @@ -2249,8 +2106,8 @@ usage (int status) /* Parse the options for tar. */ -static struct argp_option * -find_argp_option (struct argp_option *o, int letter) +static struct argp_option const * +find_argp_option_key (struct argp_option const *o, int key) { for (; !(o->name == NULL @@ -2258,11 +2115,30 @@ find_argp_option (struct argp_option *o, int letter) && o->arg == 0 && o->flags == 0 && o->doc == NULL); o++) - if (o->key == letter) + if (o->key == key) return o; return NULL; } +static struct argp_option const * +find_argp_option (struct argp *ap, int key) +{ + struct argp_option const *p = NULL; + struct argp_child const *child; + + p = find_argp_option_key (ap->options, key); + if (!p && ap->children) + { + for (child = ap->children; child->argp; child++) + { + p = find_argp_option_key (child->argp->options, key); + if (p) + break; + } + } + return p; +} + static const char *tar_authors[] = { "John Gilmore", "Jay Fenlason", @@ -2295,26 +2171,51 @@ static int subcommand_class[] = { static struct tar_args args; +void +more_options (int argc, char **argv, struct option_locus *loc) +{ + int idx; + + args.loc = loc; + if (argp_parse (&argp, argc, argv, ARGP_IN_ORDER|ARGP_NO_EXIT, &idx, &args)) + abort (); /* shouldn't happen */ + if (loc->source == OPTS_ENVIRON && args.input_files) + USAGE_ERROR ((0, 0, _("non-option arguments in %s"), loc->name)); +} + static void -option_conflict_error (const char *a, const char *b) +parse_default_options (void) { - /* TRANSLATORS: Both %s in this statement are replaced with - option names. */ - USAGE_ERROR ((0, 0, _("'%s' cannot be used with '%s'"), a, b)); + char *opts = getenv ("TAR_OPTIONS"); + struct wordsplit ws; + struct option_locus loc = { OPTS_ENVIRON, "TAR_OPTIONS", 0, 0 }; + + if (!opts) + return; + + ws.ws_offs = 1; + if (wordsplit (opts, &ws, WRDSF_DEFFLAGS|WRDSF_DOOFFS)) + FATAL_ERROR ((0, 0, _("cannot split TAR_OPTIONS: %s"), + wordsplit_strerror (&ws))); + if (ws.ws_wordc) + { + ws.ws_wordv[0] = (char*) program_name; + more_options (ws.ws_offs + ws.ws_wordc, ws.ws_wordv, &loc); + } + + wordsplit_free (&ws); } static void decode_options (int argc, char **argv) { int idx; + struct option_locus loc = { OPTS_COMMAND_LINE, 0, 0, 0 }; argp_version_setup ("tar", tar_authors); /* Set some default option values. */ args.textual_date = NULL; - args.wildcards = default_wildcards; - args.matching_flags = 0; - args.include_anchored = EXCLUDE_ANCHORED; args.o_option = false; args.pax_option = false; args.backup_suffix_string = getenv ("SIMPLE_BACKUP_SUFFIX"); @@ -2327,16 +2228,19 @@ decode_options (int argc, char **argv) blocking_factor = DEFAULT_BLOCKING; record_size = DEFAULT_BLOCKING * BLOCKSIZE; excluded = new_exclude (); - + hole_detection = HOLE_DETECTION_DEFAULT; + newer_mtime_option.tv_sec = TYPE_MINIMUM (time_t); newer_mtime_option.tv_nsec = -1; + mtime_option.tv_sec = TYPE_MINIMUM (time_t); + mtime_option.tv_nsec = -1; recursion_option = FNM_LEADING_DIR; unquote_option = true; tar_sparse_major = 1; tar_sparse_minor = 0; savedir_sort_order = SAVEDIR_SORT_NONE; - + owner_option = -1; owner_name_option = NULL; group_option = -1; group_name_option = NULL; @@ -2376,11 +2280,11 @@ decode_options (int argc, char **argv) for (letter = *in++; *letter; letter++) { - struct argp_option *opt; + struct argp_option const *opt; buffer[1] = *letter; *out++ = xstrdup (buffer); - opt = find_argp_option (options, *letter); + opt = find_argp_option (&argp, *letter); if (opt && opt->arg) { if (in < argv + argc) @@ -2404,9 +2308,9 @@ decode_options (int argc, char **argv) } /* Parse all options and non-options as they appear. */ + parse_default_options (); - prepend_default_options (getenv ("TAR_OPTIONS"), &argc, &argv); - + args.loc = &loc; if (argp_parse (&argp, argc, argv, ARGP_IN_ORDER, &idx, &args)) exit (TAREXIT_FAILURE); @@ -2436,14 +2340,10 @@ decode_options (int argc, char **argv) /* Handle operands after any "--" argument. */ for (; idx < argc; idx++) { - name_add_name (argv[idx], MAKE_INCL_OPTIONS (&args)); + name_add_name (argv[idx]); args.input_files = true; } - /* Warn about implicit use of the wildcards in command line arguments. - See TODO */ - warn_regex_usage = args.wildcards == default_wildcards; - /* Derive option values and check option consistency. */ if (archive_format == DEFAULT_FORMAT) @@ -2468,8 +2368,13 @@ decode_options (int argc, char **argv) USAGE_ERROR ((0, 0, _("--occurrence is meaningless without a file list"))); if (!IS_SUBCOMMAND_CLASS (SUBCL_OCCUR)) - option_conflict_error ("--occurrence", - subcommand_string (subcommand_option)); + { + if (option_set_in_cl (OC_OCCURRENCE)) + option_conflict_error ("--occurrence", + subcommand_string (subcommand_option)); + else + occurrence_option = 0; + } } if (archive_names == 0) @@ -2490,9 +2395,18 @@ decode_options (int argc, char **argv) _("Multiple archive files require '-M' option"))); if (listed_incremental_option - && NEWER_OPTION_INITIALIZED (newer_mtime_option)) - option_conflict_error ("--listed-incremental", "--newer"); - + && TIME_OPTION_INITIALIZED (newer_mtime_option)) + { + struct option_locus *listed_loc = optloc_lookup (OC_LISTED_INCREMENTAL); + struct option_locus *newer_loc = optloc_lookup (OC_NEWER); + if (optloc_eq (listed_loc, newer_loc)) + option_conflict_error ("--listed-incremental", "--newer"); + else if (listed_loc->source == OPTS_COMMAND_LINE) + listed_incremental_option = NULL; + else + memset (&newer_mtime_option, 0, sizeof (newer_mtime_option)); + } + if (incremental_level != -1 && !listed_incremental_option) WARN ((0, 0, _("--level is meaningless without --listed-incremental"))); @@ -2529,8 +2443,13 @@ decode_options (int argc, char **argv) if (use_compress_program_option) USAGE_ERROR ((0, 0, _("Cannot verify compressed archives"))); if (!IS_SUBCOMMAND_CLASS (SUBCL_WRITE)) - option_conflict_error ("--verify", - subcommand_string (subcommand_option)); + { + if (option_set_in_cl (OC_VERIFY)) + option_conflict_error ("--verify", + subcommand_string (subcommand_option)); + else + verify_option = false; + } } if (use_compress_program_option) @@ -2543,6 +2462,13 @@ decode_options (int argc, char **argv) USAGE_ERROR ((0, 0, _("Cannot concatenate compressed archives"))); } + if (set_mtime_option == CLAMP_MTIME) + { + if (!TIME_OPTION_INITIALIZED (mtime_option)) + USAGE_ERROR ((0, 0, + _("--clamp-mtime needs a date specified using --mtime"))); + } + /* It is no harm to use --pax-option on non-pax archives in archive reading mode. It may even be useful, since it allows to override file attributes from tar headers. Therefore I allow such usage. @@ -2570,21 +2496,43 @@ decode_options (int argc, char **argv) USAGE_ERROR ((0, 0, _("--xattrs can be used only on POSIX archives"))); if (starting_file_option && !IS_SUBCOMMAND_CLASS (SUBCL_READ)) - option_conflict_error ("--starting-file", - subcommand_string (subcommand_option)); + { + if (option_set_in_cl (OC_STARTING_FILE)) + option_conflict_error ("--starting-file", + subcommand_string (subcommand_option)); + else + starting_file_option = false; + } if (same_order_option && !IS_SUBCOMMAND_CLASS (SUBCL_READ)) - option_conflict_error ("--same-order", - subcommand_string (subcommand_option)); + { + if (option_set_in_cl (OC_SAME_ORDER)) + option_conflict_error ("--same-order", + subcommand_string (subcommand_option)); + else + same_order_option = false; + } if (one_top_level_option) { char *base; - + if (absolute_names_option) - option_conflict_error ("--one-top-level", "--absolute-names"); - - if (!one_top_level_dir) + { + struct option_locus *one_top_level_loc = + optloc_lookup (OC_ONE_TOP_LEVEL); + struct option_locus *absolute_names_loc = + optloc_lookup (OC_ABSOLUTE_NAMES); + + if (optloc_eq (one_top_level_loc, absolute_names_loc)) + option_conflict_error ("--one-top-level", "--absolute-names"); + else if (one_top_level_loc->source == OPTS_COMMAND_LINE) + absolute_names_option = false; + else + one_top_level_option = false; + } + + if (one_top_level_option && !one_top_level_dir) { /* If the user wants to guarantee that everything is under one directory, determine its name now and let it be created later. */ @@ -2630,7 +2578,18 @@ decode_options (int argc, char **argv) USAGE_ERROR ((0, 0, _("Volume length cannot be less than record size"))); if (same_order_option && listed_incremental_option) - option_conflict_error ("--preserve-order", "--listed-incremental"); + { + struct option_locus *preserve_order_loc = optloc_lookup (OC_SAME_ORDER); + struct option_locus *listed_incremental_loc = + optloc_lookup (OC_LISTED_INCREMENTAL); + + if (optloc_eq (preserve_order_loc, listed_incremental_loc)) + option_conflict_error ("--preserve-order", "--listed-incremental"); + else if (preserve_order_loc->source == OPTS_COMMAND_LINE) + listed_incremental_option = false; + else + same_order_option = false; + } /* Forbid using -c with no input files whatsoever. Check that '-f -', explicit or implied, is used correctly. */ @@ -2703,14 +2662,6 @@ decode_options (int argc, char **argv) report_textual_dates (&args); } -void -more_options (int argc, char **argv) -{ - int idx; - if (argp_parse (&argp, argc, argv, ARGP_IN_ORDER, - &idx, &args)) - exit (TAREXIT_FAILURE); -} /* Tar proper. */ @@ -2728,8 +2679,7 @@ main (int argc, char **argv) exit_failure = TAREXIT_FAILURE; exit_status = TAREXIT_SUCCESS; error_hook = checkpoint_flush_actions; - - filename_terminator = '\n'; + set_quoting_style (0, DEFAULT_QUOTING_STYLE); /* Make sure we have first three descriptors available */ @@ -2803,7 +2753,7 @@ main (int argc, char **argv) } checkpoint_finish (); - + if (totals_option) print_total_stats (); diff --git a/src/tar.h b/src/tar.h index 3d693994..07b5bc15 100644 --- a/src/tar.h +++ b/src/tar.h @@ -1,7 +1,7 @@ /* GNU tar Archive Format description. - Copyright 1988-1989, 1991-1997, 2000-2001, 2003-2007, 2012-2014 Free - Software Foundation, Inc. + Copyright 1988-1989, 1991-1997, 2000-2001, 2003-2007, 2012-2014, 2016 + Free Software Foundation, Inc. This file is part of GNU tar. @@ -327,6 +327,10 @@ struct tar_stat_info size_t sparse_map_size; /* Size of the sparse map */ struct sp_array *sparse_map; + off_t real_size; /* The real size of sparse file */ + int real_size_set; /* True when GNU.sparse.realsize is set in + archived file */ + size_t xattr_map_size; /* Size of the xattr map */ struct xattr_array *xattr_map; diff --git a/src/transform.c b/src/transform.c index cd9e27cc..155d3698 100644 --- a/src/transform.c +++ b/src/transform.c @@ -1,5 +1,5 @@ /* This file is part of GNU tar. - Copyright 2006-2008, 2013-2014 Free Software Foundation, Inc. + Copyright 2006-2008, 2013-2014, 2016 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -378,13 +378,15 @@ parse_transform_expr (const char *expr) break; default: - /* Try to be nice */ - { - char buf[2]; - buf[0] = '\\'; - buf[1] = *cur; - add_literal_segment (tf, buf, buf + 2); - } + if (*cur == delim) + add_char_segment (tf, delim); + else + { + char buf[2]; + buf[0] = '\\'; + buf[1] = *cur; + add_literal_segment (tf, buf, buf + 2); + } cur++; break; } diff --git a/src/unlink.c b/src/unlink.c index 7f86cc58..6ae51ce1 100644 --- a/src/unlink.c +++ b/src/unlink.c @@ -1,6 +1,6 @@ /* Unlink files. - Copyright 2009, 2013-2014 Free Software Foundation, Inc. + Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. @@ -32,6 +32,10 @@ struct deferred_unlink entry got added to the queue */ }; +#define IS_CWD(p) \ + ((p)->is_dir \ + && ((p)->file_name[0] == 0 || strcmp ((p)->file_name, ".") == 0)) + /* The unlink queue */ static struct deferred_unlink *dunlink_head, *dunlink_tail; @@ -60,6 +64,24 @@ dunlink_alloc (void) return p; } +static void +dunlink_insert (struct deferred_unlink *anchor, struct deferred_unlink *p) +{ + if (anchor) + { + p->next = anchor->next; + anchor->next = p; + } + else + { + p->next = dunlink_head; + dunlink_head = p; + } + if (!p->next) + dunlink_tail = p; + dunlink_count++; +} + static void dunlink_reclaim (struct deferred_unlink *p) { @@ -73,7 +95,7 @@ flush_deferred_unlinks (bool force) { struct deferred_unlink *p, *prev = NULL; int saved_chdir = chdir_current; - + for (p = dunlink_head; p; ) { struct deferred_unlink *next = p->next; @@ -86,12 +108,11 @@ flush_deferred_unlinks (bool force) { const char *fname; - if (p->dir_idx - && (p->file_name[0] == 0 - || strcmp (p->file_name, ".") == 0)) + if (p->dir_idx && IS_CWD (p)) { - fname = tar_dirname (); - chdir_do (p->dir_idx - 1); + prev = p; + p = next; + continue; } else fname = p->file_name; @@ -103,16 +124,16 @@ flush_deferred_unlinks (bool force) case ENOENT: /* nothing to worry about */ break; + case EEXIST: + /* OpenSolaris >=10 sets EEXIST instead of ENOTEMPTY + if trying to remove a non-empty directory */ case ENOTEMPTY: - if (!force) - { - /* Keep the record in list, in the hope we'll - be able to remove it later */ - prev = p; - p = next; - continue; - } - /* fall through */ + /* Keep the record in list, in the hope we'll + be able to remove it later */ + prev = p; + p = next; + continue; + default: rmdir_error (fname); } @@ -139,6 +160,34 @@ flush_deferred_unlinks (bool force) } if (!dunlink_head) dunlink_tail = NULL; + else if (force) + { + for (p = dunlink_head; p; ) + { + struct deferred_unlink *next = p->next; + const char *fname; + + chdir_do (p->dir_idx); + if (p->dir_idx && IS_CWD (p)) + { + fname = tar_dirname (); + chdir_do (p->dir_idx - 1); + } + else + fname = p->file_name; + + if (unlinkat (chdir_fd, fname, AT_REMOVEDIR) != 0) + { + if (errno != ENOENT) + rmdir_error (fname); + } + dunlink_reclaim (p); + dunlink_count--; + p = next; + } + dunlink_head = dunlink_tail = NULL; + } + chdir_do (saved_chdir); } @@ -146,6 +195,7 @@ void finish_deferred_unlinks (void) { flush_deferred_unlinks (true); + while (dunlink_avail) { struct deferred_unlink *next = dunlink_avail->next; @@ -171,10 +221,17 @@ queue_deferred_unlink (const char *name, bool is_dir) p->is_dir = is_dir; p->records_written = records_written; - if (dunlink_tail) - dunlink_tail->next = p; + if (IS_CWD (p)) + { + struct deferred_unlink *q, *prev; + for (q = dunlink_head, prev = NULL; q; prev = q, q = q->next) + if (IS_CWD (q) && q->dir_idx < p->dir_idx) + break; + if (q) + dunlink_insert (prev, p); + else + dunlink_insert (dunlink_tail, p); + } else - dunlink_head = p; - dunlink_tail = p; - dunlink_count++; + dunlink_insert (dunlink_tail, p); } diff --git a/src/update.c b/src/update.c index c8fca0c5..ad7a6bf7 100644 --- a/src/update.c +++ b/src/update.c @@ -1,7 +1,7 @@ /* Update a tar archive. Copyright 1988, 1992, 1994, 1996-1997, 1999-2001, 2003-2005, 2007, - 2010, 2013-2014 Free Software Foundation, Inc. + 2010, 2013-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. diff --git a/src/utf8.c b/src/utf8.c index 07a39040..195fef55 100644 --- a/src/utf8.c +++ b/src/utf8.c @@ -1,6 +1,7 @@ /* Charset handling for GNU tar. - Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. + Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, + Inc. This file is part of GNU tar. diff --git a/src/warning.c b/src/warning.c index 1cea3161..86a0fd13 100644 --- a/src/warning.c +++ b/src/warning.c @@ -1,6 +1,6 @@ /* Warnings for GNU tar. - Copyright 2009, 2012-2014 Free Software Foundation, Inc. + Copyright 2009, 2012-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. diff --git a/src/xattrs.c b/src/xattrs.c index 307ee380..8e561680 100644 --- a/src/xattrs.c +++ b/src/xattrs.c @@ -1,6 +1,6 @@ /* Support for extended attributes. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. diff --git a/src/xattrs.h b/src/xattrs.h index 83630613..a475bb6a 100644 --- a/src/xattrs.h +++ b/src/xattrs.h @@ -1,6 +1,6 @@ /* Support for extended attributes. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. diff --git a/src/xheader.c b/src/xheader.c index c94c6d39..8dda5809 100644 --- a/src/xheader.c +++ b/src/xheader.c @@ -1,6 +1,6 @@ /* POSIX extended headers for tar. - Copyright (C) 2003-2007, 2009-2010, 2012-2014 Free Software + Copyright (C) 2003-2007, 2009-2010, 2012-2014, 2016 Free Software Foundation, Inc. This file is part of GNU tar. @@ -755,6 +755,16 @@ xheader_decode (struct tar_stat_info *st) continue; } run_override_list (keyword_override_list, st); + + /* The archived (effective) file size is always set directly in tar header + field, possibly overridden by "size" extended header - in both cases, + result is now decoded in st->stat.st_size */ + st->archive_file_size = st->stat.st_size; + + /* The real file size (given by stat()) may be redefined for sparse + files in "GNU.sparse.realsize" extended header */ + if (st->real_size_set) + st->stat.st_size = st->real_size; } static void @@ -803,11 +813,11 @@ xheader_store (char const *keyword, struct tar_stat_info *st, t = locate_handler (keyword); if (!t || !t->coder) return; - if (xheader_keyword_deleted_p (keyword) - || xheader_keyword_override_p (keyword)) + if (xheader_keyword_deleted_p (keyword)) return; xheader_init (&st->xhdr); - t->coder (st, keyword, &st->xhdr, data); + if (!xheader_keyword_override_p (keyword)) + t->coder (st, keyword, &st->xhdr, data); } void @@ -1017,7 +1027,7 @@ xheader_string_end (struct xheader *xhdr, char const *keyword) } x_obstack_blank (xhdr, p); x_obstack_1grow (xhdr, '\n'); - cp = obstack_next_free (xhdr->stk) - xhdr->string_length - p - 1; + cp = (char*) obstack_next_free (xhdr->stk) - xhdr->string_length - p - 1; memmove (cp + p, cp, xhdr->string_length); cp = stpcpy (cp, np); *cp++ = ' '; @@ -1360,7 +1370,10 @@ sparse_size_decoder (struct tar_stat_info *st, { uintmax_t u; if (decode_num (&u, arg, TYPE_MAXIMUM (off_t), keyword)) - st->stat.st_size = u; + { + st->real_size_set = 1; + st->real_size = u; + } } static void @@ -1443,13 +1456,13 @@ sparse_map_decoder (struct tar_stat_info *st, size_t size __attribute__((unused))) { int offset = 1; + struct sp_array e; st->sparse_map_avail = 0; while (1) { intmax_t u; char *delim; - struct sp_array e; if (!ISDIGIT (*arg)) { diff --git a/tests/Makefile.am b/tests/Makefile.am index 6684d1d8..3e942769 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,6 @@ # Makefile for GNU tar regression tests. -# Copyright 1996-1997, 1999-2001, 2003-2007, 2009, 2012-2013 Free Software +# Copyright 1996-1997, 1999-2001, 2003-2007, 2009, 2012-2015 Free Software # This file is part of GNU tar. @@ -43,9 +43,13 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac TESTSUITE_AT = \ T-cd.at\ + T-dir00.at\ + T-dir01.at\ T-empty.at\ T-null.at\ + T-null2.at\ T-rec.at\ + T-recurse.at\ T-zfile.at\ T-nonl.at\ T-mult.at\ @@ -56,9 +60,11 @@ TESTSUITE_AT = \ append02.at\ append03.at\ append04.at\ + append05.at\ backup01.at\ chtype.at\ comprec.at\ + comperr.at\ delete01.at\ delete02.at\ delete03.at\ @@ -114,9 +120,10 @@ TESTSUITE_AT = \ incr07.at\ incr08.at\ incr09.at\ + incr10.at\ + incr11.at\ indexfile.at\ ignfail.at\ - iotty.at\ label01.at\ label02.at\ label03.at\ @@ -136,6 +143,7 @@ TESTSUITE_AT = \ lustar01.at\ lustar02.at\ lustar03.at\ + map.at\ multiv01.at\ multiv02.at\ multiv03.at\ @@ -144,11 +152,14 @@ TESTSUITE_AT = \ multiv06.at\ multiv07.at\ multiv08.at\ + multiv09.at\ + numeric.at\ old.at\ onetop01.at\ onetop02.at\ onetop03.at\ onetop04.at\ + onetop05.at\ opcomp01.at\ opcomp02.at\ opcomp03.at\ @@ -198,12 +209,15 @@ TESTSUITE_AT = \ sparse02.at\ sparse03.at\ sparse04.at\ + sparse05.at\ + sparse06.at\ sparsemv.at\ sparsemvp.at\ spmvp00.at\ spmvp01.at\ spmvp10.at\ time01.at\ + time02.at\ truncate.at\ update.at\ update01.at\ @@ -215,6 +229,7 @@ TESTSUITE_AT = \ version.at\ xform-h.at\ xform01.at\ + xform02.at\ star/gtarfail.at\ star/gtarfail2.at\ star/multi-fail.at\ @@ -233,6 +248,9 @@ TESTSUITE_AT = \ selacl01.at\ capabs_raw01.at +distclean-local: + -rm -rf download + TESTSUITE = $(srcdir)/testsuite AUTOTEST = $(AUTOM4TE) --language=autotest @@ -255,7 +273,7 @@ check-full: #check_SCRIPTS = tar # Run the test suite on the *installed* tree. -installcheck-local: +installcheck-local: $(check_PROGRAMS) $(SHELL) $(TESTSUITE) $(TESTSUITEFLAGS) AUTOTEST_PATH=$(exec_prefix)/bin @@ -263,15 +281,10 @@ installcheck-local: ## genfile ## ## ------------ ## -check_PROGRAMS = genfile - -if TAR_COND_GRANTPT -check_PROGRAMS += ttyemu -endif +check_PROGRAMS = genfile checkseekhole ckmtime genfile_SOURCES = genfile.c argcv.c argcv.h - -ttyemu_SOURCES = ttyemu.c +checkseekhole_SOURCES = checkseekhole.c localedir = $(datadir)/locale AM_CPPFLAGS = \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 6807509e..f3e83fd1 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -16,7 +16,7 @@ # Makefile for GNU tar regression tests. -# Copyright 1996-1997, 1999-2001, 2003-2007, 2009, 2012-2013 Free Software +# Copyright 1996-1997, 1999-2001, 2003-2007, 2009, 2012-2015 Free Software # This file is part of GNU tar. @@ -95,8 +95,8 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -check_PROGRAMS = genfile$(EXEEXT) $(am__EXEEXT_1) -@TAR_COND_GRANTPT_TRUE@am__append_1 = ttyemu +check_PROGRAMS = genfile$(EXEEXT) checkseekhole$(EXEEXT) \ + ckmtime$(EXEEXT) subdir = tests DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(srcdir)/atlocal.in $(top_srcdir)/build-aux/depcomp @@ -125,10 +125,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ - $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ - $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \ + $(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \ + $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -143,10 +144,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ - $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \ - $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ @@ -168,14 +169,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ - $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ - $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix_openpt.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \ + $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/opendir.m4 \ + $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ + $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/ptsname.m4 \ - $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/raise.m4 \ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/read.m4 \ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \ @@ -211,42 +211,46 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ + $(top_srcdir)/m4/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ - $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkat.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/unlockpt.m4 \ - $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ - $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ - $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ - $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ - $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ - $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ - $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ - $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \ - $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \ - $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \ - $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ + $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ + $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ + $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ + $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_h.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \ + $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wcwidth.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/write.m4 \ + $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ + $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = atlocal CONFIG_CLEAN_VPATH_FILES = -@TAR_COND_GRANTPT_TRUE@am__EXEEXT_1 = ttyemu$(EXEEXT) +am_checkseekhole_OBJECTS = checkseekhole.$(OBJEXT) +checkseekhole_OBJECTS = $(am_checkseekhole_OBJECTS) +checkseekhole_LDADD = $(LDADD) +am__DEPENDENCIES_1 = +checkseekhole_DEPENDENCIES = ../gnu/libgnu.a $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +ckmtime_SOURCES = ckmtime.c +ckmtime_OBJECTS = ckmtime.$(OBJEXT) +ckmtime_LDADD = $(LDADD) +ckmtime_DEPENDENCIES = ../gnu/libgnu.a $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) am_genfile_OBJECTS = genfile.$(OBJEXT) argcv.$(OBJEXT) genfile_OBJECTS = $(am_genfile_OBJECTS) genfile_LDADD = $(LDADD) -am__DEPENDENCIES_1 = genfile_DEPENDENCIES = ../gnu/libgnu.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -am_ttyemu_OBJECTS = ttyemu.$(OBJEXT) -ttyemu_OBJECTS = $(am_ttyemu_OBJECTS) -ttyemu_LDADD = $(LDADD) -ttyemu_DEPENDENCIES = ../gnu/libgnu.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -275,8 +279,8 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = $(genfile_SOURCES) $(ttyemu_SOURCES) -DIST_SOURCES = $(genfile_SOURCES) $(ttyemu_SOURCES) +SOURCES = $(checkseekhole_SOURCES) ckmtime.c $(genfile_SOURCES) +DIST_SOURCES = $(checkseekhole_SOURCES) ckmtime.c $(genfile_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -500,6 +504,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_QSORT_R = @GNULIB_QSORT_R@ GNULIB_RAISE = @GNULIB_RAISE@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ @@ -559,6 +564,7 @@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ +GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ @@ -711,6 +717,7 @@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ @@ -797,6 +804,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ @@ -870,6 +878,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_EACCESS = @LIB_EACCESS@ +LIB_HAS_ACL = @LIB_HAS_ACL@ LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ @@ -1035,10 +1044,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ +REPLACE_READLINKAT = @REPLACE_READLINKAT@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ @@ -1071,6 +1082,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ +REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ @@ -1113,6 +1125,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ +UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_ACL = @USE_ACL@ @@ -1194,9 +1207,13 @@ MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE) # TESTSUITE_AT = \ T-cd.at\ + T-dir00.at\ + T-dir01.at\ T-empty.at\ T-null.at\ + T-null2.at\ T-rec.at\ + T-recurse.at\ T-zfile.at\ T-nonl.at\ T-mult.at\ @@ -1207,9 +1224,11 @@ TESTSUITE_AT = \ append02.at\ append03.at\ append04.at\ + append05.at\ backup01.at\ chtype.at\ comprec.at\ + comperr.at\ delete01.at\ delete02.at\ delete03.at\ @@ -1265,9 +1284,10 @@ TESTSUITE_AT = \ incr07.at\ incr08.at\ incr09.at\ + incr10.at\ + incr11.at\ indexfile.at\ ignfail.at\ - iotty.at\ label01.at\ label02.at\ label03.at\ @@ -1287,6 +1307,7 @@ TESTSUITE_AT = \ lustar01.at\ lustar02.at\ lustar03.at\ + map.at\ multiv01.at\ multiv02.at\ multiv03.at\ @@ -1295,11 +1316,14 @@ TESTSUITE_AT = \ multiv06.at\ multiv07.at\ multiv08.at\ + multiv09.at\ + numeric.at\ old.at\ onetop01.at\ onetop02.at\ onetop03.at\ onetop04.at\ + onetop05.at\ opcomp01.at\ opcomp02.at\ opcomp03.at\ @@ -1349,12 +1373,15 @@ TESTSUITE_AT = \ sparse02.at\ sparse03.at\ sparse04.at\ + sparse05.at\ + sparse06.at\ sparsemv.at\ sparsemvp.at\ spmvp00.at\ spmvp01.at\ spmvp10.at\ time01.at\ + time02.at\ truncate.at\ update.at\ update01.at\ @@ -1366,6 +1393,7 @@ TESTSUITE_AT = \ version.at\ xform-h.at\ xform01.at\ + xform02.at\ star/gtarfail.at\ star/gtarfail2.at\ star/multi-fail.at\ @@ -1387,7 +1415,7 @@ TESTSUITE_AT = \ TESTSUITE = $(srcdir)/testsuite AUTOTEST = $(AUTOM4TE) --language=autotest genfile_SOURCES = genfile.c argcv.c argcv.h -ttyemu_SOURCES = ttyemu.c +checkseekhole_SOURCES = checkseekhole.c AM_CPPFLAGS = \ -I$(top_srcdir)/gnu\ -I../gnu\ @@ -1436,14 +1464,18 @@ atlocal: $(top_builddir)/config.status $(srcdir)/atlocal.in clean-checkPROGRAMS: -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) +checkseekhole$(EXEEXT): $(checkseekhole_OBJECTS) $(checkseekhole_DEPENDENCIES) $(EXTRA_checkseekhole_DEPENDENCIES) + @rm -f checkseekhole$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(checkseekhole_OBJECTS) $(checkseekhole_LDADD) $(LIBS) + +ckmtime$(EXEEXT): $(ckmtime_OBJECTS) $(ckmtime_DEPENDENCIES) $(EXTRA_ckmtime_DEPENDENCIES) + @rm -f ckmtime$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ckmtime_OBJECTS) $(ckmtime_LDADD) $(LIBS) + genfile$(EXEEXT): $(genfile_OBJECTS) $(genfile_DEPENDENCIES) $(EXTRA_genfile_DEPENDENCIES) @rm -f genfile$(EXEEXT) $(AM_V_CCLD)$(LINK) $(genfile_OBJECTS) $(genfile_LDADD) $(LIBS) -ttyemu$(EXEEXT): $(ttyemu_OBJECTS) $(ttyemu_DEPENDENCIES) $(EXTRA_ttyemu_DEPENDENCIES) - @rm -f ttyemu$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(ttyemu_OBJECTS) $(ttyemu_LDADD) $(LIBS) - mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -1451,8 +1483,9 @@ distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argcv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checkseekhole.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ckmtime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/genfile.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttyemu.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -1596,7 +1629,7 @@ distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags + distclean-local distclean-tags dvi: dvi-am @@ -1662,15 +1695,16 @@ uninstall-am: .PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \ clean-checkPROGRAMS clean-generic clean-local cscopelist-am \ ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installcheck-local \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ - ps ps-am tags tags-am uninstall uninstall-am + distclean-local distclean-tags distdir dvi dvi-am html html-am \ + info info-am install install-am install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installcheck-local installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am $(srcdir)/package.m4: $(top_srcdir)/configure.ac @@ -1682,6 +1716,9 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac echo 'm4_define([AT_PACKAGE_STRING], [@PACKAGE_STRING@])'; \ echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \ } >$(srcdir)/package.m4 + +distclean-local: + -rm -rf download $(TESTSUITE): package.m4 $(TESTSUITE_AT) $(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp mv $@.tmp $@ @@ -1701,7 +1738,7 @@ check-full: #check_SCRIPTS = tar # Run the test suite on the *installed* tree. -installcheck-local: +installcheck-local: $(check_PROGRAMS) $(SHELL) $(TESTSUITE) $(TESTSUITEFLAGS) AUTOTEST_PATH=$(exec_prefix)/bin # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/tests/T-cd.at b/tests/T-cd.at index 051d8091..4d798d1b 100644 --- a/tests/T-cd.at +++ b/tests/T-cd.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # This file is part of GNU tar. # diff --git a/tests/T-dir00.at b/tests/T-dir00.at new file mode 100644 index 00000000..872861ab --- /dev/null +++ b/tests/T-dir00.at @@ -0,0 +1,46 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2014, 2016 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Tar 1.27 and 1.28 did not extract files under directory members listed +# in the file read by --file-from. +# +# Reported-by: Jean-Louis Martineau +# References: <541AE02C.2050008@zmanda.com>, +# http://lists.gnu.org/archive/html/bug-tar/2014-09/msg00006.html + +AT_SETUP([recursive extraction from --files-from]) +AT_KEYWORDS([files-from extract T-dir T-dir00]) +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir > list +tar xfTv archive list | sort +], +[0], +[dir/ +dir/file1 +dir/file2 +]) +AT_CLEANUP + diff --git a/tests/T-dir01.at b/tests/T-dir01.at new file mode 100644 index 00000000..06290807 --- /dev/null +++ b/tests/T-dir01.at @@ -0,0 +1,46 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2014, 2016 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Tar 1.27 and 1.28 did not remove trailing slashes from file names +# obtained with the --file-from option. +# +# Reported-by: Jean-Louis Martineau +# References: <541AE02C.2050008@zmanda.com>, +# http://lists.gnu.org/archive/html/bug-tar/2014-09/msg00006.html + +AT_SETUP([trailing slash in --files-from]) +AT_KEYWORDS([files-from extract T-dir T-dir01]) +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir/ > list +tar xfTv archive list | sort +], +[0], +[dir/ +dir/file1 +dir/file2 +]) +AT_CLEANUP + diff --git a/tests/T-empty.at b/tests/T-empty.at index 2cc94355..b5cbb90e 100644 --- a/tests/T-empty.at +++ b/tests/T-empty.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/T-mult.at b/tests/T-mult.at index 70b7deb8..d3e367da 100644 --- a/tests/T-mult.at +++ b/tests/T-mult.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # This file is part of GNU tar. # diff --git a/tests/T-nest.at b/tests/T-nest.at index 3da2ec72..88bd8d29 100644 --- a/tests/T-nest.at +++ b/tests/T-nest.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # This file is part of GNU tar. # diff --git a/tests/T-nonl.at b/tests/T-nonl.at index 390c62fb..d6258d36 100644 --- a/tests/T-nonl.at +++ b/tests/T-nonl.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # This file is part of GNU tar. # diff --git a/tests/T-null.at b/tests/T-null.at index 795f64dd..2c15afe2 100644 --- a/tests/T-null.at +++ b/tests/T-null.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/T-null2.at b/tests/T-null2.at new file mode 100644 index 00000000..e9f1d8a7 --- /dev/null +++ b/tests/T-null2.at @@ -0,0 +1,43 @@ +# This file is part of test suite for GNU tar. -*- Autotest -*- +# Copyright 2015-2016 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([--null enables verbatim reading]) +AT_KEYWORDS([files-from null T-null2 T-verbatim]) + +# According to the docs, --null should read each line from the file +# list verbatim. This feature was broken by commit 26538c9b (tar version +# 1.27). + +AT_TAR_CHECK([ +AT_DATA([file-list],[a +-b +--c d +]) + +genfile -f a +genfile -f -b +genfile -f '--c d' + +cat file-list | tr '\n' '\0' | tar -c -f archive -v --null -T - +], +[0], +[a +-b +--c d +], +[],[],[],[ustar]) # Testing one format is enough + +AT_CLEANUP diff --git a/tests/T-rec.at b/tests/T-rec.at index 9a85f17b..5b60c466 100644 --- a/tests/T-rec.at +++ b/tests/T-rec.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # This file is part of GNU tar. # diff --git a/tests/T-recurse.at b/tests/T-recurse.at new file mode 100644 index 00000000..4c880241 --- /dev/null +++ b/tests/T-recurse.at @@ -0,0 +1,90 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright 2015-2016 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: Test interaction of --recursion and --no-recursion options +# together with --files-from option. This is complementary to recurs02.at test +# case. References: +# +# http://lists.gnu.org/archive/html/bug-tar/2015-06/msg00006.html + +AT_SETUP([files-from & recurse: toggle]) +AT_KEYWORDS([recurse T-recurse files-from]) + +AT_TAR_CHECK([ +mkdir directory1 directory2 +touch directory1/file directory2/file + +AT_DATA([F1],[--no-recursion +directory1/ +--recursion +directory2/ +]) + +AT_DATA([F2A],[directory1/ +]) + +AT_DATA([F2B],[directory2/ +]) + +a=archive +tar cf "$a" --files-from F1 +tar tf "$a" + +a=archive2 +tar cf "$a" --no-recursion -T F2A --recursion -T F2B +tar tf "$a" +], +[0], +[directory1/ +directory2/ +directory2/file +directory1/ +directory2/ +directory2/file +]) + +AT_CLEANUP + + +AT_SETUP([toggle --recursion (not) from -T]) +AT_KEYWORDS([recurse T-recurse T-recurse2 files-from]) + +AT_TAR_CHECK([ +mkdir directory1 directory2 +touch directory1/file directory2/file + +AT_DATA([F1],[--no-recursion +directory1/ +]) + +AT_DATA([F2],[directory2/ +]) + +tar cf archive -T F1 --recursion -T F2 +tar tf archive + +], +[0], +[directory1/ +directory2/ +directory2/file +]) + +AT_CLEANUP diff --git a/tests/T-zfile.at b/tests/T-zfile.at index 05c93e6e..931d69bf 100644 --- a/tests/T-zfile.at +++ b/tests/T-zfile.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # This file is part of GNU tar. # diff --git a/tests/acls01.at b/tests/acls01.at index a866b864..68e979a4 100644 --- a/tests/acls01.at +++ b/tests/acls01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2011, 2013-2014 Free Software Foundation, Inc. +# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/acls02.at b/tests/acls02.at index 95f4429a..21f1894f 100644 --- a/tests/acls02.at +++ b/tests/acls02.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2011, 2013-2014 Free Software Foundation, Inc. +# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/acls03.at b/tests/acls03.at index 83c5bdcf..19b80733 100644 --- a/tests/acls03.at +++ b/tests/acls03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013, 2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/append.at b/tests/append.at index 10d06d7d..6fa587e3 100644 --- a/tests/append.at +++ b/tests/append.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. @@ -26,7 +27,7 @@ AT_TAR_CHECK([touch file1 tar cf archive file1 tar rf archive file2 tar tf archive], - [0], + [0], [file1 file2 ]) diff --git a/tests/append01.at b/tests/append01.at index c8997905..f847c611 100644 --- a/tests/append01.at +++ b/tests/append01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2005-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2005-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/append02.at b/tests/append02.at index 80309676..3ca4d4c0 100644 --- a/tests/append02.at +++ b/tests/append02.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2009, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/append03.at b/tests/append03.at index 8d0dc785..c746301e 100644 --- a/tests/append03.at +++ b/tests/append03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/append04.at b/tests/append04.at index 67a5af87..a543d0d2 100644 --- a/tests/append04.at +++ b/tests/append04.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # This file is part of GNU tar. # diff --git a/tests/append05.at b/tests/append05.at new file mode 100644 index 00000000..865831a9 --- /dev/null +++ b/tests/append05.at @@ -0,0 +1,96 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2016 Free Software Foundation, Inc. +# +# This file is part of GNU tar. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Adding files to an archive with a blocking factor different from the one +# used when creating it would produce a malformed archive. +# +# Last-Affected-Version: 1.28.90 (da7845c6563e7337bf3e8364046a7989091f190e) +# Reported-by: Initial report by Renate Pyhel . Explained +# in detail by Tim Kientzle. This test case is based on his posting. +# References: , +# <50202013-27F2-4EFF-98C8-2DD112C5B956@kientzle.com>, +# http://lists.gnu.org/archive/html/bug-tar/2016-03/msg00002.html, +# http://lists.gnu.org/archive/html/bug-tar/2016-03/msg00004.html + +AT_SETUP([append after changed blocking]) +AT_KEYWORDS([append append05 blocking]) + +AT_TAR_CHECK([ +for f in a b c d e f g h i +do + echo $f > $f +done + +decho 'creating archive' +tar -cf archive -b1 a b c + +tar tf archive + +decho 'adding d e f' +tar -vrf archive -b3 d e f +echo == +tar tf archive + +decho 'adding g h i' +tar -vrf archive -b5 g h i + +decho 'resulting archive' +tar tf archive +], +[0], +[creating archive +a +b +c +adding d e f +d +e +f +== +a +b +c +d +e +f +adding g h i +g +h +i +resulting archive +a +b +c +d +e +f +g +h +i +], +[creating archive +adding d e f +adding g h i +resulting archive +]) + +AT_CLEANUP + + diff --git a/tests/atlocal.in b/tests/atlocal.in index 5fbe6a59..21c6ef78 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -1,6 +1,6 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for tar test suite. -# Copyright 2004, 2006, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -25,22 +25,27 @@ trap "test -r $XFAILFILE && cat $XFAILFILE; exit $?" 1 2 13 15 TEST_DATA_URL=ftp://download.gnu.org.ua/pub/tests/tar if test -z "$TEST_DATA_DIR"; then - TEST_DATA_DIR=$abs_builddir + TEST_DATA_DIR=$abs_builddir/download fi -STAR_DATA_URL=ftp://ftp.berlios.de/pub/star/testscripts +STAR_DATA_URL=$TEST_DATA_URL/star if test -z "$STAR_TESTSCRIPTS"; then STAR_TESTSCRIPTS=$TEST_DATA_DIR fi # tarball_prereq file sum dir url tarball_prereq() { - if test -d "$3"; then - if test -r $3/$1; then - : - elif test -n "$FULL_TEST"; then - wget -q --directory-prefix=$3 $4/$1 - fi + if ! test -d "$3"; then + mkdir "$3" + cat > "$3/README" </dev/null 2>&1 } @@ -56,4 +61,4 @@ mkexcltest() { genfile --file=$1/subdir/excludeme genfile --file=$1/subdir/subdir-file } - \ No newline at end of file + diff --git a/tests/backup01.at b/tests/backup01.at index 1aa33db3..09051c62 100644 --- a/tests/backup01.at +++ b/tests/backup01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009-2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009-2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/capabs_raw01.at b/tests/capabs_raw01.at index 82c842a5..a498dd5f 100644 --- a/tests/capabs_raw01.at +++ b/tests/capabs_raw01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2012-2014 Free Software Foundation, Inc. +# Copyright 2012-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/checkseekhole.c b/tests/checkseekhole.c new file mode 100644 index 00000000..c7d62044 --- /dev/null +++ b/tests/checkseekhole.c @@ -0,0 +1,92 @@ +/* Test suite for GNU tar - SEEK_HOLE detector. + + Copyright 2015-2016 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3, or (at your option) any later + version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + Description: detect whether it is possible to work with SEEK_HOLE on + particular operating system and file system. */ + +#include "config.h" + +#include +#include +#include +#include +#include + +enum { + EX_OK = 0, /* SEEK_HOLE support */ + EX_FAIL, /* test failed - no SEEK_HOLE support */ + EX_BAD, /* test is not relevant */ +}; + +int +check_seek_hole (int fd) +{ +#ifdef SEEK_HOLE + struct stat stat; + off_t offset; + + /* hole of 100MB */ + if (lseek (fd, 100*1024*1024, SEEK_END) < 0) + return EX_BAD; + + /* piece of data */ + if (write (fd, "data\n", 5) != 5) + return EX_BAD; + + /* another hole */ + if (lseek (fd, 100*1024*1024, SEEK_END) < 0) + return EX_BAD; + + /* piece of data */ + if (write (fd, "data\n", 5) != 5) + return EX_BAD; + + if (fstat (fd, &stat)) + return EX_BAD; + + offset = lseek (fd, 0, SEEK_DATA); + if (offset == (off_t)-1) + return EX_FAIL; + + offset = lseek (fd, offset, SEEK_HOLE); + if (offset == (off_t)-1 || offset == stat.st_size) + return EX_FAIL; + + return EX_OK; +#else + return EX_BAD; +#endif +} + +int +main () +{ +#ifdef SEEK_HOLE + int rc; + char template[] = "testseekhole-XXXXXX"; + int fd = mkstemp (template); + if (fd == -1) + return EX_BAD; + rc = check_seek_hole (fd); + close (fd); + unlink (template); + + return rc; +#else + return EX_FAIL; +#endif +} diff --git a/tests/chtype.at b/tests/chtype.at index 34839983..eda52ea7 100644 --- a/tests/chtype.at +++ b/tests/chtype.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/ckmtime.c b/tests/ckmtime.c new file mode 100644 index 00000000..9fde42db --- /dev/null +++ b/tests/ckmtime.c @@ -0,0 +1,69 @@ +/* Check if filesystem timestamps are consistent with the system time. + Copyright (C) 2016 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3, or (at your option) any later + version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . +*/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define TEMPLATE "ckmtime.XXXXXX" +#define BILLION 1000000000 + +/* Some filesystems can slightly offset the timestamps of newly created files. + To compensate for it, tar testsuite waits at least 1 second before creating + next level of incremental backups. + + However, NFS mounts can offset the timestamps by bigger amounts. + + This program returns with success (0) if a newly created file is assigned + mtime matching the system time to the nearest second. +*/ +int +main (int argc, char **argv) +{ + int fd; + char name[sizeof(TEMPLATE)]; + struct stat st; + struct timespec ts, td; + double diff; + + gettime (&ts); + + strcpy (name, TEMPLATE); + umask (077); + fd = mkstemp (name); + assert (fd != -1); + unlink (name); + assert (fstat (fd, &st) == 0); + close (fd); + + td = timespec_sub (get_stat_mtime (&st), ts); + diff = td.tv_sec * BILLION + td.tv_nsec; + if (diff < 0) + diff = - diff; + if (diff / BILLION >= 1) + { + fprintf (stderr, "file timestamp unreliable\n"); + return 1; + } + return 0; +} diff --git a/tests/comperr.at b/tests/comperr.at new file mode 100644 index 00000000..65576e77 --- /dev/null +++ b/tests/comperr.at @@ -0,0 +1,39 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2015-2016 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([compressor program failure]) +AT_KEYWORDS([compress comperr]) + +# Description: If the --use-compress-program fails, then it is unsafe +# to assume that the created archive is OK. Tar should fail with a +# prominent error message. +# Reported by: Ole Tange +# References: , +# http://lists.gnu.org/archive/html/bug-tar/2015-03/msg00002.html + +AT_TAR_CHECK([ +tar --use-compress-program false -cf a.tar . 2>err +rc=$? +sed -n '$p' err +exit $rc +], +[2], +[tar: Error is not recoverable: exiting now +]) + +AT_CLEANUP + diff --git a/tests/comprec.at b/tests/comprec.at index c1def2fd..0cb4175e 100644 --- a/tests/comprec.at +++ b/tests/comprec.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/delete01.at b/tests/delete01.at index 37acec0c..8b5263ef 100644 --- a/tests/delete01.at +++ b/tests/delete01.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/delete02.at b/tests/delete02.at index 7bcf8ce5..637a316b 100644 --- a/tests/delete02.at +++ b/tests/delete02.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004-2005, 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004-2005, 2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/delete03.at b/tests/delete03.at index b2853825..f33eebaf 100644 --- a/tests/delete03.at +++ b/tests/delete03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/delete04.at b/tests/delete04.at index e3efb9a2..177888ac 100644 --- a/tests/delete04.at +++ b/tests/delete04.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/delete05.at b/tests/delete05.at index 811b9bca..56a483b2 100644 --- a/tests/delete05.at +++ b/tests/delete05.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/exclude.at b/tests/exclude.at index dbd9245d..a29cdd12 100644 --- a/tests/exclude.at +++ b/tests/exclude.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude01.at b/tests/exclude01.at index 27dd9fea..c3cd10b7 100644 --- a/tests/exclude01.at +++ b/tests/exclude01.at @@ -1,5 +1,5 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude02.at b/tests/exclude02.at index a0742217..84f83d5c 100644 --- a/tests/exclude02.at +++ b/tests/exclude02.at @@ -1,5 +1,5 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude03.at b/tests/exclude03.at index c2472596..d55d3cc1 100644 --- a/tests/exclude03.at +++ b/tests/exclude03.at @@ -1,5 +1,5 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude04.at b/tests/exclude04.at index 00764262..17c759d5 100644 --- a/tests/exclude04.at +++ b/tests/exclude04.at @@ -1,5 +1,5 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude05.at b/tests/exclude05.at index 08d0c7b4..1b6f66f9 100644 --- a/tests/exclude05.at +++ b/tests/exclude05.at @@ -1,5 +1,5 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- -# Copyright 2009-2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009-2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude06.at b/tests/exclude06.at index ffea0511..ebadebe4 100644 --- a/tests/exclude06.at +++ b/tests/exclude06.at @@ -1,5 +1,5 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude07.at b/tests/exclude07.at index c3a2c504..cb99d332 100644 --- a/tests/exclude07.at +++ b/tests/exclude07.at @@ -1,5 +1,5 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude08.at b/tests/exclude08.at index d35a0b58..e9595dd1 100644 --- a/tests/exclude08.at +++ b/tests/exclude08.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude09.at b/tests/exclude09.at index 092d85e9..4a0fe7a5 100644 --- a/tests/exclude09.at +++ b/tests/exclude09.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude10.at b/tests/exclude10.at index 371b866d..2b7ac321 100644 --- a/tests/exclude10.at +++ b/tests/exclude10.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude11.at b/tests/exclude11.at index 17144d33..258a3d33 100644 --- a/tests/exclude11.at +++ b/tests/exclude11.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude12.at b/tests/exclude12.at index e9dc0a4b..f61d2119 100644 --- a/tests/exclude12.at +++ b/tests/exclude12.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude13.at b/tests/exclude13.at index 1946e4e0..0bca131d 100644 --- a/tests/exclude13.at +++ b/tests/exclude13.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude14.at b/tests/exclude14.at index 53e49f53..8ac5358c 100644 --- a/tests/exclude14.at +++ b/tests/exclude14.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude15.at b/tests/exclude15.at index d751c971..a53d38c2 100644 --- a/tests/exclude15.at +++ b/tests/exclude15.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/exclude16.at b/tests/exclude16.at index e0098924..9cc2f9a4 100644 --- a/tests/exclude16.at +++ b/tests/exclude16.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac01.at b/tests/extrac01.at index 970560fe..22475984 100644 --- a/tests/extrac01.at +++ b/tests/extrac01.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/extrac02.at b/tests/extrac02.at index 722f95a7..4e1131f4 100644 --- a/tests/extrac02.at +++ b/tests/extrac02.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/extrac03.at b/tests/extrac03.at index 98e8c59e..11d377ad 100644 --- a/tests/extrac03.at +++ b/tests/extrac03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac04.at b/tests/extrac04.at index cd9e1142..21a1df2c 100644 --- a/tests/extrac04.at +++ b/tests/extrac04.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/extrac05.at b/tests/extrac05.at index 432d7962..380c9da9 100644 --- a/tests/extrac05.at +++ b/tests/extrac05.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/extrac06.at b/tests/extrac06.at index b3afb486..68c460f0 100644 --- a/tests/extrac06.at +++ b/tests/extrac06.at @@ -2,7 +2,7 @@ # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac07.at b/tests/extrac07.at index 56476dd6..fbd62788 100644 --- a/tests/extrac07.at +++ b/tests/extrac07.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac08.at b/tests/extrac08.at index 95db1f5a..91454f3d 100644 --- a/tests/extrac08.at +++ b/tests/extrac08.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac09.at b/tests/extrac09.at index b7218ef8..496c5fd9 100644 --- a/tests/extrac09.at +++ b/tests/extrac09.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac10.at b/tests/extrac10.at index 3efe4aca..03b4947e 100644 --- a/tests/extrac10.at +++ b/tests/extrac10.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac11.at b/tests/extrac11.at index 5a3f419b..bcee2d09 100644 --- a/tests/extrac11.at +++ b/tests/extrac11.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac12.at b/tests/extrac12.at index 0a3a332f..0dc59296 100644 --- a/tests/extrac12.at +++ b/tests/extrac12.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac13.at b/tests/extrac13.at index ba5b4913..d115beda 100644 --- a/tests/extrac13.at +++ b/tests/extrac13.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac14.at b/tests/extrac14.at index 65d1ee1d..20bb7fb2 100644 --- a/tests/extrac14.at +++ b/tests/extrac14.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac15.at b/tests/extrac15.at index 6eb48b3e..4331ad28 100644 --- a/tests/extrac15.at +++ b/tests/extrac15.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac16.at b/tests/extrac16.at index 49227ef1..1a1ef6bf 100644 --- a/tests/extrac16.at +++ b/tests/extrac16.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac17.at b/tests/extrac17.at index 4cac47e3..8537952b 100644 --- a/tests/extrac17.at +++ b/tests/extrac17.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac18.at b/tests/extrac18.at index e76b6657..5b85d0bc 100644 --- a/tests/extrac18.at +++ b/tests/extrac18.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2011, 2013-2014 Free Software Foundation, Inc. +# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/extrac19.at b/tests/extrac19.at index 053d4eb5..9d918d6b 100644 --- a/tests/extrac19.at +++ b/tests/extrac19.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2011, 2013-2014 Free Software Foundation, Inc. +# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/filerem01.at b/tests/filerem01.at index 23c6f8a1..4b42ebde 100644 --- a/tests/filerem01.at +++ b/tests/filerem01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/filerem02.at b/tests/filerem02.at index bbf28059..b6f9d756 100644 --- a/tests/filerem02.at +++ b/tests/filerem02.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/genfile.c b/tests/genfile.c index fa480ef0..219fb5e9 100644 --- a/tests/genfile.c +++ b/tests/genfile.c @@ -2,7 +2,7 @@ Print statistics for existing files. Copyright (C) 1995, 1996, 1997, 2001, 2003, 2004, 2005, 2006, 2007, - 2008, 2009 Free Software Foundation, Inc. + 2008, 2009, 2016 Free Software Foundation, Inc. François Pinard , 1995. Sergey Poznyakoff , 2004, 2005, 2006, 2007, 2008. @@ -32,6 +32,7 @@ #include #include #include +#include #define obstack_chunk_alloc malloc #define obstack_chunk_free free #include @@ -106,6 +107,9 @@ struct timespec touch_time; /* Verbose mode */ int verbose; +/* Quiet mode */ +int quiet; + const char *argp_program_version = "genfile (" PACKAGE ") " VERSION; const char *argp_program_bug_address = "<" PACKAGE_BUGREPORT ">"; static char doc[] = N_("genfile manipulates data files for GNU paxutils test suite.\n" @@ -144,7 +148,8 @@ static struct argp_option options[] = { {"seek", OPT_SEEK, N_("OFFSET"), 0, N_("Seek to the given offset before writing data"), GRP+1 }, - + {"quiet", 'q', NULL, 0, + N_("Suppress non-fatal diagnostic messages") }, #undef GRP #define GRP 10 {NULL, 0, NULL, 0, @@ -265,11 +270,11 @@ verify_file (char *file_name) error (0, errno, _("stat(%s) failed"), file_name); if (st.st_size != file_length + seek_offset) - error (1, 0, _("requested file length %lu, actual %lu"), + error (EXIT_FAILURE, 0, _("requested file length %lu, actual %lu"), (unsigned long)st.st_size, (unsigned long)file_length); - if (mode == mode_sparse && !ST_IS_SPARSE (st)) - error (1, 0, _("created file is not sparse")); + if (!quiet && mode == mode_sparse && !ST_IS_SPARSE (st)) + error (EXIT_FAILURE, 0, _("created file is not sparse")); } } @@ -325,6 +330,10 @@ parse_opt (int key, char *arg, struct argp_state *state) block_size = get_size (arg, 0); break; + case 'q': + quiet = 1; + break; + case 's': mode = mode_sparse; break; @@ -506,10 +515,56 @@ mksparse (int fd, off_t displ, char *marks) } } +static int +make_fragment (int fd, char *offstr, char *mapstr) +{ + int i; + off_t displ = get_size (offstr, 1); + + file_length += displ; + + if (!mapstr || !*mapstr) + { + mkhole (fd, displ); + return 1; + } + else if (*mapstr == '=') + { + off_t n = get_size (mapstr + 1, 1); + + switch (pattern) + { + case DEFAULT_PATTERN: + for (i = 0; i < block_size; i++) + buffer[i] = i & 255; + break; + + case ZEROS_PATTERN: + memset (buffer, 0, block_size); + break; + } + + if (lseek (fd, displ, SEEK_CUR) == -1) + error (EXIT_FAILURE, errno, "lseek"); + + for (; n; n--) + { + if (write (fd, buffer, block_size) != block_size) + error (EXIT_FAILURE, errno, "write"); + file_length += block_size; + } + } + else + { + file_length += block_size * strlen (mapstr); + mksparse (fd, displ, mapstr); + } + return 0; +} + static void generate_sparse_file (int argc, char **argv) { - int i; int fd; int flags = O_CREAT | O_RDWR | O_BINARY; @@ -526,20 +581,33 @@ generate_sparse_file (int argc, char **argv) file_length = 0; - for (i = 0; i < argc; i += 2) + while (argc) { - off_t displ = get_size (argv[i], 1); - file_length += displ; - - if (i == argc-1) + if (argv[0][0] == '-' && argv[0][1] == 0) { - mkhole (fd, displ); - break; + char buf[256]; + while (fgets (buf, sizeof (buf), stdin)) + { + size_t n = strlen (buf); + + while (n > 0 && c_isspace (buf[n-1])) + buf[--n] = 0; + + n = strcspn (buf, " \t"); + buf[n++] = 0; + while (buf[n] && c_isblank (buf[n])) + ++n; + make_fragment (fd, buf, buf + n); + } + ++argv; + --argc; } else { - file_length += block_size * strlen (argv[i+1]); - mksparse (fd, displ, argv[i+1]); + if (make_fragment (fd, argv[0], argv[1])) + break; + argc -= 2; + argv += 2; } } diff --git a/tests/grow.at b/tests/grow.at index 5ebf2c61..4bd1c0ee 100644 --- a/tests/grow.at +++ b/tests/grow.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/gzip.at b/tests/gzip.at index f5c588f6..81cfb060 100644 --- a/tests/gzip.at +++ b/tests/gzip.at @@ -1,8 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2007, 2009-2010, 2013-2014 Free Software Foundation, -# Inc. +# Copyright 2004, 2007, 2009-2010, 2013-2014, 2016 Free Software +# Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/ignfail.at b/tests/ignfail.at index fec64d96..4eef9858 100644 --- a/tests/ignfail.at +++ b/tests/ignfail.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/incr01.at b/tests/incr01.at index 40892f9f..1af6ec60 100644 --- a/tests/incr01.at +++ b/tests/incr01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2005, 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2005, 2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -28,6 +28,8 @@ AT_SETUP([restore broken symlinks from incremental]) AT_KEYWORDS([incremental incr01]) AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP + mkdir directory $as_ln_s foo directory/bar diff --git a/tests/incr02.at b/tests/incr02.at index 3b413e98..7396f6ca 100644 --- a/tests/incr02.at +++ b/tests/incr02.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2005, 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2005, 2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -33,6 +33,7 @@ AT_SETUP([restoring timestamps from incremental]) AT_KEYWORDS([incremental timestamp restore incr02]) AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP # Create directory structure mkdir dir mkdir dir/subdir1 diff --git a/tests/incr03.at b/tests/incr03.at index 59c5332d..d6301a7c 100644 --- a/tests/incr03.at +++ b/tests/incr03.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2009, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. @@ -29,6 +30,7 @@ AT_SETUP([renamed files in incrementals]) AT_KEYWORDS([incremental incr03 rename]) AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP AT_SORT_PREREQ mkdir directory genfile --file=directory/x diff --git a/tests/incr04.at b/tests/incr04.at index 2d29f874..0d1305d0 100644 --- a/tests/incr04.at +++ b/tests/incr04.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2009, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. @@ -32,6 +33,7 @@ AT_KEYWORDS([incremental incr04 icontents]) m4_pushdef([NAME_PREFIX],[a/b/one_31_chars_long_file_name_]) AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP AT_TAR_MKHIER(a/b) awk 'BEGIN { for (i=1;i<=142;i++) diff --git a/tests/incr05.at b/tests/incr05.at index 85372437..fbb4ac4c 100644 --- a/tests/incr05.at +++ b/tests/incr05.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -22,6 +22,7 @@ AT_SETUP([incremental dumps with -C]) AT_KEYWORDS([incremental incr05]) AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP mkdir dir mkdir dir/sub genfile --file dir/file1 diff --git a/tests/incr06.at b/tests/incr06.at index 931ec529..2509461f 100644 --- a/tests/incr06.at +++ b/tests/incr06.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -22,6 +22,7 @@ AT_SETUP([incremental dumps of nested directories]) AT_KEYWORDS([incremental incr06]) AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP mkdir dir mkdir dir/sub mkdir dir/sub/a diff --git a/tests/incr07.at b/tests/incr07.at index cbd4a3da..a5b88673 100644 --- a/tests/incr07.at +++ b/tests/incr07.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -38,6 +38,7 @@ AT_KEYWORDS([incremental extract incr07]) # http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00044.html AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP mkdir dirA echo 'a' > dirA/a echo 'a' > dirA/b diff --git a/tests/incr08.at b/tests/incr08.at index b67fe1d3..e74be3d5 100644 --- a/tests/incr08.at +++ b/tests/incr08.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -39,6 +39,7 @@ AT_SETUP([filename normalization]) AT_KEYWORDS([incremental create incr08]) AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP AT_SORT_PREREQ mkdir tartest cd tartest diff --git a/tests/incr09.at b/tests/incr09.at index efe65383..983bdc24 100644 --- a/tests/incr09.at +++ b/tests/incr09.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -27,6 +27,7 @@ AT_SETUP([incremental with alternating -C]) AT_KEYWORDS([incremental create incr09]) AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP AT_SORT_PREREQ mkdir foo bar middle echo foo/foo_file > foo/foo_file diff --git a/tests/incr10.at b/tests/incr10.at new file mode 100644 index 00000000..cc77d499 --- /dev/null +++ b/tests/incr10.at @@ -0,0 +1,65 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2015-2016 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([concatenated incremental archives (deletes)]) +AT_KEYWORDS([incremental concat cat incr10]) + +# Description: Extraction from concatenated incremental archives +# produced spurious error messages when trying to set file ownership +# and permissions on deleted directories. +# Reported by: Alex Efros +# References: <20150411224008.GO24600@home.power> +# http://lists.gnu.org/archive/html/bug-tar/2015-04/msg00003.html + +AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP +mkdir in +mkdir in/dir +decho Level 0 +tar -cvf 1.tar -g snap -C in . +rmdir in/dir +decho Level 1 +tar -cvf 2.tar -g snap -C in . +cp 1.tar full.tar +decho Concat +tar -A 2.tar -f full.tar -g /dev/null +decho Extract +mkdir out +tar -xvf full.tar -g /dev/null -C out +], +[0], +[Level 0 +./ +./dir/ +Level 1 +./ +Concat +Extract +./ +./dir/ +./ +tar: Deleting './dir' +], +[Level 0 +tar: .: Directory is new +tar: ./dir: Directory is new +Level 1 +Concat +Extract +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/incr11.at b/tests/incr11.at new file mode 100644 index 00000000..061a8db0 --- /dev/null +++ b/tests/incr11.at @@ -0,0 +1,76 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2015-2016 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: Extraction from concatenated incremental archives +# produced spurious error messages when trying to set file ownership +# and permissions on renamed directories +# Reported by: Alex Efros +# References: <20151129094003.GD18347@home.power> +# http://lists.gnu.org/archive/html/bug-tar/2015-11/msg00033.html + +AT_SETUP([concatenated incremental archives (renames)]) +AT_KEYWORDS([incremental concat cat incr11]) + +AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP +AT_SORT_PREREQ +AT_TAR_MKHIER([data/dir],[file]) +decho Level 0 +tar -cvf full.tar -g snap -C data . +decho Level 1 +mv data/dir data/dir2 +tar -cvf incr.tar -g snap -C data . +decho Concat +cp full.tar full2.tar +tar -A -f full2.tar incr.tar +decho Extract +mkdir out +tar -xvf full2.tar -g /dev/null -C out +decho List +find out | sort +], +[0], +[Level 0 +./ +./dir/ +./dir/file +Level 1 +./ +./dir2/ +Concat +Extract +./ +./dir/ +./dir/file +./ +./dir2/ +List +out +out/dir2 +out/dir2/file +], +[Level 0 +tar: .: Directory is new +tar: ./dir: Directory is new +Level 1 +tar: ./dir2: Directory has been renamed from './dir' +Concat +Extract +List +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/incremental.at b/tests/incremental.at index 60c82ba1..0b8a9779 100644 --- a/tests/incremental.at +++ b/tests/incremental.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -24,6 +24,8 @@ AT_SETUP([incremental]) AT_KEYWORDS([incremental listed incr00]) AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP + mkdir structure echo x >structure/file diff --git a/tests/indexfile.at b/tests/indexfile.at index df3e8307..15083b62 100644 --- a/tests/indexfile.at +++ b/tests/indexfile.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/label01.at b/tests/label01.at index 8b6f3932..a601ab4c 100644 --- a/tests/label01.at +++ b/tests/label01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/label02.at b/tests/label02.at index 524686c7..af47da1f 100644 --- a/tests/label02.at +++ b/tests/label02.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/label03.at b/tests/label03.at index 3c7d1549..5e44288f 100644 --- a/tests/label03.at +++ b/tests/label03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/label04.at b/tests/label04.at index 677614fe..aa71f540 100644 --- a/tests/label04.at +++ b/tests/label04.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/label05.at b/tests/label05.at index f8a9b6d6..5cc23683 100644 --- a/tests/label05.at +++ b/tests/label05.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/link01.at b/tests/link01.at index b11ed32e..b00047e6 100644 --- a/tests/link01.at +++ b/tests/link01.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2007, 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2009, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/link02.at b/tests/link02.at index 8be2fa8f..f69f28cf 100644 --- a/tests/link02.at +++ b/tests/link02.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/link03.at b/tests/link03.at index ca85201b..c21e5c92 100644 --- a/tests/link03.at +++ b/tests/link03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/link04.at b/tests/link04.at index 03697bd6..46d1b127 100644 --- a/tests/link04.at +++ b/tests/link04.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -39,6 +39,10 @@ tar tvf archive | sed ' s,.*[[0-9]] dir/,dir/, ' | sort +echo -- + +tar cfl archive dir dir + echo == tar chf archive dir @@ -55,6 +59,7 @@ dir/file dir/file link to dir/file dir/symlink -> file dir/symlink link to dir/symlink +-- == dir/ dir/FOO diff --git a/tests/listed01.at b/tests/listed01.at index eff2bdc5..fc0a356e 100644 --- a/tests/listed01.at +++ b/tests/listed01.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004-2007, 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004-2007, 2009, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. @@ -27,6 +28,8 @@ AT_SETUP([--listed for individual files]) AT_KEYWORDS([listed incremental listed01]) AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP + mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 # Let the things settle diff --git a/tests/listed02.at b/tests/listed02.at index 2fb77fd3..153644ba 100644 --- a/tests/listed02.at +++ b/tests/listed02.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004-2007, 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004-2007, 2009, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. @@ -29,6 +30,7 @@ AT_SETUP([working --listed]) AT_KEYWORDS([listed incremental listed02]) AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP AT_SORT_PREREQ echo Create directories diff --git a/tests/listed03.at b/tests/listed03.at index c2cf52f7..07bd1c8e 100644 --- a/tests/listed03.at +++ b/tests/listed03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -25,6 +25,7 @@ AT_SETUP([incremental dump when the parent directory is unreadable]) AT_KEYWORDS([listed incremental listed03]) AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP AT_UNPRIVILEGED_PREREQ mkdir dir @@ -34,9 +35,13 @@ genfile --file dir/sub/a/file cd dir/sub chmod a-r .. -tar -c -f archive.tar --listed-incremental=db.1 -v a +tar -c -f archive.tar --listed-incremental=db.1 -v a 2>err status=$? chmod a+r .. +if test $status -eq 2; then + grep '^tar: \.: Cannot getcwd' err >/dev/null 2>&1 && AT_SKIP_TEST +fi +cat err >&2 exit $status ], [0], diff --git a/tests/listed04.at b/tests/listed04.at index a5513aaf..ea8450f3 100644 --- a/tests/listed04.at +++ b/tests/listed04.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -27,7 +27,7 @@ AT_SETUP([--listed-incremental and --one-file-system]) AT_KEYWORDS([listed incremental listed04]) AT_TAR_CHECK([ - +AT_CHECK_TIMESTAMP mkdir dir echo a >dir/a echo b >dir/b diff --git a/tests/listed05.at b/tests/listed05.at index 42f3c63c..13ac42ac 100644 --- a/tests/listed05.at +++ b/tests/listed05.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -34,6 +34,7 @@ AT_SETUP([--listed-incremental and remounted directories]) AT_KEYWORDS([listed incremental listed05]) AT_TAR_CHECK([ +AT_CHECK_TIMESTAMP AT_PRIVILEGED_PREREQ options="-C tartest --create --one-file-system --verbose" rm -rf archive-[01].snar archive-[01].tar tartest subdir diff --git a/tests/long01.at b/tests/long01.at index 42d65b7e..d823d816 100644 --- a/tests/long01.at +++ b/tests/long01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2005-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2005-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/longv7.at b/tests/longv7.at index 603a7eca..885085cc 100644 --- a/tests/longv7.at +++ b/tests/longv7.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/lustar01.at b/tests/lustar01.at index 3c0d2194..dcf5e310 100644 --- a/tests/lustar01.at +++ b/tests/lustar01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/lustar02.at b/tests/lustar02.at index cf2660b1..23c7c973 100644 --- a/tests/lustar02.at +++ b/tests/lustar02.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/lustar03.at b/tests/lustar03.at index 913ae11d..3ab2307a 100644 --- a/tests/lustar03.at +++ b/tests/lustar03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/map.at b/tests/map.at new file mode 100644 index 00000000..4060babb --- /dev/null +++ b/tests/map.at @@ -0,0 +1,71 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2015-2016 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Check the --owner-map and --group-map options. + +AT_SETUP([--owner-map and --group-map]) +AT_KEYWORDS([owner map]) + +AT_TAR_CHECK([ +export TZ=UTC0 + +genfile --file a +set -- `genfile --stat=uid,gid a` +cat > uid.map < gid.map < uid.map +> gid.map + +tar --owner-map=uid.map\ + --group-map=gid.map\ + --owner="Fallback Owner:4321" \ + --group="Fallback Group:8765" \ + --mtime='@0' \ + --mode='u=rw,go=r' \ + -cf 2.tar a + +tar -tvf 2.tar +tar --numeric-owner -tvf 2.tar +], +[0], +[-rw-r--r-- Joe the Plumber/Plumber's Union 0 1970-01-01 00:00 a +-rw-r--r-- 1234/5678 0 1970-01-01 00:00 a +-rw-r--r-- Fallback Owner/Fallback Group 0 1970-01-01 00:00 a +-rw-r--r-- 4321/8765 0 1970-01-01 00:00 a +], +[],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/multiv01.at b/tests/multiv01.at index a5dedf60..c7a1f092 100644 --- a/tests/multiv01.at +++ b/tests/multiv01.at @@ -1,8 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2009, 2013-2014 Free Software Foundation, -# Inc. +# Copyright 2004, 2006-2007, 2009, 2013-2014, 2016 Free Software +# Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/multiv02.at b/tests/multiv02.at index 010b72d5..5e814276 100644 --- a/tests/multiv02.at +++ b/tests/multiv02.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/multiv03.at b/tests/multiv03.at index b552c4e1..56937c10 100644 --- a/tests/multiv03.at +++ b/tests/multiv03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/multiv04.at b/tests/multiv04.at index 7d2c1fe5..9c99c9ea 100644 --- a/tests/multiv04.at +++ b/tests/multiv04.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2005-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2005-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/multiv05.at b/tests/multiv05.at index 862ec0ec..0b12bf97 100644 --- a/tests/multiv05.at +++ b/tests/multiv05.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2008, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2008, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/multiv06.at b/tests/multiv06.at index 739c87e8..ebdfd505 100644 --- a/tests/multiv06.at +++ b/tests/multiv06.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2008, 2013-2014 Free Software Foundation, Inc. +# Copyright 2008, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/multiv07.at b/tests/multiv07.at index 9ea9ea8c..a82e2712 100644 --- a/tests/multiv07.at +++ b/tests/multiv07.at @@ -1,5 +1,5 @@ # Test suite for GNU tar. -*- Autotest -*- -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/multiv08.at b/tests/multiv08.at index f8cadea2..8b5bd231 100644 --- a/tests/multiv08.at +++ b/tests/multiv08.at @@ -1,5 +1,5 @@ # Test suite for GNU tar. -*- Autotest -*- -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/multiv09.at b/tests/multiv09.at new file mode 100644 index 00000000..e6a05b75 --- /dev/null +++ b/tests/multiv09.at @@ -0,0 +1,48 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2015-2016 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: Tar <=1.28 would segfault extracting from a multi-volume +# archive containging filenames >= 100 characters if the subsequent volume +# was not set properly. +# Reported by: Pavel Raiskup +# References: https://bugzilla.redhat.com/show_bug.cgi?id=866071, +# <1351863945-31192-3-git-send-email-praiskup@redhat.com>, +# http://lists.gnu.org/archive/html/bug-tar/2012-11/msg00009.html + +AT_SETUP([bad next volume]) +AT_KEYWORDS([multivolume multiv multiv09]) + +# filename of length 100 characters +m4_pushdef([FILENAME],[dnl +m4_for([N],1,100,,[a])]) + +AT_TAR_CHECK([ +genfile --length 2000000 --file FILENAME +tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar FILENAME || exit $? +echo "created" +tar --format=gnu -xM -f A.tar 2>/dev/null <. + +AT_SETUP([--numeric-owner basic tests]) +AT_KEYWORDS([options numeric numeric-owner]) + +m4_pushdef([TESTOP],[ +decho $1 +tar $1 -vvf a dir --numeric-owner |dnl + awk '@S|@2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar $1 -vvf a dir |dnl + awk '@S|@2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' +]) + +AT_TAR_CHECK([ +mkdir dir +genfile --file dir/file + +MYUID=$(id -u) || AT_SKIP_TEST +MYGID=$(id -g) || AT_SKIP_TEST +MYUSR=$(id -un) || AT_SKIP_TEST +MYGRP=$(id -gn) || AT_SKIP_TEST + +TESTOP([--create]) +TESTOP([--list]) +TESTOP([--diff]) +TESTOP([--extract]) +], +[0], +[--create +OK +OK +OK +OK +--list +OK +OK +OK +OK +--diff +OK +OK +OK +OK +--extract +OK +OK +OK +OK +], +[--create +--list +--diff +--extract +],[],[],[posix,gnu,ustar,oldgnu]) + +AT_CLEANUP + +m4_popdef([TESTOP]) + diff --git a/tests/old.at b/tests/old.at index e033b56c..34bbda62 100644 --- a/tests/old.at +++ b/tests/old.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/onetop01.at b/tests/onetop01.at index a970a991..daa03e8f 100644 --- a/tests/onetop01.at +++ b/tests/onetop01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2014 Free Software Foundation, Inc. +# Copyright 2014-2016 Free Software Foundation, Inc. # # This file is part of GNU tar. # diff --git a/tests/onetop02.at b/tests/onetop02.at index 454f6928..a38d4521 100644 --- a/tests/onetop02.at +++ b/tests/onetop02.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2014 Free Software Foundation, Inc. +# Copyright 2014-2016 Free Software Foundation, Inc. # # This file is part of GNU tar. # diff --git a/tests/onetop03.at b/tests/onetop03.at index 3ffc71da..ed9f6671 100644 --- a/tests/onetop03.at +++ b/tests/onetop03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2014 Free Software Foundation, Inc. +# Copyright 2014-2016 Free Software Foundation, Inc. # # This file is part of GNU tar. # @@ -19,7 +19,7 @@ # along with this program. If not, see . # AT_SETUP([tar --one-top-level --transform]) -AT_KEYWORDS([extract onetop onetop02]) +AT_KEYWORDS([extract onetop onetop03]) AT_TAR_CHECK([ AT_SORT_PREREQ diff --git a/tests/onetop04.at b/tests/onetop04.at index 37fba19a..c76ff80f 100644 --- a/tests/onetop04.at +++ b/tests/onetop04.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2014 Free Software Foundation, Inc. +# Copyright 2014-2016 Free Software Foundation, Inc. # # This file is part of GNU tar. # @@ -19,7 +19,7 @@ # along with this program. If not, see . # AT_SETUP([tar --one-top-level --transform]) -AT_KEYWORDS([extract onetop onetop02]) +AT_KEYWORDS([extract onetop onetop04]) AT_TAR_CHECK([ AT_SORT_PREREQ diff --git a/tests/onetop05.at b/tests/onetop05.at new file mode 100644 index 00000000..d718f613 --- /dev/null +++ b/tests/onetop05.at @@ -0,0 +1,73 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2015-2016 Free Software Foundation, Inc. +# +# This file is part of GNU tar. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +AT_SETUP([tar --one-top-level restoring permissions]) +AT_KEYWORDS([extract onetop onetop05]) + +# 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. + +AT_TAR_CHECK([ +orig_mode=3702 +mkdir d +chmod $orig_mode d + +mode=$(genfile --stat=mode.7777 d) +test $mode = $orig_mode || AT_SKIP_TEST + +genfile --file d/file +tar -cf d.tar -C d . +rm -rf d + +(mkdir d1 +chmod 700 d1 +cd d1 +tar --one-top-level=top -xpf ../d.tar) +mode=$(genfile --stat=mode.777 d1) +if test 700 = $mode; then + echo "CWD: OK" +else + echo "CWD: mode changed: 700 != $mode" +fi + +mkdir d2 +chmod 700 d2 +tar -C d2 --one-top-level=top -xpf d.tar +mode=$(genfile --stat=mode.777 d2) +if test 700 = $mode; then + echo "DIR: OK" +else + echo "DIR: mode changed: 700 != $mode" +fi +mode=$(genfile --stat=mode.7777 d2/top) +if test $mode = $orig_mode; then + echo "TOP: OK" +else + echo "TOP: mode changed: $orig_mode != $mode" +fi +], +[0], +[CWD: OK +DIR: OK +TOP: OK +]) + +AT_CLEANUP diff --git a/tests/opcomp01.at b/tests/opcomp01.at index bcd96d3e..da6c3678 100644 --- a/tests/opcomp01.at +++ b/tests/opcomp01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/opcomp02.at b/tests/opcomp02.at index 1a36b134..b2dfb5e9 100644 --- a/tests/opcomp02.at +++ b/tests/opcomp02.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/opcomp03.at b/tests/opcomp03.at index 20ace585..5d293cf2 100644 --- a/tests/opcomp03.at +++ b/tests/opcomp03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/opcomp04.at b/tests/opcomp04.at index 2f9eb049..053bbfc7 100644 --- a/tests/opcomp04.at +++ b/tests/opcomp04.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/opcomp05.at b/tests/opcomp05.at index adcdc67d..873e34bb 100644 --- a/tests/opcomp05.at +++ b/tests/opcomp05.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/opcomp06.at b/tests/opcomp06.at index 3ac66105..9d51936d 100644 --- a/tests/opcomp06.at +++ b/tests/opcomp06.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/options.at b/tests/options.at index 32b50bd9..e5ff8ade 100644 --- a/tests/options.at +++ b/tests/options.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/options02.at b/tests/options02.at index c8dfdbd5..9f3175f1 100644 --- a/tests/options02.at +++ b/tests/options02.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/owner.at b/tests/owner.at index 9c04223d..87458e90 100644 --- a/tests/owner.at +++ b/tests/owner.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2011, 2013-2014 Free Software Foundation, Inc. +# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/package.m4 b/tests/package.m4 index 3ec05919..396ad8b5 100644 --- a/tests/package.m4 +++ b/tests/package.m4 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU tar]) m4_define([AT_PACKAGE_TARNAME], [tar]) -m4_define([AT_PACKAGE_VERSION], [1.28]) -m4_define([AT_PACKAGE_STRING], [GNU tar 1.28]) +m4_define([AT_PACKAGE_VERSION], [1.29]) +m4_define([AT_PACKAGE_STRING], [GNU tar 1.29]) m4_define([AT_PACKAGE_BUGREPORT], [bug-tar@gnu.org]) diff --git a/tests/pipe.at b/tests/pipe.at index 2cfa5f5a..6ba96440 100644 --- a/tests/pipe.at +++ b/tests/pipe.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004-2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004-2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/recurs02.at b/tests/recurs02.at index 93aa2c14..adc8f301 100644 --- a/tests/recurs02.at +++ b/tests/recurs02.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2014 Free Software Foundation, Inc. +# Copyright 2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -37,11 +37,18 @@ tar --create --file archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 tar tf archive +tar cf archive directory1 directory2 +tar tf archive \ + --no-recursion directory1 \ + --recursion directory2 || exit 1 ], [0], [directory1/ directory2/ directory2/file +directory1/ +directory2/ +directory2/file ]) AT_CLEANUP diff --git a/tests/recurse.at b/tests/recurse.at index c79e7954..e847a162 100644 --- a/tests/recurse.at +++ b/tests/recurse.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/remfiles01.at b/tests/remfiles01.at index 39adcaa0..e257b9ad 100644 --- a/tests/remfiles01.at +++ b/tests/remfiles01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/remfiles02.at b/tests/remfiles02.at index c77afedf..87fc44ae 100644 --- a/tests/remfiles02.at +++ b/tests/remfiles02.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/remfiles03.at b/tests/remfiles03.at index bc3f3797..b0c810dd 100644 --- a/tests/remfiles03.at +++ b/tests/remfiles03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/remfiles04a.at b/tests/remfiles04a.at index ace78e8e..8d7dc633 100644 --- a/tests/remfiles04a.at +++ b/tests/remfiles04a.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles04b.at b/tests/remfiles04b.at index 27273a65..b075cf47 100644 --- a/tests/remfiles04b.at +++ b/tests/remfiles04b.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles04c.at b/tests/remfiles04c.at index bf426c6a..fd47d915 100644 --- a/tests/remfiles04c.at +++ b/tests/remfiles04c.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles05a.at b/tests/remfiles05a.at index cc3680bc..cc952ba3 100644 --- a/tests/remfiles05a.at +++ b/tests/remfiles05a.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles05b.at b/tests/remfiles05b.at index f4294510..140e481a 100644 --- a/tests/remfiles05b.at +++ b/tests/remfiles05b.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles05c.at b/tests/remfiles05c.at index c1a46380..00ab7068 100644 --- a/tests/remfiles05c.at +++ b/tests/remfiles05c.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles06a.at b/tests/remfiles06a.at index 798c7c33..20548260 100644 --- a/tests/remfiles06a.at +++ b/tests/remfiles06a.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles06b.at b/tests/remfiles06b.at index 2626f2e3..3671761d 100644 --- a/tests/remfiles06b.at +++ b/tests/remfiles06b.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles06c.at b/tests/remfiles06c.at index 78a70e49..4c5694b2 100644 --- a/tests/remfiles06c.at +++ b/tests/remfiles06c.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles07a.at b/tests/remfiles07a.at index f3131f77..b11aee16 100644 --- a/tests/remfiles07a.at +++ b/tests/remfiles07a.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles07b.at b/tests/remfiles07b.at index c5db0d5a..694a437c 100644 --- a/tests/remfiles07b.at +++ b/tests/remfiles07b.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles07c.at b/tests/remfiles07c.at index 9b4139a4..21b7ae2b 100644 --- a/tests/remfiles07c.at +++ b/tests/remfiles07c.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles08a.at b/tests/remfiles08a.at index 8db9f717..39bb9922 100644 --- a/tests/remfiles08a.at +++ b/tests/remfiles08a.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles08b.at b/tests/remfiles08b.at index 13beaf42..cb7750ec 100644 --- a/tests/remfiles08b.at +++ b/tests/remfiles08b.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -31,8 +31,6 @@ AT_SETUP([remove-files deleting two subdirs in -c/incr. mode]) AT_KEYWORDS([create incremental remove-files remfiles08 remfiles08b]) -AT_XFAIL_IF(true) # we expect to fail in tar 1.27 - AT_TAR_CHECK([ mkdir foo mkdir bar diff --git a/tests/remfiles08c.at b/tests/remfiles08c.at index b52b0328..ef65b49e 100644 --- a/tests/remfiles08c.at +++ b/tests/remfiles08c.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles09a.at b/tests/remfiles09a.at index 5f96737e..79ef30ae 100644 --- a/tests/remfiles09a.at +++ b/tests/remfiles09a.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles09b.at b/tests/remfiles09b.at index 45b8440c..ac506bed 100644 --- a/tests/remfiles09b.at +++ b/tests/remfiles09b.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -29,8 +29,6 @@ AT_SETUP([remove-files on full directory in -c/incr. mode]) AT_KEYWORDS([create incremental remove-files remfiles09 remfiles09b]) -AT_XFAIL_IF(true) # we expect to fail in tar 1.27 - AT_TAR_CHECK([ mkdir foo echo foo/file > foo/file diff --git a/tests/remfiles09c.at b/tests/remfiles09c.at index 7d7d9676..ebc2e015 100644 --- a/tests/remfiles09c.at +++ b/tests/remfiles09c.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/remfiles10.at b/tests/remfiles10.at index b4fe1393..ddd631ba 100644 --- a/tests/remfiles10.at +++ b/tests/remfiles10.at @@ -1,6 +1,6 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2014 Free Software Foundation, Inc. +# Copyright 2014, 2016 Free Software Foundation, Inc. # # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/rename01.at b/tests/rename01.at index e6990fec..5275b7d2 100644 --- a/tests/rename01.at +++ b/tests/rename01.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2009, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/rename02.at b/tests/rename02.at index 8de3123a..9bf80004 100644 --- a/tests/rename02.at +++ b/tests/rename02.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2009, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/rename03.at b/tests/rename03.at index fdfff3a2..a7d932de 100644 --- a/tests/rename03.at +++ b/tests/rename03.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2009, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/rename04.at b/tests/rename04.at index c6319ea9..c31dfdff 100644 --- a/tests/rename04.at +++ b/tests/rename04.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2008, 2013-2014 Free Software Foundation, Inc. +# Copyright 2008, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/rename05.at b/tests/rename05.at index 417ac28f..25a26661 100644 --- a/tests/rename05.at +++ b/tests/rename05.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2008, 2013-2014 Free Software Foundation, Inc. +# Copyright 2008, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/same-order01.at b/tests/same-order01.at index fab9c3e8..f50e923c 100644 --- a/tests/same-order01.at +++ b/tests/same-order01.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/same-order02.at b/tests/same-order02.at index 56dd71ba..18ce8a0c 100644 --- a/tests/same-order02.at +++ b/tests/same-order02.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/selacl01.at b/tests/selacl01.at index b90794d3..72d21c87 100644 --- a/tests/selacl01.at +++ b/tests/selacl01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2011, 2013-2014 Free Software Foundation, Inc. +# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/selnx01.at b/tests/selnx01.at index 48b45d9b..7485cc8e 100644 --- a/tests/selnx01.at +++ b/tests/selnx01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2012-2014 Free Software Foundation, Inc. +# Copyright 2012-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/shortfile.at b/tests/shortfile.at index 2a9fdf6b..543173d9 100644 --- a/tests/shortfile.at +++ b/tests/shortfile.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/shortrec.at b/tests/shortrec.at index 13e46d34..07b0af37 100644 --- a/tests/shortrec.at +++ b/tests/shortrec.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2005, 2007-2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2005, 2007-2009, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/shortupd.at b/tests/shortupd.at index 1a43e411..d5f93a43 100644 --- a/tests/shortupd.at +++ b/tests/shortupd.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/sigpipe.at b/tests/sigpipe.at index 4b27ef12..825b72b9 100644 --- a/tests/sigpipe.at +++ b/tests/sigpipe.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/sparse01.at b/tests/sparse01.at index ccd54dae..bf0e08c3 100644 --- a/tests/sparse01.at +++ b/tests/sparse01.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/sparse02.at b/tests/sparse02.at index 1f044914..a4ac62ed 100644 --- a/tests/sparse02.at +++ b/tests/sparse02.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. @@ -27,7 +28,7 @@ AT_KEYWORDS([sparse sparse02]) AT_TAR_CHECK([ genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || AT_SKIP_TEST -tar -c -f archive --sparse sparsefile || exit 1 +tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 diff --git a/tests/sparse03.at b/tests/sparse03.at index 3521eab7..30f381c5 100644 --- a/tests/sparse03.at +++ b/tests/sparse03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2005-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2005-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/sparse04.at b/tests/sparse04.at index c6e9cd35..833cbf78 100644 --- a/tests/sparse04.at +++ b/tests/sparse04.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/sparse05.at b/tests/sparse05.at new file mode 100644 index 00000000..0c7a0373 --- /dev/null +++ b/tests/sparse05.at @@ -0,0 +1,47 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2014, 2016 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([listing sparse files bigger than 2^33 B]) +AT_KEYWORDS([sparse sparse05]) + +# Description: If an archive in POSIX.1-2001 archive contained a sparse file +# member whose real size (excluding zero blocks) is bigger than 2^33 bytes, +# tar 1.28 would incorrectly list the real member size. +# Reported by: Pavel Raiskup +# References: <1359119879.15037.4.camel@raiskup>, +# http://lists.gnu.org/archive/html/bug-tar/2013-01/msg00001.html + +AT_TAR_CHECK([ +AT_DATA([mapfile], +[0 =2560 +m4_for([i], 1, 999, 1, [10M =2560 +])]) +genfile --sparse --file BIGFILE --block-size 4K - < mapfile || AT_SKIP_TEST +tar -f - -c --sparse --posix BIGFILE | tar tvf - | awk '{ print $3, $(NF) }' +], +[0], +[20961034240 BIGFILE +], +[], +[], +[], +[pax]) + +AT_CLEANUP diff --git a/tests/sparse06.at b/tests/sparse06.at new file mode 100644 index 00000000..70141252 --- /dev/null +++ b/tests/sparse06.at @@ -0,0 +1,54 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2014, 2016 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([storing sparse file using seek method]) +AT_KEYWORDS([sparse sparse06]) + +m4_define([check_pattern],[ +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse $1 +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse +]) + +AT_TAR_CHECK([ +AT_SEEKHOLE_PREREQ + +TAR_OPTIONS="$TAR_OPTIONS --hole-detection=seek" +genfile --sparse --file bigsparse 0 ABC 8G DEF +tar -cSf a bigsparse +test $? -eq 0 || exit 1 + +check_pattern([0 ABC]) +check_pattern([0 ABC 10M]) +check_pattern([0 ABC 10M DEF]) + +check_pattern([10M]) +check_pattern([10M ABC]) +check_pattern([10M ABC 20M]) + +check_pattern([10M DEF 20M GHI 30M JKL 40M]) + +], +[0],, +[],,,[posix]) + +AT_CLEANUP diff --git a/tests/sparsemv.at b/tests/sparsemv.at index 958f04e1..3d642fe5 100644 --- a/tests/sparsemv.at +++ b/tests/sparsemv.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2005-2008, 2013-2014 Free Software Foundation, Inc. +# Copyright 2005-2008, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -30,6 +30,7 @@ AT_KEYWORDS([sparse multiv sparsemv]) AT_TAR_CHECK([ exec <&- +TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw" genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || AT_SKIP_TEST echo "Pass 1: Split between data blocks" echo "Create archive" diff --git a/tests/sparsemvp.at b/tests/sparsemvp.at index 29ee224b..9a0e1f57 100644 --- a/tests/sparsemvp.at +++ b/tests/sparsemvp.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2005-2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2005-2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -26,6 +26,7 @@ dnl TAR_MVP_TEST version map1 map2 m4_define([TAR_MVP_TEST],[ AT_TAR_CHECK([ exec <&- +TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw" genfile --sparse --file sparsefile $2 || AT_SKIP_TEST echo "Pass 1: Split between data blocks" echo "Create archive" diff --git a/tests/spmvp00.at b/tests/spmvp00.at index 30a05855..c053117e 100644 --- a/tests/spmvp00.at +++ b/tests/spmvp00.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/spmvp01.at b/tests/spmvp01.at index a6788c80..b1fc1e37 100644 --- a/tests/spmvp01.at +++ b/tests/spmvp01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/spmvp10.at b/tests/spmvp10.at index 4adf10be..a6373677 100644 --- a/tests/spmvp10.at +++ b/tests/spmvp10.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/star/README b/tests/star/README index fc476730..57a66091 100644 --- a/tests/star/README +++ b/tests/star/README @@ -67,8 +67,8 @@ the example below: * Copying -Copyright 2004, 2006-2008, 2010, 2012-2014 Free Software Foundation, -Inc. +Copyright 2004, 2006-2008, 2010, 2012-2014, 2016 Free Software +Foundation, Inc. This file is part of GNU tar. diff --git a/tests/star/gtarfail.at b/tests/star/gtarfail.at index 8416942e..3fc661bd 100644 --- a/tests/star/gtarfail.at +++ b/tests/star/gtarfail.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/star/gtarfail2.at b/tests/star/gtarfail2.at index e2c52ea1..9ab5fbe2 100644 --- a/tests/star/gtarfail2.at +++ b/tests/star/gtarfail2.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/star/multi-fail.at b/tests/star/multi-fail.at index 053cfc99..07df54e4 100644 --- a/tests/star/multi-fail.at +++ b/tests/star/multi-fail.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/star/pax-big-10g.at b/tests/star/pax-big-10g.at index ea99caf1..9693e7d0 100644 --- a/tests/star/pax-big-10g.at +++ b/tests/star/pax-big-10g.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/star/quicktest.sh b/tests/star/quicktest.sh index 84e5fc13..1cb0158d 100755 --- a/tests/star/quicktest.sh +++ b/tests/star/quicktest.sh @@ -1,6 +1,7 @@ #! /bin/sh # This file is part of GNU tar testsuite. -# Copyright 2004-2005, 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004-2005, 2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/star/ustar-big-2g.at b/tests/star/ustar-big-2g.at index 1e2081f5..a3fadb34 100644 --- a/tests/star/ustar-big-2g.at +++ b/tests/star/ustar-big-2g.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/star/ustar-big-8g.at b/tests/star/ustar-big-8g.at index 6857ce3b..7c3498a6 100644 --- a/tests/star/ustar-big-8g.at +++ b/tests/star/ustar-big-8g.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/testsuite b/tests/testsuite index c1432b16..4c0d7bec 100755 --- a/tests/testsuite +++ b/tests/testsuite @@ -590,10 +590,10 @@ at_tested='tar' # numerical order. at_format='???' # Description of all the test groups. -at_help_all="1;version.at:19;tar version;; +at_help_all="1;version.at:20;tar version;; 2;pipe.at:29;decompressing from stdin;pipe; -3;options.at:24;mixing options;options options00; -4;options02.at:26;interspersed options;options options02; +3;options.at:25;mixing options;options options00; +4;options02.at:27;interspersed options;options options02; 5;opcomp01.at:21;occurrence compatibility;opcomp opcomp01; 6;opcomp02.at:21;occurrence compatibility;opcomp opcomp02; 7;opcomp03.at:21;--verify compatibility;opcomp opcomp03; @@ -603,181 +603,197 @@ at_help_all="1;version.at:19;tar version;; 11;T-mult.at:21;multiple file lists;files-from t-mult; 12;T-nest.at:21;nested file lists;files-from t-nest; 13;T-rec.at:21;recursive file lists;files-from t-rec; -14;T-cd.at:21;-C in file lists;files-from t-cd; -15;T-empty.at:26;empty entries;files-from empty-line; -16;T-null.at:21;0-separated file without -0;files-from null t-null; -17;T-zfile.at:26;empty file;files-from empty-file; -18;T-nonl.at:27;entries with missing newlines;files-from nonewline nonl t-nonl; -19;indexfile.at:26;tar --index-file=FILE --file=-;stdout indexfile; -20;verbose.at:26;tar cvf -;stdout verbose; -21;gzip.at:24;gzip;gzip; -22;recurse.at:21;recurse;recurse; -23;recurs02.at:30;recurse: toggle;recurse options recurse02; -24;shortrec.at:25;short records;shortrec; -25;iotty.at:26;terminal input;options iotty; -26;same-order01.at:26;working -C with --same-order;same-order same-order01; -27;same-order02.at:25;multiple -C options;same-order same-order02; -28;append.at:21;append;append append00; -29;append01.at:29;appending files with long names;append append01; -30;append02.at:54;append vs. create;append append02 append-gnu; -31;append03.at:21;append with name transformation;append append03; -32;append04.at:29;append with verify;append append04 verify append-verify; -33;xform-h.at:30;transforming hard links on create;transform xform xform-h; -34;xform01.at:26;transformations and GNU volume labels;transform xform xform01 volume; -35;exclude.at:23;exclude;exclude; -36;exclude01.at:19;exclude wildcards;exclude exclude01; -37;exclude02.at:19;exclude: anchoring;exclude exclude02; -38;exclude03.at:19;exclude: wildcards match slash;exclude exclude03; -39;exclude04.at:19;exclude: case insensitive;exclude exclude04; -40;exclude05.at:21;exclude: lots of excludes;exclude exclude05; -41;exclude06.at:26;exclude: long files in pax archives;exclude exclude06; -42;exclude07.at:19;exclude: --exclude-backups option;exclude exclude07; -43;exclude08.at:36;--exclude-tag option;exclude exclude-tag exclude08; -44;exclude09.at:37;--exclude-tag option and --listed-incremental;exclude exclude-tag listed incremental exclude09; -45;exclude10.at:38;--exclude-tag option in incremental pass;exclude exclude-tag listed incremental exclude10; -46;exclude11.at:36;--exclude-tag-under option;exclude exclude-tag exclude-tag-under exclude11; -47;exclude12.at:37;--exclude-tag-under and --listed-incremental;exclude exclude-tag exclude-tag-under listed incremental exclude12; -48;exclude13.at:39;--exclude-tag-under option in incremental pass;exclude exclude-tag exclude-tag-under listed incremental exclude13; -49;exclude14.at:36;--exclude-tag-all option;exclude exclude-tag exclude-tag-all exclude14; -50;exclude15.at:36;--exclude-tag-all and --listed-incremental;exclude exclude-tag exclude-tag-all listed incremental exclude15; -51;exclude16.at:38;--exclude-tag-all option in incremental pass;exclude exclude-tag exclude-tag-all listed incremental exclude16; -52;delete01.at:23;deleting a member after a big one;delete delete01; -53;delete02.at:23;deleting a member from stdin archive;delete delete02; -54;delete03.at:21;deleting members with long names;delete delete03; -55;delete04.at:23;deleting a large last member;delete delete04; -56;delete05.at:27;deleting non-existing member;delete delete05; -57;extrac01.at:23;extract over an existing directory;extract extract01; -58;extrac02.at:23;extracting symlinks over an existing file;extract extract02 symlink; -59;extrac03.at:23;extraction loops;extract extract03; -60;extrac04.at:23;extract + fnmatch;extract extract04 fnmatch; -61;extrac05.at:30;extracting selected members from pax;extract extract05; -62;extrac06.at:34;mode of extracted directories;extract extract06 directory mode; -63;extrac07.at:27;extracting symlinks to a read-only dir;extract extract07 read-only symlink; -64;extrac08.at:33;restoring mode on existing directory;extract extrac08; -65;extrac09.at:34;extracting even when . and .. are unreadable;extract extrac09; -66;extrac10.at:29;-C and delayed setting of metadata;extract extrac10; -67;extrac11.at:25;scarce file descriptors;extract extrac11; -68;extrac12.at:25;extract dot permissions;extract extrac12; -69;extrac13.at:26;extract over symlinks;extract extrac13; -70;extrac14.at:25;extract -C symlink;extract extrac14; -71;extrac15.at:25;extract parent mkdir failure;extract extrac15; -72;extrac16.at:26;extract empty directory with -C;extract extrac16; -73;extrac17.at:21;name matching/transformation ordering;extract extrac17; -74;extrac18.at:34;keep-old-files;extract extrac18 old-files keep-old-files; -75;extrac19.at:21;skip-old-files;extract extrac19 old-files skip-old-files; -76;backup01.at:33;extracting existing dir with --backup;extract backup backup01; -77;label01.at:21;single-volume label;label label01; -78;label02.at:21;multi-volume label;label label02 multi-label multivolume multiv; -79;label03.at:27;test-label option;label label03 test-label; -80;label04.at:27;label with non-create option;label label04; -81;label05.at:24;label with non-create option;label label05; -82;incremental.at:23;incremental;incremental listed incr00; -83;incr01.at:27;restore broken symlinks from incremental;incremental incr01; -84;incr02.at:32;restoring timestamps from incremental;incremental timestamp restore incr02; -85;listed01.at:26;--listed for individual files;listed incremental listed01; -86;listed02.at:28;working --listed;listed incremental listed02; -87;listed03.at:24;incremental dump when the parent directory is unreadable;listed incremental listed03; -88;listed04.at:26;--listed-incremental and --one-file-system;listed incremental listed04; -89;listed05.at:33;--listed-incremental and remounted directories;listed incremental listed05; -90;incr03.at:28;renamed files in incrementals;incremental incr03 rename; -91;incr04.at:29;proper icontents initialization;incremental incr04 icontents; -92;incr05.at:21;incremental dumps with -C;incremental incr05; -93;incr06.at:21;incremental dumps of nested directories;incremental incr06; -94;incr07.at:18;incremental restores with -C;incremental extract incr07; -95;incr08.at:38;filename normalization;incremental create incr08; -96;incr09.at:26;incremental with alternating -C;incremental create incr09; -97;filerem01.at:36;file removed as we read it (ca. 22 seconds);create incremental listed filechange filerem filerem01; -98;filerem02.at:26;toplevel file removed (ca. 24 seconds);create incremental listed filechange filerem filerem02; -99;rename01.at:24;renamed dirs in incrementals;incremental rename rename01; -100;rename02.at:24;move between hierarchies;incremental rename rename02; -101;rename03.at:23;cyclic renames;incremental rename rename03 cyclic-rename; -102;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename; -103;rename05.at:24;renamed subdirectories;incremental rename05 rename; -104;chtype.at:27;changed file types in incrementals;incremental listed chtype; -105;ignfail.at:23;ignfail;ignfail; -106;link01.at:33;link count gt 2;hardlinks link01; -107;link02.at:32;preserve hard links with --remove-files;hardlinks link02; -108;link03.at:24;working -l with --remove-files;hardlinks link03; -109;link04.at:29;link count is 1 but multiple occurrences;hardlinks link04; -110;longv7.at:24;long names in V7 archives;longname longv7; -111;long01.at:28;long file names divisible by block size;longname long512; -112;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01; -113;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02; -114;lustar03.at:21;ustar: splitting long names;longname ustar lustar03; -115;old.at:23;old archives;old; -116;time01.at:20;time: tricky time stamps;time time01; -117;multiv01.at:24;multivolume dumps from pipes;multivolume multiv multiv01; -118;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02; -119;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03; -120;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental listed multiv04; -121;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync; -122;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06; -123;multiv07.at:28;volumes split at an extended header;multivolume multiv multiv07 xsplit; -124;multiv08.at:25;multivolume header creation;multivolume multiv multiv08; -125;owner.at:21;--owner and --group;owner; -126;sparse01.at:21;sparse files;sparse sparse01; -127;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02; -128;sparse03.at:21;storing sparse files > 8G;sparse sparse03; -129;sparse04.at:21;storing long sparse file names;sparse sparse04; -130;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv; -131;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multivolume multiv sparsemvp sparsemvp00; -132;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01; -133;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multivolume multiv sparsemvp sparsemvp10; -134;update.at:28;update unchanged directories;update update00; -135;update01.at:29;update directories;update update01; -136;update02.at:26;update changed files;update update02; -137;verify.at:25;verify;verify; -138;volume.at:23;volume;volume volcheck; -139;volsize.at:29;volume header size;volume volsize; -140;comprec.at:21;compressed format recognition;comprec; -141;shortfile.at:26;short input files;shortfile shortfile0; -142;shortupd.at:31;updating short archives;shortfile shortfile1 shortupd; -143;truncate.at:29;truncate;truncate filechange; -144;grow.at:24;grow;grow filechange; -145;sigpipe.at:21;sigpipe handling;sigpipe; -146;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip; -147;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip; -148;remfiles03.at:28;remove-files with symbolic links;create remove-files remfiles03; -149;remfiles04a.at:25;remove-files with -C:rel in -c/non-incr. mode;create remove-files remfiles04 remfiles04a; -150;remfiles04b.at:33;remove-files with -C:rel in -c/incr. mode;create incremental remove-files remfiles04 remfiles04b; -151;remfiles04c.at:33;remove-files with -C:rel in -r mode;create append remove-files remfiles04 remfiles04c; -152;remfiles05a.at:34;remove-files with -C:rel,rel in -c/non-incr. mode;create remove-files remfiles05 remfiles05a; -153;remfiles05b.at:25;remove-files with -C:rel,rel in -c/incr. mode;create incremental remove-files remfiles05 remfiles05b; -154;remfiles05c.at:25;remove-files with -C:rel,rel in -r mode;create append remove-files remfiles05 remfiles05c; -155;remfiles06a.at:25;remove-files with -C:rel,abs in -c/non-incr. mode;create remove-files remfiles06 remfiles06a; -156;remfiles06b.at:25;remove-files with -C:rel,abs in -c/incr. mode;create incremental remove-files remfiles06 remfiles06b; -157;remfiles06c.at:25;remove-files with -C:rel,abs in -r mode;create append remove-files remfiles06 remfiles06c; -158;remfiles07a.at:25;remove-files with -C:abs,rel in -c/non-incr. mode;create remove-files remfiles07 remfiles07a; -159;remfiles07b.at:25;remove-files with -C:abs,rel in -c/incr. mode;create incremental remove-files remfiles07 remfiles07b; -160;remfiles07c.at:25;remove-files with -C:abs,rel in -r mode;create append remove-files remfiles07 remfiles07c; -161;remfiles08a.at:28;remove-files deleting two subdirs in -c/non-incr. mode;create remove-files remfiles08 remfiles08a; -162;remfiles08b.at:31;remove-files deleting two subdirs in -c/incr. mode;create incremental remove-files remfiles08 remfiles08b; -163;remfiles08c.at:28;remove-files deleting two subdirs in -r mode;create append remove-files remfiles08 remfiles08c; -164;remfiles09a.at:25;remove-files on full directory in -c/non-incr. mode;create remove-files remfiles09 remfiles09a; -165;remfiles09b.at:29;remove-files on full directory in -c/incr. mode;create incremental remove-files remfiles09 remfiles09b; -166;remfiles09c.at:25;remove-files on full directory in -r mode;create append remove-files remfiles09 remfiles09c; -167;remfiles10.at:20;remove-files;create remove-files remfiles10; -168;xattr01.at:25;xattrs: basic functionality;xattrs xattr01; -169;xattr02.at:25;xattrs: change directory with -C option;xattrs xattr02; -170;xattr03.at:25;xattrs: trusted.* attributes;xattrs xattr03; -171;xattr04.at:26;xattrs: s/open/openat/ regression;xattrs xattr04; -172;xattr05.at:28;xattrs: keywords with '=' and '%';xattrs xattr05; -173;acls01.at:25;acls: basic functionality;xattrs acls acls01; -174;acls02.at:25;acls: work with -C;xattrs acls acls02; -175;acls03.at:30;acls: default ACLs;xattrs acls acls03; -176;selnx01.at:25;selinux: basic store/restore;xattrs selinux selnx01; -177;selacl01.at:25;acls/selinux: special files & fifos;xattrs selinux acls selacls01; -178;capabs_raw01.at:25;capabilities: binary store/restore;xattrs capabilities capabs_raw01; -179;onetop01.at:21;tar --one-top-level;extract onetop onetop01; -180;onetop02.at:21;tar --one-top-level --show-transformed;extract onetop onetop02; -181;onetop03.at:21;tar --one-top-level --transform;extract onetop onetop02; -182;onetop04.at:21;tar --one-top-level --transform;extract onetop onetop02; -183;gtarfail.at:21;gtarfail;star gtarfail; -184;gtarfail2.at:21;gtarfail2;star gtarfail2; -185;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail; -186;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g; -187;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g; -188;pax-big-10g.at:21;pax-big-10g;star pax-big-10g; +14;T-recurse.at:27;files-from & recurse: toggle;recurse t-recurse files-from; +15;T-recurse.at:66;toggle --recursion (not) from -T;recurse t-recurse t-recurse2 files-from; +16;T-cd.at:21;-C in file lists;files-from t-cd; +17;T-empty.at:26;empty entries;files-from empty-line; +18;T-null.at:21;0-separated file without -0;files-from null t-null; +19;T-null2.at:17;--null enables verbatim reading;files-from null t-null2 t-verbatim; +20;T-zfile.at:26;empty file;files-from empty-file; +21;T-nonl.at:27;entries with missing newlines;files-from nonewline nonl t-nonl; +22;T-dir00.at:28;recursive extraction from --files-from;files-from extract t-dir t-dir00; +23;T-dir01.at:28;trailing slash in --files-from;files-from extract t-dir t-dir01; +24;indexfile.at:26;tar --index-file=FILE --file=-;stdout indexfile; +25;verbose.at:26;tar cvf -;stdout verbose; +26;gzip.at:24;gzip;gzip; +27;recurse.at:21;recurse;recurse; +28;recurs02.at:30;recurse: toggle;recurse options recurse02; +29;shortrec.at:26;short records;shortrec; +30;numeric.at:18;--numeric-owner basic tests;options numeric numeric-owner; +31;same-order01.at:27;working -C with --same-order;same-order same-order01; +32;same-order02.at:26;multiple -C options;same-order same-order02; +33;append.at:22;append;append append00; +34;append01.at:29;appending files with long names;append append01; +35;append02.at:55;append vs. create;append append02 append-gnu; +36;append03.at:21;append with name transformation;append append03; +37;append04.at:29;append with verify;append append04 verify append-verify; +38;append05.at:32;append after changed blocking;append append05 blocking; +39;xform-h.at:30;transforming hard links on create;transform xform xform-h; +40;xform01.at:26;transformations and GNU volume labels;transform xform xform01 volume; +41;xform02.at:21;transforming escaped delimiters on create;transform xform delimiter; +42;exclude.at:23;exclude;exclude; +43;exclude01.at:19;exclude wildcards;exclude exclude01; +44;exclude02.at:19;exclude: anchoring;exclude exclude02; +45;exclude03.at:19;exclude: wildcards match slash;exclude exclude03; +46;exclude04.at:19;exclude: case insensitive;exclude exclude04; +47;exclude05.at:21;exclude: lots of excludes;exclude exclude05; +48;exclude06.at:26;exclude: long files in pax archives;exclude exclude06; +49;exclude07.at:19;exclude: --exclude-backups option;exclude exclude07; +50;exclude08.at:36;--exclude-tag option;exclude exclude-tag exclude08; +51;exclude09.at:37;--exclude-tag option and --listed-incremental;exclude exclude-tag listed incremental exclude09; +52;exclude10.at:38;--exclude-tag option in incremental pass;exclude exclude-tag listed incremental exclude10; +53;exclude11.at:36;--exclude-tag-under option;exclude exclude-tag exclude-tag-under exclude11; +54;exclude12.at:37;--exclude-tag-under and --listed-incremental;exclude exclude-tag exclude-tag-under listed incremental exclude12; +55;exclude13.at:39;--exclude-tag-under option in incremental pass;exclude exclude-tag exclude-tag-under listed incremental exclude13; +56;exclude14.at:36;--exclude-tag-all option;exclude exclude-tag exclude-tag-all exclude14; +57;exclude15.at:36;--exclude-tag-all and --listed-incremental;exclude exclude-tag exclude-tag-all listed incremental exclude15; +58;exclude16.at:38;--exclude-tag-all option in incremental pass;exclude exclude-tag exclude-tag-all listed incremental exclude16; +59;delete01.at:24;deleting a member after a big one;delete delete01; +60;delete02.at:24;deleting a member from stdin archive;delete delete02; +61;delete03.at:21;deleting members with long names;delete delete03; +62;delete04.at:24;deleting a large last member;delete delete04; +63;delete05.at:28;deleting non-existing member;delete delete05; +64;extrac01.at:24;extract over an existing directory;extract extract01; +65;extrac02.at:24;extracting symlinks over an existing file;extract extract02 symlink; +66;extrac03.at:23;extraction loops;extract extract03; +67;extrac04.at:24;extract + fnmatch;extract extract04 fnmatch; +68;extrac05.at:31;extracting selected members from pax;extract extract05; +69;extrac06.at:34;mode of extracted directories;extract extract06 directory mode; +70;extrac07.at:27;extracting symlinks to a read-only dir;extract extract07 read-only symlink; +71;extrac08.at:33;restoring mode on existing directory;extract extrac08; +72;extrac09.at:34;extracting even when . and .. are unreadable;extract extrac09; +73;extrac10.at:29;-C and delayed setting of metadata;extract extrac10; +74;extrac11.at:25;scarce file descriptors;extract extrac11; +75;extrac12.at:25;extract dot permissions;extract extrac12; +76;extrac13.at:26;extract over symlinks;extract extrac13; +77;extrac14.at:25;extract -C symlink;extract extrac14; +78;extrac15.at:25;extract parent mkdir failure;extract extrac15; +79;extrac16.at:26;extract empty directory with -C;extract extrac16; +80;extrac17.at:21;name matching/transformation ordering;extract extrac17; +81;extrac18.at:34;keep-old-files;extract extrac18 old-files keep-old-files; +82;extrac19.at:21;skip-old-files;extract extrac19 old-files skip-old-files; +83;backup01.at:33;extracting existing dir with --backup;extract backup backup01; +84;label01.at:21;single-volume label;label label01; +85;label02.at:21;multi-volume label;label label02 multi-label multivolume multiv; +86;label03.at:27;test-label option;label label03 test-label; +87;label04.at:27;label with non-create option;label label04; +88;label05.at:24;label with non-create option;label label05; +89;incremental.at:23;incremental;incremental listed incr00; +90;incr01.at:27;restore broken symlinks from incremental;incremental incr01; +91;incr02.at:32;restoring timestamps from incremental;incremental timestamp restore incr02; +92;listed01.at:27;--listed for individual files;listed incremental listed01; +93;listed02.at:29;working --listed;listed incremental listed02; +94;listed03.at:24;incremental dump when the parent directory is unreadable;listed incremental listed03; +95;listed04.at:26;--listed-incremental and --one-file-system;listed incremental listed04; +96;listed05.at:33;--listed-incremental and remounted directories;listed incremental listed05; +97;incr03.at:29;renamed files in incrementals;incremental incr03 rename; +98;incr04.at:30;proper icontents initialization;incremental incr04 icontents; +99;incr05.at:21;incremental dumps with -C;incremental incr05; +100;incr06.at:21;incremental dumps of nested directories;incremental incr06; +101;incr07.at:18;incremental restores with -C;incremental extract incr07; +102;incr08.at:38;filename normalization;incremental create incr08; +103;incr09.at:26;incremental with alternating -C;incremental create incr09; +104;incr10.at:18;concatenated incremental archives (deletes);incremental concat cat incr10; +105;incr11.at:25;concatenated incremental archives (renames);incremental concat cat incr11; +106;filerem01.at:36;file removed as we read it (ca. 22 seconds);create incremental listed filechange filerem filerem01; +107;filerem02.at:26;toplevel file removed (ca. 24 seconds);create incremental listed filechange filerem filerem02; +108;rename01.at:25;renamed dirs in incrementals;incremental rename rename01; +109;rename02.at:25;move between hierarchies;incremental rename rename02; +110;rename03.at:24;cyclic renames;incremental rename rename03 cyclic-rename; +111;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename; +112;rename05.at:24;renamed subdirectories;incremental rename05 rename; +113;chtype.at:27;changed file types in incrementals;incremental listed chtype; +114;ignfail.at:24;ignfail;ignfail; +115;link01.at:34;link count gt 2;hardlinks link01; +116;link02.at:32;preserve hard links with --remove-files;hardlinks link02; +117;link03.at:24;working -l with --remove-files;hardlinks link03; +118;link04.at:29;link count is 1 but multiple occurrences;hardlinks link04; +119;longv7.at:25;long names in V7 archives;longname longv7; +120;long01.at:28;long file names divisible by block size;longname long512; +121;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01; +122;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02; +123;lustar03.at:21;ustar: splitting long names;longname ustar lustar03; +124;old.at:23;old archives;old; +125;time01.at:20;time: tricky time stamps;time time01; +126;time02.at:20;time: clamping mtime;time time02; +127;multiv01.at:24;multivolume dumps from pipes;multivolume multiv multiv01; +128;multiv02.at:29;skipping a straddling member;multivolume multiv multiv02; +129;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03; +130;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental listed multiv04; +131;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync; +132;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06; +133;multiv07.at:28;volumes split at an extended header;multivolume multiv multiv07 xsplit; +134;multiv08.at:25;multivolume header creation;multivolume multiv multiv08; +135;multiv09.at:26;bad next volume;multivolume multiv multiv09; +136;owner.at:21;--owner and --group;owner; +137;map.at:21;--owner-map and --group-map;owner map; +138;sparse01.at:22;sparse files;sparse sparse01; +139;sparse02.at:22;extracting sparse file over a pipe;sparse sparse02; +140;sparse03.at:21;storing sparse files > 8G;sparse sparse03; +141;sparse04.at:21;storing long sparse file names;sparse sparse04; +142;sparse05.at:21;listing sparse files bigger than 2^33 B;sparse sparse05; +143;sparse06.at:21;storing sparse file using seek method;sparse sparse06; +144;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv; +145;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multivolume multiv sparsemvp sparsemvp00; +146;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01; +147;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multivolume multiv sparsemvp sparsemvp10; +148;update.at:28;update unchanged directories;update update00; +149;update01.at:29;update directories;update update01; +150;update02.at:26;update changed files;update update02; +151;verify.at:25;verify;verify; +152;volume.at:24;volume;volume volcheck; +153;volsize.at:29;volume header size;volume volsize; +154;comprec.at:22;compressed format recognition;comprec; +155;shortfile.at:26;short input files;shortfile shortfile0; +156;shortupd.at:31;updating short archives;shortfile shortfile1 shortupd; +157;truncate.at:29;truncate;truncate filechange; +158;grow.at:24;grow;grow filechange; +159;sigpipe.at:21;sigpipe handling;sigpipe; +160;comperr.at:18;compressor program failure;compress comperr; +161;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip; +162;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip; +163;remfiles03.at:28;remove-files with symbolic links;create remove-files remfiles03; +164;remfiles04a.at:25;remove-files with -C:rel in -c/non-incr. mode;create remove-files remfiles04 remfiles04a; +165;remfiles04b.at:33;remove-files with -C:rel in -c/incr. mode;create incremental remove-files remfiles04 remfiles04b; +166;remfiles04c.at:33;remove-files with -C:rel in -r mode;create append remove-files remfiles04 remfiles04c; +167;remfiles05a.at:34;remove-files with -C:rel,rel in -c/non-incr. mode;create remove-files remfiles05 remfiles05a; +168;remfiles05b.at:25;remove-files with -C:rel,rel in -c/incr. mode;create incremental remove-files remfiles05 remfiles05b; +169;remfiles05c.at:25;remove-files with -C:rel,rel in -r mode;create append remove-files remfiles05 remfiles05c; +170;remfiles06a.at:25;remove-files with -C:rel,abs in -c/non-incr. mode;create remove-files remfiles06 remfiles06a; +171;remfiles06b.at:25;remove-files with -C:rel,abs in -c/incr. mode;create incremental remove-files remfiles06 remfiles06b; +172;remfiles06c.at:25;remove-files with -C:rel,abs in -r mode;create append remove-files remfiles06 remfiles06c; +173;remfiles07a.at:25;remove-files with -C:abs,rel in -c/non-incr. mode;create remove-files remfiles07 remfiles07a; +174;remfiles07b.at:25;remove-files with -C:abs,rel in -c/incr. mode;create incremental remove-files remfiles07 remfiles07b; +175;remfiles07c.at:25;remove-files with -C:abs,rel in -r mode;create append remove-files remfiles07 remfiles07c; +176;remfiles08a.at:28;remove-files deleting two subdirs in -c/non-incr. mode;create remove-files remfiles08 remfiles08a; +177;remfiles08b.at:31;remove-files deleting two subdirs in -c/incr. mode;create incremental remove-files remfiles08 remfiles08b; +178;remfiles08c.at:28;remove-files deleting two subdirs in -r mode;create append remove-files remfiles08 remfiles08c; +179;remfiles09a.at:25;remove-files on full directory in -c/non-incr. mode;create remove-files remfiles09 remfiles09a; +180;remfiles09b.at:29;remove-files on full directory in -c/incr. mode;create incremental remove-files remfiles09 remfiles09b; +181;remfiles09c.at:25;remove-files on full directory in -r mode;create append remove-files remfiles09 remfiles09c; +182;remfiles10.at:20;remove-files;create remove-files remfiles10; +183;xattr01.at:25;xattrs: basic functionality;xattrs xattr01; +184;xattr02.at:25;xattrs: change directory with -C option;xattrs xattr02; +185;xattr03.at:25;xattrs: trusted.* attributes;xattrs xattr03; +186;xattr04.at:26;xattrs: s/open/openat/ regression;xattrs xattr04; +187;xattr05.at:28;xattrs: keywords with '=' and '%';xattrs xattr05; +188;acls01.at:25;acls: basic functionality;xattrs acls acls01; +189;acls02.at:25;acls: work with -C;xattrs acls acls02; +190;acls03.at:30;acls: default ACLs;xattrs acls acls03; +191;selnx01.at:25;selinux: basic store/restore;xattrs selinux selnx01; +192;selacl01.at:25;acls/selinux: special files & fifos;xattrs selinux acls selacls01; +193;capabs_raw01.at:25;capabilities: binary store/restore;xattrs capabilities capabs_raw01; +194;onetop01.at:21;tar --one-top-level;extract onetop onetop01; +195;onetop02.at:21;tar --one-top-level --show-transformed;extract onetop onetop02; +196;onetop03.at:21;tar --one-top-level --transform;extract onetop onetop03; +197;onetop04.at:21;tar --one-top-level --transform;extract onetop onetop04; +198;onetop05.at:21;tar --one-top-level restoring permissions;extract onetop onetop05; +199;gtarfail.at:22;gtarfail;star gtarfail; +200;gtarfail2.at:22;gtarfail2;star gtarfail2; +201;multi-fail.at:22;multi-fail;star multivolume multiv multi-fail; +202;ustar-big-2g.at:22;ustar-big-2g;star ustar-big-2g; +203;ustar-big-8g.at:22;ustar-big-8g;star ustar-big-8g; +204;pax-big-10g.at:22;pax-big-10g;star pax-big-10g; " # List of the all the test groups. at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'` @@ -791,7 +807,7 @@ at_fn_validate_ranges () for at_grp do eval at_value=\$$at_grp - if test $at_value -lt 1 || test $at_value -gt 188; then + if test $at_value -lt 1 || test $at_value -gt 204; then $as_echo "invalid test group: $at_value" >&2 exit 1 fi @@ -1090,7 +1106,7 @@ fi # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU tar 1.28 test suite test groups: +GNU tar 1.29 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -1131,7 +1147,7 @@ _ATEOF exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU tar 1.28)" && + $as_echo "$as_me (GNU tar 1.29)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1148,86 +1164,86 @@ case $at_groups in #( * ) at_print_banners=false ;; esac # Text for banner N, set to a single space once printed. -# Banner 1. testsuite.at:191 +# Banner 1. testsuite.at:208 # Category starts at test group 5. at_banner_text_1="Option compatibility" -# Banner 2. testsuite.at:199 +# Banner 2. testsuite.at:216 # Category starts at test group 11. at_banner_text_2="The -T option" -# Banner 3. testsuite.at:209 -# Category starts at test group 19. +# Banner 3. testsuite.at:230 +# Category starts at test group 24. at_banner_text_3="Various options" -# Banner 4. testsuite.at:218 -# Category starts at test group 26. +# Banner 4. testsuite.at:239 +# Category starts at test group 31. at_banner_text_4="The --same-order option" -# Banner 5. testsuite.at:222 -# Category starts at test group 28. -at_banner_text_5="Append" -# Banner 6. testsuite.at:229 +# Banner 5. testsuite.at:243 # Category starts at test group 33. +at_banner_text_5="Append" +# Banner 6. testsuite.at:251 +# Category starts at test group 39. at_banner_text_6="Transforms" -# Banner 7. testsuite.at:233 -# Category starts at test group 35. +# Banner 7. testsuite.at:256 +# Category starts at test group 42. at_banner_text_7="Exclude" -# Banner 8. testsuite.at:252 -# Category starts at test group 52. +# Banner 8. testsuite.at:275 +# Category starts at test group 59. at_banner_text_8="Deletions" -# Banner 9. testsuite.at:259 -# Category starts at test group 57. +# Banner 9. testsuite.at:282 +# Category starts at test group 64. at_banner_text_9="Extracting" -# Banner 10. testsuite.at:281 -# Category starts at test group 77. +# Banner 10. testsuite.at:304 +# Category starts at test group 84. at_banner_text_10="Volume label operations" -# Banner 11. testsuite.at:288 -# Category starts at test group 82. +# Banner 11. testsuite.at:311 +# Category starts at test group 89. at_banner_text_11="Incremental archives" -# Banner 12. testsuite.at:305 -# Category starts at test group 97. +# Banner 12. testsuite.at:330 +# Category starts at test group 106. at_banner_text_12="Files removed while archiving" -# Banner 13. testsuite.at:309 -# Category starts at test group 99. +# Banner 13. testsuite.at:334 +# Category starts at test group 108. at_banner_text_13="Renames" -# Banner 14. testsuite.at:317 -# Category starts at test group 105. +# Banner 14. testsuite.at:342 +# Category starts at test group 114. at_banner_text_14="Ignore failing reads" -# Banner 15. testsuite.at:320 -# Category starts at test group 106. +# Banner 15. testsuite.at:345 +# Category starts at test group 115. at_banner_text_15="Link handling" -# Banner 16. testsuite.at:326 -# Category starts at test group 110. +# Banner 16. testsuite.at:351 +# Category starts at test group 119. at_banner_text_16="Specific archive formats" -# Banner 17. testsuite.at:336 -# Category starts at test group 117. +# Banner 17. testsuite.at:362 +# Category starts at test group 127. at_banner_text_17="Multivolume archives" -# Banner 18. testsuite.at:346 -# Category starts at test group 125. +# Banner 18. testsuite.at:373 +# Category starts at test group 136. at_banner_text_18="Owner and Groups" -# Banner 19. testsuite.at:349 -# Category starts at test group 126. +# Banner 19. testsuite.at:377 +# Category starts at test group 138. at_banner_text_19="Sparse files" -# Banner 20. testsuite.at:359 -# Category starts at test group 134. +# Banner 20. testsuite.at:389 +# Category starts at test group 148. at_banner_text_20="Updates" -# Banner 21. testsuite.at:364 -# Category starts at test group 137. +# Banner 21. testsuite.at:394 +# Category starts at test group 151. at_banner_text_21="Verifying the archive" -# Banner 22. testsuite.at:367 -# Category starts at test group 138. +# Banner 22. testsuite.at:397 +# Category starts at test group 152. at_banner_text_22="Volume operations" -# Banner 23. testsuite.at:371 -# Category starts at test group 140. +# Banner 23. testsuite.at:401 +# Category starts at test group 154. at_banner_text_23="" -# Banner 24. testsuite.at:380 -# Category starts at test group 146. +# Banner 24. testsuite.at:411 +# Category starts at test group 161. at_banner_text_24="Removing files after archiving" -# Banner 25. testsuite.at:404 -# Category starts at test group 168. +# Banner 25. testsuite.at:435 +# Category starts at test group 183. at_banner_text_25="Extended attributes" -# Banner 26. testsuite.at:420 -# Category starts at test group 179. +# Banner 26. testsuite.at:451 +# Category starts at test group 194. at_banner_text_26="One top level" -# Banner 27. testsuite.at:426 -# Category starts at test group 183. +# Banner 27. testsuite.at:458 +# Category starts at test group 199. at_banner_text_27="Star tests" # Take any -C into account. @@ -1389,11 +1405,11 @@ exec 5>>"$at_suite_log" # Banners and logs. $as_echo "## ------------------------ ## -## GNU tar 1.28 test suite. ## +## GNU tar 1.29 test suite. ## ## ------------------------ ##" { $as_echo "## ------------------------ ## -## GNU tar 1.28 test suite. ## +## GNU tar 1.29 test suite. ## ## ------------------------ ##" echo @@ -1638,7 +1654,7 @@ IFS=$as_save_IFS esac if test -f "$at_program_"; then { - $as_echo "$at_srcdir/testsuite.at:180: $at_program_ --version" + $as_echo "$at_srcdir/testsuite.at:197: $at_program_ --version" "$at_program_" --version &5 2>&1 @@ -2237,7 +2253,7 @@ _ASBOX $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU tar 1.28] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU tar 1.29] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may @@ -2252,7 +2268,7 @@ exit 0 ## Actual tests. ## ## ------------- ## #AT_START_1 -at_fn_group_banner 1 'version.at:19' \ +at_fn_group_banner 1 'version.at:20' \ "tar version" " " at_xfail=no ( @@ -2261,17 +2277,17 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/version.at:21: tar --version | sed 1q" -at_fn_check_prepare_notrace 'a shell pipeline' "version.at:21" +$as_echo "$at_srcdir/version.at:22: tar --version | sed 1q" +at_fn_check_prepare_notrace 'a shell pipeline' "version.at:22" ( $at_check_trace; tar --version | sed 1q ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.28 +echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.29 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/version.at:21" +at_fn_check_status 0 $at_status "$at_srcdir/version.at:22" if $at_failed; then : cat >$XFAILFILE <<'_EOT' @@ -2630,7 +2646,7 @@ $at_traceon; } read at_status <"$at_status_file" #AT_STOP_2 #AT_START_3 -at_fn_group_banner 3 'options.at:24' \ +at_fn_group_banner 3 'options.at:25' \ "mixing options" " " at_xfail=no ( @@ -2640,12 +2656,12 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/options.at:27: +$as_echo "$at_srcdir/options.at:28: echo > file1 TAR_OPTIONS=--numeric-owner tar chof archive file1 tar tf archive " -at_fn_check_prepare_notrace 'an embedded newline' "options.at:27" +at_fn_check_prepare_notrace 'an embedded newline' "options.at:28" ( $at_check_trace; echo > file1 TAR_OPTIONS=--numeric-owner tar chof archive file1 @@ -2658,7 +2674,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/options.at:27" +at_fn_check_status 0 $at_status "$at_srcdir/options.at:28" $at_failed && at_fn_log_failure $at_traceon; } @@ -2669,7 +2685,7 @@ $at_traceon; } read at_status <"$at_status_file" #AT_STOP_3 #AT_START_4 -at_fn_group_banner 4 'options02.at:26' \ +at_fn_group_banner 4 'options02.at:27' \ "interspersed options" " " at_xfail=no ( @@ -2679,12 +2695,12 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/options02.at:29: +$as_echo "$at_srcdir/options02.at:30: echo > file1 tar c file1 -f archive tar tf archive " -at_fn_check_prepare_notrace 'an embedded newline' "options02.at:29" +at_fn_check_prepare_notrace 'an embedded newline' "options02.at:30" ( $at_check_trace; echo > file1 tar c file1 -f archive @@ -2697,7 +2713,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/options02.at:29" +at_fn_check_status 0 $at_status "$at_srcdir/options02.at:30" $at_failed && at_fn_log_failure $at_traceon; } @@ -3255,8 +3271,8 @@ $at_traceon; } read at_status <"$at_status_file" #AT_STOP_13 #AT_START_14 -at_fn_group_banner 14 'T-cd.at:21' \ - "-C in file lists" " " 2 +at_fn_group_banner 14 'T-recurse.at:27' \ + "files-from & recurse: toggle" " " 2 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( @@ -3268,170 +3284,195 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/T-cd.at:24: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +$as_echo "$at_srcdir/T-recurse.at:30: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +mkdir directory1 directory2 +touch directory1/file directory2/file -test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 - ->file1 -mkdir dir ->dir/file2 ->dir/file3 cat >F1 <<'_ATEOF' -file1 --C dir -. +--no-recursion +directory1/ +--recursion +directory2/ _ATEOF -tar cf archive -T F1 -tar tf archive | sort + +cat >F2A <<'_ATEOF' +directory1/ +_ATEOF + + +cat >F2B <<'_ATEOF' +directory2/ +_ATEOF + + +a=archive +tar cf \"\$a\" --files-from F1 +tar tf \"\$a\" + +a=archive2 +tar cf \"\$a\" --no-recursion -T F2A --recursion -T F2B +tar tf \"\$a\" )" -at_fn_check_prepare_notrace 'a `...` command substitution' "T-cd.at:24" +at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:30" ( $at_check_trace; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +mkdir directory1 directory2 +touch directory1/file directory2/file -test -z "`sort < /dev/null 2>&1`" || exit 77 - ->file1 -mkdir dir ->dir/file2 ->dir/file3 cat >F1 <<'_ATEOF' -file1 --C dir -. +--no-recursion +directory1/ +--recursion +directory2/ _ATEOF -tar cf archive -T F1 -tar tf archive | sort + +cat >F2A <<'_ATEOF' +directory1/ +_ATEOF + + +cat >F2B <<'_ATEOF' +directory2/ +_ATEOF + + +a=archive +tar cf "$a" --files-from F1 +tar tf "$a" + +a=archive2 +tar cf "$a" --no-recursion -T F2A --recursion -T F2B +tar tf "$a" ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "./ -./file2 -./file3 -file1 +echo >>"$at_stdout"; $as_echo "directory1/ +directory2/ +directory2/file +directory1/ +directory2/ +directory2/file " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/T-cd.at:24" +at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:30" $at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/T-recurse.at:30: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * +mkdir directory1 directory2 +touch directory1/file directory2/file - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_14 -#AT_START_15 -at_fn_group_banner 15 'T-empty.at:26' \ - "empty entries" " " 2 -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -( - $as_echo "15. $at_setup_line: testing $at_desc ..." - $at_traceon +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +--recursion +directory2/ +_ATEOF +cat >F2A <<'_ATEOF' +directory1/ +_ATEOF -cat >file-list <<'_ATEOF' -jeden -dwa -trzy +cat >F2B <<'_ATEOF' +directory2/ _ATEOF +a=archive +tar cf \"\$a\" --files-from F1 +tar tf \"\$a\" - - { set +x -$as_echo "$at_srcdir/T-empty.at:36: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +a=archive2 +tar cf \"\$a\" --no-recursion -T F2A --recursion -T F2B +tar tf \"\$a\" +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:30" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +mkdir directory1 directory2 +touch directory1/file directory2/file -genfile --file jeden -genfile --file dwa -genfile --file trzy +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +--recursion +directory2/ +_ATEOF -tar cfvT archive ../file-list -)" -at_fn_check_prepare_notrace 'an embedded newline' "T-empty.at:36" -( $at_check_trace; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * +cat >F2A <<'_ATEOF' +directory1/ +_ATEOF -genfile --file jeden -genfile --file dwa -genfile --file trzy -tar cfvT archive ../file-list +cat >F2B <<'_ATEOF' +directory2/ +_ATEOF + + +a=archive +tar cf "$a" --files-from F1 +tar tf "$a" + +a=archive2 +tar cf "$a" --no-recursion -T F2A --recursion -T F2B +tar tf "$a" ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "jeden -dwa -trzy +echo >>"$at_stdout"; $as_echo "directory1/ +directory2/ +directory2/file +directory1/ +directory2/ +directory2/file " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/T-empty.at:36" +at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:30" $at_failed && at_fn_log_failure $at_traceon; } - - # Testing one format is enough - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_15 -#AT_START_16 -at_fn_group_banner 16 'T-null.at:21' \ - "0-separated file without -0" " " 2 -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -( - $as_echo "16. $at_setup_line: testing $at_desc ..." - $at_traceon - - - - - - { set +x -$as_echo "$at_srcdir/T-null.at:24: + { set +x +$as_echo "$at_srcdir/T-recurse.at:30: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3440,22 +3481,36 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +mkdir directory1 directory2 +touch directory1/file directory2/file -test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +--recursion +directory2/ +_ATEOF -echo jeden > temp -echo dwa >> temp -echo trzy >> temp -cat temp | tr '\\n' '\\0' > file-list +cat >F2A <<'_ATEOF' +directory1/ +_ATEOF -genfile -f jeden -genfile -f dwa -genfile -f trzy -tar cfTv archive file-list +cat >F2B <<'_ATEOF' +directory2/ +_ATEOF + + +a=archive +tar cf \"\$a\" --files-from F1 +tar tf \"\$a\" + +a=archive2 +tar cf \"\$a\" --no-recursion -T F2A --recursion -T F2B +tar tf \"\$a\" )" -at_fn_check_prepare_notrace 'a `...` command substitution' "T-null.at:24" +at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:30" ( $at_check_trace; mkdir ustar (cd ustar @@ -3465,215 +3520,236 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +mkdir directory1 directory2 +touch directory1/file directory2/file -test -z "`sort < /dev/null 2>&1`" || exit 77 +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +--recursion +directory2/ +_ATEOF -echo jeden > temp -echo dwa >> temp -echo trzy >> temp -cat temp | tr '\n' '\0' > file-list +cat >F2A <<'_ATEOF' +directory1/ +_ATEOF -genfile -f jeden -genfile -f dwa -genfile -f trzy -tar cfTv archive file-list +cat >F2B <<'_ATEOF' +directory2/ +_ATEOF + + +a=archive +tar cf "$a" --files-from F1 +tar tf "$a" + +a=archive2 +tar cf "$a" --no-recursion -T F2A --recursion -T F2B +tar tf "$a" ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo >>"$at_stderr"; $as_echo "tar: file-list: file name read contains nul character -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "jeden -dwa -trzy +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory1/ +directory2/ +directory2/file +directory1/ +directory2/ +directory2/file " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/T-null.at:24" +at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:30" $at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/T-recurse.at:30: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * - # Testing one format is enough - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_16 -#AT_START_17 -at_fn_group_banner 17 'T-zfile.at:26' \ - "empty file" " " 2 -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -( - $as_echo "17. $at_setup_line: testing $at_desc ..." - $at_traceon - +mkdir directory1 directory2 +touch directory1/file directory2/file +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +--recursion +directory2/ +_ATEOF +cat >F2A <<'_ATEOF' +directory1/ +_ATEOF - { set +x -$as_echo "$at_srcdir/T-zfile.at:29: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -genfile --length=0 --file empty -genfile --file a -genfile --file b -cat >valid <<'_ATEOF' -a -b +cat >F2B <<'_ATEOF' +directory2/ _ATEOF -tar cf archive -T empty -T valid -tar tf archive -echo \"==\" -tar cf archive -T valid -T empty -tar tf archive +a=archive +tar cf \"\$a\" --files-from F1 +tar tf \"\$a\" + +a=archive2 +tar cf \"\$a\" --no-recursion -T F2A --recursion -T F2B +tar tf \"\$a\" )" -at_fn_check_prepare_notrace 'an embedded newline' "T-zfile.at:29" +at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:30" ( $at_check_trace; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile --length=0 --file empty -genfile --file a -genfile --file b -cat >valid <<'_ATEOF' -a -b +mkdir directory1 directory2 +touch directory1/file directory2/file + +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +--recursion +directory2/ _ATEOF -tar cf archive -T empty -T valid -tar tf archive -echo "==" -tar cf archive -T valid -T empty -tar tf archive +cat >F2A <<'_ATEOF' +directory1/ +_ATEOF + + +cat >F2B <<'_ATEOF' +directory2/ +_ATEOF + + +a=archive +tar cf "$a" --files-from F1 +tar tf "$a" + +a=archive2 +tar cf "$a" --no-recursion -T F2A --recursion -T F2B +tar tf "$a" ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "a -b -== -a -b +echo >>"$at_stdout"; $as_echo "directory1/ +directory2/ +directory2/file +directory1/ +directory2/ +directory2/file " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/T-zfile.at:29" +at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:30" $at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/T-recurse.at:30: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * - # Testing one format is enough - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_17 -#AT_START_18 -at_fn_group_banner 18 'T-nonl.at:27' \ - "entries with missing newlines" " " 2 -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -( - $as_echo "18. $at_setup_line: testing $at_desc ..." - $at_traceon - +mkdir directory1 directory2 +touch directory1/file directory2/file +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +--recursion +directory2/ +_ATEOF +cat >F2A <<'_ATEOF' +directory1/ +_ATEOF - { set +x -$as_echo "$at_srcdir/T-nonl.at:30: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -genfile --length=0 --file empty -\$as_echo_n c > 1.nonl -echo d > 2.nonl -\$as_echo_n e >> 2.nonl -touch a b c d e -cat >filelist <<'_ATEOF' -a -b +cat >F2B <<'_ATEOF' +directory2/ _ATEOF -tar cf archive -T empty -T 1.nonl -T 2.nonl -T filelist -tar tf archive -echo == -tar cf archive -T 2.nonl -T empty -T filelist -T 1.nonl -tar tf archive +a=archive +tar cf \"\$a\" --files-from F1 +tar tf \"\$a\" + +a=archive2 +tar cf \"\$a\" --no-recursion -T F2A --recursion -T F2B +tar tf \"\$a\" )" -at_fn_check_prepare_notrace 'an embedded newline' "T-nonl.at:30" +at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:30" ( $at_check_trace; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile --length=0 --file empty -$as_echo_n c > 1.nonl -echo d > 2.nonl -$as_echo_n e >> 2.nonl -touch a b c d e -cat >filelist <<'_ATEOF' -a -b +mkdir directory1 directory2 +touch directory1/file directory2/file + +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +--recursion +directory2/ _ATEOF -tar cf archive -T empty -T 1.nonl -T 2.nonl -T filelist -tar tf archive -echo == -tar cf archive -T 2.nonl -T empty -T filelist -T 1.nonl -tar tf archive +cat >F2A <<'_ATEOF' +directory1/ +_ATEOF + + +cat >F2B <<'_ATEOF' +directory2/ +_ATEOF + + +a=archive +tar cf "$a" --files-from F1 +tar tf "$a" + +a=archive2 +tar cf "$a" --no-recursion -T F2A --recursion -T F2B +tar tf "$a" ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "c -d -e -a -b -== -d -e -a -b -c +echo >>"$at_stdout"; $as_echo "directory1/ +directory2/ +directory2/file +directory1/ +directory2/ +directory2/file " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/T-nonl.at:30" +at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:30" $at_failed && at_fn_log_failure $at_traceon; } @@ -3684,14 +3760,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_18 -#AT_START_19 -at_fn_group_banner 19 'indexfile.at:26' \ - "tar --index-file=FILE --file=-" " " 3 +#AT_STOP_14 +#AT_START_15 +at_fn_group_banner 15 'T-recurse.at:66' \ + "toggle --recursion (not) from -T" " " 2 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "19. $at_setup_line: testing $at_desc ..." + $as_echo "15. $at_setup_line: testing $at_desc ..." $at_traceon @@ -3699,7 +3775,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/indexfile.at:29: +$as_echo "$at_srcdir/T-recurse.at:69: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -3708,17 +3784,25 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +mkdir directory1 directory2 +touch directory1/file directory2/file -mkdir directory -genfile --file=directory/a --length=1035 +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +_ATEOF -echo \"Creating the archive\" -tar -c -v -f - --index-file=idx directory > archive -echo \"Testing the archive\" -tar -tf archive +cat >F2 <<'_ATEOF' +directory2/ +_ATEOF + + +tar cf archive -T F1 --recursion -T F2 +tar tf archive + )" -at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29" +at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:69" ( $at_check_trace; mkdir v7 (cd v7 @@ -3728,32 +3812,39 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +mkdir directory1 directory2 +touch directory1/file directory2/file -mkdir directory -genfile --file=directory/a --length=1035 +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +_ATEOF -echo "Creating the archive" -tar -c -v -f - --index-file=idx directory > archive -echo "Testing the archive" -tar -tf archive +cat >F2 <<'_ATEOF' +directory2/ +_ATEOF + + +tar cf archive -T F1 --recursion -T F2 +tar tf archive + ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating the archive -Testing the archive -directory/ -directory/a +echo >>"$at_stdout"; $as_echo "directory1/ +directory2/ +directory2/file " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29" +at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:69" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/indexfile.at:29: +$as_echo "$at_srcdir/T-recurse.at:69: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -3762,15 +3853,1469 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +mkdir directory1 directory2 +touch directory1/file directory2/file + +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +_ATEOF -mkdir directory -genfile --file=directory/a --length=1035 -echo \"Creating the archive\" -tar -c -v -f - --index-file=idx directory > archive +cat >F2 <<'_ATEOF' +directory2/ +_ATEOF + + +tar cf archive -T F1 --recursion -T F2 +tar tf archive -echo \"Testing the archive\" -tar -tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:69" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir directory1 directory2 +touch directory1/file directory2/file + +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +_ATEOF + + +cat >F2 <<'_ATEOF' +directory2/ +_ATEOF + + +tar cf archive -T F1 --recursion -T F2 +tar tf archive + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory1/ +directory2/ +directory2/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/T-recurse.at:69: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +mkdir directory1 directory2 +touch directory1/file directory2/file + +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +_ATEOF + + +cat >F2 <<'_ATEOF' +directory2/ +_ATEOF + + +tar cf archive -T F1 --recursion -T F2 +tar tf archive + +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:69" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +mkdir directory1 directory2 +touch directory1/file directory2/file + +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +_ATEOF + + +cat >F2 <<'_ATEOF' +directory2/ +_ATEOF + + +tar cf archive -T F1 --recursion -T F2 +tar tf archive + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory1/ +directory2/ +directory2/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/T-recurse.at:69: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir directory1 directory2 +touch directory1/file directory2/file + +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +_ATEOF + + +cat >F2 <<'_ATEOF' +directory2/ +_ATEOF + + +tar cf archive -T F1 --recursion -T F2 +tar tf archive + +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:69" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir directory1 directory2 +touch directory1/file directory2/file + +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +_ATEOF + + +cat >F2 <<'_ATEOF' +directory2/ +_ATEOF + + +tar cf archive -T F1 --recursion -T F2 +tar tf archive + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory1/ +directory2/ +directory2/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/T-recurse.at:69: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir directory1 directory2 +touch directory1/file directory2/file + +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +_ATEOF + + +cat >F2 <<'_ATEOF' +directory2/ +_ATEOF + + +tar cf archive -T F1 --recursion -T F2 +tar tf archive + +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:69" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +mkdir directory1 directory2 +touch directory1/file directory2/file + +cat >F1 <<'_ATEOF' +--no-recursion +directory1/ +_ATEOF + + +cat >F2 <<'_ATEOF' +directory2/ +_ATEOF + + +tar cf archive -T F1 --recursion -T F2 +tar tf archive + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory1/ +directory2/ +directory2/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_15 +#AT_START_16 +at_fn_group_banner 16 'T-cd.at:21' \ + "-C in file lists" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "16. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/T-cd.at:24: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +>file1 +mkdir dir +>dir/file2 +>dir/file3 +cat >F1 <<'_ATEOF' +file1 +-C dir +. +_ATEOF + +tar cf archive -T F1 +tar tf archive | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-cd.at:24" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +>file1 +mkdir dir +>dir/file2 +>dir/file3 +cat >F1 <<'_ATEOF' +file1 +-C dir +. +_ATEOF + +tar cf archive -T F1 +tar tf archive | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "./ +./file2 +./file3 +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-cd.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_16 +#AT_START_17 +at_fn_group_banner 17 'T-empty.at:26' \ + "empty entries" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "17. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >file-list <<'_ATEOF' +jeden +dwa + +trzy +_ATEOF + + + + + { set +x +$as_echo "$at_srcdir/T-empty.at:36: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + + +genfile --file jeden +genfile --file dwa +genfile --file trzy + +tar cfvT archive ../file-list +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-empty.at:36" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + + +genfile --file jeden +genfile --file dwa +genfile --file trzy + +tar cfvT archive ../file-list +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "jeden +dwa +trzy +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-empty.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + + + # Testing one format is enough + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_17 +#AT_START_18 +at_fn_group_banner 18 'T-null.at:21' \ + "0-separated file without -0" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "18. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/T-null.at:24: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + + +echo jeden > temp +echo dwa >> temp +echo trzy >> temp +cat temp | tr '\\n' '\\0' > file-list + +genfile -f jeden +genfile -f dwa +genfile -f trzy + +tar cfTv archive file-list +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-null.at:24" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +echo jeden > temp +echo dwa >> temp +echo trzy >> temp +cat temp | tr '\n' '\0' > file-list + +genfile -f jeden +genfile -f dwa +genfile -f trzy + +tar cfTv archive file-list +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: file-list: file name read contains nul character +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "jeden +dwa +trzy +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-null.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + # Testing one format is enough + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_18 +#AT_START_19 +at_fn_group_banner 19 'T-null2.at:17' \ + "--null enables verbatim reading" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "19. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# According to the docs, --null should read each line from the file +# list verbatim. This feature was broken by commit 26538c9b (tar version +# 1.27). + + + + { set +x +$as_echo "$at_srcdir/T-null2.at:24: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +cat >file-list <<'_ATEOF' +a +-b +--c d +_ATEOF + + +genfile -f a +genfile -f -b +genfile -f '--c d' + +cat file-list | tr '\\n' '\\0' | tar -c -f archive -v --null -T - +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-null2.at:24" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +cat >file-list <<'_ATEOF' +a +-b +--c d +_ATEOF + + +genfile -f a +genfile -f -b +genfile -f '--c d' + +cat file-list | tr '\n' '\0' | tar -c -f archive -v --null -T - +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "a +-b +--c d +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-null2.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + # Testing one format is enough + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_19 +#AT_START_20 +at_fn_group_banner 20 'T-zfile.at:26' \ + "empty file" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "20. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/T-zfile.at:29: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +genfile --length=0 --file empty +genfile --file a +genfile --file b +cat >valid <<'_ATEOF' +a +b +_ATEOF + + +tar cf archive -T empty -T valid +tar tf archive +echo \"==\" +tar cf archive -T valid -T empty +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-zfile.at:29" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +genfile --length=0 --file empty +genfile --file a +genfile --file b +cat >valid <<'_ATEOF' +a +b +_ATEOF + + +tar cf archive -T empty -T valid +tar tf archive +echo "==" +tar cf archive -T valid -T empty +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "a +b +== +a +b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-zfile.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + + + # Testing one format is enough + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_20 +#AT_START_21 +at_fn_group_banner 21 'T-nonl.at:27' \ + "entries with missing newlines" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "21. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/T-nonl.at:30: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +genfile --length=0 --file empty +\$as_echo_n c > 1.nonl +echo d > 2.nonl +\$as_echo_n e >> 2.nonl +touch a b c d e +cat >filelist <<'_ATEOF' +a +b +_ATEOF + + +tar cf archive -T empty -T 1.nonl -T 2.nonl -T filelist +tar tf archive +echo == +tar cf archive -T 2.nonl -T empty -T filelist -T 1.nonl +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-nonl.at:30" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +genfile --length=0 --file empty +$as_echo_n c > 1.nonl +echo d > 2.nonl +$as_echo_n e >> 2.nonl +touch a b c d e +cat >filelist <<'_ATEOF' +a +b +_ATEOF + + +tar cf archive -T empty -T 1.nonl -T 2.nonl -T filelist +tar tf archive +echo == +tar cf archive -T 2.nonl -T empty -T filelist -T 1.nonl +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "c +d +e +a +b +== +d +e +a +b +c +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-nonl.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_21 +#AT_START_22 +at_fn_group_banner 22 'T-dir00.at:28' \ + "recursive extraction from --files-from" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "22. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + { set +x +$as_echo "$at_srcdir/T-dir00.at:30: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir > list +tar xfTv archive list | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir00.at:30" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir > list +tar xfTv archive list | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file1 +dir/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-dir00.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/T-dir00.at:30: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir > list +tar xfTv archive list | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir00.at:30" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir > list +tar xfTv archive list | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file1 +dir/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-dir00.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/T-dir00.at:30: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir > list +tar xfTv archive list | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir00.at:30" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir > list +tar xfTv archive list | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file1 +dir/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-dir00.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/T-dir00.at:30: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir > list +tar xfTv archive list | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir00.at:30" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir > list +tar xfTv archive list | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file1 +dir/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-dir00.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/T-dir00.at:30: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir > list +tar xfTv archive list | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir00.at:30" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir > list +tar xfTv archive list | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file1 +dir/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-dir00.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_22 +#AT_START_23 +at_fn_group_banner 23 'T-dir01.at:28' \ + "trailing slash in --files-from" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "23. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + { set +x +$as_echo "$at_srcdir/T-dir01.at:30: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir/ > list +tar xfTv archive list | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir01.at:30" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir/ > list +tar xfTv archive list | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file1 +dir/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-dir01.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/T-dir01.at:30: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir/ > list +tar xfTv archive list | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir01.at:30" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir/ > list +tar xfTv archive list | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file1 +dir/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-dir01.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/T-dir01.at:30: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir/ > list +tar xfTv archive list | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir01.at:30" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir/ > list +tar xfTv archive list | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file1 +dir/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-dir01.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/T-dir01.at:30: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir/ > list +tar xfTv archive list | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir01.at:30" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir/ > list +tar xfTv archive list | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file1 +dir/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-dir01.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/T-dir01.at:30: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir/ > list +tar xfTv archive list | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir01.at:30" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir dir +genfile -f dir/file1 +genfile -f dir/file2 +tar cf archive dir +rm -rf dir +echo dir/ > list +tar xfTv archive list | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file1 +dir/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/T-dir01.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_23 +#AT_START_24 +at_fn_group_banner 24 'indexfile.at:26' \ + "tar --index-file=FILE --file=-" " " 3 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "24. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/indexfile.at:29: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + + +mkdir directory +genfile --file=directory/a --length=1035 + +echo \"Creating the archive\" +tar -c -v -f - --index-file=idx directory > archive + +echo \"Testing the archive\" +tar -tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + + +mkdir directory +genfile --file=directory/a --length=1035 + +echo "Creating the archive" +tar -c -v -f - --index-file=idx directory > archive + +echo "Testing the archive" +tar -tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive +Testing the archive +directory/ +directory/a +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/indexfile.at:29: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +mkdir directory +genfile --file=directory/a --length=1035 + +echo \"Creating the archive\" +tar -c -v -f - --index-file=idx directory > archive + +echo \"Testing the archive\" +tar -tf archive )" at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29" ( $at_check_trace; @@ -3975,14 +5520,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_19 -#AT_START_20 -at_fn_group_banner 20 'verbose.at:26' \ +#AT_STOP_24 +#AT_START_25 +at_fn_group_banner 25 'verbose.at:26' \ "tar cvf -" " " 3 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "20. $at_setup_line: testing $at_desc ..." + $as_echo "25. $at_setup_line: testing $at_desc ..." $at_traceon @@ -4231,13 +5776,13 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_20 -#AT_START_21 -at_fn_group_banner 21 'gzip.at:24' \ +#AT_STOP_25 +#AT_START_26 +at_fn_group_banner 26 'gzip.at:24' \ "gzip" " " 3 at_xfail=no ( - $as_echo "21. $at_setup_line: testing $at_desc ..." + $as_echo "26. $at_setup_line: testing $at_desc ..." $at_traceon @@ -4281,14 +5826,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_21 -#AT_START_22 -at_fn_group_banner 22 'recurse.at:21' \ +#AT_STOP_26 +#AT_START_27 +at_fn_group_banner 27 'recurse.at:21' \ "recurse" " " 3 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "22. $at_setup_line: testing $at_desc ..." + $as_echo "27. $at_setup_line: testing $at_desc ..." $at_traceon @@ -4507,14 +6052,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_22 -#AT_START_23 -at_fn_group_banner 23 'recurs02.at:30' \ +#AT_STOP_27 +#AT_START_28 +at_fn_group_banner 28 'recurs02.at:30' \ "recurse: toggle" " " 3 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "23. $at_setup_line: testing $at_desc ..." + $as_echo "28. $at_setup_line: testing $at_desc ..." $at_traceon @@ -4537,6 +6082,10 @@ tar --create --file archive \\ --no-recursion directory1 \\ --recursion directory2 || exit 1 tar tf archive +tar cf archive directory1 directory2 +tar tf archive \\ + --no-recursion directory1 \\ + --recursion directory2 || exit 1 )" at_fn_check_prepare_notrace 'an embedded newline' "recurs02.at:33" ( $at_check_trace; @@ -4554,6 +6103,10 @@ tar --create --file archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 tar tf archive +tar cf archive directory1 directory2 +tar tf archive \ + --no-recursion directory1 \ + --recursion directory2 || exit 1 ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false @@ -4562,6 +6115,9 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "directory1/ directory2/ directory2/file +directory1/ +directory2/ +directory2/file " | \ $at_diff - "$at_stdout" || at_failed=: at_fn_check_status 0 $at_status "$at_srcdir/recurs02.at:33" @@ -4584,6 +6140,10 @@ tar --create --file archive \\ --no-recursion directory1 \\ --recursion directory2 || exit 1 tar tf archive +tar cf archive directory1 directory2 +tar tf archive \\ + --no-recursion directory1 \\ + --recursion directory2 || exit 1 )" at_fn_check_prepare_notrace 'an embedded newline' "recurs02.at:33" ( $at_check_trace; @@ -4601,6 +6161,10 @@ tar --create --file archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 tar tf archive +tar cf archive directory1 directory2 +tar tf archive \ + --no-recursion directory1 \ + --recursion directory2 || exit 1 ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false @@ -4609,6 +6173,9 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "directory1/ directory2/ directory2/file +directory1/ +directory2/ +directory2/file " | \ $at_diff - "$at_stdout" || at_failed=: at_fn_check_status 0 $at_status "$at_srcdir/recurs02.at:33" @@ -4631,6 +6198,10 @@ tar --create --file archive \\ --no-recursion directory1 \\ --recursion directory2 || exit 1 tar tf archive +tar cf archive directory1 directory2 +tar tf archive \\ + --no-recursion directory1 \\ + --recursion directory2 || exit 1 )" at_fn_check_prepare_notrace 'an embedded newline' "recurs02.at:33" ( $at_check_trace; @@ -4648,6 +6219,10 @@ tar --create --file archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 tar tf archive +tar cf archive directory1 directory2 +tar tf archive \ + --no-recursion directory1 \ + --recursion directory2 || exit 1 ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false @@ -4656,6 +6231,9 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "directory1/ directory2/ directory2/file +directory1/ +directory2/ +directory2/file " | \ $at_diff - "$at_stdout" || at_failed=: at_fn_check_status 0 $at_status "$at_srcdir/recurs02.at:33" @@ -4678,6 +6256,10 @@ tar --create --file archive \\ --no-recursion directory1 \\ --recursion directory2 || exit 1 tar tf archive +tar cf archive directory1 directory2 +tar tf archive \\ + --no-recursion directory1 \\ + --recursion directory2 || exit 1 )" at_fn_check_prepare_notrace 'an embedded newline' "recurs02.at:33" ( $at_check_trace; @@ -4695,6 +6277,10 @@ tar --create --file archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 tar tf archive +tar cf archive directory1 directory2 +tar tf archive \ + --no-recursion directory1 \ + --recursion directory2 || exit 1 ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false @@ -4703,6 +6289,9 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "directory1/ directory2/ directory2/file +directory1/ +directory2/ +directory2/file " | \ $at_diff - "$at_stdout" || at_failed=: at_fn_check_status 0 $at_status "$at_srcdir/recurs02.at:33" @@ -4725,6 +6314,10 @@ tar --create --file archive \\ --no-recursion directory1 \\ --recursion directory2 || exit 1 tar tf archive +tar cf archive directory1 directory2 +tar tf archive \\ + --no-recursion directory1 \\ + --recursion directory2 || exit 1 )" at_fn_check_prepare_notrace 'an embedded newline' "recurs02.at:33" ( $at_check_trace; @@ -4742,6 +6335,10 @@ tar --create --file archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 tar tf archive +tar cf archive directory1 directory2 +tar tf archive \ + --no-recursion directory1 \ + --recursion directory2 || exit 1 ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false @@ -4750,6 +6347,9 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "directory1/ directory2/ directory2/file +directory1/ +directory2/ +directory2/file " | \ $at_diff - "$at_stdout" || at_failed=: at_fn_check_status 0 $at_status "$at_srcdir/recurs02.at:33" @@ -4763,14 +6363,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_23 -#AT_START_24 -at_fn_group_banner 24 'shortrec.at:25' \ +#AT_STOP_28 +#AT_START_29 +at_fn_group_banner 29 'shortrec.at:26' \ "short records" " " 3 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "24. $at_setup_line: testing $at_desc ..." + $as_echo "29. $at_setup_line: testing $at_desc ..." $at_traceon @@ -4778,7 +6378,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/shortrec.at:28: +$as_echo "$at_srcdir/shortrec.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -4796,7 +6396,7 @@ tar -t -f - < archive > /dev/null rm -r directory )" -at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28" +at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29" ( $at_check_trace; mkdir v7 (cd v7 @@ -4820,12 +6420,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/shortrec.at:28: +$as_echo "$at_srcdir/shortrec.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -4843,7 +6443,7 @@ tar -t -f - < archive > /dev/null rm -r directory )" -at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28" +at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -4867,12 +6467,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/shortrec.at:28: +$as_echo "$at_srcdir/shortrec.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -4890,7 +6490,7 @@ tar -t -f - < archive > /dev/null rm -r directory )" -at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28" +at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29" ( $at_check_trace; mkdir ustar (cd ustar @@ -4914,12 +6514,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/shortrec.at:28: +$as_echo "$at_srcdir/shortrec.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -4937,7 +6537,7 @@ tar -t -f - < archive > /dev/null rm -r directory )" -at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28" +at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29" ( $at_check_trace; mkdir posix (cd posix @@ -4961,12 +6561,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/shortrec.at:28: +$as_echo "$at_srcdir/shortrec.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -4984,7 +6584,7 @@ tar -t -f - < archive > /dev/null rm -r directory )" -at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28" +at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29" ( $at_check_trace; mkdir gnu (cd gnu @@ -5008,7 +6608,7 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29" $at_failed && at_fn_log_failure $at_traceon; } @@ -5019,22 +6619,24 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_24 -#AT_START_25 -at_fn_group_banner 25 'iotty.at:26' \ - "terminal input" " " 3 +#AT_STOP_29 +#AT_START_30 +at_fn_group_banner 30 'numeric.at:18' \ + "--numeric-owner basic tests" " " 3 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "25. $at_setup_line: testing $at_desc ..." + $as_echo "30. $at_setup_line: testing $at_desc ..." $at_traceon + + { set +x -$as_echo "$at_srcdir/iotty.at:29: +$as_echo "$at_srcdir/numeric.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -5043,17 +6645,36 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -test -x \$abs_builddir/ttyemu || exit 77 -TAPE=- -export TAPE -ttyemu -t5 -i/dev/null tar -x -echo \$? -ttyemu -t5 -i/dev/null tar -xz -echo \$? -ttyemu -t5 -i/dev/null tar -c . -echo \$? +mkdir dir +genfile --file dir/file + +MYUID=\$(id -u) || exit 77 +MYGID=\$(id -g) || exit 77 +MYUSR=\$(id -un) || exit 77 +MYGRP=\$(id -gn) || exit 77 + + +decho --create +tar --create -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --create -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + + +decho --list +tar --list -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --list -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + + +decho --diff +tar --diff -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --diff -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + + +decho --extract +tar --extract -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --extract -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + )" -at_fn_check_prepare_notrace 'an embedded newline' "iotty.at:29" +at_fn_check_prepare_notrace 'a $(...) command substitution' "numeric.at:29" ( $at_check_trace; mkdir posix (cd posix @@ -5063,37 +6684,72 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -test -x $abs_builddir/ttyemu || exit 77 -TAPE=- -export TAPE -ttyemu -t5 -i/dev/null tar -x -echo $? -ttyemu -t5 -i/dev/null tar -xz -echo $? -ttyemu -t5 -i/dev/null tar -c . -echo $? +mkdir dir +genfile --file dir/file + +MYUID=$(id -u) || exit 77 +MYGID=$(id -g) || exit 77 +MYUSR=$(id -un) || exit 77 +MYGRP=$(id -gn) || exit 77 + + +decho --create +tar --create -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --create -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + + +decho --list +tar --list -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --list -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + + +decho --diff +tar --diff -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --diff -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + + +decho --extract +tar --extract -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --extract -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "tar: Refusing to read archive contents from terminal (missing -f option?) -tar: Error is not recoverable: exiting now -2 -tar: Refusing to read archive contents from terminal (missing -f option?) -tar: Error is not recoverable: exiting now -2 -tar: Refusing to write archive contents to terminal (missing -f option?) -tar: Error is not recoverable: exiting now -2 +echo >>"$at_stderr"; $as_echo "--create +--list +--diff +--extract +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "--create +OK +OK +OK +OK +--list +OK +OK +OK +OK +--diff +OK +OK +OK +OK +--extract +OK +OK +OK +OK " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/iotty.at:29" +at_fn_check_status 0 $at_status "$at_srcdir/numeric.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/iotty.at:29: +$as_echo "$at_srcdir/numeric.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -5102,17 +6758,36 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -test -x \$abs_builddir/ttyemu || exit 77 -TAPE=- -export TAPE -ttyemu -t5 -i/dev/null tar -x -echo \$? -ttyemu -t5 -i/dev/null tar -xz -echo \$? -ttyemu -t5 -i/dev/null tar -c . -echo \$? +mkdir dir +genfile --file dir/file + +MYUID=\$(id -u) || exit 77 +MYGID=\$(id -g) || exit 77 +MYUSR=\$(id -un) || exit 77 +MYGRP=\$(id -gn) || exit 77 + + +decho --create +tar --create -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --create -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + + +decho --list +tar --list -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --list -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + + +decho --diff +tar --diff -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --diff -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + + +decho --extract +tar --extract -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --extract -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + )" -at_fn_check_prepare_notrace 'an embedded newline' "iotty.at:29" +at_fn_check_prepare_notrace 'a $(...) command substitution' "numeric.at:29" ( $at_check_trace; mkdir gnu (cd gnu @@ -5122,37 +6797,185 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -test -x $abs_builddir/ttyemu || exit 77 -TAPE=- -export TAPE -ttyemu -t5 -i/dev/null tar -x -echo $? -ttyemu -t5 -i/dev/null tar -xz -echo $? -ttyemu -t5 -i/dev/null tar -c . -echo $? +mkdir dir +genfile --file dir/file + +MYUID=$(id -u) || exit 77 +MYGID=$(id -g) || exit 77 +MYUSR=$(id -un) || exit 77 +MYGRP=$(id -gn) || exit 77 + + +decho --create +tar --create -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --create -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + + +decho --list +tar --list -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --list -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + + +decho --diff +tar --diff -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --diff -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + + +decho --extract +tar --extract -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --extract -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "tar: Refusing to read archive contents from terminal (missing -f option?) -tar: Error is not recoverable: exiting now -2 -tar: Refusing to read archive contents from terminal (missing -f option?) -tar: Error is not recoverable: exiting now -2 -tar: Refusing to write archive contents to terminal (missing -f option?) -tar: Error is not recoverable: exiting now -2 +echo >>"$at_stderr"; $as_echo "--create +--list +--diff +--extract " | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/iotty.at:29" -$at_failed && at_fn_log_failure -$at_traceon; } + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "--create +OK +OK +OK +OK +--list +OK +OK +OK +OK +--diff +OK +OK +OK +OK +--extract +OK +OK +OK +OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/numeric.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/numeric.at:29: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * - { set +x -$as_echo "$at_srcdir/iotty.at:29: +mkdir dir +genfile --file dir/file + +MYUID=\$(id -u) || exit 77 +MYGID=\$(id -g) || exit 77 +MYUSR=\$(id -un) || exit 77 +MYGRP=\$(id -gn) || exit 77 + + +decho --create +tar --create -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --create -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + + +decho --list +tar --list -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --list -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + + +decho --diff +tar --diff -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --diff -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + + +decho --extract +tar --extract -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --extract -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "numeric.at:29" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +mkdir dir +genfile --file dir/file + +MYUID=$(id -u) || exit 77 +MYGID=$(id -g) || exit 77 +MYUSR=$(id -un) || exit 77 +MYGRP=$(id -gn) || exit 77 + + +decho --create +tar --create -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --create -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + + +decho --list +tar --list -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --list -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + + +decho --diff +tar --diff -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --diff -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + + +decho --extract +tar --extract -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --extract -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "--create +--list +--diff +--extract +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "--create +OK +OK +OK +OK +--list +OK +OK +OK +OK +--diff +OK +OK +OK +OK +--extract +OK +OK +OK +OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/numeric.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/numeric.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -5161,17 +6984,36 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -test -x \$abs_builddir/ttyemu || exit 77 -TAPE=- -export TAPE -ttyemu -t5 -i/dev/null tar -x -echo \$? -ttyemu -t5 -i/dev/null tar -xz -echo \$? -ttyemu -t5 -i/dev/null tar -c . -echo \$? +mkdir dir +genfile --file dir/file + +MYUID=\$(id -u) || exit 77 +MYGID=\$(id -g) || exit 77 +MYUSR=\$(id -un) || exit 77 +MYGRP=\$(id -gn) || exit 77 + + +decho --create +tar --create -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --create -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + + +decho --list +tar --list -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --list -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + + +decho --diff +tar --diff -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --diff -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + + +decho --extract +tar --extract -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}' +tar --extract -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}' + )" -at_fn_check_prepare_notrace 'an embedded newline' "iotty.at:29" +at_fn_check_prepare_notrace 'a $(...) command substitution' "numeric.at:29" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -5181,32 +7023,67 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -test -x $abs_builddir/ttyemu || exit 77 -TAPE=- -export TAPE -ttyemu -t5 -i/dev/null tar -x -echo $? -ttyemu -t5 -i/dev/null tar -xz -echo $? -ttyemu -t5 -i/dev/null tar -c . -echo $? +mkdir dir +genfile --file dir/file + +MYUID=$(id -u) || exit 77 +MYGID=$(id -g) || exit 77 +MYUSR=$(id -un) || exit 77 +MYGRP=$(id -gn) || exit 77 + + +decho --create +tar --create -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --create -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + + +decho --list +tar --list -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --list -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + + +decho --diff +tar --diff -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --diff -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + + +decho --extract +tar --extract -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' +tar --extract -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' + ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "tar: Refusing to read archive contents from terminal (missing -f option?) -tar: Error is not recoverable: exiting now -2 -tar: Refusing to read archive contents from terminal (missing -f option?) -tar: Error is not recoverable: exiting now -2 -tar: Refusing to write archive contents to terminal (missing -f option?) -tar: Error is not recoverable: exiting now -2 +echo >>"$at_stderr"; $as_echo "--create +--list +--diff +--extract +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "--create +OK +OK +OK +OK +--list +OK +OK +OK +OK +--diff +OK +OK +OK +OK +--extract +OK +OK +OK +OK " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/iotty.at:29" +at_fn_check_status 0 $at_status "$at_srcdir/numeric.at:29" $at_failed && at_fn_log_failure $at_traceon; } @@ -5217,14 +7094,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_25 -#AT_START_26 -at_fn_group_banner 26 'same-order01.at:26' \ +#AT_STOP_30 +#AT_START_31 +at_fn_group_banner 31 'same-order01.at:27' \ "working -C with --same-order" " " 4 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "26. $at_setup_line: testing $at_desc ..." + $as_echo "31. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5232,7 +7109,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/same-order01.at:29: +$as_echo "$at_srcdir/same-order01.at:30: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -5254,7 +7131,7 @@ tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort )" -at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30" ( $at_check_trace; mkdir v7 (cd v7 @@ -5285,12 +7162,12 @@ echo >>"$at_stdout"; $as_echo "file1 file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29" +at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/same-order01.at:29: +$as_echo "$at_srcdir/same-order01.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -5312,7 +7189,7 @@ tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort )" -at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -5343,12 +7220,12 @@ echo >>"$at_stdout"; $as_echo "file1 file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29" +at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/same-order01.at:29: +$as_echo "$at_srcdir/same-order01.at:30: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -5370,7 +7247,7 @@ tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort )" -at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30" ( $at_check_trace; mkdir ustar (cd ustar @@ -5401,12 +7278,12 @@ echo >>"$at_stdout"; $as_echo "file1 file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29" +at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/same-order01.at:29: +$as_echo "$at_srcdir/same-order01.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -5428,7 +7305,7 @@ tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort )" -at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30" ( $at_check_trace; mkdir posix (cd posix @@ -5459,12 +7336,12 @@ echo >>"$at_stdout"; $as_echo "file1 file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29" +at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/same-order01.at:29: +$as_echo "$at_srcdir/same-order01.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -5486,7 +7363,7 @@ tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort )" -at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30" ( $at_check_trace; mkdir gnu (cd gnu @@ -5517,7 +7394,7 @@ echo >>"$at_stdout"; $as_echo "file1 file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29" +at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30" $at_failed && at_fn_log_failure $at_traceon; } @@ -5528,14 +7405,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_26 -#AT_START_27 -at_fn_group_banner 27 'same-order02.at:25' \ +#AT_STOP_31 +#AT_START_32 +at_fn_group_banner 32 'same-order02.at:26' \ "multiple -C options" " " 4 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "27. $at_setup_line: testing $at_desc ..." + $as_echo "32. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5543,7 +7420,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/same-order02.at:28: +$as_echo "$at_srcdir/same-order02.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -5568,7 +7445,7 @@ ls en echo separator ls to )" -at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29" ( $at_check_trace; mkdir v7 (cd v7 @@ -5603,12 +7480,12 @@ separator file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/same-order02.at:28: +$as_echo "$at_srcdir/same-order02.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -5633,7 +7510,7 @@ ls en echo separator ls to )" -at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -5668,12 +7545,12 @@ separator file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/same-order02.at:28: +$as_echo "$at_srcdir/same-order02.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -5698,7 +7575,7 @@ ls en echo separator ls to )" -at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29" ( $at_check_trace; mkdir ustar (cd ustar @@ -5733,12 +7610,12 @@ separator file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/same-order02.at:28: +$as_echo "$at_srcdir/same-order02.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -5763,7 +7640,7 @@ ls en echo separator ls to )" -at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29" ( $at_check_trace; mkdir posix (cd posix @@ -5798,12 +7675,12 @@ separator file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/same-order02.at:28: +$as_echo "$at_srcdir/same-order02.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -5828,7 +7705,7 @@ ls en echo separator ls to )" -at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29" ( $at_check_trace; mkdir gnu (cd gnu @@ -5863,7 +7740,7 @@ separator file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29" $at_failed && at_fn_log_failure $at_traceon; } @@ -5874,14 +7751,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_27 -#AT_START_28 -at_fn_group_banner 28 'append.at:21' \ +#AT_STOP_32 +#AT_START_33 +at_fn_group_banner 33 'append.at:22' \ "append" " " 5 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "28. $at_setup_line: testing $at_desc ..." + $as_echo "33. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5889,7 +7766,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/append.at:24: +$as_echo "$at_srcdir/append.at:25: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -5902,7 +7779,7 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive)" -at_fn_check_prepare_notrace 'an embedded newline' "append.at:24" +at_fn_check_prepare_notrace 'an embedded newline' "append.at:25" ( $at_check_trace; mkdir v7 (cd v7 @@ -5924,12 +7801,12 @@ echo >>"$at_stdout"; $as_echo "file1 file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append.at:24" +at_fn_check_status 0 $at_status "$at_srcdir/append.at:25" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/append.at:24: +$as_echo "$at_srcdir/append.at:25: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -5942,7 +7819,7 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive)" -at_fn_check_prepare_notrace 'an embedded newline' "append.at:24" +at_fn_check_prepare_notrace 'an embedded newline' "append.at:25" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -5964,12 +7841,12 @@ echo >>"$at_stdout"; $as_echo "file1 file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append.at:24" +at_fn_check_status 0 $at_status "$at_srcdir/append.at:25" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/append.at:24: +$as_echo "$at_srcdir/append.at:25: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -5982,7 +7859,7 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive)" -at_fn_check_prepare_notrace 'an embedded newline' "append.at:24" +at_fn_check_prepare_notrace 'an embedded newline' "append.at:25" ( $at_check_trace; mkdir ustar (cd ustar @@ -6004,12 +7881,12 @@ echo >>"$at_stdout"; $as_echo "file1 file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append.at:24" +at_fn_check_status 0 $at_status "$at_srcdir/append.at:25" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/append.at:24: +$as_echo "$at_srcdir/append.at:25: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -6022,7 +7899,7 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive)" -at_fn_check_prepare_notrace 'an embedded newline' "append.at:24" +at_fn_check_prepare_notrace 'an embedded newline' "append.at:25" ( $at_check_trace; mkdir posix (cd posix @@ -6044,12 +7921,12 @@ echo >>"$at_stdout"; $as_echo "file1 file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append.at:24" +at_fn_check_status 0 $at_status "$at_srcdir/append.at:25" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/append.at:24: +$as_echo "$at_srcdir/append.at:25: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -6062,7 +7939,7 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive)" -at_fn_check_prepare_notrace 'an embedded newline' "append.at:24" +at_fn_check_prepare_notrace 'an embedded newline' "append.at:25" ( $at_check_trace; mkdir gnu (cd gnu @@ -6084,7 +7961,7 @@ echo >>"$at_stdout"; $as_echo "file1 file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append.at:24" +at_fn_check_status 0 $at_status "$at_srcdir/append.at:25" $at_failed && at_fn_log_failure $at_traceon; } @@ -6095,14 +7972,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_28 -#AT_START_29 -at_fn_group_banner 29 'append01.at:29' \ +#AT_STOP_33 +#AT_START_34 +at_fn_group_banner 34 'append01.at:29' \ "appending files with long names" " " 5 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "29. $at_setup_line: testing $at_desc ..." + $as_echo "34. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6295,14 +8172,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_29 -#AT_START_30 -at_fn_group_banner 30 'append02.at:54' \ +#AT_STOP_34 +#AT_START_35 +at_fn_group_banner 35 'append02.at:55' \ "append vs. create" " " 5 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "30. $at_setup_line: testing $at_desc ..." + $as_echo "35. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6310,7 +8187,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/append02.at:57: +$as_echo "$at_srcdir/append02.at:58: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -6342,7 +8219,7 @@ tar \$MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 )" -at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57" +at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58" ( $at_check_trace; mkdir v7 (cd v7 @@ -6384,12 +8261,12 @@ Creating archive.2 Comparing archives " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57" +at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/append02.at:57: +$as_echo "$at_srcdir/append02.at:58: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -6421,7 +8298,7 @@ tar \$MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 )" -at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57" +at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -6463,12 +8340,12 @@ Creating archive.2 Comparing archives " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57" +at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/append02.at:57: +$as_echo "$at_srcdir/append02.at:58: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -6500,7 +8377,7 @@ tar \$MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 )" -at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57" +at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58" ( $at_check_trace; mkdir ustar (cd ustar @@ -6542,12 +8419,12 @@ Creating archive.2 Comparing archives " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57" +at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/append02.at:57: +$as_echo "$at_srcdir/append02.at:58: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -6579,7 +8456,7 @@ tar \$MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 )" -at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57" +at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58" ( $at_check_trace; mkdir posix (cd posix @@ -6621,12 +8498,12 @@ Creating archive.2 Comparing archives " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57" +at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/append02.at:57: +$as_echo "$at_srcdir/append02.at:58: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -6658,7 +8535,7 @@ tar \$MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 )" -at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57" +at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58" ( $at_check_trace; mkdir gnu (cd gnu @@ -6700,7 +8577,7 @@ Creating archive.2 Comparing archives " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57" +at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58" $at_failed && at_fn_log_failure $at_traceon; } @@ -6711,14 +8588,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_30 -#AT_START_31 -at_fn_group_banner 31 'append03.at:21' \ +#AT_STOP_35 +#AT_START_36 +at_fn_group_banner 36 'append03.at:21' \ "append with name transformation" " " 5 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "31. $at_setup_line: testing $at_desc ..." + $as_echo "36. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7004,14 +8881,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_31 -#AT_START_32 -at_fn_group_banner 32 'append04.at:29' \ +#AT_STOP_36 +#AT_START_37 +at_fn_group_banner 37 'append04.at:29' \ "append with verify" " " 5 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "32. $at_setup_line: testing $at_desc ..." + $as_echo "37. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7091,7 +8968,422 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/append04.at:32: +$as_echo "$at_srcdir/append04.at:32: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +# Create two empty files: +touch file1 file2 + +# Create an archive: +tar cpfW archive.tar file1 file2 + +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +)" +at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +# Create two empty files: +touch file1 file2 + +# Create an archive: +tar cpfW archive.tar file1 file2 + +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +== +file1 +file2 +file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/append04.at:32: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +# Create two empty files: +touch file1 file2 + +# Create an archive: +tar cpfW archive.tar file1 file2 + +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +)" +at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +# Create two empty files: +touch file1 file2 + +# Create an archive: +tar cpfW archive.tar file1 file2 + +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +== +file1 +file2 +file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/append04.at:32: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +# Create two empty files: +touch file1 file2 + +# Create an archive: +tar cpfW archive.tar file1 file2 + +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +)" +at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +# Create two empty files: +touch file1 file2 + +# Create an archive: +tar cpfW archive.tar file1 file2 + +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +== +file1 +file2 +file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/append04.at:32: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +# Create two empty files: +touch file1 file2 + +# Create an archive: +tar cpfW archive.tar file1 file2 + +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +)" +at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +# Create two empty files: +touch file1 file2 + +# Create an archive: +tar cpfW archive.tar file1 file2 + +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +== +file1 +file2 +file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_37 +#AT_START_38 +at_fn_group_banner 38 'append05.at:32' \ + "append after changed blocking" " " 5 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "38. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/append05.at:35: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + +for f in a b c d e f g h i +do + echo \$f > \$f +done + +decho 'creating archive' +tar -cf archive -b1 a b c + +tar tf archive + +decho 'adding d e f' +tar -vrf archive -b3 d e f +echo == +tar tf archive + +decho 'adding g h i' +tar -vrf archive -b5 g h i + +decho 'resulting archive' +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "append05.at:35" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + +for f in a b c d e f g h i +do + echo $f > $f +done + +decho 'creating archive' +tar -cf archive -b1 a b c + +tar tf archive + +decho 'adding d e f' +tar -vrf archive -b3 d e f +echo == +tar tf archive + +decho 'adding g h i' +tar -vrf archive -b5 g h i + +decho 'resulting archive' +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "creating archive +adding d e f +adding g h i +resulting archive +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "creating archive +a +b +c +adding d e f +d +e +f +== +a +b +c +d +e +f +adding g h i +g +h +i +resulting archive +a +b +c +d +e +f +g +h +i +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append05.at:35" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/append05.at:35: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -7100,25 +9392,28 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -# Create two empty files: -touch file1 file2 +for f in a b c d e f g h i +do + echo \$f > \$f +done -# Create an archive: -tar cpfW archive.tar file1 file2 +decho 'creating archive' +tar -cf archive -b1 a b c -# Verify created archive by listing its content: -tar -tf archive.tar +tar tf archive + +decho 'adding d e f' +tar -vrf archive -b3 d e f echo == -# Create another empty file: -touch file3 +tar tf archive -# Append it to the already created archive: -tar rpfW archive.tar file3 +decho 'adding g h i' +tar -vrf archive -b5 g h i -# Verify content of the new archive: -tar -tf archive.tar +decho 'resulting archive' +tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32" +at_fn_check_prepare_notrace 'an embedded newline' "append05.at:35" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -7128,42 +9423,73 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -# Create two empty files: -touch file1 file2 +for f in a b c d e f g h i +do + echo $f > $f +done -# Create an archive: -tar cpfW archive.tar file1 file2 +decho 'creating archive' +tar -cf archive -b1 a b c -# Verify created archive by listing its content: -tar -tf archive.tar +tar tf archive + +decho 'adding d e f' +tar -vrf archive -b3 d e f echo == -# Create another empty file: -touch file3 +tar tf archive -# Append it to the already created archive: -tar rpfW archive.tar file3 +decho 'adding g h i' +tar -vrf archive -b5 g h i -# Verify content of the new archive: -tar -tf archive.tar +decho 'resulting archive' +tar tf archive ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 +echo >>"$at_stderr"; $as_echo "creating archive +adding d e f +adding g h i +resulting archive +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "creating archive +a +b +c +adding d e f +d +e +f == -file1 -file2 -file3 +a +b +c +d +e +f +adding g h i +g +h +i +resulting archive +a +b +c +d +e +f +g +h +i " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32" +at_fn_check_status 0 $at_status "$at_srcdir/append05.at:35" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/append04.at:32: +$as_echo "$at_srcdir/append05.at:35: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -7172,25 +9498,28 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -# Create two empty files: -touch file1 file2 +for f in a b c d e f g h i +do + echo \$f > \$f +done -# Create an archive: -tar cpfW archive.tar file1 file2 +decho 'creating archive' +tar -cf archive -b1 a b c -# Verify created archive by listing its content: -tar -tf archive.tar +tar tf archive + +decho 'adding d e f' +tar -vrf archive -b3 d e f echo == -# Create another empty file: -touch file3 +tar tf archive -# Append it to the already created archive: -tar rpfW archive.tar file3 +decho 'adding g h i' +tar -vrf archive -b5 g h i -# Verify content of the new archive: -tar -tf archive.tar +decho 'resulting archive' +tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32" +at_fn_check_prepare_notrace 'an embedded newline' "append05.at:35" ( $at_check_trace; mkdir ustar (cd ustar @@ -7200,42 +9529,73 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -# Create two empty files: -touch file1 file2 +for f in a b c d e f g h i +do + echo $f > $f +done -# Create an archive: -tar cpfW archive.tar file1 file2 +decho 'creating archive' +tar -cf archive -b1 a b c -# Verify created archive by listing its content: -tar -tf archive.tar +tar tf archive + +decho 'adding d e f' +tar -vrf archive -b3 d e f echo == -# Create another empty file: -touch file3 +tar tf archive -# Append it to the already created archive: -tar rpfW archive.tar file3 +decho 'adding g h i' +tar -vrf archive -b5 g h i -# Verify content of the new archive: -tar -tf archive.tar +decho 'resulting archive' +tar tf archive ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 +echo >>"$at_stderr"; $as_echo "creating archive +adding d e f +adding g h i +resulting archive +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "creating archive +a +b +c +adding d e f +d +e +f == -file1 -file2 -file3 +a +b +c +d +e +f +adding g h i +g +h +i +resulting archive +a +b +c +d +e +f +g +h +i " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32" +at_fn_check_status 0 $at_status "$at_srcdir/append05.at:35" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/append04.at:32: +$as_echo "$at_srcdir/append05.at:35: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -7244,25 +9604,28 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -# Create two empty files: -touch file1 file2 +for f in a b c d e f g h i +do + echo \$f > \$f +done -# Create an archive: -tar cpfW archive.tar file1 file2 +decho 'creating archive' +tar -cf archive -b1 a b c -# Verify created archive by listing its content: -tar -tf archive.tar +tar tf archive + +decho 'adding d e f' +tar -vrf archive -b3 d e f echo == -# Create another empty file: -touch file3 +tar tf archive -# Append it to the already created archive: -tar rpfW archive.tar file3 +decho 'adding g h i' +tar -vrf archive -b5 g h i -# Verify content of the new archive: -tar -tf archive.tar +decho 'resulting archive' +tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32" +at_fn_check_prepare_notrace 'an embedded newline' "append05.at:35" ( $at_check_trace; mkdir posix (cd posix @@ -7272,42 +9635,73 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -# Create two empty files: -touch file1 file2 +for f in a b c d e f g h i +do + echo $f > $f +done -# Create an archive: -tar cpfW archive.tar file1 file2 +decho 'creating archive' +tar -cf archive -b1 a b c -# Verify created archive by listing its content: -tar -tf archive.tar +tar tf archive + +decho 'adding d e f' +tar -vrf archive -b3 d e f echo == -# Create another empty file: -touch file3 +tar tf archive -# Append it to the already created archive: -tar rpfW archive.tar file3 +decho 'adding g h i' +tar -vrf archive -b5 g h i -# Verify content of the new archive: -tar -tf archive.tar +decho 'resulting archive' +tar tf archive ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 +echo >>"$at_stderr"; $as_echo "creating archive +adding d e f +adding g h i +resulting archive +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "creating archive +a +b +c +adding d e f +d +e +f == -file1 -file2 -file3 +a +b +c +d +e +f +adding g h i +g +h +i +resulting archive +a +b +c +d +e +f +g +h +i " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32" +at_fn_check_status 0 $at_status "$at_srcdir/append05.at:35" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/append04.at:32: +$as_echo "$at_srcdir/append05.at:35: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -7316,25 +9710,28 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -# Create two empty files: -touch file1 file2 +for f in a b c d e f g h i +do + echo \$f > \$f +done -# Create an archive: -tar cpfW archive.tar file1 file2 +decho 'creating archive' +tar -cf archive -b1 a b c -# Verify created archive by listing its content: -tar -tf archive.tar +tar tf archive + +decho 'adding d e f' +tar -vrf archive -b3 d e f echo == -# Create another empty file: -touch file3 +tar tf archive -# Append it to the already created archive: -tar rpfW archive.tar file3 +decho 'adding g h i' +tar -vrf archive -b5 g h i -# Verify content of the new archive: -tar -tf archive.tar +decho 'resulting archive' +tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32" +at_fn_check_prepare_notrace 'an embedded newline' "append05.at:35" ( $at_check_trace; mkdir gnu (cd gnu @@ -7344,37 +9741,68 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -# Create two empty files: -touch file1 file2 +for f in a b c d e f g h i +do + echo $f > $f +done -# Create an archive: -tar cpfW archive.tar file1 file2 +decho 'creating archive' +tar -cf archive -b1 a b c -# Verify created archive by listing its content: -tar -tf archive.tar +tar tf archive + +decho 'adding d e f' +tar -vrf archive -b3 d e f echo == -# Create another empty file: -touch file3 +tar tf archive -# Append it to the already created archive: -tar rpfW archive.tar file3 +decho 'adding g h i' +tar -vrf archive -b5 g h i -# Verify content of the new archive: -tar -tf archive.tar +decho 'resulting archive' +tar tf archive ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 +echo >>"$at_stderr"; $as_echo "creating archive +adding d e f +adding g h i +resulting archive +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "creating archive +a +b +c +adding d e f +d +e +f == -file1 -file2 -file3 +a +b +c +d +e +f +adding g h i +g +h +i +resulting archive +a +b +c +d +e +f +g +h +i " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32" +at_fn_check_status 0 $at_status "$at_srcdir/append05.at:35" $at_failed && at_fn_log_failure $at_traceon; } @@ -7385,14 +9813,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_32 -#AT_START_33 -at_fn_group_banner 33 'xform-h.at:30' \ +#AT_STOP_38 +#AT_START_39 +at_fn_group_banner 39 'xform-h.at:30' \ "transforming hard links on create" " " 6 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "33. $at_setup_line: testing $at_desc ..." + $as_echo "39. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7790,14 +10218,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_33 -#AT_START_34 -at_fn_group_banner 34 'xform01.at:26' \ +#AT_STOP_39 +#AT_START_40 +at_fn_group_banner 40 'xform01.at:26' \ "transformations and GNU volume labels" " " 6 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "34. $at_setup_line: testing $at_desc ..." + $as_echo "40. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7851,14 +10279,240 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_34 -#AT_START_35 -at_fn_group_banner 35 'exclude.at:23' \ +#AT_STOP_40 +#AT_START_41 +at_fn_group_banner 41 'xform02.at:21' \ + "transforming escaped delimiters on create" " " 6 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "41. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/xform02.at:24: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + +genfile --file file +tar cvf /dev/null file \\ + --transform='s/file/other\\/name/' \\ + --show-transformed-name +)" +at_fn_check_prepare_notrace 'an embedded newline' "xform02.at:24" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + +genfile --file file +tar cvf /dev/null file \ + --transform='s/file/other\/name/' \ + --show-transformed-name +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "other/name +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xform02.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/xform02.at:24: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +genfile --file file +tar cvf /dev/null file \\ + --transform='s/file/other\\/name/' \\ + --show-transformed-name +)" +at_fn_check_prepare_notrace 'an embedded newline' "xform02.at:24" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +genfile --file file +tar cvf /dev/null file \ + --transform='s/file/other\/name/' \ + --show-transformed-name +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "other/name +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xform02.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/xform02.at:24: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +genfile --file file +tar cvf /dev/null file \\ + --transform='s/file/other\\/name/' \\ + --show-transformed-name +)" +at_fn_check_prepare_notrace 'an embedded newline' "xform02.at:24" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +genfile --file file +tar cvf /dev/null file \ + --transform='s/file/other\/name/' \ + --show-transformed-name +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "other/name +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xform02.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/xform02.at:24: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +genfile --file file +tar cvf /dev/null file \\ + --transform='s/file/other\\/name/' \\ + --show-transformed-name +)" +at_fn_check_prepare_notrace 'an embedded newline' "xform02.at:24" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +genfile --file file +tar cvf /dev/null file \ + --transform='s/file/other\/name/' \ + --show-transformed-name +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "other/name +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xform02.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/xform02.at:24: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +genfile --file file +tar cvf /dev/null file \\ + --transform='s/file/other\\/name/' \\ + --show-transformed-name +)" +at_fn_check_prepare_notrace 'an embedded newline' "xform02.at:24" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +genfile --file file +tar cvf /dev/null file \ + --transform='s/file/other\/name/' \ + --show-transformed-name +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "other/name +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xform02.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_41 +#AT_START_42 +at_fn_group_banner 42 'exclude.at:23' \ "exclude" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "35. $at_setup_line: testing $at_desc ..." + $as_echo "42. $at_setup_line: testing $at_desc ..." $at_traceon @@ -8068,14 +10722,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_35 -#AT_START_36 -at_fn_group_banner 36 'exclude01.at:19' \ +#AT_STOP_42 +#AT_START_43 +at_fn_group_banner 43 'exclude01.at:19' \ "exclude wildcards" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "36. $at_setup_line: testing $at_desc ..." + $as_echo "43. $at_setup_line: testing $at_desc ..." $at_traceon @@ -8649,14 +11303,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_36 -#AT_START_37 -at_fn_group_banner 37 'exclude02.at:19' \ +#AT_STOP_43 +#AT_START_44 +at_fn_group_banner 44 'exclude02.at:19' \ "exclude: anchoring" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "37. $at_setup_line: testing $at_desc ..." + $as_echo "44. $at_setup_line: testing $at_desc ..." $at_traceon @@ -9290,14 +11944,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_37 -#AT_START_38 -at_fn_group_banner 38 'exclude03.at:19' \ +#AT_STOP_44 +#AT_START_45 +at_fn_group_banner 45 'exclude03.at:19' \ "exclude: wildcards match slash" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "38. $at_setup_line: testing $at_desc ..." + $as_echo "45. $at_setup_line: testing $at_desc ..." $at_traceon @@ -9891,14 +12545,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_38 -#AT_START_39 -at_fn_group_banner 39 'exclude04.at:19' \ +#AT_STOP_45 +#AT_START_46 +at_fn_group_banner 46 'exclude04.at:19' \ "exclude: case insensitive" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "39. $at_setup_line: testing $at_desc ..." + $as_echo "46. $at_setup_line: testing $at_desc ..." $at_traceon @@ -10507,14 +13161,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_39 -#AT_START_40 -at_fn_group_banner 40 'exclude05.at:21' \ +#AT_STOP_46 +#AT_START_47 +at_fn_group_banner 47 'exclude05.at:21' \ "exclude: lots of excludes" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "40. $at_setup_line: testing $at_desc ..." + $as_echo "47. $at_setup_line: testing $at_desc ..." $at_traceon @@ -10983,14 +13637,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_40 -#AT_START_41 -at_fn_group_banner 41 'exclude06.at:26' \ +#AT_STOP_47 +#AT_START_48 +at_fn_group_banner 48 'exclude06.at:26' \ "exclude: long files in pax archives" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "41. $at_setup_line: testing $at_desc ..." + $as_echo "48. $at_setup_line: testing $at_desc ..." $at_traceon @@ -11058,14 +13712,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_41 -#AT_START_42 -at_fn_group_banner 42 'exclude07.at:19' \ +#AT_STOP_48 +#AT_START_49 +at_fn_group_banner 49 'exclude07.at:19' \ "exclude: --exclude-backups option" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "42. $at_setup_line: testing $at_desc ..." + $as_echo "49. $at_setup_line: testing $at_desc ..." $at_traceon @@ -11319,14 +13973,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_42 -#AT_START_43 -at_fn_group_banner 43 'exclude08.at:36' \ +#AT_STOP_49 +#AT_START_50 +at_fn_group_banner 50 'exclude08.at:36' \ "--exclude-tag option" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "43. $at_setup_line: testing $at_desc ..." + $as_echo "50. $at_setup_line: testing $at_desc ..." $at_traceon @@ -11580,14 +14234,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_43 -#AT_START_44 -at_fn_group_banner 44 'exclude09.at:37' \ +#AT_STOP_50 +#AT_START_51 +at_fn_group_banner 51 'exclude09.at:37' \ "--exclude-tag option and --listed-incremental" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "44. $at_setup_line: testing $at_desc ..." + $as_echo "51. $at_setup_line: testing $at_desc ..." $at_traceon @@ -11651,14 +14305,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_44 -#AT_START_45 -at_fn_group_banner 45 'exclude10.at:38' \ +#AT_STOP_51 +#AT_START_52 +at_fn_group_banner 52 'exclude10.at:38' \ "--exclude-tag option in incremental pass" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "45. $at_setup_line: testing $at_desc ..." + $as_echo "52. $at_setup_line: testing $at_desc ..." $at_traceon @@ -11745,14 +14399,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_45 -#AT_START_46 -at_fn_group_banner 46 'exclude11.at:36' \ +#AT_STOP_52 +#AT_START_53 +at_fn_group_banner 53 'exclude11.at:36' \ "--exclude-tag-under option" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "46. $at_setup_line: testing $at_desc ..." + $as_echo "53. $at_setup_line: testing $at_desc ..." $at_traceon @@ -12001,14 +14655,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_46 -#AT_START_47 -at_fn_group_banner 47 'exclude12.at:37' \ +#AT_STOP_53 +#AT_START_54 +at_fn_group_banner 54 'exclude12.at:37' \ "--exclude-tag-under and --listed-incremental" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "47. $at_setup_line: testing $at_desc ..." + $as_echo "54. $at_setup_line: testing $at_desc ..." $at_traceon @@ -12071,14 +14725,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_47 -#AT_START_48 -at_fn_group_banner 48 'exclude13.at:39' \ +#AT_STOP_54 +#AT_START_55 +at_fn_group_banner 55 'exclude13.at:39' \ "--exclude-tag-under option in incremental pass" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "48. $at_setup_line: testing $at_desc ..." + $as_echo "55. $at_setup_line: testing $at_desc ..." $at_traceon @@ -12164,14 +14818,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_48 -#AT_START_49 -at_fn_group_banner 49 'exclude14.at:36' \ +#AT_STOP_55 +#AT_START_56 +at_fn_group_banner 56 'exclude14.at:36' \ "--exclude-tag-all option" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "49. $at_setup_line: testing $at_desc ..." + $as_echo "56. $at_setup_line: testing $at_desc ..." $at_traceon @@ -12415,14 +15069,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_49 -#AT_START_50 -at_fn_group_banner 50 'exclude15.at:36' \ +#AT_STOP_56 +#AT_START_57 +at_fn_group_banner 57 'exclude15.at:36' \ "--exclude-tag-all and --listed-incremental" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "50. $at_setup_line: testing $at_desc ..." + $as_echo "57. $at_setup_line: testing $at_desc ..." $at_traceon @@ -12484,14 +15138,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_50 -#AT_START_51 -at_fn_group_banner 51 'exclude16.at:38' \ +#AT_STOP_57 +#AT_START_58 +at_fn_group_banner 58 'exclude16.at:38' \ "--exclude-tag-all option in incremental pass" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "51. $at_setup_line: testing $at_desc ..." + $as_echo "58. $at_setup_line: testing $at_desc ..." $at_traceon @@ -12576,14 +15230,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_51 -#AT_START_52 -at_fn_group_banner 52 'delete01.at:23' \ +#AT_STOP_58 +#AT_START_59 +at_fn_group_banner 59 'delete01.at:24' \ "deleting a member after a big one" " " 8 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "52. $at_setup_line: testing $at_desc ..." + $as_echo "59. $at_setup_line: testing $at_desc ..." $at_traceon @@ -12591,7 +15245,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/delete01.at:26: +$as_echo "$at_srcdir/delete01.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -12605,7 +15259,7 @@ genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive)" -at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27" ( $at_check_trace; mkdir v7 (cd v7 @@ -12627,12 +15281,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete01.at:26: +$as_echo "$at_srcdir/delete01.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -12646,7 +15300,7 @@ genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive)" -at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -12668,12 +15322,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete01.at:26: +$as_echo "$at_srcdir/delete01.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -12687,7 +15341,7 @@ genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive)" -at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27" ( $at_check_trace; mkdir ustar (cd ustar @@ -12709,12 +15363,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete01.at:26: +$as_echo "$at_srcdir/delete01.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -12728,7 +15382,7 @@ genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive)" -at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27" ( $at_check_trace; mkdir posix (cd posix @@ -12750,12 +15404,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete01.at:26: +$as_echo "$at_srcdir/delete01.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -12769,7 +15423,7 @@ genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive)" -at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27" ( $at_check_trace; mkdir gnu (cd gnu @@ -12791,7 +15445,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -12802,14 +15456,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_52 -#AT_START_53 -at_fn_group_banner 53 'delete02.at:23' \ +#AT_STOP_59 +#AT_START_60 +at_fn_group_banner 60 'delete02.at:24' \ "deleting a member from stdin archive" " " 8 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "53. $at_setup_line: testing $at_desc ..." + $as_echo "60. $at_setup_line: testing $at_desc ..." $at_traceon @@ -12817,7 +15471,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/delete02.at:26: +$as_echo "$at_srcdir/delete02.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -12834,7 +15488,7 @@ tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2)" -at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27" ( $at_check_trace; mkdir v7 (cd v7 @@ -12864,12 +15518,12 @@ separator 3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete02.at:26: +$as_echo "$at_srcdir/delete02.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -12886,7 +15540,7 @@ tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2)" -at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -12916,12 +15570,12 @@ separator 3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete02.at:26: +$as_echo "$at_srcdir/delete02.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -12938,7 +15592,7 @@ tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2)" -at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27" ( $at_check_trace; mkdir ustar (cd ustar @@ -12968,12 +15622,12 @@ separator 3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete02.at:26: +$as_echo "$at_srcdir/delete02.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -12990,7 +15644,7 @@ tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2)" -at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27" ( $at_check_trace; mkdir posix (cd posix @@ -13020,12 +15674,12 @@ separator 3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete02.at:26: +$as_echo "$at_srcdir/delete02.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -13042,7 +15696,7 @@ tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2)" -at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27" ( $at_check_trace; mkdir gnu (cd gnu @@ -13072,7 +15726,7 @@ separator 3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -13083,14 +15737,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_53 -#AT_START_54 -at_fn_group_banner 54 'delete03.at:21' \ +#AT_STOP_60 +#AT_START_61 +at_fn_group_banner 61 'delete03.at:21' \ "deleting members with long names" " " 8 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "54. $at_setup_line: testing $at_desc ..." + $as_echo "61. $at_setup_line: testing $at_desc ..." $at_traceon @@ -13281,14 +15935,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_54 -#AT_START_55 -at_fn_group_banner 55 'delete04.at:23' \ +#AT_STOP_61 +#AT_START_62 +at_fn_group_banner 62 'delete04.at:24' \ "deleting a large last member" " " 8 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "55. $at_setup_line: testing $at_desc ..." + $as_echo "62. $at_setup_line: testing $at_desc ..." $at_traceon @@ -13296,7 +15950,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/delete04.at:26: +$as_echo "$at_srcdir/delete04.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -13319,7 +15973,7 @@ tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27" ( $at_check_trace; mkdir v7 (cd v7 @@ -13358,12 +16012,12 @@ file8 file9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete04.at:26: +$as_echo "$at_srcdir/delete04.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -13386,7 +16040,7 @@ tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -13425,12 +16079,12 @@ file8 file9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete04.at:26: +$as_echo "$at_srcdir/delete04.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -13453,7 +16107,7 @@ tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27" ( $at_check_trace; mkdir ustar (cd ustar @@ -13492,12 +16146,12 @@ file8 file9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete04.at:26: +$as_echo "$at_srcdir/delete04.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -13520,7 +16174,7 @@ tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27" ( $at_check_trace; mkdir posix (cd posix @@ -13559,12 +16213,12 @@ file8 file9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete04.at:26: +$as_echo "$at_srcdir/delete04.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -13587,7 +16241,7 @@ tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27" ( $at_check_trace; mkdir gnu (cd gnu @@ -13626,7 +16280,7 @@ file8 file9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -13637,14 +16291,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_55 -#AT_START_56 -at_fn_group_banner 56 'delete05.at:27' \ +#AT_STOP_62 +#AT_START_63 +at_fn_group_banner 63 'delete05.at:28' \ "deleting non-existing member" " " 8 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "56. $at_setup_line: testing $at_desc ..." + $as_echo "63. $at_setup_line: testing $at_desc ..." $at_traceon @@ -13652,7 +16306,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/delete05.at:30: +$as_echo "$at_srcdir/delete05.at:31: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -13670,7 +16324,7 @@ tar cf archive en to tar --file archive --blocking-factor=20 --delete tre tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30" +at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31" ( $at_check_trace; mkdir v7 (cd v7 @@ -13700,12 +16354,12 @@ echo >>"$at_stdout"; $as_echo "en to " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30" +at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete05.at:30: +$as_echo "$at_srcdir/delete05.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -13723,7 +16377,7 @@ tar cf archive en to tar --file archive --blocking-factor=20 --delete tre tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30" +at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -13753,12 +16407,12 @@ echo >>"$at_stdout"; $as_echo "en to " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30" +at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete05.at:30: +$as_echo "$at_srcdir/delete05.at:31: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -13776,7 +16430,7 @@ tar cf archive en to tar --file archive --blocking-factor=20 --delete tre tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30" +at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31" ( $at_check_trace; mkdir ustar (cd ustar @@ -13806,12 +16460,12 @@ echo >>"$at_stdout"; $as_echo "en to " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30" +at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete05.at:30: +$as_echo "$at_srcdir/delete05.at:31: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -13829,7 +16483,7 @@ tar cf archive en to tar --file archive --blocking-factor=20 --delete tre tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30" +at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31" ( $at_check_trace; mkdir posix (cd posix @@ -13859,12 +16513,12 @@ echo >>"$at_stdout"; $as_echo "en to " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30" +at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/delete05.at:30: +$as_echo "$at_srcdir/delete05.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -13882,7 +16536,7 @@ tar cf archive en to tar --file archive --blocking-factor=20 --delete tre tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30" +at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31" ( $at_check_trace; mkdir gnu (cd gnu @@ -13912,7 +16566,7 @@ echo >>"$at_stdout"; $as_echo "en to " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30" +at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31" $at_failed && at_fn_log_failure $at_traceon; } @@ -13923,14 +16577,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_56 -#AT_START_57 -at_fn_group_banner 57 'extrac01.at:23' \ +#AT_STOP_63 +#AT_START_64 +at_fn_group_banner 64 'extrac01.at:24' \ "extract over an existing directory" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "57. $at_setup_line: testing $at_desc ..." + $as_echo "64. $at_setup_line: testing $at_desc ..." $at_traceon @@ -13938,7 +16592,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/extrac01.at:26: +$as_echo "$at_srcdir/extrac01.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -13952,7 +16606,7 @@ touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 )" -at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27" ( $at_check_trace; mkdir v7 (cd v7 @@ -13972,12 +16626,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/extrac01.at:26: +$as_echo "$at_srcdir/extrac01.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -13991,7 +16645,7 @@ touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 )" -at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -14011,12 +16665,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/extrac01.at:26: +$as_echo "$at_srcdir/extrac01.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -14030,7 +16684,7 @@ touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 )" -at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27" ( $at_check_trace; mkdir ustar (cd ustar @@ -14050,12 +16704,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/extrac01.at:26: +$as_echo "$at_srcdir/extrac01.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -14069,7 +16723,7 @@ touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 )" -at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27" ( $at_check_trace; mkdir posix (cd posix @@ -14089,12 +16743,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/extrac01.at:26: +$as_echo "$at_srcdir/extrac01.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -14108,7 +16762,7 @@ touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 )" -at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27" ( $at_check_trace; mkdir gnu (cd gnu @@ -14128,7 +16782,7 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -14139,14 +16793,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_57 -#AT_START_58 -at_fn_group_banner 58 'extrac02.at:23' \ +#AT_STOP_64 +#AT_START_65 +at_fn_group_banner 65 'extrac02.at:24' \ "extracting symlinks over an existing file" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "58. $at_setup_line: testing $at_desc ..." + $as_echo "65. $at_setup_line: testing $at_desc ..." $at_traceon @@ -14156,7 +16810,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/extrac02.at:28: +$as_echo "$at_srcdir/extrac02.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -14172,7 +16826,7 @@ rm link touch link tar xf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28" +at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29" ( $at_check_trace; mkdir v7 (cd v7 @@ -14194,12 +16848,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/extrac02.at:28: +$as_echo "$at_srcdir/extrac02.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -14215,7 +16869,7 @@ rm link touch link tar xf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28" +at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -14237,12 +16891,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/extrac02.at:28: +$as_echo "$at_srcdir/extrac02.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -14258,7 +16912,7 @@ rm link touch link tar xf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28" +at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29" ( $at_check_trace; mkdir ustar (cd ustar @@ -14280,12 +16934,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/extrac02.at:28: +$as_echo "$at_srcdir/extrac02.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -14301,7 +16955,7 @@ rm link touch link tar xf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28" +at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29" ( $at_check_trace; mkdir posix (cd posix @@ -14323,12 +16977,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/extrac02.at:28: +$as_echo "$at_srcdir/extrac02.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -14344,7 +16998,7 @@ rm link touch link tar xf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28" +at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29" ( $at_check_trace; mkdir gnu (cd gnu @@ -14366,7 +17020,7 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29" $at_failed && at_fn_log_failure $at_traceon; } @@ -14377,14 +17031,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_58 -#AT_START_59 -at_fn_group_banner 59 'extrac03.at:23' \ +#AT_STOP_65 +#AT_START_66 +at_fn_group_banner 66 'extrac03.at:23' \ "extraction loops" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "59. $at_setup_line: testing $at_desc ..." + $as_echo "66. $at_setup_line: testing $at_desc ..." $at_traceon @@ -14603,14 +17257,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_59 -#AT_START_60 -at_fn_group_banner 60 'extrac04.at:23' \ +#AT_STOP_66 +#AT_START_67 +at_fn_group_banner 67 'extrac04.at:24' \ "extract + fnmatch" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "60. $at_setup_line: testing $at_desc ..." + $as_echo "67. $at_setup_line: testing $at_desc ..." $at_traceon @@ -14618,7 +17272,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/extrac04.at:26: +$as_echo "$at_srcdir/extrac04.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -14643,7 +17297,7 @@ tar -tf archive \\ --exclude='d*/*1' \\ --exclude='d*/s*/*2' | sort )" -at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26" +at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27" ( $at_check_trace; mkdir v7 (cd v7 @@ -14678,12 +17332,12 @@ directory/file2 directory/subdirectory/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/extrac04.at:26: +$as_echo "$at_srcdir/extrac04.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -14708,7 +17362,7 @@ tar -tf archive \\ --exclude='d*/*1' \\ --exclude='d*/s*/*2' | sort )" -at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26" +at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -14743,12 +17397,12 @@ directory/file2 directory/subdirectory/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/extrac04.at:26: +$as_echo "$at_srcdir/extrac04.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -14773,7 +17427,7 @@ tar -tf archive \\ --exclude='d*/*1' \\ --exclude='d*/s*/*2' | sort )" -at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26" +at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27" ( $at_check_trace; mkdir ustar (cd ustar @@ -14808,12 +17462,12 @@ directory/file2 directory/subdirectory/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/extrac04.at:26: +$as_echo "$at_srcdir/extrac04.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -14838,7 +17492,7 @@ tar -tf archive \\ --exclude='d*/*1' \\ --exclude='d*/s*/*2' | sort )" -at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26" +at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27" ( $at_check_trace; mkdir posix (cd posix @@ -14873,12 +17527,12 @@ directory/file2 directory/subdirectory/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/extrac04.at:26: +$as_echo "$at_srcdir/extrac04.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -14903,7 +17557,7 @@ tar -tf archive \\ --exclude='d*/*1' \\ --exclude='d*/s*/*2' | sort )" -at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26" +at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27" ( $at_check_trace; mkdir gnu (cd gnu @@ -14938,7 +17592,7 @@ directory/file2 directory/subdirectory/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -14949,14 +17603,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_60 -#AT_START_61 -at_fn_group_banner 61 'extrac05.at:30' \ +#AT_STOP_67 +#AT_START_68 +at_fn_group_banner 68 'extrac05.at:31' \ "extracting selected members from pax" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "61. $at_setup_line: testing $at_desc ..." + $as_echo "68. $at_setup_line: testing $at_desc ..." $at_traceon @@ -14970,7 +17624,7 @@ _ATEOF { set +x -$as_echo "$at_srcdir/extrac05.at:38: +$as_echo "$at_srcdir/extrac05.at:39: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -14994,7 +17648,7 @@ tar xvfT ../archive ../../list --warning=no-timestamp || exit 1 cd .. )" -at_fn_check_prepare_notrace 'an embedded newline' "extrac05.at:38" +at_fn_check_prepare_notrace 'an embedded newline' "extrac05.at:39" ( $at_check_trace; mkdir posix (cd posix @@ -15027,7 +17681,7 @@ echo >>"$at_stdout"; $as_echo "jeden cztery " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/extrac05.at:38" +at_fn_check_status 0 $at_status "$at_srcdir/extrac05.at:39" $at_failed && at_fn_log_failure $at_traceon; } @@ -15038,14 +17692,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_61 -#AT_START_62 -at_fn_group_banner 62 'extrac06.at:34' \ +#AT_STOP_68 +#AT_START_69 +at_fn_group_banner 69 'extrac06.at:34' \ "mode of extracted directories" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "62. $at_setup_line: testing $at_desc ..." + $as_echo "69. $at_setup_line: testing $at_desc ..." $at_traceon @@ -15509,14 +18163,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_62 -#AT_START_63 -at_fn_group_banner 63 'extrac07.at:27' \ +#AT_STOP_69 +#AT_START_70 +at_fn_group_banner 70 'extrac07.at:27' \ "extracting symlinks to a read-only dir" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "63. $at_setup_line: testing $at_desc ..." + $as_echo "70. $at_setup_line: testing $at_desc ..." $at_traceon @@ -15617,14 +18271,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_63 -#AT_START_64 -at_fn_group_banner 64 'extrac08.at:33' \ +#AT_STOP_70 +#AT_START_71 +at_fn_group_banner 71 'extrac08.at:33' \ "restoring mode on existing directory" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "64. $at_setup_line: testing $at_desc ..." + $as_echo "71. $at_setup_line: testing $at_desc ..." $at_traceon @@ -15893,14 +18547,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_64 -#AT_START_65 -at_fn_group_banner 65 'extrac09.at:34' \ +#AT_STOP_71 +#AT_START_72 +at_fn_group_banner 72 'extrac09.at:34' \ "extracting even when . and .. are unreadable" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "65. $at_setup_line: testing $at_desc ..." + $as_echo "72. $at_setup_line: testing $at_desc ..." $at_traceon @@ -15993,14 +18647,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_65 -#AT_START_66 -at_fn_group_banner 66 'extrac10.at:29' \ +#AT_STOP_72 +#AT_START_73 +at_fn_group_banner 73 'extrac10.at:29' \ "-C and delayed setting of metadata" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "66. $at_setup_line: testing $at_desc ..." + $as_echo "73. $at_setup_line: testing $at_desc ..." $at_traceon @@ -16061,14 +18715,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_66 -#AT_START_67 -at_fn_group_banner 67 'extrac11.at:25' \ +#AT_STOP_73 +#AT_START_74 +at_fn_group_banner 74 'extrac11.at:25' \ "scarce file descriptors" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "67. $at_setup_line: testing $at_desc ..." + $as_echo "74. $at_setup_line: testing $at_desc ..." $at_traceon @@ -16221,14 +18875,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_67 -#AT_START_68 -at_fn_group_banner 68 'extrac12.at:25' \ +#AT_STOP_74 +#AT_START_75 +at_fn_group_banner 75 'extrac12.at:25' \ "extract dot permissions" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "68. $at_setup_line: testing $at_desc ..." + $as_echo "75. $at_setup_line: testing $at_desc ..." $at_traceon @@ -16291,14 +18945,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_68 -#AT_START_69 -at_fn_group_banner 69 'extrac13.at:26' \ +#AT_STOP_75 +#AT_START_76 +at_fn_group_banner 76 'extrac13.at:26' \ "extract over symlinks" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "69. $at_setup_line: testing $at_desc ..." + $as_echo "76. $at_setup_line: testing $at_desc ..." $at_traceon @@ -16387,14 +19041,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_69 -#AT_START_70 -at_fn_group_banner 70 'extrac14.at:25' \ +#AT_STOP_76 +#AT_START_77 +at_fn_group_banner 77 'extrac14.at:25' \ "extract -C symlink" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "70. $at_setup_line: testing $at_desc ..." + $as_echo "77. $at_setup_line: testing $at_desc ..." $at_traceon @@ -16451,14 +19105,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_70 -#AT_START_71 -at_fn_group_banner 71 'extrac15.at:25' \ +#AT_STOP_77 +#AT_START_78 +at_fn_group_banner 78 'extrac15.at:25' \ "extract parent mkdir failure" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "71. $at_setup_line: testing $at_desc ..." + $as_echo "78. $at_setup_line: testing $at_desc ..." $at_traceon @@ -16543,14 +19197,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_71 -#AT_START_72 -at_fn_group_banner 72 'extrac16.at:26' \ +#AT_STOP_78 +#AT_START_79 +at_fn_group_banner 79 'extrac16.at:26' \ "extract empty directory with -C" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "72. $at_setup_line: testing $at_desc ..." + $as_echo "79. $at_setup_line: testing $at_desc ..." $at_traceon @@ -16605,14 +19259,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_72 -#AT_START_73 -at_fn_group_banner 73 'extrac17.at:21' \ +#AT_STOP_79 +#AT_START_80 +at_fn_group_banner 80 'extrac17.at:21' \ "name matching/transformation ordering" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "73. $at_setup_line: testing $at_desc ..." + $as_echo "80. $at_setup_line: testing $at_desc ..." $at_traceon @@ -16881,14 +19535,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_73 -#AT_START_74 -at_fn_group_banner 74 'extrac18.at:34' \ +#AT_STOP_80 +#AT_START_81 +at_fn_group_banner 81 'extrac18.at:34' \ "keep-old-files" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "74. $at_setup_line: testing $at_desc ..." + $as_echo "81. $at_setup_line: testing $at_desc ..." $at_traceon @@ -17227,14 +19881,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_74 -#AT_START_75 -at_fn_group_banner 75 'extrac19.at:21' \ +#AT_STOP_81 +#AT_START_82 +at_fn_group_banner 82 'extrac19.at:21' \ "skip-old-files" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "75. $at_setup_line: testing $at_desc ..." + $as_echo "82. $at_setup_line: testing $at_desc ..." $at_traceon @@ -17558,14 +20212,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_75 -#AT_START_76 -at_fn_group_banner 76 'backup01.at:33' \ +#AT_STOP_82 +#AT_START_83 +at_fn_group_banner 83 'backup01.at:33' \ "extracting existing dir with --backup" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "76. $at_setup_line: testing $at_desc ..." + $as_echo "83. $at_setup_line: testing $at_desc ..." $at_traceon @@ -17809,14 +20463,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_76 -#AT_START_77 -at_fn_group_banner 77 'label01.at:21' \ +#AT_STOP_83 +#AT_START_84 +at_fn_group_banner 84 'label01.at:21' \ "single-volume label" " " 10 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "77. $at_setup_line: testing $at_desc ..." + $as_echo "84. $at_setup_line: testing $at_desc ..." $at_traceon @@ -17959,14 +20613,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_77 -#AT_START_78 -at_fn_group_banner 78 'label02.at:21' \ +#AT_STOP_84 +#AT_START_85 +at_fn_group_banner 85 'label02.at:21' \ "multi-volume label" " " 10 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "78. $at_setup_line: testing $at_desc ..." + $as_echo "85. $at_setup_line: testing $at_desc ..." $at_traceon @@ -18124,14 +20778,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_78 -#AT_START_79 -at_fn_group_banner 79 'label03.at:27' \ +#AT_STOP_85 +#AT_START_86 +at_fn_group_banner 86 'label03.at:27' \ "test-label option" " " 10 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "79. $at_setup_line: testing $at_desc ..." + $as_echo "86. $at_setup_line: testing $at_desc ..." $at_traceon @@ -18469,14 +21123,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_79 -#AT_START_80 -at_fn_group_banner 80 'label04.at:27' \ +#AT_STOP_86 +#AT_START_87 +at_fn_group_banner 87 'label04.at:27' \ "label with non-create option" " " 10 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "80. $at_setup_line: testing $at_desc ..." + $as_echo "87. $at_setup_line: testing $at_desc ..." $at_traceon @@ -18664,14 +21318,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_80 -#AT_START_81 -at_fn_group_banner 81 'label05.at:24' \ +#AT_STOP_87 +#AT_START_88 +at_fn_group_banner 88 'label05.at:24' \ "label with non-create option" " " 10 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "81. $at_setup_line: testing $at_desc ..." + $as_echo "88. $at_setup_line: testing $at_desc ..." $at_traceon @@ -18859,14 +21513,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_81 -#AT_START_82 -at_fn_group_banner 82 'incremental.at:23' \ +#AT_STOP_88 +#AT_START_89 +at_fn_group_banner 89 'incremental.at:23' \ "incremental" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "82. $at_setup_line: testing $at_desc ..." + $as_echo "89. $at_setup_line: testing $at_desc ..." $at_traceon @@ -18883,6 +21537,8 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir structure echo x >structure/file @@ -18920,6 +21576,8 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir structure echo x >structure/file @@ -18971,6 +21629,8 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir structure echo x >structure/file @@ -19008,6 +21668,8 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir structure echo x >structure/file @@ -19059,6 +21721,8 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir structure echo x >structure/file @@ -19096,6 +21760,8 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir structure echo x >structure/file @@ -19144,14 +21810,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_82 -#AT_START_83 -at_fn_group_banner 83 'incr01.at:27' \ +#AT_STOP_89 +#AT_START_90 +at_fn_group_banner 90 'incr01.at:27' \ "restore broken symlinks from incremental" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "83. $at_setup_line: testing $at_desc ..." + $as_echo "90. $at_setup_line: testing $at_desc ..." $at_traceon @@ -19168,6 +21834,8 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir directory \$as_ln_s foo directory/bar @@ -19191,6 +21859,8 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir directory $as_ln_s foo directory/bar @@ -19229,6 +21899,8 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir directory \$as_ln_s foo directory/bar @@ -19252,6 +21924,8 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir directory $as_ln_s foo directory/bar @@ -19290,6 +21964,8 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir directory \$as_ln_s foo directory/bar @@ -19313,6 +21989,8 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir directory $as_ln_s foo directory/bar @@ -19348,14 +22026,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_83 -#AT_START_84 -at_fn_group_banner 84 'incr02.at:32' \ +#AT_STOP_90 +#AT_START_91 +at_fn_group_banner 91 'incr02.at:32' \ "restoring timestamps from incremental" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "84. $at_setup_line: testing $at_desc ..." + $as_echo "91. $at_setup_line: testing $at_desc ..." $at_traceon @@ -19372,6 +22050,7 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 # Create directory structure mkdir dir mkdir dir/subdir1 @@ -19418,6 +22097,7 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 # Create directory structure mkdir dir mkdir dir/subdir1 @@ -19473,6 +22153,7 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 # Create directory structure mkdir dir mkdir dir/subdir1 @@ -19519,6 +22200,7 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 # Create directory structure mkdir dir mkdir dir/subdir1 @@ -19574,6 +22256,7 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 # Create directory structure mkdir dir mkdir dir/subdir1 @@ -19620,6 +22303,7 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 # Create directory structure mkdir dir mkdir dir/subdir1 @@ -19672,14 +22356,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_84 -#AT_START_85 -at_fn_group_banner 85 'listed01.at:26' \ +#AT_STOP_91 +#AT_START_92 +at_fn_group_banner 92 'listed01.at:27' \ "--listed for individual files" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "85. $at_setup_line: testing $at_desc ..." + $as_echo "92. $at_setup_line: testing $at_desc ..." $at_traceon @@ -19687,7 +22371,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/listed01.at:29: +$as_echo "$at_srcdir/listed01.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -19696,6 +22380,8 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 # Let the things settle @@ -19721,7 +22407,7 @@ tar --create \\ tar tf archive.2 || exit 1 )" -at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:29" +at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:30" ( $at_check_trace; mkdir gnu (cd gnu @@ -19731,6 +22417,8 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 # Let the things settle @@ -19765,12 +22453,12 @@ separator directory/file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:29" +at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:30" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/listed01.at:29: +$as_echo "$at_srcdir/listed01.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -19779,6 +22467,8 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 # Let the things settle @@ -19804,7 +22494,7 @@ tar --create \\ tar tf archive.2 || exit 1 )" -at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:29" +at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:30" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -19814,6 +22504,8 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 + mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 # Let the things settle @@ -19848,7 +22540,7 @@ separator directory/file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:29" +at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:30" $at_failed && at_fn_log_failure $at_traceon; } @@ -19859,14 +22551,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_85 -#AT_START_86 -at_fn_group_banner 86 'listed02.at:28' \ +#AT_STOP_92 +#AT_START_93 +at_fn_group_banner 93 'listed02.at:29' \ "working --listed" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "86. $at_setup_line: testing $at_desc ..." + $as_echo "93. $at_setup_line: testing $at_desc ..." $at_traceon @@ -19874,7 +22566,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/listed02.at:31: +$as_echo "$at_srcdir/listed02.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -19883,6 +22575,7 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 @@ -19942,7 +22635,7 @@ tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null echo Final files: find tart -print | sort 2>/dev/null )" -at_fn_check_prepare_notrace 'a `...` command substitution' "listed02.at:31" +at_fn_check_prepare_notrace 'a `...` command substitution' "listed02.at:32" ( $at_check_trace; mkdir gnu (cd gnu @@ -19952,6 +22645,7 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 @@ -20081,12 +22775,12 @@ tart/c2/ca2 tart/c2/ca3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:31" +at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:32" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/listed02.at:31: +$as_echo "$at_srcdir/listed02.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -20095,6 +22789,7 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 @@ -20154,7 +22849,7 @@ tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null echo Final files: find tart -print | sort 2>/dev/null )" -at_fn_check_prepare_notrace 'a `...` command substitution' "listed02.at:31" +at_fn_check_prepare_notrace 'a `...` command substitution' "listed02.at:32" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -20164,6 +22859,7 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 @@ -20293,7 +22989,7 @@ tart/c2/ca2 tart/c2/ca3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:31" +at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:32" $at_failed && at_fn_log_failure $at_traceon; } @@ -20304,14 +23000,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_86 -#AT_START_87 -at_fn_group_banner 87 'listed03.at:24' \ +#AT_STOP_93 +#AT_START_94 +at_fn_group_banner 94 'listed03.at:24' \ "incremental dump when the parent directory is unreadable" "" 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "87. $at_setup_line: testing $at_desc ..." + $as_echo "94. $at_setup_line: testing $at_desc ..." $at_traceon @@ -20328,6 +23024,7 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 echo \"test\" > \$\$ chmod 0 \$\$ @@ -20344,9 +23041,13 @@ genfile --file dir/sub/a/file cd dir/sub chmod a-r .. -tar -c -f archive.tar --listed-incremental=db.1 -v a +tar -c -f archive.tar --listed-incremental=db.1 -v a 2>err status=\$? chmod a+r .. +if test \$status -eq 2; then + grep '^tar: \\.: Cannot getcwd' err >/dev/null 2>&1 && exit 77 +fi +cat err >&2 exit \$status )" at_fn_check_prepare_notrace 'an embedded newline' "listed03.at:27" @@ -20359,6 +23060,7 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 echo "test" > $$ chmod 0 $$ @@ -20375,9 +23077,13 @@ genfile --file dir/sub/a/file cd dir/sub chmod a-r .. -tar -c -f archive.tar --listed-incremental=db.1 -v a +tar -c -f archive.tar --listed-incremental=db.1 -v a 2>err status=$? chmod a+r .. +if test $status -eq 2; then + grep '^tar: \.: Cannot getcwd' err >/dev/null 2>&1 && exit 77 +fi +cat err >&2 exit $status ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -20401,14 +23107,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_87 -#AT_START_88 -at_fn_group_banner 88 'listed04.at:26' \ +#AT_STOP_94 +#AT_START_95 +at_fn_group_banner 95 'listed04.at:26' \ "--listed-incremental and --one-file-system" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "88. $at_setup_line: testing $at_desc ..." + $as_echo "95. $at_setup_line: testing $at_desc ..." $at_traceon @@ -20425,7 +23131,7 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * - +ckmtime || exit 77 mkdir dir echo a >dir/a echo b >dir/b @@ -20443,7 +23149,7 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * - +ckmtime || exit 77 mkdir dir echo a >dir/a echo b >dir/b @@ -20476,14 +23182,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_88 -#AT_START_89 -at_fn_group_banner 89 'listed05.at:33' \ +#AT_STOP_95 +#AT_START_96 +at_fn_group_banner 96 'listed05.at:33' \ "--listed-incremental and remounted directories" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "89. $at_setup_line: testing $at_desc ..." + $as_echo "96. $at_setup_line: testing $at_desc ..." $at_traceon @@ -20500,6 +23206,7 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 echo \"test\" > \$\$ chmod 0 \$\$ @@ -20542,6 +23249,7 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 echo "test" > $$ chmod 0 $$ @@ -20604,14 +23312,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_89 -#AT_START_90 -at_fn_group_banner 90 'incr03.at:28' \ +#AT_STOP_96 +#AT_START_97 +at_fn_group_banner 97 'incr03.at:29' \ "renamed files in incrementals" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "90. $at_setup_line: testing $at_desc ..." + $as_echo "97. $at_setup_line: testing $at_desc ..." $at_traceon @@ -20619,7 +23327,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/incr03.at:31: +$as_echo "$at_srcdir/incr03.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -20628,6 +23336,7 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 @@ -20658,7 +23367,7 @@ echo Directory after second restore tar -xf archive.2 -g db --warning=no-timestamp find directory | sort )" -at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:31" +at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:32" ( $at_check_trace; mkdir gnu (cd gnu @@ -20668,6 +23377,7 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 @@ -20719,12 +23429,12 @@ directory/y directory/z " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:31" +at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:32" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/incr03.at:31: +$as_echo "$at_srcdir/incr03.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -20733,6 +23443,7 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 @@ -20763,7 +23474,7 @@ echo Directory after second restore tar -xf archive.2 -g db --warning=no-timestamp find directory | sort )" -at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:31" +at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:32" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -20773,6 +23484,7 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 @@ -20824,12 +23536,12 @@ directory/y directory/z " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:31" +at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:32" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/incr03.at:31: +$as_echo "$at_srcdir/incr03.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -20838,6 +23550,7 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 @@ -20868,7 +23581,7 @@ echo Directory after second restore tar -xf archive.2 -g db --warning=no-timestamp find directory | sort )" -at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:31" +at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:32" ( $at_check_trace; mkdir posix (cd posix @@ -20878,6 +23591,7 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 @@ -20929,7 +23643,7 @@ directory/y directory/z " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:31" +at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:32" $at_failed && at_fn_log_failure $at_traceon; } @@ -20940,14 +23654,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_90 -#AT_START_91 -at_fn_group_banner 91 'incr04.at:29' \ +#AT_STOP_97 +#AT_START_98 +at_fn_group_banner 98 'incr04.at:30' \ "proper icontents initialization" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "91. $at_setup_line: testing $at_desc ..." + $as_echo "98. $at_setup_line: testing $at_desc ..." $at_traceon @@ -20957,7 +23671,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/incr04.at:34: +$as_echo "$at_srcdir/incr04.at:35: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -20966,6 +23680,7 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 install-sh -d a/b >/dev/null || exit 77 awk 'BEGIN { @@ -20981,7 +23696,7 @@ mv a/b a/c echo \"Incremental dump\" tar cvf a1.tar -g a.sna a )" -at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:34" +at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:35" ( $at_check_trace; mkdir gnu (cd gnu @@ -20991,6 +23706,7 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 install-sh -d a/b >/dev/null || exit 77 awk 'BEGIN { @@ -21164,12 +23880,12 @@ a/ a/c/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:34" +at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:35" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/incr04.at:34: +$as_echo "$at_srcdir/incr04.at:35: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -21178,6 +23894,7 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 install-sh -d a/b >/dev/null || exit 77 awk 'BEGIN { @@ -21193,7 +23910,7 @@ mv a/b a/c echo \"Incremental dump\" tar cvf a1.tar -g a.sna a )" -at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:34" +at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:35" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -21203,6 +23920,7 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 install-sh -d a/b >/dev/null || exit 77 awk 'BEGIN { @@ -21376,12 +24094,12 @@ a/ a/c/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:34" +at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:35" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/incr04.at:34: +$as_echo "$at_srcdir/incr04.at:35: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -21390,6 +24108,7 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 install-sh -d a/b >/dev/null || exit 77 awk 'BEGIN { @@ -21405,7 +24124,7 @@ mv a/b a/c echo \"Incremental dump\" tar cvf a1.tar -g a.sna a )" -at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:34" +at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:35" ( $at_check_trace; mkdir posix (cd posix @@ -21415,6 +24134,7 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 install-sh -d a/b >/dev/null || exit 77 awk 'BEGIN { @@ -21588,7 +24308,7 @@ a/ a/c/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:34" +at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:35" $at_failed && at_fn_log_failure $at_traceon; } @@ -21600,14 +24320,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_91 -#AT_START_92 -at_fn_group_banner 92 'incr05.at:21' \ +#AT_STOP_98 +#AT_START_99 +at_fn_group_banner 99 'incr05.at:21' \ "incremental dumps with -C" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "92. $at_setup_line: testing $at_desc ..." + $as_echo "99. $at_setup_line: testing $at_desc ..." $at_traceon @@ -21624,6 +24344,7 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dir mkdir dir/sub genfile --file dir/file1 @@ -21646,6 +24367,7 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dir mkdir dir/sub genfile --file dir/file1 @@ -21687,6 +24409,7 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dir mkdir dir/sub genfile --file dir/file1 @@ -21709,6 +24432,7 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dir mkdir dir/sub genfile --file dir/file1 @@ -21750,6 +24474,7 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dir mkdir dir/sub genfile --file dir/file1 @@ -21772,6 +24497,7 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dir mkdir dir/sub genfile --file dir/file1 @@ -21810,14 +24536,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_92 -#AT_START_93 -at_fn_group_banner 93 'incr06.at:21' \ +#AT_STOP_99 +#AT_START_100 +at_fn_group_banner 100 'incr06.at:21' \ "incremental dumps of nested directories" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "93. $at_setup_line: testing $at_desc ..." + $as_echo "100. $at_setup_line: testing $at_desc ..." $at_traceon @@ -21834,6 +24560,7 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dir mkdir dir/sub mkdir dir/sub/a @@ -21865,6 +24592,7 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dir mkdir dir/sub mkdir dir/sub/a @@ -21936,6 +24664,7 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dir mkdir dir/sub mkdir dir/sub/a @@ -21967,6 +24696,7 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dir mkdir dir/sub mkdir dir/sub/a @@ -22038,6 +24768,7 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dir mkdir dir/sub mkdir dir/sub/a @@ -22069,6 +24800,7 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dir mkdir dir/sub mkdir dir/sub/a @@ -22137,14 +24869,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_93 -#AT_START_94 -at_fn_group_banner 94 'incr07.at:18' \ +#AT_STOP_100 +#AT_START_101 +at_fn_group_banner 101 'incr07.at:18' \ "incremental restores with -C" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "94. $at_setup_line: testing $at_desc ..." + $as_echo "101. $at_setup_line: testing $at_desc ..." $at_traceon @@ -22180,6 +24912,7 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dirA echo 'a' > dirA/a echo 'a' > dirA/b @@ -22226,6 +24959,7 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dirA echo 'a' > dirA/a echo 'a' > dirA/b @@ -22314,6 +25048,7 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dirA echo 'a' > dirA/a echo 'a' > dirA/b @@ -22360,6 +25095,7 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dirA echo 'a' > dirA/a echo 'a' > dirA/b @@ -22448,6 +25184,7 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dirA echo 'a' > dirA/a echo 'a' > dirA/b @@ -22494,6 +25231,7 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 mkdir dirA echo 'a' > dirA/a echo 'a' > dirA/b @@ -22579,14 +25317,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_94 -#AT_START_95 -at_fn_group_banner 95 'incr08.at:38' \ +#AT_STOP_101 +#AT_START_102 +at_fn_group_banner 102 'incr08.at:38' \ "filename normalization" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "95. $at_setup_line: testing $at_desc ..." + $as_echo "102. $at_setup_line: testing $at_desc ..." $at_traceon @@ -22603,6 +25341,7 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 @@ -22632,6 +25371,7 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 @@ -22692,14 +25432,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_95 -#AT_START_96 -at_fn_group_banner 96 'incr09.at:26' \ +#AT_STOP_102 +#AT_START_103 +at_fn_group_banner 103 'incr09.at:26' \ "incremental with alternating -C" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "96. $at_setup_line: testing $at_desc ..." + $as_echo "103. $at_setup_line: testing $at_desc ..." $at_traceon @@ -22716,6 +25456,7 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 @@ -22741,6 +25482,7 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 @@ -22794,14 +25536,238 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_96 -#AT_START_97 -at_fn_group_banner 97 'filerem01.at:36' \ +#AT_STOP_103 +#AT_START_104 +at_fn_group_banner 104 'incr10.at:18' \ + "concatenated incremental archives (deletes)" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "104. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Description: Extraction from concatenated incremental archives +# produced spurious error messages when trying to set file ownership +# and permissions on deleted directories. +# Reported by: Alex Efros +# References: <20150411224008.GO24600@home.power> +# http://lists.gnu.org/archive/html/bug-tar/2015-04/msg00003.html + + + + { set +x +$as_echo "$at_srcdir/incr10.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +ckmtime || exit 77 +mkdir in +mkdir in/dir +decho Level 0 +tar -cvf 1.tar -g snap -C in . +rmdir in/dir +decho Level 1 +tar -cvf 2.tar -g snap -C in . +cp 1.tar full.tar +decho Concat +tar -A 2.tar -f full.tar -g /dev/null +decho Extract +mkdir out +tar -xvf full.tar -g /dev/null -C out +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr10.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +ckmtime || exit 77 +mkdir in +mkdir in/dir +decho Level 0 +tar -cvf 1.tar -g snap -C in . +rmdir in/dir +decho Level 1 +tar -cvf 2.tar -g snap -C in . +cp 1.tar full.tar +decho Concat +tar -A 2.tar -f full.tar -g /dev/null +decho Extract +mkdir out +tar -xvf full.tar -g /dev/null -C out +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Level 0 +tar: .: Directory is new +tar: ./dir: Directory is new +Level 1 +Concat +Extract +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Level 0 +./ +./dir/ +Level 1 +./ +Concat +Extract +./ +./dir/ +./ +tar: Deleting './dir' +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr10.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_104 +#AT_START_105 +at_fn_group_banner 105 'incr11.at:25' \ + "concatenated incremental archives (renames)" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "105. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/incr11.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +ckmtime || exit 77 + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + + +install-sh -d data/dir >/dev/null && genfile --file data/dir/file || exit 77 +decho Level 0 +tar -cvf full.tar -g snap -C data . +decho Level 1 +mv data/dir data/dir2 +tar -cvf incr.tar -g snap -C data . +decho Concat +cp full.tar full2.tar +tar -A -f full2.tar incr.tar +decho Extract +mkdir out +tar -xvf full2.tar -g /dev/null -C out +decho List +find out | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "incr11.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +ckmtime || exit 77 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +install-sh -d data/dir >/dev/null && genfile --file data/dir/file || exit 77 +decho Level 0 +tar -cvf full.tar -g snap -C data . +decho Level 1 +mv data/dir data/dir2 +tar -cvf incr.tar -g snap -C data . +decho Concat +cp full.tar full2.tar +tar -A -f full2.tar incr.tar +decho Extract +mkdir out +tar -xvf full2.tar -g /dev/null -C out +decho List +find out | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Level 0 +tar: .: Directory is new +tar: ./dir: Directory is new +Level 1 +tar: ./dir2: Directory has been renamed from './dir' +Concat +Extract +List +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Level 0 +./ +./dir/ +./dir/file +Level 1 +./ +./dir2/ +Concat +Extract +./ +./dir/ +./dir/file +./ +./dir2/ +List +out +out/dir2 +out/dir2/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr11.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_105 +#AT_START_106 +at_fn_group_banner 106 'filerem01.at:36' \ "file removed as we read it (ca. 22 seconds)" " " 12 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "97. $at_setup_line: testing $at_desc ..." + $as_echo "106. $at_setup_line: testing $at_desc ..." $at_traceon @@ -22966,14 +25932,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_97 -#AT_START_98 -at_fn_group_banner 98 'filerem02.at:26' \ +#AT_STOP_106 +#AT_START_107 +at_fn_group_banner 107 'filerem02.at:26' \ "toplevel file removed (ca. 24 seconds)" " " 12 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "98. $at_setup_line: testing $at_desc ..." + $as_echo "107. $at_setup_line: testing $at_desc ..." $at_traceon @@ -23098,14 +26064,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_98 -#AT_START_99 -at_fn_group_banner 99 'rename01.at:24' \ +#AT_STOP_107 +#AT_START_108 +at_fn_group_banner 108 'rename01.at:25' \ "renamed dirs in incrementals" " " 13 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "99. $at_setup_line: testing $at_desc ..." + $as_echo "108. $at_setup_line: testing $at_desc ..." $at_traceon @@ -23113,7 +26079,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/rename01.at:27: +$as_echo "$at_srcdir/rename01.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -23153,7 +26119,7 @@ echo Begin directory listing 2 find foo | sort echo End directory listing 2 )" -at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:27" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:28" ( $at_check_trace; mkdir gnu (cd gnu @@ -23227,12 +26193,12 @@ foo/file2 End directory listing 2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:27" +at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:28" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/rename01.at:27: +$as_echo "$at_srcdir/rename01.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -23272,7 +26238,7 @@ echo Begin directory listing 2 find foo | sort echo End directory listing 2 )" -at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:27" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:28" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -23346,12 +26312,12 @@ foo/file2 End directory listing 2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:27" +at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:28" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/rename01.at:27: +$as_echo "$at_srcdir/rename01.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -23391,7 +26357,7 @@ echo Begin directory listing 2 find foo | sort echo End directory listing 2 )" -at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:27" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:28" ( $at_check_trace; mkdir posix (cd posix @@ -23465,7 +26431,7 @@ foo/file2 End directory listing 2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:27" +at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:28" $at_failed && at_fn_log_failure $at_traceon; } @@ -23476,14 +26442,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_99 -#AT_START_100 -at_fn_group_banner 100 'rename02.at:24' \ +#AT_STOP_108 +#AT_START_109 +at_fn_group_banner 109 'rename02.at:25' \ "move between hierarchies" " " 13 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "100. $at_setup_line: testing $at_desc ..." + $as_echo "109. $at_setup_line: testing $at_desc ..." $at_traceon @@ -23491,7 +26457,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/rename02.at:27: +$as_echo "$at_srcdir/rename02.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -23535,7 +26501,7 @@ echo Begin directory listing 2 find foo | sort echo End directory listing 2 )" -at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:27" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:28" ( $at_check_trace; mkdir gnu (cd gnu @@ -23624,12 +26590,12 @@ foo/file2 End directory listing 2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:27" +at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:28" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/rename02.at:27: +$as_echo "$at_srcdir/rename02.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -23673,7 +26639,7 @@ echo Begin directory listing 2 find foo | sort echo End directory listing 2 )" -at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:27" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:28" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -23762,12 +26728,12 @@ foo/file2 End directory listing 2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:27" +at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:28" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/rename02.at:27: +$as_echo "$at_srcdir/rename02.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -23811,7 +26777,7 @@ echo Begin directory listing 2 find foo | sort echo End directory listing 2 )" -at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:27" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:28" ( $at_check_trace; mkdir posix (cd posix @@ -23900,7 +26866,7 @@ foo/file2 End directory listing 2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:27" +at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:28" $at_failed && at_fn_log_failure $at_traceon; } @@ -23911,14 +26877,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_100 -#AT_START_101 -at_fn_group_banner 101 'rename03.at:23' \ +#AT_STOP_109 +#AT_START_110 +at_fn_group_banner 110 'rename03.at:24' \ "cyclic renames" " " 13 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "101. $at_setup_line: testing $at_desc ..." + $as_echo "110. $at_setup_line: testing $at_desc ..." $at_traceon @@ -23926,7 +26892,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/rename03.at:26: +$as_echo "$at_srcdir/rename03.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -23982,7 +26948,7 @@ echo Begin directory listing 2 find foo | sort echo End directory listing 2 )" -at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:26" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:27" ( $at_check_trace; mkdir gnu (cd gnu @@ -24096,12 +27062,12 @@ foo/file2 End directory listing 2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/rename03.at:26: +$as_echo "$at_srcdir/rename03.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -24157,7 +27123,7 @@ echo Begin directory listing 2 find foo | sort echo End directory listing 2 )" -at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:26" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:27" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -24271,12 +27237,12 @@ foo/file2 End directory listing 2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/rename03.at:26: +$as_echo "$at_srcdir/rename03.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -24332,7 +27298,7 @@ echo Begin directory listing 2 find foo | sort echo End directory listing 2 )" -at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:26" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:27" ( $at_check_trace; mkdir posix (cd posix @@ -24446,7 +27412,7 @@ foo/file2 End directory listing 2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -24457,14 +27423,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_101 -#AT_START_102 -at_fn_group_banner 102 'rename04.at:27' \ +#AT_STOP_110 +#AT_START_111 +at_fn_group_banner 111 'rename04.at:27' \ "renamed directory containing subdirectories" " " 13 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "102. $at_setup_line: testing $at_desc ..." + $as_echo "111. $at_setup_line: testing $at_desc ..." $at_traceon @@ -24796,14 +27762,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_102 -#AT_START_103 -at_fn_group_banner 103 'rename05.at:24' \ +#AT_STOP_111 +#AT_START_112 +at_fn_group_banner 112 'rename05.at:24' \ "renamed subdirectories" " " 13 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "103. $at_setup_line: testing $at_desc ..." + $as_echo "112. $at_setup_line: testing $at_desc ..." $at_traceon @@ -25141,14 +28107,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_103 -#AT_START_104 -at_fn_group_banner 104 'chtype.at:27' \ +#AT_STOP_112 +#AT_START_113 +at_fn_group_banner 113 'chtype.at:27' \ "changed file types in incrementals" " " 13 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "104. $at_setup_line: testing $at_desc ..." + $as_echo "113. $at_setup_line: testing $at_desc ..." $at_traceon @@ -25465,14 +28431,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_104 -#AT_START_105 -at_fn_group_banner 105 'ignfail.at:23' \ +#AT_STOP_113 +#AT_START_114 +at_fn_group_banner 114 'ignfail.at:24' \ "ignfail" " " 14 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "105. $at_setup_line: testing $at_desc ..." + $as_echo "114. $at_setup_line: testing $at_desc ..." $at_traceon @@ -25480,7 +28446,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/ignfail.at:26: +$as_echo "$at_srcdir/ignfail.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -25531,7 +28497,7 @@ status=\$? chmod 700 directory test \$status = 0 )" -at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27" ( $at_check_trace; mkdir v7 (cd v7 @@ -25599,12 +28565,12 @@ tar: directory: Warning: Cannot open: Permission denied " | \ $at_diff - "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/ignfail.at:26: +$as_echo "$at_srcdir/ignfail.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -25655,7 +28621,7 @@ status=\$? chmod 700 directory test \$status = 0 )" -at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -25723,12 +28689,12 @@ tar: directory: Warning: Cannot open: Permission denied " | \ $at_diff - "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/ignfail.at:26: +$as_echo "$at_srcdir/ignfail.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -25779,7 +28745,7 @@ status=\$? chmod 700 directory test \$status = 0 )" -at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27" ( $at_check_trace; mkdir ustar (cd ustar @@ -25847,12 +28813,12 @@ tar: directory: Warning: Cannot open: Permission denied " | \ $at_diff - "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/ignfail.at:26: +$as_echo "$at_srcdir/ignfail.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -25903,7 +28869,7 @@ status=\$? chmod 700 directory test \$status = 0 )" -at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27" ( $at_check_trace; mkdir posix (cd posix @@ -25971,12 +28937,12 @@ tar: directory: Warning: Cannot open: Permission denied " | \ $at_diff - "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/ignfail.at:26: +$as_echo "$at_srcdir/ignfail.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -26027,7 +28993,7 @@ status=\$? chmod 700 directory test \$status = 0 )" -at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27" ( $at_check_trace; mkdir gnu (cd gnu @@ -26095,7 +29061,7 @@ tar: directory: Warning: Cannot open: Permission denied " | \ $at_diff - "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -26106,14 +29072,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_105 -#AT_START_106 -at_fn_group_banner 106 'link01.at:33' \ +#AT_STOP_114 +#AT_START_115 +at_fn_group_banner 115 'link01.at:34' \ "link count gt 2" " " 15 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "106. $at_setup_line: testing $at_desc ..." + $as_echo "115. $at_setup_line: testing $at_desc ..." $at_traceon @@ -26121,7 +29087,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/link01.at:36: +$as_echo "$at_srcdir/link01.at:37: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -26144,7 +29110,7 @@ tar xf archive --warning=no-timestamp ls directory/test1 )" -at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36" +at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37" ( $at_check_trace; mkdir v7 (cd v7 @@ -26175,12 +29141,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "test.txt " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36" +at_fn_check_status 0 $at_status "$at_srcdir/link01.at:37" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/link01.at:36: +$as_echo "$at_srcdir/link01.at:37: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -26203,7 +29169,7 @@ tar xf archive --warning=no-timestamp ls directory/test1 )" -at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36" +at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -26234,12 +29200,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "test.txt " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36" +at_fn_check_status 0 $at_status "$at_srcdir/link01.at:37" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/link01.at:36: +$as_echo "$at_srcdir/link01.at:37: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -26262,7 +29228,7 @@ tar xf archive --warning=no-timestamp ls directory/test1 )" -at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36" +at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37" ( $at_check_trace; mkdir ustar (cd ustar @@ -26293,12 +29259,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "test.txt " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36" +at_fn_check_status 0 $at_status "$at_srcdir/link01.at:37" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/link01.at:36: +$as_echo "$at_srcdir/link01.at:37: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -26321,7 +29287,7 @@ tar xf archive --warning=no-timestamp ls directory/test1 )" -at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36" +at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37" ( $at_check_trace; mkdir posix (cd posix @@ -26352,12 +29318,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "test.txt " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36" +at_fn_check_status 0 $at_status "$at_srcdir/link01.at:37" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/link01.at:36: +$as_echo "$at_srcdir/link01.at:37: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -26380,7 +29346,7 @@ tar xf archive --warning=no-timestamp ls directory/test1 )" -at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36" +at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37" ( $at_check_trace; mkdir gnu (cd gnu @@ -26411,7 +29377,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "test.txt " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36" +at_fn_check_status 0 $at_status "$at_srcdir/link01.at:37" $at_failed && at_fn_log_failure $at_traceon; } @@ -26422,14 +29388,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_106 -#AT_START_107 -at_fn_group_banner 107 'link02.at:32' \ +#AT_STOP_115 +#AT_START_116 +at_fn_group_banner 116 'link02.at:32' \ "preserve hard links with --remove-files" " " 15 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "107. $at_setup_line: testing $at_desc ..." + $as_echo "116. $at_setup_line: testing $at_desc ..." $at_traceon @@ -26678,14 +29644,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_107 -#AT_START_108 -at_fn_group_banner 108 'link03.at:24' \ +#AT_STOP_116 +#AT_START_117 +at_fn_group_banner 117 'link03.at:24' \ "working -l with --remove-files" " " 15 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "108. $at_setup_line: testing $at_desc ..." + $as_echo "117. $at_setup_line: testing $at_desc ..." $at_traceon @@ -27077,14 +30043,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_108 -#AT_START_109 -at_fn_group_banner 109 'link04.at:29' \ +#AT_STOP_117 +#AT_START_118 +at_fn_group_banner 118 'link04.at:29' \ "link count is 1 but multiple occurrences" " " 15 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "109. $at_setup_line: testing $at_desc ..." + $as_echo "118. $at_setup_line: testing $at_desc ..." $at_traceon @@ -27110,6 +30076,10 @@ tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort +echo -- + +tar cfl archive dir dir + echo == tar chf archive dir @@ -27138,6 +30108,10 @@ tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort +echo -- + +tar cfl archive dir dir + echo == tar chf archive dir @@ -27157,6 +30131,7 @@ dir/file dir/file link to dir/file dir/symlink -> file dir/symlink link to dir/symlink +-- == dir/ dir/FOO @@ -27186,6 +30161,10 @@ tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort +echo -- + +tar cfl archive dir dir + echo == tar chf archive dir @@ -27214,6 +30193,10 @@ tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort +echo -- + +tar cfl archive dir dir + echo == tar chf archive dir @@ -27233,6 +30216,7 @@ dir/file dir/file link to dir/file dir/symlink -> file dir/symlink link to dir/symlink +-- == dir/ dir/FOO @@ -27262,6 +30246,10 @@ tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort +echo -- + +tar cfl archive dir dir + echo == tar chf archive dir @@ -27290,6 +30278,10 @@ tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort +echo -- + +tar cfl archive dir dir + echo == tar chf archive dir @@ -27309,6 +30301,7 @@ dir/file dir/file link to dir/file dir/symlink -> file dir/symlink link to dir/symlink +-- == dir/ dir/FOO @@ -27338,6 +30331,10 @@ tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort +echo -- + +tar cfl archive dir dir + echo == tar chf archive dir @@ -27366,6 +30363,10 @@ tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort +echo -- + +tar cfl archive dir dir + echo == tar chf archive dir @@ -27385,6 +30386,7 @@ dir/file dir/file link to dir/file dir/symlink -> file dir/symlink link to dir/symlink +-- == dir/ dir/FOO @@ -27414,6 +30416,10 @@ tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort +echo -- + +tar cfl archive dir dir + echo == tar chf archive dir @@ -27442,6 +30448,10 @@ tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort +echo -- + +tar cfl archive dir dir + echo == tar chf archive dir @@ -27461,6 +30471,7 @@ dir/file dir/file link to dir/file dir/symlink -> file dir/symlink link to dir/symlink +-- == dir/ dir/FOO @@ -27478,14 +30489,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_109 -#AT_START_110 -at_fn_group_banner 110 'longv7.at:24' \ +#AT_STOP_118 +#AT_START_119 +at_fn_group_banner 119 'longv7.at:25' \ "long names in V7 archives" " " 16 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "110. $at_setup_line: testing $at_desc ..." + $as_echo "119. $at_setup_line: testing $at_desc ..." $at_traceon @@ -27496,7 +30507,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/longv7.at:30: +$as_echo "$at_srcdir/longv7.at:31: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -27512,7 +30523,7 @@ tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems echo separator tar tf archive )" -at_fn_check_prepare_notrace 'an embedded newline' "longv7.at:30" +at_fn_check_prepare_notrace 'an embedded newline' "longv7.at:31" ( $at_check_trace; mkdir v7 (cd v7 @@ -27540,7 +30551,7 @@ echo >>"$at_stdout"; $as_echo "separator this_is_a_very_long_name_for_a_directory_which_causes_problems/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/longv7.at:30" +at_fn_check_status 0 $at_status "$at_srcdir/longv7.at:31" $at_failed && at_fn_log_failure $at_traceon; } @@ -27553,14 +30564,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_110 -#AT_START_111 -at_fn_group_banner 111 'long01.at:28' \ +#AT_STOP_119 +#AT_START_120 +at_fn_group_banner 120 'long01.at:28' \ "long file names divisible by block size" " " 16 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "111. $at_setup_line: testing $at_desc ..." + $as_echo "120. $at_setup_line: testing $at_desc ..." $at_traceon @@ -27668,14 +30679,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_111 -#AT_START_112 -at_fn_group_banner 112 'lustar01.at:21' \ +#AT_STOP_120 +#AT_START_121 +at_fn_group_banner 121 'lustar01.at:21' \ "ustar: unsplittable file name" " " 16 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "112. $at_setup_line: testing $at_desc ..." + $as_echo "121. $at_setup_line: testing $at_desc ..." $at_traceon @@ -27730,14 +30741,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_112 -#AT_START_113 -at_fn_group_banner 113 'lustar02.at:21' \ +#AT_STOP_121 +#AT_START_122 +at_fn_group_banner 122 'lustar02.at:21' \ "ustar: unsplittable path name" " " 16 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "113. $at_setup_line: testing $at_desc ..." + $as_echo "122. $at_setup_line: testing $at_desc ..." $at_traceon @@ -27801,14 +30812,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_113 -#AT_START_114 -at_fn_group_banner 114 'lustar03.at:21' \ +#AT_STOP_122 +#AT_START_123 +at_fn_group_banner 123 'lustar03.at:21' \ "ustar: splitting long names" " " 16 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "114. $at_setup_line: testing $at_desc ..." + $as_echo "123. $at_setup_line: testing $at_desc ..." $at_traceon @@ -27874,13 +30885,13 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_114 -#AT_START_115 -at_fn_group_banner 115 'old.at:23' \ +#AT_STOP_123 +#AT_START_124 +at_fn_group_banner 124 'old.at:23' \ "old archives" " " 16 at_xfail=no ( - $as_echo "115. $at_setup_line: testing $at_desc ..." + $as_echo "124. $at_setup_line: testing $at_desc ..." $at_traceon @@ -27915,14 +30926,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_115 -#AT_START_116 -at_fn_group_banner 116 'time01.at:20' \ +#AT_STOP_124 +#AT_START_125 +at_fn_group_banner 125 'time01.at:20' \ "time: tricky time stamps" " " 16 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "116. $at_setup_line: testing $at_desc ..." + $as_echo "125. $at_setup_line: testing $at_desc ..." $at_traceon @@ -28049,14 +31060,95 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_116 -#AT_START_117 -at_fn_group_banner 117 'multiv01.at:24' \ +#AT_STOP_125 +#AT_START_126 +at_fn_group_banner 126 'time02.at:20' \ + "time: clamping mtime" " " 16 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "126. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/time02.at:23: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H pax\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +export TZ=UTC0 +mkdir dir + +touch -d 2015-12-01T00:00:00 dir/a >/dev/null 2>&1 || exit 77 +touch -d 2016-01-01T00:00:00 dir/b >/dev/null 2>&1 || exit 77 +touch -d 2016-02-01T00:00:00 dir/c >/dev/null 2>&1 || exit 77 +touch -d 2038-01-01T00:00:00 dir/d >/dev/null 2>&1 || exit 77 + +tar -c --mtime 2016-01-15T00:00:00 --clamp-mtime -f archive.tar dir +tar -d -f archive.tar dir|sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "time02.at:23" +( $at_check_trace; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS="-H pax" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +export TZ=UTC0 +mkdir dir + +touch -d 2015-12-01T00:00:00 dir/a >/dev/null 2>&1 || exit 77 +touch -d 2016-01-01T00:00:00 dir/b >/dev/null 2>&1 || exit 77 +touch -d 2016-02-01T00:00:00 dir/c >/dev/null 2>&1 || exit 77 +touch -d 2038-01-01T00:00:00 dir/d >/dev/null 2>&1 || exit 77 + +tar -c --mtime 2016-01-15T00:00:00 --clamp-mtime -f archive.tar dir +tar -d -f archive.tar dir|sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/c: Mod time differs +dir/d: Mod time differs +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/time02.at:23" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_126 +#AT_START_127 +at_fn_group_banner 127 'multiv01.at:24' \ "multivolume dumps from pipes" " " 17 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "117. $at_setup_line: testing $at_desc ..." + $as_echo "127. $at_setup_line: testing $at_desc ..." $at_traceon @@ -28335,14 +31427,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_117 -#AT_START_118 -at_fn_group_banner 118 'multiv02.at:28' \ +#AT_STOP_127 +#AT_START_128 +at_fn_group_banner 128 'multiv02.at:29' \ "skipping a straddling member" " " 17 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "118. $at_setup_line: testing $at_desc ..." + $as_echo "128. $at_setup_line: testing $at_desc ..." $at_traceon @@ -28350,7 +31442,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/multiv02.at:31: +$as_echo "$at_srcdir/multiv02.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -28370,7 +31462,7 @@ tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 )" -at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:31" +at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:32" ( $at_check_trace; mkdir gnu (cd gnu @@ -28399,12 +31491,12 @@ echo >>"$at_stdout"; $as_echo "separator en " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:31" +at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:32" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/multiv02.at:31: +$as_echo "$at_srcdir/multiv02.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -28424,7 +31516,7 @@ tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 )" -at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:31" +at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:32" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -28453,12 +31545,12 @@ echo >>"$at_stdout"; $as_echo "separator en " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:31" +at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:32" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/multiv02.at:31: +$as_echo "$at_srcdir/multiv02.at:32: mkdir pax (cd pax TEST_TAR_FORMAT=pax @@ -28478,7 +31570,7 @@ tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 )" -at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:31" +at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:32" ( $at_check_trace; mkdir pax (cd pax @@ -28507,7 +31599,7 @@ echo >>"$at_stdout"; $as_echo "separator en " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:31" +at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:32" $at_failed && at_fn_log_failure $at_traceon; } @@ -28518,14 +31610,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_118 -#AT_START_119 -at_fn_group_banner 119 'multiv03.at:30' \ +#AT_STOP_128 +#AT_START_129 +at_fn_group_banner 129 'multiv03.at:30' \ "MV archive & long filenames" " " 17 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "119. $at_setup_line: testing $at_desc ..." + $as_echo "129. $at_setup_line: testing $at_desc ..." $at_traceon @@ -28721,14 +31813,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_119 -#AT_START_120 -at_fn_group_banner 120 'multiv04.at:36' \ +#AT_STOP_129 +#AT_START_130 +at_fn_group_banner 130 'multiv04.at:36' \ "split directory members in a MV archive" " " 17 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "120. $at_setup_line: testing $at_desc ..." + $as_echo "130. $at_setup_line: testing $at_desc ..." $at_traceon @@ -28878,14 +31970,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_120 -#AT_START_121 -at_fn_group_banner 121 'multiv05.at:26' \ +#AT_STOP_130 +#AT_START_131 +at_fn_group_banner 131 'multiv05.at:26' \ "Restoring after an out of sync volume" " " 17 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "121. $at_setup_line: testing $at_desc ..." + $as_echo "131. $at_setup_line: testing $at_desc ..." $at_traceon @@ -29005,14 +32097,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_121 -#AT_START_122 -at_fn_group_banner 122 'multiv06.at:27' \ +#AT_STOP_131 +#AT_START_132 +at_fn_group_banner 132 'multiv06.at:27' \ "Multivolumes with L=record_size" " " 17 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "122. $at_setup_line: testing $at_desc ..." + $as_echo "132. $at_setup_line: testing $at_desc ..." $at_traceon @@ -29130,14 +32222,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_122 -#AT_START_123 -at_fn_group_banner 123 'multiv07.at:28' \ +#AT_STOP_132 +#AT_START_133 +at_fn_group_banner 133 'multiv07.at:28' \ "volumes split at an extended header" " " 17 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "123. $at_setup_line: testing $at_desc ..." + $as_echo "133. $at_setup_line: testing $at_desc ..." $at_traceon @@ -29190,14 +32282,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_123 -#AT_START_124 -at_fn_group_banner 124 'multiv08.at:25' \ +#AT_STOP_133 +#AT_START_134 +at_fn_group_banner 134 'multiv08.at:25' \ "multivolume header creation" " " 17 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "124. $at_setup_line: testing $at_desc ..." + $as_echo "134. $at_setup_line: testing $at_desc ..." $at_traceon @@ -29263,14 +32355,273 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_124 -#AT_START_125 -at_fn_group_banner 125 'owner.at:21' \ +#AT_STOP_134 +#AT_START_135 +at_fn_group_banner 135 'multiv09.at:26' \ + "bad next volume" " " 17 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "135. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# filename of length 100 characters + + + + + { set +x +$as_echo "$at_srcdir/multiv09.at:33: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + +genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit \$? +echo \"created\" +tar --format=gnu -xM -f A.tar 2>/dev/null </dev/null <>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "created +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/multiv09.at:33" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/multiv09.at:33: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit \$? +echo \"created\" +tar --format=gnu -xM -f A.tar 2>/dev/null </dev/null <>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "created +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/multiv09.at:33" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/multiv09.at:33: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit \$? +echo \"created\" +tar --format=gnu -xM -f A.tar 2>/dev/null </dev/null <>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "created +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/multiv09.at:33" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/multiv09.at:33: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit \$? +echo \"created\" +tar --format=gnu -xM -f A.tar 2>/dev/null </dev/null <>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "created +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/multiv09.at:33" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/multiv09.at:33: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit \$? +echo \"created\" +tar --format=gnu -xM -f A.tar 2>/dev/null </dev/null <>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "created +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/multiv09.at:33" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_135 +#AT_START_136 +at_fn_group_banner 136 'owner.at:21' \ "--owner and --group" " " 18 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "125. $at_setup_line: testing $at_desc ..." + $as_echo "136. $at_setup_line: testing $at_desc ..." $at_traceon @@ -29342,14 +32693,145 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_125 -#AT_START_126 -at_fn_group_banner 126 'sparse01.at:21' \ +#AT_STOP_136 +#AT_START_137 +at_fn_group_banner 137 'map.at:21' \ + "--owner-map and --group-map" " " 18 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "137. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/map.at:24: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +export TZ=UTC0 + +genfile --file a +set -- \`genfile --stat=uid,gid a\` +cat > uid.map < gid.map < uid.map +> gid.map + +tar --owner-map=uid.map\\ + --group-map=gid.map\\ + --owner=\"Fallback Owner:4321\" \\ + --group=\"Fallback Group:8765\" \\ + --mtime='@0' \\ + --mode='u=rw,go=r' \\ + -cf 2.tar a + +tar -tvf 2.tar +tar --numeric-owner -tvf 2.tar +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "map.at:24" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +export TZ=UTC0 + +genfile --file a +set -- `genfile --stat=uid,gid a` +cat > uid.map < gid.map < uid.map +> gid.map + +tar --owner-map=uid.map\ + --group-map=gid.map\ + --owner="Fallback Owner:4321" \ + --group="Fallback Group:8765" \ + --mtime='@0' \ + --mode='u=rw,go=r' \ + -cf 2.tar a + +tar -tvf 2.tar +tar --numeric-owner -tvf 2.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "-rw-r--r-- Joe the Plumber/Plumber's Union 0 1970-01-01 00:00 a +-rw-r--r-- 1234/5678 0 1970-01-01 00:00 a +-rw-r--r-- Fallback Owner/Fallback Group 0 1970-01-01 00:00 a +-rw-r--r-- 4321/8765 0 1970-01-01 00:00 a +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/map.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_137 +#AT_START_138 +at_fn_group_banner 138 'sparse01.at:22' \ "sparse files" " " 19 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "126. $at_setup_line: testing $at_desc ..." + $as_echo "138. $at_setup_line: testing $at_desc ..." $at_traceon @@ -29357,7 +32839,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/sparse01.at:24: +$as_echo "$at_srcdir/sparse01.at:25: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -29379,7 +32861,7 @@ tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile )" -at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:24" +at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:25" ( $at_check_trace; mkdir posix (cd posix @@ -29407,12 +32889,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:24" +at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:25" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/sparse01.at:24: +$as_echo "$at_srcdir/sparse01.at:25: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -29434,7 +32916,7 @@ tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile )" -at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:24" +at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:25" ( $at_check_trace; mkdir gnu (cd gnu @@ -29462,12 +32944,12 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:24" +at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:25" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/sparse01.at:24: +$as_echo "$at_srcdir/sparse01.at:25: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -29489,7 +32971,7 @@ tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile )" -at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:24" +at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:25" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -29517,7 +32999,7 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:24" +at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:25" $at_failed && at_fn_log_failure $at_traceon; } @@ -29546,14 +33028,14 @@ done $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_126 -#AT_START_127 -at_fn_group_banner 127 'sparse02.at:21' \ +#AT_STOP_138 +#AT_START_139 +at_fn_group_banner 139 'sparse02.at:22' \ "extracting sparse file over a pipe" " " 19 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "127. $at_setup_line: testing $at_desc ..." + $as_echo "139. $at_setup_line: testing $at_desc ..." $at_traceon @@ -29565,7 +33047,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/sparse02.at:28: +$as_echo "$at_srcdir/sparse02.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -29575,13 +33057,13 @@ export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 +tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 cmp sparsefile sparsecopy )" -at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:28" +at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:29" ( $at_check_trace; mkdir posix (cd posix @@ -29592,7 +33074,7 @@ export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 +tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 @@ -29605,12 +33087,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/sparse02.at:28: +$as_echo "$at_srcdir/sparse02.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -29620,13 +33102,13 @@ export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 +tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 cmp sparsefile sparsecopy )" -at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:28" +at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:29" ( $at_check_trace; mkdir gnu (cd gnu @@ -29637,7 +33119,7 @@ export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 +tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 @@ -29650,12 +33132,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:29" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/sparse02.at:28: +$as_echo "$at_srcdir/sparse02.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -29665,13 +33147,13 @@ export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 +tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 cmp sparsefile sparsecopy )" -at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:28" +at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:29" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -29682,7 +33164,7 @@ export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 +tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 @@ -29695,7 +33177,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:28" +at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:29" $at_failed && at_fn_log_failure $at_traceon; } @@ -29706,14 +33188,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_127 -#AT_START_128 -at_fn_group_banner 128 'sparse03.at:21' \ +#AT_STOP_139 +#AT_START_140 +at_fn_group_banner 140 'sparse03.at:21' \ "storing sparse files > 8G" " " 19 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "128. $at_setup_line: testing $at_desc ..." + $as_echo "140. $at_setup_line: testing $at_desc ..." $at_traceon @@ -29805,14 +33287,14 @@ done $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_128 -#AT_START_129 -at_fn_group_banner 129 'sparse04.at:21' \ +#AT_STOP_140 +#AT_START_141 +at_fn_group_banner 141 'sparse04.at:21' \ "storing long sparse file names" " " 19 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "129. $at_setup_line: testing $at_desc ..." + $as_echo "141. $at_setup_line: testing $at_desc ..." $at_traceon @@ -29874,14 +33356,2261 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_129 -#AT_START_130 -at_fn_group_banner 130 'sparsemv.at:21' \ +#AT_STOP_141 +#AT_START_142 +at_fn_group_banner 142 'sparse05.at:21' \ + "listing sparse files bigger than 2^33 B" " " 19 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "142. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Description: If an archive in POSIX.1-2001 archive contained a sparse file +# member whose real size (excluding zero blocks) is bigger than 2^33 bytes, +# tar 1.28 would incorrectly list the real member size. +# Reported by: Pavel Raiskup +# References: <1359119879.15037.4.camel@raiskup>, +# http://lists.gnu.org/archive/html/bug-tar/2013-01/msg00001.html + + + + { set +x +$as_echo "$at_srcdir/sparse05.at:31: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H pax\" +export TAR_OPTIONS +rm -rf * + +cat >mapfile <<'_ATEOF' +0 =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +_ATEOF + +genfile --sparse --file BIGFILE --block-size 4K - < mapfile || exit 77 +tar -f - -c --sparse --posix BIGFILE | tar tvf - | awk '{ print \$3, \$(NF) }' +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "sparse05.at:31" +( $at_check_trace; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS="-H pax" +export TAR_OPTIONS +rm -rf * + +cat >mapfile <<'_ATEOF' +0 =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +10M =2560 +_ATEOF + +genfile --sparse --file BIGFILE --block-size 4K - < mapfile || exit 77 +tar -f - -c --sparse --posix BIGFILE | tar tvf - | awk '{ print $3, $(NF) }' +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "20961034240 BIGFILE +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sparse05.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_142 +#AT_START_143 +at_fn_group_banner 143 'sparse06.at:21' \ + "storing sparse file using seek method" " " 19 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "143. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + + + { set +x +$as_echo "$at_srcdir/sparse06.at:32: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + + +checkseekhole || exit 77 + + +TAR_OPTIONS=\"\$TAR_OPTIONS --hole-detection=seek\" +genfile --sparse --file bigsparse 0 ABC 8G DEF +tar -cSf a bigsparse +test \$? -eq 0 || exit 1 + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 0 ABC +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 0 ABC 10M +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 0 ABC 10M DEF +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 10M +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 10M ABC +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 10M ABC 20M +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 10M DEF 20M GHI 30M JKL 40M +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + +)" +at_fn_check_prepare_notrace 'an embedded newline' "sparse06.at:32" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + + +checkseekhole || exit 77 + + +TAR_OPTIONS="$TAR_OPTIONS --hole-detection=seek" +genfile --sparse --file bigsparse 0 ABC 8G DEF +tar -cSf a bigsparse +test $? -eq 0 || exit 1 + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 0 ABC +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 0 ABC 10M +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 0 ABC 10M DEF +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 10M +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 10M ABC +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 10M ABC 20M +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + + +rm -rf out archive.tar smallsparse && mkdir out +genfile --sparse --quiet --file smallsparse 10M DEF 20M GHI 30M JKL 40M +tar -cSf archive.tar smallsparse +tar -xf archive.tar -C out +cmp smallsparse out/smallsparse + + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sparse06.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_143 +#AT_START_144 +at_fn_group_banner 144 'sparsemv.at:21' \ "sparse files in MV archives" " " 19 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "130. $at_setup_line: testing $at_desc ..." + $as_echo "144. $at_setup_line: testing $at_desc ..." $at_traceon @@ -29906,6 +35635,7 @@ export TAR_OPTIONS rm -rf * exec <&- +TAR_OPTIONS=\"\$TAR_OPTIONS --hole-detection=raw\" genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 echo \"Pass 1: Split between data blocks\" echo \"Create archive\" @@ -29935,6 +35665,7 @@ export TAR_OPTIONS rm -rf * exec <&- +TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw" genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 echo "Pass 1: Split between data blocks" echo "Create archive" @@ -29984,6 +35715,7 @@ export TAR_OPTIONS rm -rf * exec <&- +TAR_OPTIONS=\"\$TAR_OPTIONS --hole-detection=raw\" genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 echo \"Pass 1: Split between data blocks\" echo \"Create archive\" @@ -30013,6 +35745,7 @@ export TAR_OPTIONS rm -rf * exec <&- +TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw" genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 echo "Pass 1: Split between data blocks" echo "Create archive" @@ -30058,14 +35791,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_130 -#AT_START_131 -at_fn_group_banner 131 'spmvp00.at:21' \ +#AT_STOP_144 +#AT_START_145 +at_fn_group_banner 145 'spmvp00.at:21' \ "sparse files in PAX MV archives, v.0.0" " " 19 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "131. $at_setup_line: testing $at_desc ..." + $as_echo "145. $at_setup_line: testing $at_desc ..." $at_traceon @@ -30084,6 +35817,7 @@ export TAR_OPTIONS rm -rf * exec <&- +TAR_OPTIONS=\"\$TAR_OPTIONS --hole-detection=raw\" genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 echo \"Pass 1: Split between data blocks\" echo \"Create archive\" @@ -30113,6 +35847,7 @@ export TAR_OPTIONS rm -rf * exec <&- +TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw" genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 echo "Pass 1: Split between data blocks" echo "Create archive" @@ -30158,14 +35893,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_131 -#AT_START_132 -at_fn_group_banner 132 'spmvp01.at:21' \ +#AT_STOP_145 +#AT_START_146 +at_fn_group_banner 146 'spmvp01.at:21' \ "sparse files in PAX MV archives, v.0.1" " " 19 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "132. $at_setup_line: testing $at_desc ..." + $as_echo "146. $at_setup_line: testing $at_desc ..." $at_traceon @@ -30184,6 +35919,7 @@ export TAR_OPTIONS rm -rf * exec <&- +TAR_OPTIONS=\"\$TAR_OPTIONS --hole-detection=raw\" genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 echo \"Pass 1: Split between data blocks\" echo \"Create archive\" @@ -30213,6 +35949,7 @@ export TAR_OPTIONS rm -rf * exec <&- +TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw" genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 echo "Pass 1: Split between data blocks" echo "Create archive" @@ -30258,14 +35995,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_132 -#AT_START_133 -at_fn_group_banner 133 'spmvp10.at:21' \ +#AT_STOP_146 +#AT_START_147 +at_fn_group_banner 147 'spmvp10.at:21' \ "sparse files in PAX MV archives, v.1.0" " " 19 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "133. $at_setup_line: testing $at_desc ..." + $as_echo "147. $at_setup_line: testing $at_desc ..." $at_traceon @@ -30284,6 +36021,7 @@ export TAR_OPTIONS rm -rf * exec <&- +TAR_OPTIONS=\"\$TAR_OPTIONS --hole-detection=raw\" genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 echo \"Pass 1: Split between data blocks\" echo \"Create archive\" @@ -30313,6 +36051,7 @@ export TAR_OPTIONS rm -rf * exec <&- +TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw" genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 echo "Pass 1: Split between data blocks" echo "Create archive" @@ -30358,14 +36097,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_133 -#AT_START_134 -at_fn_group_banner 134 'update.at:28' \ +#AT_STOP_147 +#AT_START_148 +at_fn_group_banner 148 'update.at:28' \ "update unchanged directories" " " 20 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "134. $at_setup_line: testing $at_desc ..." + $as_echo "148. $at_setup_line: testing $at_desc ..." $at_traceon @@ -30684,14 +36423,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_134 -#AT_START_135 -at_fn_group_banner 135 'update01.at:29' \ +#AT_STOP_148 +#AT_START_149 +at_fn_group_banner 149 'update01.at:29' \ "update directories" " " 20 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "135. $at_setup_line: testing $at_desc ..." + $as_echo "149. $at_setup_line: testing $at_desc ..." $at_traceon @@ -31055,14 +36794,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_135 -#AT_START_136 -at_fn_group_banner 136 'update02.at:26' \ +#AT_STOP_149 +#AT_START_150 +at_fn_group_banner 150 'update02.at:26' \ "update changed files" " " 20 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "136. $at_setup_line: testing $at_desc ..." + $as_echo "150. $at_setup_line: testing $at_desc ..." $at_traceon @@ -31426,14 +37165,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_136 -#AT_START_137 -at_fn_group_banner 137 'verify.at:25' \ +#AT_STOP_150 +#AT_START_151 +at_fn_group_banner 151 'verify.at:25' \ "verify" " " 21 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "137. $at_setup_line: testing $at_desc ..." + $as_echo "151. $at_setup_line: testing $at_desc ..." $at_traceon @@ -31637,14 +37376,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_137 -#AT_START_138 -at_fn_group_banner 138 'volume.at:23' \ +#AT_STOP_151 +#AT_START_152 +at_fn_group_banner 152 'volume.at:24' \ "volume" " " 22 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "138. $at_setup_line: testing $at_desc ..." + $as_echo "152. $at_setup_line: testing $at_desc ..." $at_traceon @@ -31652,7 +37391,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/volume.at:26: +$as_echo "$at_srcdir/volume.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -31677,7 +37416,7 @@ echo 1>&2 ----- tar xfV archive babel test \$? = 2 )" -at_fn_check_prepare_notrace 'an embedded newline' "volume.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "volume.at:27" ( $at_check_trace; mkdir gnu (cd gnu @@ -31718,12 +37457,12 @@ tar: Error is not recoverable: exiting now " | \ $at_diff - "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/volume.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/volume.at:27" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/volume.at:26: +$as_echo "$at_srcdir/volume.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -31748,7 +37487,7 @@ echo 1>&2 ----- tar xfV archive babel test \$? = 2 )" -at_fn_check_prepare_notrace 'an embedded newline' "volume.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "volume.at:27" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -31789,7 +37528,7 @@ tar: Error is not recoverable: exiting now " | \ $at_diff - "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/volume.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/volume.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -31800,14 +37539,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_138 -#AT_START_139 -at_fn_group_banner 139 'volsize.at:29' \ +#AT_STOP_152 +#AT_START_153 +at_fn_group_banner 153 'volsize.at:29' \ "volume header size" " " 22 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "139. $at_setup_line: testing $at_desc ..." + $as_echo "153. $at_setup_line: testing $at_desc ..." $at_traceon @@ -32166,14 +37905,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_139 -#AT_START_140 -at_fn_group_banner 140 'comprec.at:21' \ +#AT_STOP_153 +#AT_START_154 +at_fn_group_banner 154 'comprec.at:22' \ "compressed format recognition" " " 23 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "140. $at_setup_line: testing $at_desc ..." + $as_echo "154. $at_setup_line: testing $at_desc ..." $at_traceon @@ -32182,7 +37921,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/comprec.at:25: +$as_echo "$at_srcdir/comprec.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -32202,7 +37941,7 @@ mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 )" -at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25" +at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26" ( $at_check_trace; mkdir v7 (cd v7 @@ -32232,12 +37971,12 @@ separator file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25" +at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/comprec.at:25: +$as_echo "$at_srcdir/comprec.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -32257,7 +37996,7 @@ mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 )" -at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25" +at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26" ( $at_check_trace; mkdir oldgnu (cd oldgnu @@ -32287,12 +38026,12 @@ separator file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25" +at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/comprec.at:25: +$as_echo "$at_srcdir/comprec.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -32312,7 +38051,7 @@ mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 )" -at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25" +at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26" ( $at_check_trace; mkdir ustar (cd ustar @@ -32342,12 +38081,12 @@ separator file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25" +at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/comprec.at:25: +$as_echo "$at_srcdir/comprec.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -32367,7 +38106,7 @@ mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 )" -at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25" +at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26" ( $at_check_trace; mkdir posix (cd posix @@ -32397,12 +38136,12 @@ separator file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25" +at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/comprec.at:25: +$as_echo "$at_srcdir/comprec.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -32422,7 +38161,7 @@ mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 )" -at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25" +at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26" ( $at_check_trace; mkdir gnu (cd gnu @@ -32452,7 +38191,7 @@ separator file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25" +at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26" $at_failed && at_fn_log_failure $at_traceon; } @@ -32463,14 +38202,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_140 -#AT_START_141 -at_fn_group_banner 141 'shortfile.at:26' \ +#AT_STOP_154 +#AT_START_155 +at_fn_group_banner 155 'shortfile.at:26' \ "short input files" " " 23 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "141. $at_setup_line: testing $at_desc ..." + $as_echo "155. $at_setup_line: testing $at_desc ..." $at_traceon @@ -32522,14 +38261,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_141 -#AT_START_142 -at_fn_group_banner 142 'shortupd.at:31' \ +#AT_STOP_155 +#AT_START_156 +at_fn_group_banner 156 'shortupd.at:31' \ "updating short archives" " " 23 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "142. $at_setup_line: testing $at_desc ..." + $as_echo "156. $at_setup_line: testing $at_desc ..." $at_traceon @@ -32718,14 +38457,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_142 -#AT_START_143 -at_fn_group_banner 143 'truncate.at:29' \ +#AT_STOP_156 +#AT_START_157 +at_fn_group_banner 157 'truncate.at:29' \ "truncate" " " 23 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "143. $at_setup_line: testing $at_desc ..." + $as_echo "157. $at_setup_line: testing $at_desc ..." $at_traceon @@ -33004,14 +38743,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_143 -#AT_START_144 -at_fn_group_banner 144 'grow.at:24' \ +#AT_STOP_157 +#AT_START_158 +at_fn_group_banner 158 'grow.at:24' \ "grow" " " 23 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "144. $at_setup_line: testing $at_desc ..." + $as_echo "158. $at_setup_line: testing $at_desc ..." $at_traceon @@ -33235,13 +38974,13 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_144 -#AT_START_145 -at_fn_group_banner 145 'sigpipe.at:21' \ +#AT_STOP_158 +#AT_START_159 +at_fn_group_banner 159 'sigpipe.at:21' \ "sigpipe handling" " " 23 at_xfail=no ( - $as_echo "145. $at_setup_line: testing $at_desc ..." + $as_echo "159. $at_setup_line: testing $at_desc ..." $at_traceon @@ -33300,13 +39039,246 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_145 -#AT_START_146 -at_fn_group_banner 146 'remfiles01.at:28' \ +#AT_STOP_159 +#AT_START_160 +at_fn_group_banner 160 'comperr.at:18' \ + "compressor program failure" " " 23 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "160. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Description: If the --use-compress-program fails, then it is unsafe +# to assume that the created archive is OK. Tar should fail with a +# prominent error message. +# Reported by: Ole Tange +# References: , +# http://lists.gnu.org/archive/html/bug-tar/2015-03/msg00002.html + + + + { set +x +$as_echo "$at_srcdir/comperr.at:28: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + +tar --use-compress-program false -cf a.tar . 2>err +rc=\$? +sed -n '\$p' err +exit \$rc +)" +at_fn_check_prepare_notrace 'an embedded newline' "comperr.at:28" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + +tar --use-compress-program false -cf a.tar . 2>err +rc=$? +sed -n '$p' err +exit $rc +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "tar: Error is not recoverable: exiting now +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/comperr.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/comperr.at:28: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +tar --use-compress-program false -cf a.tar . 2>err +rc=\$? +sed -n '\$p' err +exit \$rc +)" +at_fn_check_prepare_notrace 'an embedded newline' "comperr.at:28" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +tar --use-compress-program false -cf a.tar . 2>err +rc=$? +sed -n '$p' err +exit $rc +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "tar: Error is not recoverable: exiting now +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/comperr.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/comperr.at:28: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +tar --use-compress-program false -cf a.tar . 2>err +rc=\$? +sed -n '\$p' err +exit \$rc +)" +at_fn_check_prepare_notrace 'an embedded newline' "comperr.at:28" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +tar --use-compress-program false -cf a.tar . 2>err +rc=$? +sed -n '$p' err +exit $rc +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "tar: Error is not recoverable: exiting now +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/comperr.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/comperr.at:28: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +tar --use-compress-program false -cf a.tar . 2>err +rc=\$? +sed -n '\$p' err +exit \$rc +)" +at_fn_check_prepare_notrace 'an embedded newline' "comperr.at:28" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +tar --use-compress-program false -cf a.tar . 2>err +rc=$? +sed -n '$p' err +exit $rc +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "tar: Error is not recoverable: exiting now +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/comperr.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/comperr.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +tar --use-compress-program false -cf a.tar . 2>err +rc=\$? +sed -n '\$p' err +exit \$rc +)" +at_fn_check_prepare_notrace 'an embedded newline' "comperr.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +tar --use-compress-program false -cf a.tar . 2>err +rc=$? +sed -n '$p' err +exit $rc +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "tar: Error is not recoverable: exiting now +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/comperr.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_160 +#AT_START_161 +at_fn_group_banner 161 'remfiles01.at:28' \ "remove-files with compression" " " 24 at_xfail=no ( - $as_echo "146. $at_setup_line: testing $at_desc ..." + $as_echo "161. $at_setup_line: testing $at_desc ..." $at_traceon @@ -33426,13 +39398,13 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_146 -#AT_START_147 -at_fn_group_banner 147 'remfiles02.at:28' \ +#AT_STOP_161 +#AT_START_162 +at_fn_group_banner 162 'remfiles02.at:28' \ "remove-files with compression: grand-child" " " 24 at_xfail=no ( - $as_echo "147. $at_setup_line: testing $at_desc ..." + $as_echo "162. $at_setup_line: testing $at_desc ..." $at_traceon @@ -33504,13 +39476,13 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_147 -#AT_START_148 -at_fn_group_banner 148 'remfiles03.at:28' \ +#AT_STOP_162 +#AT_START_163 +at_fn_group_banner 163 'remfiles03.at:28' \ "remove-files with symbolic links" " " 24 at_xfail=no ( - $as_echo "148. $at_setup_line: testing $at_desc ..." + $as_echo "163. $at_setup_line: testing $at_desc ..." $at_traceon @@ -33547,14 +39519,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_148 -#AT_START_149 -at_fn_group_banner 149 'remfiles04a.at:25' \ +#AT_STOP_163 +#AT_START_164 +at_fn_group_banner 164 'remfiles04a.at:25' \ "remove-files with -C:rel in -c/non-incr. mode" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "149. $at_setup_line: testing $at_desc ..." + $as_echo "164. $at_setup_line: testing $at_desc ..." $at_traceon @@ -33623,14 +39595,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_149 -#AT_START_150 -at_fn_group_banner 150 'remfiles04b.at:33' \ +#AT_STOP_164 +#AT_START_165 +at_fn_group_banner 165 'remfiles04b.at:33' \ "remove-files with -C:rel in -c/incr. mode" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "150. $at_setup_line: testing $at_desc ..." + $as_echo "165. $at_setup_line: testing $at_desc ..." $at_traceon @@ -33699,14 +39671,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_150 -#AT_START_151 -at_fn_group_banner 151 'remfiles04c.at:33' \ +#AT_STOP_165 +#AT_START_166 +at_fn_group_banner 166 'remfiles04c.at:33' \ "remove-files with -C:rel in -r mode" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "151. $at_setup_line: testing $at_desc ..." + $as_echo "166. $at_setup_line: testing $at_desc ..." $at_traceon @@ -33787,14 +39759,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_151 -#AT_START_152 -at_fn_group_banner 152 'remfiles05a.at:34' \ +#AT_STOP_166 +#AT_START_167 +at_fn_group_banner 167 'remfiles05a.at:34' \ "remove-files with -C:rel,rel in -c/non-incr. mode" "" 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "152. $at_setup_line: testing $at_desc ..." + $as_echo "167. $at_setup_line: testing $at_desc ..." $at_traceon @@ -33876,14 +39848,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_152 -#AT_START_153 -at_fn_group_banner 153 'remfiles05b.at:25' \ +#AT_STOP_167 +#AT_START_168 +at_fn_group_banner 168 'remfiles05b.at:25' \ "remove-files with -C:rel,rel in -c/incr. mode" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "153. $at_setup_line: testing $at_desc ..." + $as_echo "168. $at_setup_line: testing $at_desc ..." $at_traceon @@ -33965,14 +39937,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_153 -#AT_START_154 -at_fn_group_banner 154 'remfiles05c.at:25' \ +#AT_STOP_168 +#AT_START_169 +at_fn_group_banner 169 'remfiles05c.at:25' \ "remove-files with -C:rel,rel in -r mode" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "154. $at_setup_line: testing $at_desc ..." + $as_echo "169. $at_setup_line: testing $at_desc ..." $at_traceon @@ -34069,14 +40041,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_154 -#AT_START_155 -at_fn_group_banner 155 'remfiles06a.at:25' \ +#AT_STOP_169 +#AT_START_170 +at_fn_group_banner 170 'remfiles06a.at:25' \ "remove-files with -C:rel,abs in -c/non-incr. mode" "" 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "155. $at_setup_line: testing $at_desc ..." + $as_echo "170. $at_setup_line: testing $at_desc ..." $at_traceon @@ -34160,14 +40132,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_155 -#AT_START_156 -at_fn_group_banner 156 'remfiles06b.at:25' \ +#AT_STOP_170 +#AT_START_171 +at_fn_group_banner 171 'remfiles06b.at:25' \ "remove-files with -C:rel,abs in -c/incr. mode" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "156. $at_setup_line: testing $at_desc ..." + $as_echo "171. $at_setup_line: testing $at_desc ..." $at_traceon @@ -34251,14 +40223,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_156 -#AT_START_157 -at_fn_group_banner 157 'remfiles06c.at:25' \ +#AT_STOP_171 +#AT_START_172 +at_fn_group_banner 172 'remfiles06c.at:25' \ "remove-files with -C:rel,abs in -r mode" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "157. $at_setup_line: testing $at_desc ..." + $as_echo "172. $at_setup_line: testing $at_desc ..." $at_traceon @@ -34357,14 +40329,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_157 -#AT_START_158 -at_fn_group_banner 158 'remfiles07a.at:25' \ +#AT_STOP_172 +#AT_START_173 +at_fn_group_banner 173 'remfiles07a.at:25' \ "remove-files with -C:abs,rel in -c/non-incr. mode" "" 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "158. $at_setup_line: testing $at_desc ..." + $as_echo "173. $at_setup_line: testing $at_desc ..." $at_traceon @@ -34448,14 +40420,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_158 -#AT_START_159 -at_fn_group_banner 159 'remfiles07b.at:25' \ +#AT_STOP_173 +#AT_START_174 +at_fn_group_banner 174 'remfiles07b.at:25' \ "remove-files with -C:abs,rel in -c/incr. mode" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "159. $at_setup_line: testing $at_desc ..." + $as_echo "174. $at_setup_line: testing $at_desc ..." $at_traceon @@ -34539,14 +40511,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_159 -#AT_START_160 -at_fn_group_banner 160 'remfiles07c.at:25' \ +#AT_STOP_174 +#AT_START_175 +at_fn_group_banner 175 'remfiles07c.at:25' \ "remove-files with -C:abs,rel in -r mode" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "160. $at_setup_line: testing $at_desc ..." + $as_echo "175. $at_setup_line: testing $at_desc ..." $at_traceon @@ -34645,14 +40617,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_160 -#AT_START_161 -at_fn_group_banner 161 'remfiles08a.at:28' \ +#AT_STOP_175 +#AT_START_176 +at_fn_group_banner 176 'remfiles08a.at:28' \ "remove-files deleting two subdirs in -c/non-incr. mode" "" 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "161. $at_setup_line: testing $at_desc ..." + $as_echo "176. $at_setup_line: testing $at_desc ..." $at_traceon @@ -34725,24 +40697,22 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_161 -#AT_START_162 -at_fn_group_banner 162 'remfiles08b.at:31' \ +#AT_STOP_176 +#AT_START_177 +at_fn_group_banner 177 'remfiles08b.at:31' \ "remove-files deleting two subdirs in -c/incr. mode" "" 24 -at_xfail=yes +at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "162. $at_setup_line: testing $at_desc ..." + $as_echo "177. $at_setup_line: testing $at_desc ..." $at_traceon - # we expect to fail in tar 1.27 - { set +x -$as_echo "$at_srcdir/remfiles08b.at:36: +$as_echo "$at_srcdir/remfiles08b.at:34: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -34760,7 +40730,7 @@ tar -cvf foo.tar --incremental --remove-files -C foo . -C ../bar . decho B find . )" -at_fn_check_prepare_notrace 'an embedded newline' "remfiles08b.at:36" +at_fn_check_prepare_notrace 'an embedded newline' "remfiles08b.at:34" ( $at_check_trace; mkdir gnu (cd gnu @@ -34798,7 +40768,7 @@ B ./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/remfiles08b.at:36" +at_fn_check_status 0 $at_status "$at_srcdir/remfiles08b.at:34" $at_failed && at_fn_log_failure $at_traceon; } @@ -34809,14 +40779,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_162 -#AT_START_163 -at_fn_group_banner 163 'remfiles08c.at:28' \ +#AT_STOP_177 +#AT_START_178 +at_fn_group_banner 178 'remfiles08c.at:28' \ "remove-files deleting two subdirs in -r mode" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "163. $at_setup_line: testing $at_desc ..." + $as_echo "178. $at_setup_line: testing $at_desc ..." $at_traceon @@ -34909,14 +40879,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_163 -#AT_START_164 -at_fn_group_banner 164 'remfiles09a.at:25' \ +#AT_STOP_178 +#AT_START_179 +at_fn_group_banner 179 'remfiles09a.at:25' \ "remove-files on full directory in -c/non-incr. mode" "" 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "164. $at_setup_line: testing $at_desc ..." + $as_echo "179. $at_setup_line: testing $at_desc ..." $at_traceon @@ -34983,24 +40953,22 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_164 -#AT_START_165 -at_fn_group_banner 165 'remfiles09b.at:29' \ +#AT_STOP_179 +#AT_START_180 +at_fn_group_banner 180 'remfiles09b.at:29' \ "remove-files on full directory in -c/incr. mode" "" 24 -at_xfail=yes +at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "165. $at_setup_line: testing $at_desc ..." + $as_echo "180. $at_setup_line: testing $at_desc ..." $at_traceon - # we expect to fail in tar 1.27 - { set +x -$as_echo "$at_srcdir/remfiles09b.at:34: +$as_echo "$at_srcdir/remfiles09b.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -35016,7 +40984,7 @@ tar -cvf foo.tar --incremental --remove-files foo decho B find . )" -at_fn_check_prepare_notrace 'an embedded newline' "remfiles09b.at:34" +at_fn_check_prepare_notrace 'an embedded newline' "remfiles09b.at:32" ( $at_check_trace; mkdir gnu (cd gnu @@ -35049,7 +41017,7 @@ B ./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/remfiles09b.at:34" +at_fn_check_status 0 $at_status "$at_srcdir/remfiles09b.at:32" $at_failed && at_fn_log_failure $at_traceon; } @@ -35060,14 +41028,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_165 -#AT_START_166 -at_fn_group_banner 166 'remfiles09c.at:25' \ +#AT_STOP_180 +#AT_START_181 +at_fn_group_banner 181 'remfiles09c.at:25' \ "remove-files on full directory in -r mode" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "166. $at_setup_line: testing $at_desc ..." + $as_echo "181. $at_setup_line: testing $at_desc ..." $at_traceon @@ -35152,14 +41120,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_166 -#AT_START_167 -at_fn_group_banner 167 'remfiles10.at:20' \ +#AT_STOP_181 +#AT_START_182 +at_fn_group_banner 182 'remfiles10.at:20' \ "remove-files" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "167. $at_setup_line: testing $at_desc ..." + $as_echo "182. $at_setup_line: testing $at_desc ..." $at_traceon @@ -35231,14 +41199,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_167 -#AT_START_168 -at_fn_group_banner 168 'xattr01.at:25' \ +#AT_STOP_182 +#AT_START_183 +at_fn_group_banner 183 'xattr01.at:25' \ "xattrs: basic functionality" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "168. $at_setup_line: testing $at_desc ..." + $as_echo "183. $at_setup_line: testing $at_desc ..." $at_traceon @@ -35792,14 +41760,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_168 -#AT_START_169 -at_fn_group_banner 169 'xattr02.at:25' \ +#AT_STOP_183 +#AT_START_184 +at_fn_group_banner 184 'xattr02.at:25' \ "xattrs: change directory with -C option" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "169. $at_setup_line: testing $at_desc ..." + $as_echo "184. $at_setup_line: testing $at_desc ..." $at_traceon @@ -36428,14 +42396,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_169 -#AT_START_170 -at_fn_group_banner 170 'xattr03.at:25' \ +#AT_STOP_184 +#AT_START_185 +at_fn_group_banner 185 'xattr03.at:25' \ "xattrs: trusted.* attributes" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "170. $at_setup_line: testing $at_desc ..." + $as_echo "185. $at_setup_line: testing $at_desc ..." $at_traceon @@ -37144,14 +43112,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_170 -#AT_START_171 -at_fn_group_banner 171 'xattr04.at:26' \ +#AT_STOP_185 +#AT_START_186 +at_fn_group_banner 186 'xattr04.at:26' \ "xattrs: s/open/openat/ regression" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "171. $at_setup_line: testing $at_desc ..." + $as_echo "186. $at_setup_line: testing $at_desc ..." $at_traceon @@ -37710,14 +43678,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_171 -#AT_START_172 -at_fn_group_banner 172 'xattr05.at:28' \ +#AT_STOP_186 +#AT_START_187 +at_fn_group_banner 187 'xattr05.at:28' \ "xattrs: keywords with '=' and '%'" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "172. $at_setup_line: testing $at_desc ..." + $as_echo "187. $at_setup_line: testing $at_desc ..." $at_traceon @@ -38266,14 +44234,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_172 -#AT_START_173 -at_fn_group_banner 173 'acls01.at:25' \ +#AT_STOP_187 +#AT_START_188 +at_fn_group_banner 188 'acls01.at:25' \ "acls: basic functionality" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "173. $at_setup_line: testing $at_desc ..." + $as_echo "188. $at_setup_line: testing $at_desc ..." $at_traceon @@ -39032,14 +45000,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_173 -#AT_START_174 -at_fn_group_banner 174 'acls02.at:25' \ +#AT_STOP_188 +#AT_START_189 +at_fn_group_banner 189 'acls02.at:25' \ "acls: work with -C" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "174. $at_setup_line: testing $at_desc ..." + $as_echo "189. $at_setup_line: testing $at_desc ..." $at_traceon @@ -39858,14 +45826,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_174 -#AT_START_175 -at_fn_group_banner 175 'acls03.at:30' \ +#AT_STOP_189 +#AT_START_190 +at_fn_group_banner 190 'acls03.at:30' \ "acls: default ACLs" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "175. $at_setup_line: testing $at_desc ..." + $as_echo "190. $at_setup_line: testing $at_desc ..." $at_traceon @@ -42108,14 +48076,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_175 -#AT_START_176 -at_fn_group_banner 176 'selnx01.at:25' \ +#AT_STOP_190 +#AT_START_191 +at_fn_group_banner 191 'selnx01.at:25' \ "selinux: basic store/restore" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "176. $at_setup_line: testing $at_desc ..." + $as_echo "191. $at_setup_line: testing $at_desc ..." $at_traceon @@ -43284,14 +49252,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_176 -#AT_START_177 -at_fn_group_banner 177 'selacl01.at:25' \ +#AT_STOP_191 +#AT_START_192 +at_fn_group_banner 192 'selacl01.at:25' \ "acls/selinux: special files & fifos" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "177. $at_setup_line: testing $at_desc ..." + $as_echo "192. $at_setup_line: testing $at_desc ..." $at_traceon @@ -44450,14 +50418,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_177 -#AT_START_178 -at_fn_group_banner 178 'capabs_raw01.at:25' \ +#AT_STOP_192 +#AT_START_193 +at_fn_group_banner 193 'capabs_raw01.at:25' \ "capabilities: binary store/restore" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "178. $at_setup_line: testing $at_desc ..." + $as_echo "193. $at_setup_line: testing $at_desc ..." $at_traceon @@ -45276,14 +51244,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_178 -#AT_START_179 -at_fn_group_banner 179 'onetop01.at:21' \ +#AT_STOP_193 +#AT_START_194 +at_fn_group_banner 194 'onetop01.at:21' \ "tar --one-top-level" " " 26 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "179. $at_setup_line: testing $at_desc ..." + $as_echo "194. $at_setup_line: testing $at_desc ..." $at_traceon @@ -45587,14 +51555,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_179 -#AT_START_180 -at_fn_group_banner 180 'onetop02.at:21' \ +#AT_STOP_194 +#AT_START_195 +at_fn_group_banner 195 'onetop02.at:21' \ "tar --one-top-level --show-transformed" " " 26 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "180. $at_setup_line: testing $at_desc ..." + $as_echo "195. $at_setup_line: testing $at_desc ..." $at_traceon @@ -45913,14 +51881,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_180 -#AT_START_181 -at_fn_group_banner 181 'onetop03.at:21' \ +#AT_STOP_195 +#AT_START_196 +at_fn_group_banner 196 'onetop03.at:21' \ "tar --one-top-level --transform" " " 26 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "181. $at_setup_line: testing $at_desc ..." + $as_echo "196. $at_setup_line: testing $at_desc ..." $at_traceon @@ -46224,14 +52192,14 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_181 -#AT_START_182 -at_fn_group_banner 182 'onetop04.at:21' \ +#AT_STOP_196 +#AT_START_197 +at_fn_group_banner 197 'onetop04.at:21' \ "tar --one-top-level --transform" " " 26 at_xfail=no test -f $XFAILFILE && at_xfail=yes ( - $as_echo "182. $at_setup_line: testing $at_desc ..." + $as_echo "197. $at_setup_line: testing $at_desc ..." $at_traceon @@ -46342,11 +52310,113 @@ $at_traceon; } { set +x $as_echo "$at_srcdir/onetop04.at:24: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir a +genfile --file a/b +genfile --file c +tar cf a.tar a c +tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "onetop04.at:24" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir a +genfile --file a/b +genfile --file c +tar cf a.tar a c +tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "a/ +a/b +a/d +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/onetop04.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/onetop04.at:24: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir a +genfile --file a/b +genfile --file c +tar cf a.tar a c +tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "onetop04.at:24" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir a +genfile --file a/b +genfile --file c +tar cf a.tar a c +tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "a/ +a/b +a/d +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/onetop04.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/onetop04.at:24: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * @@ -46361,11 +52431,11 @@ tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort )" at_fn_check_prepare_notrace 'a `...` command substitution' "onetop04.at:24" ( $at_check_trace; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * @@ -46391,8 +52461,360 @@ at_fn_check_status 0 $at_status "$at_srcdir/onetop04.at:24" $at_failed && at_fn_log_failure $at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_197 +#AT_START_198 +at_fn_group_banner 198 'onetop05.at:21' \ + "tar --one-top-level restoring permissions" " " 26 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "198. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# 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. + + + + { set +x +$as_echo "$at_srcdir/onetop05.at:28: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + +orig_mode=3702 +mkdir d +chmod \$orig_mode d + +mode=\$(genfile --stat=mode.7777 d) +test \$mode = \$orig_mode || exit 77 + +genfile --file d/file +tar -cf d.tar -C d . +rm -rf d + +(mkdir d1 +chmod 700 d1 +cd d1 +tar --one-top-level=top -xpf ../d.tar) +mode=\$(genfile --stat=mode.777 d1) +if test 700 = \$mode; then + echo \"CWD: OK\" +else + echo \"CWD: mode changed: 700 != \$mode\" +fi + +mkdir d2 +chmod 700 d2 +tar -C d2 --one-top-level=top -xpf d.tar +mode=\$(genfile --stat=mode.777 d2) +if test 700 = \$mode; then + echo \"DIR: OK\" +else + echo \"DIR: mode changed: 700 != \$mode\" +fi +mode=\$(genfile --stat=mode.7777 d2/top) +if test \$mode = \$orig_mode; then + echo \"TOP: OK\" +else + echo \"TOP: mode changed: \$orig_mode != \$mode\" +fi +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "onetop05.at:28" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + +orig_mode=3702 +mkdir d +chmod $orig_mode d + +mode=$(genfile --stat=mode.7777 d) +test $mode = $orig_mode || exit 77 + +genfile --file d/file +tar -cf d.tar -C d . +rm -rf d + +(mkdir d1 +chmod 700 d1 +cd d1 +tar --one-top-level=top -xpf ../d.tar) +mode=$(genfile --stat=mode.777 d1) +if test 700 = $mode; then + echo "CWD: OK" +else + echo "CWD: mode changed: 700 != $mode" +fi + +mkdir d2 +chmod 700 d2 +tar -C d2 --one-top-level=top -xpf d.tar +mode=$(genfile --stat=mode.777 d2) +if test 700 = $mode; then + echo "DIR: OK" +else + echo "DIR: mode changed: 700 != $mode" +fi +mode=$(genfile --stat=mode.7777 d2/top) +if test $mode = $orig_mode; then + echo "TOP: OK" +else + echo "TOP: mode changed: $orig_mode != $mode" +fi +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "CWD: OK +DIR: OK +TOP: OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/onetop05.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + { set +x -$as_echo "$at_srcdir/onetop04.at:24: +$as_echo "$at_srcdir/onetop05.at:28: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +orig_mode=3702 +mkdir d +chmod \$orig_mode d + +mode=\$(genfile --stat=mode.7777 d) +test \$mode = \$orig_mode || exit 77 + +genfile --file d/file +tar -cf d.tar -C d . +rm -rf d + +(mkdir d1 +chmod 700 d1 +cd d1 +tar --one-top-level=top -xpf ../d.tar) +mode=\$(genfile --stat=mode.777 d1) +if test 700 = \$mode; then + echo \"CWD: OK\" +else + echo \"CWD: mode changed: 700 != \$mode\" +fi + +mkdir d2 +chmod 700 d2 +tar -C d2 --one-top-level=top -xpf d.tar +mode=\$(genfile --stat=mode.777 d2) +if test 700 = \$mode; then + echo \"DIR: OK\" +else + echo \"DIR: mode changed: 700 != \$mode\" +fi +mode=\$(genfile --stat=mode.7777 d2/top) +if test \$mode = \$orig_mode; then + echo \"TOP: OK\" +else + echo \"TOP: mode changed: \$orig_mode != \$mode\" +fi +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "onetop05.at:28" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +orig_mode=3702 +mkdir d +chmod $orig_mode d + +mode=$(genfile --stat=mode.7777 d) +test $mode = $orig_mode || exit 77 + +genfile --file d/file +tar -cf d.tar -C d . +rm -rf d + +(mkdir d1 +chmod 700 d1 +cd d1 +tar --one-top-level=top -xpf ../d.tar) +mode=$(genfile --stat=mode.777 d1) +if test 700 = $mode; then + echo "CWD: OK" +else + echo "CWD: mode changed: 700 != $mode" +fi + +mkdir d2 +chmod 700 d2 +tar -C d2 --one-top-level=top -xpf d.tar +mode=$(genfile --stat=mode.777 d2) +if test 700 = $mode; then + echo "DIR: OK" +else + echo "DIR: mode changed: 700 != $mode" +fi +mode=$(genfile --stat=mode.7777 d2/top) +if test $mode = $orig_mode; then + echo "TOP: OK" +else + echo "TOP: mode changed: $orig_mode != $mode" +fi +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "CWD: OK +DIR: OK +TOP: OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/onetop05.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/onetop05.at:28: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +orig_mode=3702 +mkdir d +chmod \$orig_mode d + +mode=\$(genfile --stat=mode.7777 d) +test \$mode = \$orig_mode || exit 77 + +genfile --file d/file +tar -cf d.tar -C d . +rm -rf d + +(mkdir d1 +chmod 700 d1 +cd d1 +tar --one-top-level=top -xpf ../d.tar) +mode=\$(genfile --stat=mode.777 d1) +if test 700 = \$mode; then + echo \"CWD: OK\" +else + echo \"CWD: mode changed: 700 != \$mode\" +fi + +mkdir d2 +chmod 700 d2 +tar -C d2 --one-top-level=top -xpf d.tar +mode=\$(genfile --stat=mode.777 d2) +if test 700 = \$mode; then + echo \"DIR: OK\" +else + echo \"DIR: mode changed: 700 != \$mode\" +fi +mode=\$(genfile --stat=mode.7777 d2/top) +if test \$mode = \$orig_mode; then + echo \"TOP: OK\" +else + echo \"TOP: mode changed: \$orig_mode != \$mode\" +fi +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "onetop05.at:28" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +orig_mode=3702 +mkdir d +chmod $orig_mode d + +mode=$(genfile --stat=mode.7777 d) +test $mode = $orig_mode || exit 77 + +genfile --file d/file +tar -cf d.tar -C d . +rm -rf d + +(mkdir d1 +chmod 700 d1 +cd d1 +tar --one-top-level=top -xpf ../d.tar) +mode=$(genfile --stat=mode.777 d1) +if test 700 = $mode; then + echo "CWD: OK" +else + echo "CWD: mode changed: 700 != $mode" +fi + +mkdir d2 +chmod 700 d2 +tar -C d2 --one-top-level=top -xpf d.tar +mode=$(genfile --stat=mode.777 d2) +if test 700 = $mode; then + echo "DIR: OK" +else + echo "DIR: mode changed: 700 != $mode" +fi +mode=$(genfile --stat=mode.7777 d2/top) +if test $mode = $orig_mode; then + echo "TOP: OK" +else + echo "TOP: mode changed: $orig_mode != $mode" +fi +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "CWD: OK +DIR: OK +TOP: OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/onetop05.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/onetop05.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -46401,16 +52823,45 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +orig_mode=3702 +mkdir d +chmod \$orig_mode d -test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 +mode=\$(genfile --stat=mode.7777 d) +test \$mode = \$orig_mode || exit 77 -mkdir a -genfile --file a/b -genfile --file c -tar cf a.tar a c -tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort +genfile --file d/file +tar -cf d.tar -C d . +rm -rf d + +(mkdir d1 +chmod 700 d1 +cd d1 +tar --one-top-level=top -xpf ../d.tar) +mode=\$(genfile --stat=mode.777 d1) +if test 700 = \$mode; then + echo \"CWD: OK\" +else + echo \"CWD: mode changed: 700 != \$mode\" +fi + +mkdir d2 +chmod 700 d2 +tar -C d2 --one-top-level=top -xpf d.tar +mode=\$(genfile --stat=mode.777 d2) +if test 700 = \$mode; then + echo \"DIR: OK\" +else + echo \"DIR: mode changed: 700 != \$mode\" +fi +mode=\$(genfile --stat=mode.7777 d2/top) +if test \$mode = \$orig_mode; then + echo \"TOP: OK\" +else + echo \"TOP: mode changed: \$orig_mode != \$mode\" +fi )" -at_fn_check_prepare_notrace 'a `...` command substitution' "onetop04.at:24" +at_fn_check_prepare_notrace 'a $(...) command substitution' "onetop05.at:28" ( $at_check_trace; mkdir posix (cd posix @@ -46420,30 +52871,59 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +orig_mode=3702 +mkdir d +chmod $orig_mode d -test -z "`sort < /dev/null 2>&1`" || exit 77 +mode=$(genfile --stat=mode.7777 d) +test $mode = $orig_mode || exit 77 -mkdir a -genfile --file a/b -genfile --file c -tar cf a.tar a c -tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort +genfile --file d/file +tar -cf d.tar -C d . +rm -rf d + +(mkdir d1 +chmod 700 d1 +cd d1 +tar --one-top-level=top -xpf ../d.tar) +mode=$(genfile --stat=mode.777 d1) +if test 700 = $mode; then + echo "CWD: OK" +else + echo "CWD: mode changed: 700 != $mode" +fi + +mkdir d2 +chmod 700 d2 +tar -C d2 --one-top-level=top -xpf d.tar +mode=$(genfile --stat=mode.777 d2) +if test 700 = $mode; then + echo "DIR: OK" +else + echo "DIR: mode changed: 700 != $mode" +fi +mode=$(genfile --stat=mode.7777 d2/top) +if test $mode = $orig_mode; then + echo "TOP: OK" +else + echo "TOP: mode changed: $orig_mode != $mode" +fi ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "a/ -a/b -a/d +echo >>"$at_stdout"; $as_echo "CWD: OK +DIR: OK +TOP: OK " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/onetop04.at:24" +at_fn_check_status 0 $at_status "$at_srcdir/onetop05.at:28" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/onetop04.at:24: +$as_echo "$at_srcdir/onetop05.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -46452,16 +52932,45 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +orig_mode=3702 +mkdir d +chmod \$orig_mode d -test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 +mode=\$(genfile --stat=mode.7777 d) +test \$mode = \$orig_mode || exit 77 -mkdir a -genfile --file a/b -genfile --file c -tar cf a.tar a c -tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort +genfile --file d/file +tar -cf d.tar -C d . +rm -rf d + +(mkdir d1 +chmod 700 d1 +cd d1 +tar --one-top-level=top -xpf ../d.tar) +mode=\$(genfile --stat=mode.777 d1) +if test 700 = \$mode; then + echo \"CWD: OK\" +else + echo \"CWD: mode changed: 700 != \$mode\" +fi + +mkdir d2 +chmod 700 d2 +tar -C d2 --one-top-level=top -xpf d.tar +mode=\$(genfile --stat=mode.777 d2) +if test 700 = \$mode; then + echo \"DIR: OK\" +else + echo \"DIR: mode changed: 700 != \$mode\" +fi +mode=\$(genfile --stat=mode.7777 d2/top) +if test \$mode = \$orig_mode; then + echo \"TOP: OK\" +else + echo \"TOP: mode changed: \$orig_mode != \$mode\" +fi )" -at_fn_check_prepare_notrace 'a `...` command substitution' "onetop04.at:24" +at_fn_check_prepare_notrace 'a $(...) command substitution' "onetop05.at:28" ( $at_check_trace; mkdir gnu (cd gnu @@ -46471,25 +52980,54 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +orig_mode=3702 +mkdir d +chmod $orig_mode d -test -z "`sort < /dev/null 2>&1`" || exit 77 +mode=$(genfile --stat=mode.7777 d) +test $mode = $orig_mode || exit 77 -mkdir a -genfile --file a/b -genfile --file c -tar cf a.tar a c -tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort +genfile --file d/file +tar -cf d.tar -C d . +rm -rf d + +(mkdir d1 +chmod 700 d1 +cd d1 +tar --one-top-level=top -xpf ../d.tar) +mode=$(genfile --stat=mode.777 d1) +if test 700 = $mode; then + echo "CWD: OK" +else + echo "CWD: mode changed: 700 != $mode" +fi + +mkdir d2 +chmod 700 d2 +tar -C d2 --one-top-level=top -xpf d.tar +mode=$(genfile --stat=mode.777 d2) +if test 700 = $mode; then + echo "DIR: OK" +else + echo "DIR: mode changed: 700 != $mode" +fi +mode=$(genfile --stat=mode.7777 d2/top) +if test $mode = $orig_mode; then + echo "TOP: OK" +else + echo "TOP: mode changed: $orig_mode != $mode" +fi ) ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "a/ -a/b -a/d +echo >>"$at_stdout"; $as_echo "CWD: OK +DIR: OK +TOP: OK " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/onetop04.at:24" +at_fn_check_status 0 $at_status "$at_srcdir/onetop05.at:28" $at_failed && at_fn_log_failure $at_traceon; } @@ -46500,13 +53038,13 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_182 -#AT_START_183 -at_fn_group_banner 183 'gtarfail.at:21' \ +#AT_STOP_198 +#AT_START_199 +at_fn_group_banner 199 'gtarfail.at:22' \ "gtarfail" " " 27 at_xfail=no ( - $as_echo "183. $at_setup_line: testing $at_desc ..." + $as_echo "199. $at_setup_line: testing $at_desc ..." $at_traceon @@ -46514,7 +53052,7 @@ at_xfail=no unset TAR_OPTIONS { set +x -$as_echo "$at_srcdir/gtarfail.at:26: +$as_echo "$at_srcdir/gtarfail.at:27: test -z \"\$STAR_TESTSCRIPTS\" && exit 77 tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77 @@ -46522,7 +53060,7 @@ tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b \$STAR_TESTSCRIPTS tar --utc -tvf \$STAR_TESTSCRIPTS/gtarfail.tar " -at_fn_check_prepare_notrace 'an embedded newline' "gtarfail.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "gtarfail.at:27" ( $at_check_trace; test -z "$STAR_TESTSCRIPTS" && exit 77 @@ -46543,7 +53081,7 @@ echo >>"$at_stdout"; $as_echo "-rw-r--r-- jes/glone 518 2001-05-25 14:41 v -rw-rw-rw- jes/glone 148753 1998-09-15 13:08 billyboy.jpg " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/gtarfail.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/gtarfail.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -46552,13 +53090,13 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_183 -#AT_START_184 -at_fn_group_banner 184 'gtarfail2.at:21' \ +#AT_STOP_199 +#AT_START_200 +at_fn_group_banner 200 'gtarfail2.at:22' \ "gtarfail2" " " 27 at_xfail=no ( - $as_echo "184. $at_setup_line: testing $at_desc ..." + $as_echo "200. $at_setup_line: testing $at_desc ..." $at_traceon @@ -46566,14 +53104,14 @@ at_xfail=no unset TAR_OPTIONS { set +x -$as_echo "$at_srcdir/gtarfail2.at:26: +$as_echo "$at_srcdir/gtarfail2.at:27: test -z \"\$STAR_TESTSCRIPTS\" && exit 77 tarball_prereq gtarfail2.tar 6b607d1faec14b82f69525d9c5b66e53 \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77 tar --utc -tvf \$STAR_TESTSCRIPTS/gtarfail2.tar " -at_fn_check_prepare_notrace 'an embedded newline' "gtarfail2.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "gtarfail2.at:27" ( $at_check_trace; test -z "$STAR_TESTSCRIPTS" && exit 77 @@ -46597,7 +53135,7 @@ lrwxrwxrwx jes/glone 0 2001-08-29 10:53 build/psmake/archconf.c -> ../ar lrwxrwxrwx jes/glone 0 2001-08-29 10:54 build/psmake/astoi.c -> ../../lib/astoi.c " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/gtarfail2.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/gtarfail2.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -46606,13 +53144,13 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_184 -#AT_START_185 -at_fn_group_banner 185 'multi-fail.at:21' \ +#AT_STOP_200 +#AT_START_201 +at_fn_group_banner 201 'multi-fail.at:22' \ "multi-fail" " " 27 at_xfail=no ( - $as_echo "185. $at_setup_line: testing $at_desc ..." + $as_echo "201. $at_setup_line: testing $at_desc ..." $at_traceon @@ -46620,7 +53158,7 @@ at_xfail=no unset TAR_OPTIONS { set +x -$as_echo "$at_srcdir/multi-fail.at:26: +$as_echo "$at_srcdir/multi-fail.at:27: test -z \"\$STAR_TESTSCRIPTS\" && exit 77 tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77 @@ -46633,7 +53171,7 @@ tarball_prereq gnu-multi-fail-volume2.gtar b5d41c4c3ec440687d4a44957b5079a8 \$ST tar --utc -tvM -f \$STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \\ -f \$STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar <&- " -at_fn_check_prepare_notrace 'an embedded newline' "multi-fail.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "multi-fail.at:27" ( $at_check_trace; test -z "$STAR_TESTSCRIPTS" && exit 77 @@ -46705,7 +53243,7 @@ echo >>"$at_stdout"; $as_echo "drwxrwsr-x joerg/bs 0 2003-10-11 14:32 O -rw-r--r-- joerg/bs 2756 2003-10-07 17:53 OBJ/i386-sunos5-gcc/table.o " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/multi-fail.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/multi-fail.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -46714,13 +53252,13 @@ $at_traceon; } $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_185 -#AT_START_186 -at_fn_group_banner 186 'ustar-big-2g.at:21' \ +#AT_STOP_201 +#AT_START_202 +at_fn_group_banner 202 'ustar-big-2g.at:22' \ "ustar-big-2g" " " 27 at_xfail=no ( - $as_echo "186. $at_setup_line: testing $at_desc ..." + $as_echo "202. $at_setup_line: testing $at_desc ..." $at_traceon @@ -46728,7 +53266,7 @@ at_xfail=no unset TAR_OPTIONS { set +x -$as_echo "$at_srcdir/ustar-big-2g.at:26: +$as_echo "$at_srcdir/ustar-big-2g.at:27: cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -46739,7 +53277,7 @@ tarball_prereq ustar-big-2g.tar.bz2 b63979733629c8fcdf40b60065422767 \$STAR_TEST tar --utc -tvjf \$STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2 " -at_fn_check_prepare_notrace 'an embedded newline' "ustar-big-2g.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "ustar-big-2g.at:27" ( $at_check_trace; cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -46759,7 +53297,7 @@ echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 2147483647 2002-06-15 14:53 -rw-r--r-- jes/glone 0 2002-06-15 14:53 file " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-2g.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-2g.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -46781,13 +53319,13 @@ done $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_186 -#AT_START_187 -at_fn_group_banner 187 'ustar-big-8g.at:21' \ +#AT_STOP_202 +#AT_START_203 +at_fn_group_banner 203 'ustar-big-8g.at:22' \ "ustar-big-8g" " " 27 at_xfail=no ( - $as_echo "187. $at_setup_line: testing $at_desc ..." + $as_echo "203. $at_setup_line: testing $at_desc ..." $at_traceon @@ -46795,7 +53333,7 @@ at_xfail=no unset TAR_OPTIONS { set +x -$as_echo "$at_srcdir/ustar-big-8g.at:26: +$as_echo "$at_srcdir/ustar-big-8g.at:27: cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -46806,7 +53344,7 @@ tarball_prereq ustar-big-8g.tar.bz2 60ff503fa4b8288bef7ada89e9c91b0f \$STAR_TEST tar --utc -tvjf \$STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2 " -at_fn_check_prepare_notrace 'an embedded newline' "ustar-big-8g.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "ustar-big-8g.at:27" ( $at_check_trace; cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -46826,7 +53364,7 @@ echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 8589934591 2002-06-15 15:08 -rw-r--r-- jes/glone 0 2002-06-15 14:53 file " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-8g.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-8g.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -46848,13 +53386,13 @@ done $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_187 -#AT_START_188 -at_fn_group_banner 188 'pax-big-10g.at:21' \ +#AT_STOP_203 +#AT_START_204 +at_fn_group_banner 204 'pax-big-10g.at:22' \ "pax-big-10g" " " 27 at_xfail=no ( - $as_echo "188. $at_setup_line: testing $at_desc ..." + $as_echo "204. $at_setup_line: testing $at_desc ..." $at_traceon @@ -46862,7 +53400,7 @@ at_xfail=no unset TAR_OPTIONS { set +x -$as_echo "$at_srcdir/pax-big-10g.at:26: +$as_echo "$at_srcdir/pax-big-10g.at:27: cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -46873,7 +53411,7 @@ tarball_prereq pax-big-10g.tar.bz2 ca15c23acc8d8bb1f27e60113a5f8bff \$STAR_TESTS tar --utc -tvjf \$STAR_TESTSCRIPTS/pax-big-10g.tar.bz2 " -at_fn_check_prepare_notrace 'an embedded newline' "pax-big-10g.at:26" +at_fn_check_prepare_notrace 'an embedded newline' "pax-big-10g.at:27" ( $at_check_trace; cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -46893,7 +53431,7 @@ echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 10737418240 2002-06-15 21:18 -rw-r--r-- jes/glone 0 2002-06-15 14:53 file " | \ $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/pax-big-10g.at:26" +at_fn_check_status 0 $at_status "$at_srcdir/pax-big-10g.at:27" $at_failed && at_fn_log_failure $at_traceon; } @@ -46915,4 +53453,4 @@ done $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_188 +#AT_STOP_204 diff --git a/tests/testsuite.at b/tests/testsuite.at index 7f8e4c4f..cf4b2fd5 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004-2008, 2010-2014 Free Software Foundation, Inc. +# Copyright 2004-2008, 2010-2016 Free Software Foundation, Inc. # This file is part of GNU tar. @@ -112,6 +112,19 @@ rm -f $[]$ test $result -eq 0 || AT_SKIP_TEST ]) +dnl AT_SEEKHOLE_PREREQ +m4_define([AT_SEEKHOLE_PREREQ],[ +checkseekhole || AT_SKIP_TEST +]) + +m4_define([AT_TIMEOUT_PREREQ],[ +timeout 100 true +if test $? -ne 0; then + echo >&2 "the 'timeout' utility not found" + AT_SKIP_TEST +fi +]) + m4_define([AT_TAR_MKHIER],[ install-sh -d $1 >/dev/null dnl m4_if([$2],,,&& genfile --file [$1]/[$2]) || AT_SKIP_TEST]) @@ -175,6 +188,10 @@ m4_define([AT_ACLS_PREREQ],[ fi ]) +dnl Check whether a newly created file has timestamp consistent with the +dnl local time. Skip the test if not. +m4_define([AT_CHECK_TIMESTAMP],[ckmtime || AT_SKIP_TEST]) + m4_include([sparsemvp.at]) AT_INIT @@ -200,11 +217,15 @@ AT_BANNER([The -T option]) m4_include([T-mult.at]) m4_include([T-nest.at]) m4_include([T-rec.at]) +m4_include([T-recurse.at]) m4_include([T-cd.at]) m4_include([T-empty.at]) m4_include([T-null.at]) +m4_include([T-null2.at]) m4_include([T-zfile.at]) m4_include([T-nonl.at]) +m4_include([T-dir00.at]) +m4_include([T-dir01.at]) AT_BANNER([Various options]) m4_include([indexfile.at]) @@ -213,7 +234,7 @@ m4_include([gzip.at]) m4_include([recurse.at]) m4_include([recurs02.at]) m4_include([shortrec.at]) -m4_include([iotty.at]) +m4_include([numeric.at]) AT_BANNER([The --same-order option]) m4_include([same-order01.at]) @@ -225,10 +246,12 @@ m4_include([append01.at]) m4_include([append02.at]) m4_include([append03.at]) m4_include([append04.at]) +m4_include([append05.at]) AT_BANNER([Transforms]) m4_include([xform-h.at]) m4_include([xform01.at]) +m4_include([xform02.at]) AT_BANNER([Exclude]) m4_include([exclude.at]) @@ -301,6 +324,8 @@ m4_include([incr06.at]) m4_include([incr07.at]) m4_include([incr08.at]) m4_include([incr09.at]) +m4_include([incr10.at]) +m4_include([incr11.at]) AT_BANNER([Files removed while archiving]) m4_include([filerem01.at]) @@ -332,6 +357,7 @@ m4_include([lustar03.at]) m4_include([old.at]) m4_include([time01.at]) +m4_include([time02.at]) AT_BANNER([Multivolume archives]) m4_include([multiv01.at]) @@ -342,15 +368,19 @@ m4_include([multiv05.at]) m4_include([multiv06.at]) m4_include([multiv07.at]) m4_include([multiv08.at]) +m4_include([multiv09.at]) AT_BANNER([Owner and Groups]) m4_include([owner.at]) +m4_include([map.at]) AT_BANNER([Sparse files]) m4_include([sparse01.at]) m4_include([sparse02.at]) m4_include([sparse03.at]) m4_include([sparse04.at]) +m4_include([sparse05.at]) +m4_include([sparse06.at]) m4_include([sparsemv.at]) m4_include([spmvp00.at]) m4_include([spmvp01.at]) @@ -376,6 +406,7 @@ m4_include([shortupd.at]) m4_include([truncate.at]) m4_include([grow.at]) m4_include([sigpipe.at]) +m4_include([comperr.at]) AT_BANNER([Removing files after archiving]) m4_include([remfiles01.at]) @@ -422,6 +453,7 @@ m4_include([onetop01.at]) m4_include([onetop02.at]) m4_include([onetop03.at]) m4_include([onetop04.at]) +m4_include([onetop05.at]) AT_BANNER([Star tests]) m4_include([star/gtarfail.at]) @@ -433,3 +465,4 @@ m4_include([star/ustar-big-2g.at]) m4_include([star/ustar-big-8g.at]) m4_include([star/pax-big-10g.at]) + diff --git a/tests/time01.at b/tests/time01.at index 2aa341fd..d84c6ff7 100644 --- a/tests/time01.at +++ b/tests/time01.at @@ -1,6 +1,6 @@ # Test time stamps for GNU tar. -*- Autotest -*- # -# Copyright 2012-2014 Free Software Foundation, Inc. +# Copyright 2012-2014, 2016 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/time02.at b/tests/time02.at new file mode 100644 index 00000000..be0360de --- /dev/null +++ b/tests/time02.at @@ -0,0 +1,43 @@ +# Test clamping mtime GNU tar. -*- Autotest -*- +# +# Copyright 2016 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# written by Daniel Kahn Gillmor + +AT_SETUP([time: clamping mtime]) +AT_KEYWORDS([time time02]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +export TZ=UTC0 +mkdir dir + +touch -d 2015-12-01T00:00:00 dir/a >/dev/null 2>&1 || AT_SKIP_TEST +touch -d 2016-01-01T00:00:00 dir/b >/dev/null 2>&1 || AT_SKIP_TEST +touch -d 2016-02-01T00:00:00 dir/c >/dev/null 2>&1 || AT_SKIP_TEST +touch -d 2038-01-01T00:00:00 dir/d >/dev/null 2>&1 || AT_SKIP_TEST + +tar -c --mtime 2016-01-15T00:00:00 --clamp-mtime -f archive.tar dir +tar -d -f archive.tar dir|sort +], +[0], +[ +dir/c: Mod time differs +dir/d: Mod time differs +], [], [], [], +[pax]) + +AT_CLEANUP diff --git a/tests/truncate.at b/tests/truncate.at index bb572bee..8f8ff6cf 100644 --- a/tests/truncate.at +++ b/tests/truncate.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2005, 2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2005, 2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/update.at b/tests/update.at index bcea5585..7f7aa2b0 100644 --- a/tests/update.at +++ b/tests/update.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2005-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2005-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/update01.at b/tests/update01.at index 813ababf..fc20dd26 100644 --- a/tests/update01.at +++ b/tests/update01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/update02.at b/tests/update02.at index 44087641..6ee2dd1b 100644 --- a/tests/update02.at +++ b/tests/update02.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/verbose.at b/tests/verbose.at index 4b08be4e..19e2980a 100644 --- a/tests/verbose.at +++ b/tests/verbose.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/verify.at b/tests/verify.at index d63b650e..a9b8de8c 100644 --- a/tests/verify.at +++ b/tests/verify.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/version.at b/tests/version.at index 115c116d..f5bec8b5 100644 --- a/tests/version.at +++ b/tests/version.at @@ -1,5 +1,6 @@ # Checking tar version -*- Autotest -*- -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/volsize.at b/tests/volsize.at index abcd3761..4c2a5d03 100644 --- a/tests/volsize.at +++ b/tests/volsize.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2006-2009, 2013-2014 Free Software Foundation, Inc. +# Copyright 2006-2009, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/volume.at b/tests/volume.at index 72eab52e..41544406 100644 --- a/tests/volume.at +++ b/tests/volume.at @@ -1,7 +1,8 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation, +# Inc. # This file is part of GNU tar. diff --git a/tests/xattr01.at b/tests/xattr01.at index a248b2b0..349f1e57 100644 --- a/tests/xattr01.at +++ b/tests/xattr01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2011, 2013-2014 Free Software Foundation, Inc. +# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/xattr02.at b/tests/xattr02.at index 08f58738..d4ca71b2 100644 --- a/tests/xattr02.at +++ b/tests/xattr02.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2011, 2013-2014 Free Software Foundation, Inc. +# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/xattr03.at b/tests/xattr03.at index e8949ce7..51b191b2 100644 --- a/tests/xattr03.at +++ b/tests/xattr03.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2012-2014 Free Software Foundation, Inc. +# Copyright 2012-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/xattr04.at b/tests/xattr04.at index 82d005e5..13d0dd20 100644 --- a/tests/xattr04.at +++ b/tests/xattr04.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2012-2014 Free Software Foundation, Inc. +# Copyright 2012-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/xattr05.at b/tests/xattr05.at index fa02e899..ab5a2ab3 100644 --- a/tests/xattr05.at +++ b/tests/xattr05.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright 2012-2014 Free Software Foundation, Inc. +# Copyright 2012-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/xform-h.at b/tests/xform-h.at index f0afe6fc..dddf0161 100644 --- a/tests/xform-h.at +++ b/tests/xform-h.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2009-2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2009-2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/xform01.at b/tests/xform01.at index 0451dee4..2e76bb40 100644 --- a/tests/xform01.at +++ b/tests/xform01.at @@ -1,7 +1,7 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright 2010, 2013-2014 Free Software Foundation, Inc. +# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc. # This file is part of GNU tar. diff --git a/tests/xform02.at b/tests/xform02.at new file mode 100644 index 00000000..98306aa6 --- /dev/null +++ b/tests/xform02.at @@ -0,0 +1,36 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright 2009-2010, 2013-2016 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([transforming escaped delimiters on create]) +AT_KEYWORDS([transform xform delimiter]) + +AT_TAR_CHECK([ +genfile --file file +tar cvf /dev/null file \ + --transform='s/file/other\/name/' \ + --show-transformed-name +], +[0], +[other/name +]) + +AT_CLEANUP + +# End of xform02.at -- 2.30.2