libbb: introduce and use xmalloc_ttyname (-32 in bss).
[oweals/busybox.git] / archival / Config.in
index e3f6239f21cebee9b39be56ba80ee4d9f564b68a..0b5cf37507f622bfd2ea3249c9a1412608ea38c3 100644 (file)
@@ -5,12 +5,36 @@
 
 menu "Archival Utilities"
 
-config CONFIG_AR
+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,
@@ -28,76 +52,98 @@ config CONFIG_AR
          Unless you have a specific application which requires ar, you should
          probably say N here.
 
-config CONFIG_FEATURE_AR_LONG_FILENAMES
-       bool "  Enable support for long filenames (not need for debs)"
+config FEATURE_AR_LONG_FILENAMES
+       bool "Support for long filenames (not need for debs)"
        default n
-       depends on CONFIG_AR
+       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.
 
-config CONFIG_BUNZIP2
+config BUNZIP2
        bool "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 CONFIG_CPIO
+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 CONFIG_DPKG
+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 CONFIG_DPKG_DEB
+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 CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
-       bool "  extract only (-x)"
+config FEATURE_DPKG_DEB_EXTRACT_ONLY
+       bool "Extract only (-x)"
        default n
-       depends on CONFIG_DPKG_DEB
+       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 CONFIG_GUNZIP
+config GUNZIP
        bool "gunzip"
        default n
        help
@@ -105,35 +151,26 @@ config CONFIG_GUNZIP
          You can use the `-t' option to test the integrity of
          an archive, without decompressing it.
 
-config CONFIG_FEATURE_GUNZIP_UNCOMPRESS
-       bool "  Uncompress support"
-       default n
-       depends on CONFIG_GUNZIP
-       help
-         Enable if you want gunzip to have the ability to decompress
-         archives created by the program compress (not much
-         used anymore).
-
-config CONFIG_GZIP
+config GZIP
        bool "gzip"
        default n
        help
          gzip is used to compress files.
          It's probably the most widely used UNIX compression program.
 
-config CONFIG_RPM2CPIO
+config RPM2CPIO
        bool "rpm2cpio"
        default n
        help
          Converts an RPM file into a CPIO archive.
 
-config CONFIG_RPM
+config RPM
        bool "rpm"
        default n
        help
-         Mini RPM applet - queries and extracts
+         Mini RPM applet - queries and extracts RPM packages.
 
-config CONFIG_TAR
+config TAR
        bool "tar"
        default n
        help
@@ -141,91 +178,90 @@ config CONFIG_TAR
          create compressed archives. It's probably the most widely used
          UNIX archive program.
 
-config CONFIG_FEATURE_TAR_CREATE
-       bool "  Enable archive creation"
+if TAR
+
+config FEATURE_TAR_CREATE
+       bool "Enable archive creation"
        default y
-       depends on CONFIG_TAR
+       depends on TAR
        help
          If you enable this option you'll be able to create
          tar archives using the `-c' option.
 
-config 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 CONFIG_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 bzip2.
+         With this option tar can automatically detect gzip/bzip2 compressed
+         tarballs. Currently it works only on files (not pipes etc).
 
-config CONFIG_FEATURE_TAR_LZMA
-       bool "  Enable -a option to handle .tar.lzma files"
+config FEATURE_TAR_FROM
+       bool "Enable -X (exclude from) and -T (include from) options)"
        default n
-       depends on CONFIG_TAR
-       help
-         If you enable this option you'll be able to extract
-         archives compressed with lzma.
-
-config CONFIG_FEATURE_TAR_FROM
-       bool "  Enable -X (exclude from) and -T (include from) options)"
-       default n
-       depends on CONFIG_TAR
+       depends on TAR
        help
          If you enable this option you'll be able to specify
          a list of files to include or exclude from an archive.
 
-config CONFIG_FEATURE_TAR_GZIP
-       bool "  Enable -z option"
-       default y
-       depends on CONFIG_TAR
-       help
-         If you enable this option tar will be able to call gzip,
-         when creating or extracting tar gziped archives.
-
-config CONFIG_FEATURE_TAR_COMPRESS
-       bool "  Enable -Z option"
-       default n
-       depends on CONFIG_TAR
-       help
-         If you enable this option tar will be able to call uncompress,
-         when extracting .tar.Z archives.
-
-config CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
-       bool "  Enable support for old tar header format"
+config FEATURE_TAR_OLDGNU_COMPATIBILITY
+       bool "Support for old tar header format"
        default N
-       depends on CONFIG_TAR
+       depends on TAR
        help
          This option is required to unpack archives created in
          the old GNU format; help to kill this old format by
          repacking your ancient archives with the new format.
 
-config CONFIG_FEATURE_TAR_GNU_EXTENSIONS
-       bool "  Enable support for some GNU tar extensions"
+config FEATURE_TAR_OLDSUN_COMPATIBILITY
+       bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
+       default N
+       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.
+
+config FEATURE_TAR_GNU_EXTENSIONS
+       bool "Support for GNU tar extensions (long filenames)"
        default y
-       depends on CONFIG_TAR
+       depends on TAR
        help
          With this option busybox supports GNU long filenames and
          linknames.
 
-config CONFIG_FEATURE_TAR_LONG_OPTIONS
-       bool "  Enable long options"
+config FEATURE_TAR_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       depends on TAR && GETOPT_LONG
+       help
+         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 CONFIG_TAR
+       depends on TAR
        help
-               Enable use of long options, increases size by about 400 Bytes
+         Enables use of user and group names in tar. This affects contents
+         listings (-t) and preserving permissions when unpacking (-p).
+         +200 bytes.
 
-config CONFIG_UNCOMPRESS
+endif #tar
+
+config UNCOMPRESS
        bool "uncompress"
        default n
        help
          uncompress is used to decompress archives created by compress.
          Not much used anymore, replaced by gzip/gunzip.
 
-config CONFIG_UNLZMA
+config UNLZMA
        bool "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.
 
@@ -235,15 +271,15 @@ config CONFIG_UNLZMA
          Unless you have a specific application which requires unlzma, you
          should probably say N here.
 
-config CONFIG_FEATURE_LZMA_FAST
-       bool "  Optimze unlzma for speed"
+config FEATURE_LZMA_FAST
+       bool "Optimize unlzma for speed"
        default n
-       depends on CONFIG_UNLZMA
+       depends on UNLZMA
        help
-         This option reduce decompression time by about 33% at the cost of
+         This option reduces decompression time by about 33% at the cost of
          a 2K bigger binary.
 
-config CONFIG_UNZIP
+config UNZIP
        bool "unzip"
        default n
        help
@@ -253,48 +289,4 @@ config 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 CONFIG_CPIO || CONFIG_TAR
-
-config CONFIG_FEATURE_UNARCHIVE_TAPE
-       bool "  Enable tape drive support"
-       default n
-       depends on CONFIG_CPIO || CONFIG_TAR
-       help
-         I don't think this is needed anymore.
-
-comment "Common options for dpkg and dpkg_deb"
-       depends on CONFIG_DPKG || CONFIG_DPKG_DEB
-
-config CONFIG_FEATURE_DEB_TAR_GZ
-       bool "  gzip debian packages (normal)"
-       default y if CONFIG_DPKG || CONFIG_DPKG_DEB
-       depends on CONFIG_DPKG || CONFIG_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 CONFIG_FEATURE_DEB_TAR_BZ2
-       bool "  bzip2 debian packages"
-       default n
-       depends on CONFIG_DPKG || CONFIG_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 CONFIG_FEATURE_DEB_TAR_LZMA
-       bool "  lzma debian packages"
-       default n
-       depends on CONFIG_DPKG || CONFIG_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