Commit graph

52 commits

Author SHA1 Message Date
wiz
4c00f903f7 Update gtar to 1.25.
version 1.25 - Sergey Poznyakoff, 2010-11-07

* Fix extraction of empty directories with the -C option in effect.
* Fix extraction of device nodes.
* Make sure name matching occurs before eventual name transformation.

Tar 1.24 changed the ordering of name matching and name transformation
so that the former saw already transformed file names.  This made it
impossible to match file names in certain cases.  It is fixed now.

* Fix the behavior of tar -x --overwrite on hosts lacking O_NOFOLLOW.

* Improve the testsuite.

* Alternative decompression programs.

If extraction from a compressed archive fails because the corresponding
compression program is not installed and the following two conditions
are met, tar retries extraction using an alternative decompressor:

 1. Another compression program supported by tar is able to handle this
 compression format.
 2. The compression program was not explicitly requested in the command
 line by the use of such options as -z, -j, etc.

For example, if `compress' is not available, tar will try `gzip'.

version 1.24 - Sergey Poznyakoff, 2010-10-24

* The --full-time option.

New command line option `--full-time' instructs tar to output file
time stamps to the full resolution.

* Bugfixes.

** More reliable directory traversal when creating archives

Tar now checks for inconsistencies caused when a file system is
modified while tar is creating an archive.  In the new approach, tar
maintains a cache of file descriptors to directories, so it uses more
file descriptors than before, but it adjusts to system limits on
the number of file descriptors.  Tar also takes more care when
a file system is modified while tar is extracting from an archive.

The new checks are implemented via the openat and related calls
standardized by POSIX.1-2008.  On an older system where these calls do
not exist or do not return useful results, tar emulates the calls at
some cost in efficiency and reliability.

** Symbolic link attributes

When extracting symbolic links, tar now restores attributes such as
last-modified time and link permissions, if the operating system
supports this.  For example, recent versions of the Linux kernel
support setting times on symlinks, and some BSD kernels also support
symlink permissions.

** --dereference consistency

The --dereference (-h) option now applies to files that are copied
into or out of archives, independently of other options.  For example,
if F is a symbolic link and archive.tar contains a regular-file member
also named F, "tar --overwrite -x -f archive.tar F" now overwrites F
itself, rather than the file that F points to.  (To overwrite the file
that F points to, add the --dereference (-h) option.)  Formerly,
--dereference was intended to apply only when using the -c option, but
the implementation was not consistent.

Also, the --dereference option no longer affects accesses to other
files, such as archives and time stamp files.  Symbolic links to these
files are always followed.  Previously, the links were usually but not
always followed.

** Spurious error diagnostics on broken pipe.

When receiving SIGPIPE, tar would exit with error status and
"write error" diagnostics. In particular, this occurred if
invoked as in the example below:

   tar tf archive.tar | head -n 1

** --remove-files

`Tar --remove-files' failed to remove a directory which contained
symlinks to another files within that directory.

** --test-label behavior

In case of a mismatch, `tar --test-label LABEL' exits with code 1,
not 2 as it did in previous versions.

The `--verbose' option used with `--test-label' provides additional
diagnostics.

Several volume labels may be specified in a command line, e.g.:

   tar --test-label -f archive 'My volume' 'New volume' 'Test volume'

In this case, tar exits with code 0 if any one of the arguments
matches the actual volume label.

** --label used with --update

The `--label' option can be used with `--update' to prevent accidental
update of an archive:

  tar -rf archive --label 'My volume' .

This did not work in previous versions, in spite of what the docs said.

** --record-size and --tape-length (-L) options

Usual size suffixes are allowed for these options.  For example,
-L10k stands for a 10 kilobyte tape length.

** Fix dead loop on extracting existing symlinks with the -k option.
2010-12-12 13:10:39 +00:00
tez
aa33d46bfb Update gtar to 1.23 - fixes CVE2010-0624
Also:
# Improved record size autodetection
# Use of lseek on seekable archives
# New command line option --warning
# New command line option --level
# Improved behavior if some files were removed during incremental dumps
# Modification times of PAX extended headers
# Time references in the --pax-option argument
# Augmented environment of the --to-command script
# Bugfixes:
    * Fix handling of hard link targets by -c --transform
    * Fix hard links recognition with -c --remove-files
    * Fix restoring files from backup (debian bug #508199)
    * Correctly restore modes and permissions on existing directories
    * The --remove-files option removes files only if they were succesfully stored in the archive
    * Fix storing and listing of the volume labels in POSIX format
    * Improve algorithm for splitting long file names (ustar format)
2010-03-23 19:00:10 +00:00
wiz
dacb527287 Update to 1.22:
version 1.22 - Sergey Poznyakoff, 2009-03-05

* Support for xz compression

Tar uses xz for compression if one of the following conditions is met:

 1. The option --xz or -J (see below) is used.
 2. The xz binary is set as compressor using --use-compress-program option.
 3. The file name of the archive being created ends in `.xz' and
 auto-compress option (-a) is used.

Xz is used for decompression if one of the following conditions is met:

 1. The option --xz or -J is used.
 2. The xz binary is set as compressor using --use-compress-program option.
 3. The file is recognized as xz compressed stream data.

* Short option -J reassigned as a short equivalent of --xz

* New option -I

The -I option is assigned as a short equivalent for
--use-compress-program.

* The --no-recursive option works in incremental mode.


version 1.21 - Sergey Poznyakoff, 2008-12-27

* New short option -J

A shortcut for --lzma.

* New option --lzop

* New option --no-auto-compress

Cancels the effect of previous --auto-compress (-a) option.

* New option --no-null

Cancels the effect of previous --null option.

* Compressed format recognition

If tar is unable to determine archive compression format, it falls
back to using archive suffix to determine it.

* VCS support.

Using --exclude-vcs handles also files used internally by Bazaar,
Mercurial and Darcs.

* Transformation scope flags

Name transformation expressions understand additional flags that
control type of archive members affected by them.  The flags are:

 - r
   Apply transformation to regular archive members.

 - s
   Apply transformation to symbolic link targets.

 - h
   Apply transformation to hard link targets.

Corresponding upper-case letters negate the meaning, so that
`H' means ``do not apply transformation to hard link targets.''

The scope flags are listed in the third part of an `s' expression,
e.g.:

   tar --transform 's|^|/usr/local/|S'

Default is `rsh', which means that transformations are applied to
both regular archive members and to the targets of symbolic and hard
links.  If several transform expressions are used, the default flags
can be changed using `flags=' statement before the expressions, e.g.:

   tar --transform 'flags=S;s|^|/usr/local/|S'

* Bugfixes

** The --null option disabled handling of tar options in list files.  This
is fixed.
** Fixed record size autodetection.  If detected record size differs from
the expected value (either default, or set on the command line), tar
always prints a warning if verbosity level is set to 1 or greater,
i.e. if either -t or -v option is given.
2009-08-16 13:53:32 +00:00
rillig
ed46b8e252 Fixed some pkglint warnings. 2009-07-17 04:47:27 +00:00
joerg
cee67a4edb Use META_PACKAGE. 2009-04-08 22:47:07 +00:00
joerg
3b0d97b0de Add DESTDIR support. 2008-06-20 01:09:05 +00:00
tnn
09e93a8355 Catch up with gtar-base-1.20. 2008-05-18 01:48:58 +00:00
jlam
ae9b935fd0 * If PLIST_SRC is explicitly set to an empty value in a package Makefile,
then automatically generate a PLIST that says "${PKGNAME} has no files".

* If PLIST_SRC and GENERATE_PLIST are not set in a package Makefile,
  and no PLIST files exist, then fail during the package build with
  PKG_FAIL_REASON.

* Remove "intentionally empty" PLISTs again.

Now, the easy way to say that a package installs no files is to just
add the following to the package Makefile:

	PLIST_SRC=	# empty
2007-10-25 22:00:39 +00:00
jlam
38c496d6c0 Re-add "intentionally empty" PLISTs for meta-packages and other packages
that directly manipulate empty PLISTs.

Modify plist/plist.mk so that if the PLIST files are missing and no
GENERATE_PLIST is defined, then the package fails to build.
2007-10-25 17:49:45 +00:00
jlam
56ba4d2690 Remove empty PLISTs from pkgsrc since revision 1.33 of plist/plist.mk
can handle packages having no PLIST files.
2007-10-25 16:54:26 +00:00
jlam
9c8b5ede43 Point MAINTAINER to pkgsrc-users@NetBSD.org in the case where no
developer is officially maintaining the package.

The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list).  Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
2006-03-04 21:28:51 +00:00
joerg
5911def816 Recursive revision bump / recommended bump for gettext ABI change. 2006-02-05 23:08:03 +00:00
tron
7b56c979ad Correct dependences to accept package revisions of "gtar-base" and
"gtar-info".
2005-09-23 09:04:57 +00:00
rillig
28a9b3dd4f Removed an extra empty line. 2005-05-23 08:11:44 +00:00
tv
f816d81489 Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used. 2005-04-11 21:44:48 +00:00
recht
17d722c669 update to gtar 1.15.1
changes:
- enable installation of grmt

changes in gtar:
version 1.15.1 - Sergey Poznyakoff, 2004-12-21

This version fixes a bug introduced in 1.15 which caused
tar to refuse to extract files from standard input.

version 1.15 - Sergey Poznyakoff, 2004-12-20

* Compressed archives are recognised automatically, it is no longer
necessary to specify -Z, -z, or -j options to read them. Thus, you can
now run `tar tf archive.tar.gz'.

* When restoring incremental dumps, --one-file-system option
prevents directory hierarchies residing on different devices
from being purged.

With the previous versions of tar it was dangerous to create
incremental dumps with --one-file-system option, since they
would recursively remove mount points when restoring from the
back up. This change fixes the bug.

* Renamed --strip-path to --strip-components for consistency with
the GNU convention.

* Skipping archive members is sped up if the archive media supports
seeks.

* Restore script starts restoring only if it is given --all (-a) option,
or some patterns. This is to prevent accidental restores.

* `tar --verify' prints a warning if during archive creation some of
the file names had their prefixes stripped off.

* New option --exclude-caches instructs tar to exclude cache directories
automatically on archive creation. Cache directories are those
containing a standardized tag file, as specified at:

	http://www.brynosaurus.com/cachedir/spec.html

* New configure option --with-rmt allows to specify full path name to
the `rmt' utility. This supercedes DEFAULT_RMT_COMMAND variable
introduced in version 1.14

* New configure variable DEFAULT_RMT_DIR allows to specify the directory
where to install `rmt' utility. This is necessary since modifying
--libexecdir as was suggested for version 1.14 produced a side effect: it
also modified installation prefix for backup scripts (if
--enable-backup-scripts was given).

* Bugfixes:
** Fixed flow in recognizing files to be included in incremental dumps.
** Correctly recognize sparse archive members when used with -T option.
** GNU multivolume headers cannot store filenames longer than 100 characters.
Do not allow multivolume archives to begin with such filenames.
** If a member with link count > 2 was stored in the archive twice,
previous versions of tar were not able to extract it, since they
were trying to link the file to itself, which always failed and
lead to removing the already extracted copy. Preserve the first
extracted copy in such cases.
** Restore script was passing improper argument to tar --listed option (which
didn't affect the functionality, but was logically incorrect).
** Fixed verification of created archives.
** Fixed unquoting of file names containing backslash escapes (previous
versions failed to recognize \a and \v).
** When attempting to delete a non-existing member from the archive, previous
versions of tar used to overwrite last archive block with zeroes.
2005-01-09 22:52:13 +00:00
wiz
bf6eb384e0 Update gtar packages to 1.14:
XXX: man page not updated (didn't find new version of suse
gtar man page which we're using in the package)

version 1.14 - Sergey Poznyakoff, 2004-05-11

* Added support for POSIX.1-2001 and ustar archive formats.
* New option --format allows to select the output archive format
* The default output format can be selected at configuration time
  by presetting the environment variable DEFAULT_ARCHIVE_FORMAT.
  Allowed values are GNU, V7, OLDGNU and POSIX.
* New option --strip-path allows to cut off a given number of
  path elements from the name of the file being extracted.

* New options --index-file, --no-overwrite-dir.  The --overwrite-dir
  option is now the default; use --no-overwrite-dir if you prefer
  the previous default behavior.

* The semantics of -o option is changed. When extracting, it
  does the same as --no-same-owner GNU tar option. This is compatible
  with UNIX98 tar. Otherwise, its effect is the same as that of
  --old-archive option. This latter is deprecated and will be removed
  in future.

* New option --check-links prints a message if not all links are dumped
  for a file being archived. This corresponds to the UNIX98 -l option.
  The current semantics of the -l option is retained for compatibility
  with previous releases, however such usage is strongly deprecated as
  the option will change to its UNIX98 semantics in the future releases.

* New option --occurrence[=N] 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. This
  option instructs tar to process only the Nth occurrence of each named
  file. N defaults to 1, so `tar -x -f archive --occurrence filename'
  extracts the first occurrence of `filename' from `archive'
  and terminates without scanning to the end of the archive.

* New option --pax-option allows to control the handling of POSIX
  keywords in `pax' extended headers. It is equivalent to `pax'
  -o option.

* --incremental and --listed-incremental options work correctly on
  individual files, as well as on directories.

* New scripts: backup (replaces old level-0 and level-1) and restore.
The scripts are compiled and installed if --enable-backup-scripts
option is given to configure.

* By default tar searches "rmt" utility in "$prefix/libexec/rmt",
which is consistent with the location where the version of "rmt"
included in the package is installed. Previous versions of tar
used "/etc/rmt". To install "rmt" to its traditional location,
run configure with option --libexecdir=/etc. Otherwise, if you
already have rmt installed and wish to use it, instead of the
shipped in version, set the variable DEFAULT_RMT_COMMAND to
the full path name of the utility, e.g. ./configure
DEFAULT_RMT_COMMAND=/etc/rmt.

Notice also that the full path name of the "rmt" utility to
use can be set at runtime, by giving option --rmt-command to
tar.

* Removed obsolete command line options:
** --absolute-paths superseded by --absolute-names
** --block-compress is not needed any longer
** --block-size superseded by --blocking-factor
** --modification-time superseded by --touch
** --read-full-blocks superseded by --read-full-records
** --record-number superseded by --block-number
** --version-control superseded by --backup

* New message translations fi (Finnish), gl (Galician), hr (Croatian),
  hu (Hungarian), ms (Malaysian), nb (Norwegian), ro (Romanian), sk
  (Slovak), zh_CN (Chinese simplified), zh_TW (Chinese traditional).
  The code 'no' for Norwegian (Bokmål) has been withdrawn; use 'nb' instead.
2004-09-27 16:12:04 +00:00
recht
acf63b6eee Enable pkgviews installation. 2004-05-18 11:58:04 +00:00
tron
afc588f9f6 Fix dependence on "gtar-base" package, bump package revision. 2004-04-07 18:59:00 +00:00
xtraeme
6c39a6eab6 bl3ify 2004-03-11 18:03:49 +00:00
grant
91f00f1cbc s/netbsd.org/NetBSD.org/ 2003-07-17 21:21:03 +00:00
jschauma
e366d0c694 Use tech-pkg@ in favor of packages@ as MAINTAINER for orphaned packages.
Should anybody feel like they could be the maintainer for any of thewe packages,
please adjust.
2003-06-02 01:15:31 +00:00
wiz
28a4483bc7 NO_PATCH is deprecated, says pkglint. Remove it. 2003-03-28 21:14:10 +00:00
tron
a90297edcc Fix typo in last commit. 2003-01-21 14:22:31 +00:00
wiz
86aa32b2fa Depend on latest gtar, PKGREVISION++. 2003-01-21 11:49:50 +00:00
bouyer
47542eb173 Update gtar packages to 1.13.25, with security fixes from redhat.
Summary of changes (see NEWS and Changelog from the distribution for details):
- don't allow absolute paths, and path containing ../
* New option --overwrite-dir
* New option --recursion (the default) that is the inverse of --no-recursion.
* New options --anchored, --ignore-case, --wildcards,
  --wildcards-match-slash, and their negations (e.g., --no-anchored).
  Along with --recursion and --no-recursion, these options control how
  exclude patterns are interpreted.
* The default interpretation of exclude patterns is now --no-anchored
  --no-ignore-case --recursion --wildcards --wildcards-match-slash.
* The --no-recursion option now affects extraction too.
* New options --no-same-owner, --no-same-permissions.
* New option -y or --bzip2 for bzip2 compression, by popular request.
2002-11-20 16:57:54 +00:00
jlam
1c57323789 Merge packages from the buildlink2 branch back into the main trunk that
have been converted to USE_BUILDLINK2.
2002-08-25 21:48:57 +00:00
zuntum
b427eb87ce Move pkg/ files into package's toplevel directory 2001-10-31 20:24:14 +00:00
agc
a1f9e67a98 fix a typo from the COMMENT changes. 2001-02-16 14:19:26 +00:00
wiz
c53fae8ea1 Update to new COMMENT style: COMMENT var in Makefile instead of pkg/COMMENT. 2001-02-16 13:15:24 +00:00
abs
df05aef71f Strip trailing '.', and/or leading '(a|an) ' 2000-01-05 15:37:50 +00:00
kim
23e9051cea Turn this into a meta-package for GNU tar. 1999-09-18 15:23:42 +00:00
kim
17b4d21474 Changes to allow bootstrapping Zoularis:
- fetch the shar file so we don't need tar
- do not install info files (they will be a separate pkg), as we need
  tar to unpack the gtexinfo distribution
- on Solaris we get .mo files instead of .cat files (I'm guessing for
  Linux, please someone verify and adjust Makefile appropriately)
1999-09-18 03:36:23 +00:00
christos
2184e26540 make this work under linux.
- don't use gnumalloc
- use lchmod only on NetBSD
1999-08-10 05:05:39 +00:00
agc
a910a6fd62 Add package patch-sum files 1999-07-09 13:50:05 +00:00
tron
9c4c0c2b50 Remove unnecessary slash from master site list. 1999-04-14 21:39:01 +00:00
bad
fa9c2f3760 Catch up with MASTER_SITE_GNU reorganization. 1999-03-22 16:08:30 +00:00
tv
111c4f44b0 Use install-info in $PATH, so that systems with it in base will work too. 1999-02-11 19:17:28 +00:00
tsarna
6bd0d65c65 The Grand Homepagification:
- New, optional Makefile variable HOMEPAGE, specifies a URL for
	  the home page of the software if it has one.
	- The value of HOMEPAGE is used to add a link from the
	  README.html files.
	- pkglint updated to know about it.  The "correct" location for
	  HOMEPAGE in the Makefile is after MAINTAINER, in that same
	  section.
1998-08-20 15:16:34 +00:00
tv
2327b8e24c Change to use catgets. hier(7)-lint: install locale stuff in
share/locale instead of lib/locale.
1998-08-15 00:12:10 +00:00
agc
05b88260d7 Add NetBSD RCS Ids. 1998-08-07 13:16:49 +00:00
agc
86db14e819 Add NetBSD RCS Ids. 1998-08-07 10:35:47 +00:00
agc
4a882b7d0c Update package Makefiles for automatic manual page handling. 1998-06-18 16:06:37 +00:00
agc
5201e68497 Introduce USE_GTEXINFO and INFO_FILES definitions to bsd.pkg.mk, and use them. 1998-04-17 09:37:21 +00:00
agc
dccd43243d Use the bsd.pkg.mk and bsd.pkg.subdir.mk files in the pkgsrc tree.
Remove redundant (and sometimes erroneous) comments.
1998-04-15 10:38:06 +00:00
tv
b61523009c fix for PR 5194 from augustss - no directory in patched file names 1998-03-24 20:34:52 +00:00
frueauf
b38f0f07be portlint: files->${FILESDIR}. 1998-03-10 11:57:27 +00:00
tv
354a002a4a gtar, in this pkg format, will never be called from pkg_add, so we won't
even pretend that we support the --fast-read option as a no-op--we don't
support it at all.  (pax or the old in-tree tar does.)
1998-03-08 02:51:17 +00:00
tv
3a26cfb6aa Oops, these are category "archivers", not "devel". 1998-03-05 20:09:46 +00:00
tv
f94eddf576 Bring gtar up to date with the NetBSD changes to GNU tar:
- use lutimes() and lchmod() in addition to lchown()
- add --norecurse as an undocumented synonym for --no-recursion
- add --fast-read as an undocumented nullop (this is _not_ necessary)
- pre-set --unlink-first
- add --unlink as an undocumented synonym for --unlink-first
- add --no-unlink-first to allow turning --unlink-first off

NetBSD's tar is based on GNU tar 1.11.2.  This tar, 1.12, has much of the
functionality NetBSD has added over time, so only the above changes were
necessary.
1998-03-05 19:57:18 +00:00