gen_build_files.sh uses bashism, document it
[oweals/busybox.git] / archival / Config.in
index b26be648653dcffbc7850dcedd9ceb24318c2084..deacc28222289afc1250fd009e0ee973461c52c9 100644 (file)
@@ -5,6 +5,30 @@
 
 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
@@ -29,15 +53,22 @@ config AR
          probably say N here.
 
 config FEATURE_AR_LONG_FILENAMES
-       bool "Support for long filenames (not need for debs)"
+       bool "Support for long filenames (not needed 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.
 
+config FEATURE_AR_CREATE
+       bool "Support archive creation"
+       default n
+       depends on AR
+       help
+         This enables archive creation (-c and -r) with busybox ar.
+
 config BUNZIP2
        bool "bunzip2"
        default n
@@ -86,9 +117,17 @@ config FEATURE_CPIO_O
          This implementation of cpio can create cpio archives in the "newc"
          format only.
 
+config FEATURE_CPIO_P
+       bool "Support for passthrough mode"
+       default n
+       depends on FEATURE_CPIO_O
+       help
+         Passthrough mode. Rarely used.
+
 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.
@@ -99,9 +138,9 @@ config DPKG
 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.
 
@@ -126,15 +165,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
@@ -142,6 +172,28 @@ config GZIP
          gzip is used to compress files.
          It's probably the most widely used UNIX compression program.
 
+config FEATURE_GZIP_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       depends on GZIP && LONG_OPTS
+       help
+         Enable use of long options, increases size by about 106 Bytes
+
+config LZOP
+       bool "lzop"
+       default n
+       help
+         Lzop compression/decompresion.
+
+config LZOP_COMPR_HIGH
+       bool "lzop complession levels 7,8,9 (not very useful)"
+       default n
+       depends on LZOP
+       help
+         High levels (7,8,9) of lzop compression. These levels
+         are actually slower than gzip at equivalent compression ratios
+         and take up 3.2K of code.
+
 config RPM2CPIO
        bool "rpm2cpio"
        default n
@@ -154,13 +206,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
@@ -169,8 +214,6 @@ 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
@@ -179,44 +222,12 @@ config FEATURE_TAR_CREATE
          If you enable this option you'll be able to create
          tar archives using the `-c' option.
 
-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_BZIP2
-       bool "Enable -j option to handle .tar.bz2 files"
-       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
-       help
-         If you enable this option you'll be able to extract
-         archives compressed with lzma.
-
-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_AUTODETECT
-       bool "Autodetect gz/bz2 compresses tarballs"
+       bool "Autodetect compressed tarballs"
        default n
-       depends on FEATURE_TAR_GZIP || FEATURE_TAR_BZIP2
+       depends on TAR && (FEATURE_SEAMLESS_Z || FEATURE_SEAMLESS_GZ || FEATURE_SEAMLESS_BZ2 || FEATURE_SEAMLESS_LZMA)
        help
-         With this option tar can automatically detect gzip/bzip2 compressed
+         With this option tar can automatically detect compressed
          tarballs. Currently it works only on files (not pipes etc).
 
 config FEATURE_TAR_FROM
@@ -230,7 +241,7 @@ config FEATURE_TAR_FROM
 config FEATURE_TAR_OLDGNU_COMPATIBILITY
        bool "Support for old tar header format"
        default N
-       depends on TAR
+       depends on TAR || DPKG
        help
          This option is required to unpack archives created in
          the old GNU format; help to kill this old format by
@@ -239,7 +250,7 @@ config FEATURE_TAR_OLDGNU_COMPATIBILITY
 config FEATURE_TAR_OLDSUN_COMPATIBILITY
        bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
        default N
-       depends on TAR
+       depends on TAR || DPKG
        help
          This option is required to unpack archives created by some old
          version of Sun's tar (it was calculating checksum using signed
@@ -249,7 +260,7 @@ config FEATURE_TAR_OLDSUN_COMPATIBILITY
 config FEATURE_TAR_GNU_EXTENSIONS
        bool "Support for GNU tar extensions (long filenames)"
        default y
-       depends on TAR
+       depends on TAR || DPKG
        help
          With this option busybox supports GNU long filenames and
          linknames.
@@ -257,7 +268,7 @@ config FEATURE_TAR_GNU_EXTENSIONS
 config FEATURE_TAR_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on TAR && GETOPT_LONG
+       depends on TAR && LONG_OPTS
        help
          Enable use of long options, increases size by about 400 Bytes
 
@@ -270,7 +281,21 @@ config FEATURE_TAR_UNAME_GNAME
          listings (-t) and preserving permissions when unpacking (-p).
          +200 bytes.
 
-endif #tar
+config FEATURE_TAR_NOPRESERVE_TIME
+       bool "Enable -m (do not preserve time) option"
+       default n
+       depends on TAR
+       help
+         With this option busybox supports GNU tar -m
+         (do not preserve time) option.
+
+config FEATURE_TAR_SELINUX
+       bool "Support for extracting SELinux labels"
+       default n
+       depends on TAR && SELINUX
+       help
+         With this option busybox supports restoring SELinux labels
+         when extracting files from tar archives.
 
 config UNCOMPRESS
        bool "uncompress"
@@ -299,8 +324,8 @@ config FEATURE_LZMA_FAST
        default n
        depends on UNLZMA
        help
-         This option reduces decompression time by about 33% at the cost of
-         a 2K bigger binary.
+         This option reduces decompression time by about 25% at the cost of
+         a 1K bigger binary.
 
 config UNZIP
        bool "unzip"
@@ -312,42 +337,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
-
-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