libbb: introduce and use xmalloc_ttyname (-32 in bss).
[oweals/busybox.git] / archival / Config.in
index daf3cf2216c9c5d6ff1fee8f328e153fc4ef8325..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.
-         
+         performance of the PPM family of statistical compressors.
+
          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. 
+         "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.
-         
-         This implementation of dpkg has a number of limitations, you should use the
-         official dpkg if possible.
+         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.
 
-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.
 
-config CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
-       bool "  extract only (-x)"
+         Unless you have a specific application which requires dpkg-deb,
+         say N here.
+
+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,118 +178,115 @@ 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_FROM
-       bool "  Enable -X (exclude from) and -T (include from) options)"
+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_COMPATABILITY
-       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 
+         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.
+
+endif #tar
 
-config CONFIG_UNCOMPRESS
+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_UNZIP
-       bool "unzip"
+config UNLZMA
+       bool "unlzma"
        default n
        help
-         unzip will list or extract files from a ZIP archive,
-         commonly found on DOS/WIN systems. The default behavior
-         (with no options) is to extract the archive into the
-         current directory. Use the `-d' option to extract to a
-         directory of your choice.
+         unlzma is a compression utility using the Lempel-Ziv-Markov chain
+         compression algorithm, and range coding. Compression
+         is generally considerably better than that achieved by the bzip2
+         compressors.
 
-comment "Common options for cpio and tar"
-       depends on CONFIG_CPIO || CONFIG_TAR
+         The BusyBox unlzma applet is limited to de-compression only.
+         On an x86 system, this applet adds about 4K.
 
-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
+         Unless you have a specific application which requires unlzma, you
+         should probably say N here.
 
-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
+config FEATURE_LZMA_FAST
+       bool "Optimize unlzma for speed"
+       default n
+       depends on UNLZMA
        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.
+         This option reduces decompression time by about 33% at the cost of
+         a 2K bigger binary.
 
-config CONFIG_FEATURE_DEB_TAR_BZ2
-       bool "  bzip2 debian packages"
+config UNZIP
+       bool "unzip"
        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.
+         unzip will list or extract files from a ZIP archive,
+         commonly found on DOS/WIN systems. The default behavior
+         (with no options) is to extract the archive into the
+         current directory. Use the `-d' option to extract to a
+         directory of your choice.
 
 endmenu