libbb: introduce and use xmalloc_ttyname (-32 in bss).
[oweals/busybox.git] / archival / Config.in
index 49070da06fdff8acd665f8f5e3e62b31ad70e716..0b5cf37507f622bfd2ea3249c9a1412608ea38c3 100644 (file)
@@ -5,12 +5,36 @@
 
 menu "Archival Utilities"
 
+config FEATURE_SEAMLESS_LZMA
+       bool "Make tar, rpm, modprobe etc understand .lzma data"
+       default n
+       help
+         Make tar, rpm, modprobe etc understand .lzma data.
+
+config FEATURE_SEAMLESS_BZ2
+       bool "Make tar, rpm, modprobe etc understand .bz2 data"
+       default n
+       help
+         Make tar, rpm, modprobe etc understand .bz2 data.
+
+config FEATURE_SEAMLESS_GZ
+       bool "Make tar, rpm, modprobe etc understand .gz data"
+       default n
+       help
+         Make tar, rpm, modprobe etc understand .gz data.
+
+config FEATURE_SEAMLESS_Z
+       bool "Make tar and gunzip understand .Z data"
+       default n
+       help
+         Make tar and gunzip understand .Z data.
+
 config AR
        bool "ar"
        default n
        help
          ar is an archival utility program used to create, modify, and
-         extract contents from archives.  An archive is a single file holding
+         extract contents from archives. An archive is a single file holding
          a collection of other files in a structure that makes it possible to
          retrieve the original individual files (called archive members).
          The original files' contents, mode (permissions), timestamp, owner,
@@ -29,12 +53,12 @@ config AR
          probably say N here.
 
 config FEATURE_AR_LONG_FILENAMES
-       bool "Enable support for long filenames (not need for debs)"
+       bool "Support for long filenames (not need for debs)"
        default n
        depends on AR
        help
-         By default the ar format can only store the first 15 characters of the
-         filename, this option removes that limitation.
+         By default the ar format can only store the first 15 characters of
+         the filename, this option removes that limitation.
          It supports the GNU ar long filename method which moves multiple long
          filenames into a the data section of a new ar entry.
 
@@ -43,59 +67,81 @@ config BUNZIP2
        default n
        help
          bunzip2 is a compression utility using the Burrows-Wheeler block
-         sorting text compression algorithm, and Huffman coding.  Compression
+         sorting text compression algorithm, and Huffman coding. Compression
          is generally considerably better than that achieved by more
          conventional LZ77/LZ78-based compressors, and approaches the
          performance of the PPM family of statistical compressors.
 
-         The BusyBox bunzip2 applet is limited to de-compression only.
-         On an x86 system, this applet adds about 11K.
-
          Unless you have a specific application which requires bunzip2, you
          should probably say N here.
 
+config BZIP2
+       bool "bzip2"
+       default n
+       help
+         bzip2 is a compression utility using the Burrows-Wheeler block
+         sorting text compression algorithm, and Huffman coding. Compression
+         is generally considerably better than that achieved by more
+         conventional LZ77/LZ78-based compressors, and approaches the
+         performance of the PPM family of statistical compressors.
+
+         Unless you have a specific application which requires bzip2, you
+         should probably say N here.
+
 config CPIO
        bool "cpio"
        default n
        help
-         cpio is an archival utility program used to create, modify, and extract
-         contents from archives.
+         cpio is an archival utility program used to create, modify, and
+         extract contents from archives.
          cpio has 110 bytes of overheads for every stored file.
 
          This implementation of cpio can extract cpio archives created in the
          "newc" or "crc" format, it cannot create or modify them.
 
-         Unless you have a specific application which requires cpio, you should
-         probably say N here.
+         Unless you have a specific application which requires cpio, you
+         should probably say N here.
+
+config FEATURE_CPIO_O
+       bool "Support for archive creation"
+       default n
+       depends on CPIO
+       help
+         This implementation of cpio can create cpio archives in the "newc"
+         format only.
 
 config DPKG
        bool "dpkg"
        default n
+       select FEATURE_SEAMLESS_GZ
        help
-         dpkg is a medium-level tool to install, build, remove and manage Debian packages.
+         dpkg is a medium-level tool to install, build, remove and manage
+         Debian packages.
 
-         This implementation of dpkg has a number of limitations, you should use the
-         official dpkg if possible.
+         This implementation of dpkg has a number of limitations,
+         you should use the official dpkg if possible.
 
 config DPKG_DEB
        bool "dpkg_deb"
        default n
+       select FEATURE_SEAMLESS_GZ
        help
-         dpkg-deb packs, unpacks and provides information about Debian archives.
+         dpkg-deb unpacks and provides information about Debian archives.
 
          This implementation of dpkg-deb cannot pack archives.
 
-         Unless you have a specific application which requires dpkg-deb, you should
-         probably say N here.
+         Unless you have a specific application which requires dpkg-deb,
+         say N here.
 
 config FEATURE_DPKG_DEB_EXTRACT_ONLY
-       bool "extract only (-x)"
+       bool "Extract only (-x)"
        default n
        depends on DPKG_DEB
        help
-         This reduces dpkg-deb to the equivalent of "ar -p <deb> data.tar.gz | tar -zx".
-         However it saves space as none of the extra dpkg-deb, ar or tar options are
-         needed, they are linked to internally.
+         This reduces dpkg-deb to the equivalent of
+         "ar -p <deb> data.tar.gz | tar -zx". However it saves space as none
+         of the extra dpkg-deb, ar or tar options are needed, they are linked
+         to internally.
 
 config GUNZIP
        bool "gunzip"
@@ -105,15 +151,6 @@ config GUNZIP
          You can use the `-t' option to test the integrity of
          an archive, without decompressing it.
 
-config FEATURE_GUNZIP_UNCOMPRESS
-       bool "Uncompress support"
-       default n
-       depends on GUNZIP
-       help
-         Enable if you want gunzip to have the ability to decompress
-         archives created by the program compress (not much
-         used anymore).
-
 config GZIP
        bool "gzip"
        default n
@@ -133,13 +170,6 @@ config RPM
        help
          Mini RPM applet - queries and extracts RPM packages.
 
-config FEATURE_RPM_BZ2
-       bool "Enable handling of rpms with bzip2-compressed data inside"
-       default n
-       depends on RPM
-       help
-         Enable handling of rpms with bzip2-compressed data inside.
-
 config TAR
        bool "tar"
        default n
@@ -148,6 +178,8 @@ config TAR
          create compressed archives. It's probably the most widely used
          UNIX archive program.
 
+if TAR
+
 config FEATURE_TAR_CREATE
        bool "Enable archive creation"
        default y
@@ -156,21 +188,13 @@ config FEATURE_TAR_CREATE
          If you enable this option you'll be able to create
          tar archives using the `-c' option.
 
-config FEATURE_TAR_BZIP2
-       bool "Enable -j option to handle .tar.bz2 files"
+config FEATURE_TAR_AUTODETECT
+       bool "Autodetect gz/bz2 compressed tarballs"
        default n
-       depends on TAR
-       help
-         If you enable this option you'll be able to extract
-         archives compressed with bzip2.
-
-config FEATURE_TAR_LZMA
-       bool "Enable -a option to handle .tar.lzma files"
-       default n
-       depends on TAR
+       depends on FEATURE_SEAMLESS_Z || FEATURE_SEAMLESS_GZ || FEATURE_SEAMLESS_BZ2 || FEATURE_SEAMLESS_LZMA
        help
-         If you enable this option you'll be able to extract
-         archives compressed with lzma.
+         With this option tar can automatically detect gzip/bzip2 compressed
+         tarballs. Currently it works only on files (not pipes etc).
 
 config FEATURE_TAR_FROM
        bool "Enable -X (exclude from) and -T (include from) options)"
@@ -180,24 +204,8 @@ config FEATURE_TAR_FROM
          If you enable this option you'll be able to specify
          a list of files to include or exclude from an archive.
 
-config FEATURE_TAR_GZIP
-       bool "Enable -z option"
-       default y
-       depends on TAR
-       help
-         If you enable this option tar will be able to call gzip,
-         when creating or extracting tar gziped archives.
-
-config FEATURE_TAR_COMPRESS
-       bool "Enable -Z option"
-       default n
-       depends on TAR
-       help
-         If you enable this option tar will be able to call uncompress,
-         when extracting .tar.Z archives.
-
 config FEATURE_TAR_OLDGNU_COMPATIBILITY
-       bool "Enable support for old tar header format"
+       bool "Support for old tar header format"
        default N
        depends on TAR
        help
@@ -211,11 +219,12 @@ config FEATURE_TAR_OLDSUN_COMPATIBILITY
        depends on TAR
        help
          This option is required to unpack archives created by some old
-         version of Sun's tar (it was calculating checksum using signed arithmetic).
-         It is said to be fixed in newer Sun tar, but "old" tarballs still exist.
+         version of Sun's tar (it was calculating checksum using signed
+         arithmetic). It is said to be fixed in newer Sun tar, but "old"
+         tarballs still exist.
 
 config FEATURE_TAR_GNU_EXTENSIONS
-       bool "Enable support for some GNU tar extensions"
+       bool "Support for GNU tar extensions (long filenames)"
        default y
        depends on TAR
        help
@@ -227,7 +236,18 @@ config FEATURE_TAR_LONG_OPTIONS
        default n
        depends on TAR && GETOPT_LONG
        help
-               Enable use of long options, increases size by about 400 Bytes
+         Enable use of long options, increases size by about 400 Bytes
+
+config FEATURE_TAR_UNAME_GNAME
+       bool "Enable use of user and group names"
+       default n
+       depends on TAR
+       help
+         Enables use of user and group names in tar. This affects contents
+         listings (-t) and preserving permissions when unpacking (-p).
+         +200 bytes.
+
+endif #tar
 
 config UNCOMPRESS
        bool "uncompress"
@@ -241,7 +261,7 @@ config UNLZMA
        default n
        help
          unlzma is a compression utility using the Lempel-Ziv-Markov chain
-         compression algorithm, and range coding.  Compression
+         compression algorithm, and range coding. Compression
          is generally considerably better than that achieved by the bzip2
          compressors.
 
@@ -252,7 +272,7 @@ config UNLZMA
          should probably say N here.
 
 config FEATURE_LZMA_FAST
-       bool "Optimze unlzma for speed"
+       bool "Optimize unlzma for speed"
        default n
        depends on UNLZMA
        help
@@ -269,48 +289,4 @@ config UNZIP
          current directory. Use the `-d' option to extract to a
          directory of your choice.
 
-comment "Common options for cpio and tar"
-       depends on CPIO || TAR
-
-config FEATURE_UNARCHIVE_TAPE
-       bool "Enable tape drive support"
-       default n
-       depends on CPIO || TAR
-       help
-         I don't think this is needed anymore.
-
-comment "Common options for dpkg and dpkg_deb"
-       depends on DPKG || DPKG_DEB
-
-config FEATURE_DEB_TAR_GZ
-       bool "gzip debian packages (normal)"
-       default y if DPKG || DPKG_DEB
-       depends on DPKG || DPKG_DEB
-       help
-         This is the default compression method inside the debian ar file.
-
-         If you want compatibility with standard .deb's you should say yes here.
-
-config FEATURE_DEB_TAR_BZ2
-       bool "bzip2 debian packages"
-       default n
-       depends on DPKG || DPKG_DEB
-       help
-         This allows dpkg and dpkg-deb to extract deb's that are compressed internally
-         with bzip2 instead of gzip.
-
-         You only want this if you are creating your own custom debian packages that
-         use an internal control.tar.bz2 or data.tar.bz2.
-
-config FEATURE_DEB_TAR_LZMA
-       bool "lzma debian packages"
-       default n
-       depends on DPKG || DPKG_DEB
-       help
-         This allows dpkg and dpkg-deb to extract deb's that are compressed
-         internally with lzma instead of gzip.
-
-         You only want this if you are creating your own custom debian
-         packages that use an internal control.tar.lzma or data.tar.lzma.
-
 endmenu