archival/*: move "config:" snippets into .c files
authorDenys Vlasenko <vda.linux@googlemail.com>
Thu, 14 Nov 2013 10:39:00 +0000 (11:39 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Thu, 14 Nov 2013 10:39:00 +0000 (11:39 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
13 files changed:
archival/Config.src
archival/ar.c
archival/bbunzip.c
archival/bzip2.c
archival/cpio.c
archival/dpkg.c
archival/dpkg_deb.c
archival/gzip.c
archival/lzop.c
archival/rpm.c
archival/rpm2cpio.c
archival/tar.c
archival/unzip.c

index ae1afc5..76635ba 100644 (file)
@@ -5,8 +5,6 @@
 
 menu "Archival Utilities"
 
-INSERT
-
 config FEATURE_SEAMLESS_XZ
        bool "Make tar, rpm, modprobe etc understand .xz data"
        default y
@@ -37,352 +35,6 @@ config FEATURE_SEAMLESS_Z
        help
          Make tar, rpm, modprobe etc understand .Z data.
 
-config AR
-       bool "ar"
-       default n  # needs to be improved to be able to replace binutils ar
-       help
-         ar is an archival utility program used to create, modify, and
-         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,
-         and group are preserved in the archive, and can be restored on
-         extraction.
-
-         The stored filename is limited to 15 characters. (for more information
-         see long filename support).
-         ar has 60 bytes of overheads for every stored file.
-
-         This implementation of ar can extract archives, it cannot create or
-         modify them.
-         On an x86 system, the ar applet adds about 1K.
-
-         Unless you have a specific application which requires ar, you should
-         probably say N here.
-
-config FEATURE_AR_LONG_FILENAMES
-       bool "Support for long filenames (not needed for debs)"
-       default y
-       depends on AR
-       help
-         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 y
-       depends on AR
-       help
-         This enables archive creation (-c and -r) with busybox ar.
-
-config BUNZIP2
-       bool "bunzip2"
-       default y
-       help
-         bunzip2 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 bunzip2, you
-         should probably say N here.
-
-config BZIP2
-       bool "bzip2"
-       default y
-       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 y
-       help
-         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.
-
-config FEATURE_CPIO_O
-       bool "Support for archive creation"
-       default y
-       depends on CPIO
-       help
-         This implementation of cpio can create cpio archives in the "newc"
-         format only.
-
-config FEATURE_CPIO_P
-       bool "Support for passthrough mode"
-       default y
-       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.
-
-         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 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,
-         say N here.
-
-config FEATURE_DPKG_DEB_EXTRACT_ONLY
-       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.
-
-config GUNZIP
-       bool "gunzip"
-       default y
-       help
-         gunzip is used to decompress archives created by gzip.
-         You can use the `-t' option to test the integrity of
-         an archive, without decompressing it.
-
-config GZIP
-       bool "gzip"
-       default y
-       help
-         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 y
-       depends on GZIP && LONG_OPTS
-       help
-         Enable use of long options, increases size by about 106 Bytes
-
-config GZIP_FAST
-       int "Trade memory for gzip speed (0:small,slow - 2:fast,big)"
-       default 0
-       range 0 2
-       depends on GZIP
-       help
-         Enable big memory options for gzip.
-         0: small buffers, small hash-tables
-         1: larger buffers, larger hash-tables
-         2: larger buffers, largest hash-tables
-         Larger models may give slightly better compression
-
-config LZOP
-       bool "lzop"
-       default y
-       help
-         Lzop compression/decompresion.
-
-config LZOP_COMPR_HIGH
-       bool "lzop compression 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 y
-       help
-         Converts a RPM file into a CPIO archive.
-
-config RPM
-       bool "rpm"
-       default y
-       help
-         Mini RPM applet - queries and extracts RPM packages.
-
-config TAR
-       bool "tar"
-       default y
-       help
-         tar is an archiving program. It's commonly used with gzip to
-         create compressed archives. It's probably the most widely used
-         UNIX archive program.
-
-config FEATURE_TAR_CREATE
-       bool "Enable archive creation"
-       default y
-       depends on TAR
-       help
-         If you enable this option you'll be able to create
-         tar archives using the `-c' option.
-
-config FEATURE_TAR_AUTODETECT
-       bool "Autodetect compressed tarballs"
-       default y
-       depends on TAR && (FEATURE_SEAMLESS_Z || FEATURE_SEAMLESS_GZ || FEATURE_SEAMLESS_BZ2 || FEATURE_SEAMLESS_LZMA || FEATURE_SEAMLESS_XZ)
-       help
-         With this option tar can automatically detect 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)"
-       default y
-       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 FEATURE_TAR_OLDGNU_COMPATIBILITY
-       bool "Support for old tar header format"
-       default y
-       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
-         repacking your ancient archives with the new format.
-
-config FEATURE_TAR_OLDSUN_COMPATIBILITY
-       bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
-       default y
-       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
-         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 TAR || DPKG
-       help
-         With this option busybox supports GNU long filenames and
-         linknames.
-
-config FEATURE_TAR_LONG_OPTIONS
-       bool "Enable long options"
-       default y
-       depends on TAR && LONG_OPTS
-       help
-         Enable use of long options, increases size by about 400 Bytes
-
-config FEATURE_TAR_TO_COMMAND
-       bool "Support for writing to an external program"
-       default y
-       depends on TAR && FEATURE_TAR_LONG_OPTIONS
-       help
-         If you enable this option you'll be able to instruct tar to send
-         the contents of each extracted file to the standard input of an
-         external program.
-
-config FEATURE_TAR_UNAME_GNAME
-       bool "Enable use of user and group names"
-       default y
-       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.
-
-config FEATURE_TAR_NOPRESERVE_TIME
-       bool "Enable -m (do not preserve time) option"
-       default y
-       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"
-       default n
-       help
-         uncompress is used to decompress archives created by compress.
-         Not much used anymore, replaced by gzip/gunzip.
-
-config UNLZMA
-       bool "unlzma"
-       default y
-       help
-         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.
-
-         The BusyBox unlzma applet is limited to decompression only.
-         On an x86 system, this applet adds about 4K.
-
-config FEATURE_LZMA_FAST
-       bool "Optimize unlzma for speed"
-       default n
-       depends on UNLZMA
-       help
-         This option reduces decompression time by about 25% at the cost of
-         a 1K bigger binary.
-
-config LZMA
-       bool "Provide lzma alias which supports only unpacking"
-       default y
-       depends on UNLZMA
-       help
-         Enable this option if you want commands like "lzma -d" to work.
-         IOW: you'll get lzma applet, but it will always require -d option.
-
-config UNXZ
-       bool "unxz"
-       default y
-       help
-         unxz is a unlzma successor.
-
-config XZ
-       bool "Provide xz alias which supports only unpacking"
-       default y
-       depends on UNXZ
-       help
-         Enable this option if you want commands like "xz -d" to work.
-         IOW: you'll get xz applet, but it will always require -d option.
-
-config UNZIP
-       bool "unzip"
-       default y
-       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.
+INSERT
 
 endmenu
index 866856f..f86c52d 100644 (file)
  * http://www.unix-systems.org/single_unix_specification_v2/xcu/ar.html
  */
 
+//config:config AR
+//config:      bool "ar"
+//config:      default n  # needs to be improved to be able to replace binutils ar
+//config:      help
+//config:        ar is an archival utility program used to create, modify, and
+//config:        extract contents from archives. An archive is a single file holding
+//config:        a collection of other files in a structure that makes it possible to
+//config:        retrieve the original individual files (called archive members).
+//config:        The original files' contents, mode (permissions), timestamp, owner,
+//config:        and group are preserved in the archive, and can be restored on
+//config:        extraction.
+//config:
+//config:        The stored filename is limited to 15 characters. (for more information
+//config:        see long filename support).
+//config:        ar has 60 bytes of overheads for every stored file.
+//config:
+//config:        This implementation of ar can extract archives, it cannot create or
+//config:        modify them.
+//config:        On an x86 system, the ar applet adds about 1K.
+//config:
+//config:        Unless you have a specific application which requires ar, you should
+//config:        probably say N here.
+//config:
+//config:config FEATURE_AR_LONG_FILENAMES
+//config:      bool "Support for long filenames (not needed for debs)"
+//config:      default y
+//config:      depends on AR
+//config:      help
+//config:        By default the ar format can only store the first 15 characters
+//config:        of the filename, this option removes that limitation.
+//config:        It supports the GNU ar long filename method which moves multiple long
+//config:        filenames into a the data section of a new ar entry.
+//config:
+//config:config FEATURE_AR_CREATE
+//config:      bool "Support archive creation"
+//config:      default y
+//config:      depends on AR
+//config:      help
+//config:        This enables archive creation (-c and -r) with busybox ar.
+
 //applet:IF_AR(APPLET(ar, BB_DIR_USR_BIN, BB_SUID_DROP))
 //kbuild:lib-$(CONFIG_AR) += ar.o
 
index eb6f114..b3fb90f 100644 (file)
@@ -215,6 +215,13 @@ char* FAST_FUNC make_new_name_generic(char *filename, const char *expected_ext)
 //usage:     "\n       -c      Write to stdout"
 //usage:     "\n       -f      Overwrite"
 
+//config:config UNCOMPRESS
+//config:      bool "uncompress"
+//config:      default n
+//config:      help
+//config:        uncompress is used to decompress archives created by compress.
+//config:        Not much used anymore, replaced by gzip/gunzip.
+
 //applet:IF_UNCOMPRESS(APPLET(uncompress, BB_DIR_BIN, BB_SUID_DROP))
 //kbuild:lib-$(CONFIG_UNCOMPRESS) += bbunzip.o
 #if ENABLE_UNCOMPRESS
@@ -278,6 +285,14 @@ int uncompress_main(int argc UNUSED_PARAM, char **argv)
 //usage:#define zcat_full_usage "\n\n"
 //usage:       "Decompress to stdout"
 
+//config:config GUNZIP
+//config:      bool "gunzip"
+//config:      default y
+//config:      help
+//config:        gunzip is used to decompress archives created by gzip.
+//config:        You can use the `-t' option to test the integrity of
+//config:        an archive, without decompressing it.
+
 //applet:IF_GUNZIP(APPLET(gunzip, BB_DIR_BIN, BB_SUID_DROP))
 //applet:IF_GUNZIP(APPLET_ODDNAME(zcat, gunzip, BB_DIR_BIN, BB_SUID_DROP, zcat))
 //kbuild:lib-$(CONFIG_GZIP) += bbunzip.o
@@ -361,6 +376,19 @@ int gunzip_main(int argc UNUSED_PARAM, char **argv)
 //usage:#define bzcat_full_usage "\n\n"
 //usage:       "Decompress to stdout"
 
+//config:config BUNZIP2
+//config:      bool "bunzip2"
+//config:      default y
+//config:      help
+//config:        bunzip2 is a compression utility using the Burrows-Wheeler block
+//config:        sorting text compression algorithm, and Huffman coding. Compression
+//config:        is generally considerably better than that achieved by more
+//config:        conventional LZ77/LZ78-based compressors, and approaches the
+//config:        performance of the PPM family of statistical compressors.
+//config:
+//config:        Unless you have a specific application which requires bunzip2, you
+//config:        should probably say N here.
+
 //applet:IF_BUNZIP2(APPLET(bunzip2, BB_DIR_USR_BIN, BB_SUID_DROP))
 //applet:IF_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, BB_DIR_USR_BIN, BB_SUID_DROP, bzcat))
 //kbuild:lib-$(CONFIG_BZIP2) += bbunzip.o
@@ -432,6 +460,34 @@ int bunzip2_main(int argc UNUSED_PARAM, char **argv)
 //usage:#define xzcat_full_usage "\n\n"
 //usage:       "Decompress to stdout"
 
+//config:config UNLZMA
+//config:      bool "unlzma"
+//config:      default y
+//config:      help
+//config:        unlzma is a compression utility using the Lempel-Ziv-Markov chain
+//config:        compression algorithm, and range coding. Compression
+//config:        is generally considerably better than that achieved by the bzip2
+//config:        compressors.
+//config:
+//config:        The BusyBox unlzma applet is limited to decompression only.
+//config:        On an x86 system, this applet adds about 4K.
+//config:
+//config:config FEATURE_LZMA_FAST
+//config:      bool "Optimize unlzma for speed"
+//config:      default n
+//config:      depends on UNLZMA
+//config:      help
+//config:        This option reduces decompression time by about 25% at the cost of
+//config:        a 1K bigger binary.
+//config:
+//config:config LZMA
+//config:      bool "Provide lzma alias which supports only unpacking"
+//config:      default y
+//config:      depends on UNLZMA
+//config:      help
+//config:        Enable this option if you want commands like "lzma -d" to work.
+//config:        IOW: you'll get lzma applet, but it will always require -d option.
+
 //applet:IF_UNLZMA(APPLET(unlzma, BB_DIR_USR_BIN, BB_SUID_DROP))
 //applet:IF_UNLZMA(APPLET_ODDNAME(lzcat, unlzma, BB_DIR_USR_BIN, BB_SUID_DROP, lzcat))
 //applet:IF_LZMA(APPLET_ODDNAME(lzma, unlzma, BB_DIR_USR_BIN, BB_SUID_DROP, lzma))
@@ -461,6 +517,20 @@ int unlzma_main(int argc UNUSED_PARAM, char **argv)
 #endif
 
 
+//config:config UNXZ
+//config:      bool "unxz"
+//config:      default y
+//config:      help
+//config:        unxz is a unlzma successor.
+//config:
+//config:config XZ
+//config:      bool "Provide xz alias which supports only unpacking"
+//config:      default y
+//config:      depends on UNXZ
+//config:      help
+//config:        Enable this option if you want commands like "xz -d" to work.
+//config:        IOW: you'll get xz applet, but it will always require -d option.
+
 //applet:IF_UNXZ(APPLET(unxz, BB_DIR_USR_BIN, BB_SUID_DROP))
 //applet:IF_UNXZ(APPLET_ODDNAME(xzcat, unxz, BB_DIR_USR_BIN, BB_SUID_DROP, xzcat))
 //applet:IF_XZ(APPLET_ODDNAME(xz, unxz, BB_DIR_USR_BIN, BB_SUID_DROP, xz))
index eabd1c2..f7718b4 100644 (file)
@@ -7,6 +7,19 @@
  * about bzip2 library code.
  */
 
+//config:config BZIP2
+//config:      bool "bzip2"
+//config:      default y
+//config:      help
+//config:        bzip2 is a compression utility using the Burrows-Wheeler block
+//config:        sorting text compression algorithm, and Huffman coding. Compression
+//config:        is generally considerably better than that achieved by more
+//config:        conventional LZ77/LZ78-based compressors, and approaches the
+//config:        performance of the PPM family of statistical compressors.
+//config:
+//config:        Unless you have a specific application which requires bzip2, you
+//config:        should probably say N here.
+
 //applet:IF_BZIP2(APPLET(bzip2, BB_DIR_USR_BIN, BB_SUID_DROP))
 //kbuild:lib-$(CONFIG_BZIP2) += bzip2.o
 
index 41eb6f6..1cce7c8 100644 (file)
 #include "libbb.h"
 #include "bb_archive.h"
 
+//config:config CPIO
+//config:      bool "cpio"
+//config:      default y
+//config:      help
+//config:        cpio is an archival utility program used to create, modify, and
+//config:        extract contents from archives.
+//config:        cpio has 110 bytes of overheads for every stored file.
+//config:
+//config:        This implementation of cpio can extract cpio archives created in the
+//config:        "newc" or "crc" format, it cannot create or modify them.
+//config:
+//config:        Unless you have a specific application which requires cpio, you
+//config:        should probably say N here.
+//config:
+//config:config FEATURE_CPIO_O
+//config:      bool "Support for archive creation"
+//config:      default y
+//config:      depends on CPIO
+//config:      help
+//config:        This implementation of cpio can create cpio archives in the "newc"
+//config:        format only.
+//config:
+//config:config FEATURE_CPIO_P
+//config:      bool "Support for passthrough mode"
+//config:      default y
+//config:      depends on FEATURE_CPIO_O
+//config:      help
+//config:        Passthrough mode. Rarely used.
+
 //applet:IF_CPIO(APPLET(cpio, BB_DIR_BIN, BB_SUID_DROP))
 //kbuild:lib-$(CONFIG_CPIO) += cpio.o
 
index 288e7fa..2893cfc 100644 (file)
@@ -14,7 +14,6 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
-
 /*
  * known difference between busybox dpkg and the official dpkg that i don't
  * consider important, its worth keeping a note of differences anyway, just to
  *  - (unknown, please let me know when you find any)
  */
 
+//config:config DPKG
+//config:      bool "dpkg"
+//config:      default n
+//config:      select FEATURE_SEAMLESS_GZ
+//config:      help
+//config:        dpkg is a medium-level tool to install, build, remove and manage
+//config:        Debian packages.
+//config:
+//config:        This implementation of dpkg has a number of limitations,
+//config:        you should use the official dpkg if possible.
+
 //applet:IF_DPKG(APPLET(dpkg, BB_DIR_USR_BIN, BB_SUID_DROP))
 //kbuild:lib-$(CONFIG_DPKG) += dpkg.o
 
index 6924f89..81b5352 100644 (file)
@@ -5,6 +5,28 @@
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
 
+//config:config DPKG_DEB
+//config:      bool "dpkg_deb"
+//config:      default n
+//config:      select FEATURE_SEAMLESS_GZ
+//config:      help
+//config:        dpkg-deb unpacks and provides information about Debian archives.
+//config:
+//config:        This implementation of dpkg-deb cannot pack archives.
+//config:
+//config:        Unless you have a specific application which requires dpkg-deb,
+//config:        say N here.
+//config:
+//config:config FEATURE_DPKG_DEB_EXTRACT_ONLY
+//config:      bool "Extract only (-x)"
+//config:      default n
+//config:      depends on DPKG_DEB
+//config:      help
+//config:        This reduces dpkg-deb to the equivalent of
+//config:        "ar -p <deb> data.tar.gz | tar -zx". However it saves space as none
+//config:        of the extra dpkg-deb, ar or tar options are needed, they are linked
+//config:        to internally.
+
 //applet:IF_DPKG_DEB(APPLET_ODDNAME(dpkg-deb, dpkg_deb, BB_DIR_USR_BIN, BB_SUID_DROP, dpkg_deb))
 //kbuild:lib-$(CONFIG_DPKG_DEB) += dpkg_deb.o
 
index 5d6fdb9..1e779c9 100644 (file)
@@ -15,7 +15,6 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
-
 /* big objects in bss:
  * 00000020 b bl_count
  * 00000074 b base_length
@@ -31,7 +30,6 @@
  * 00000480 b static_ltree
  * 000008f4 b dyn_ltree
  */
-
 /* TODO: full support for -v for DESKTOP
  * "/usr/bin/gzip -v a bogus aa" should say:
 a:       85.1% -- replaced with a.gz
@@ -39,6 +37,32 @@ gzip: bogus: No such file or directory
 aa:      85.1% -- replaced with aa.gz
 */
 
+//config:config GZIP
+//config:      bool "gzip"
+//config:      default y
+//config:      help
+//config:        gzip is used to compress files.
+//config:        It's probably the most widely used UNIX compression program.
+//config:
+//config:config FEATURE_GZIP_LONG_OPTIONS
+//config:      bool "Enable long options"
+//config:      default y
+//config:      depends on GZIP && LONG_OPTS
+//config:      help
+//config:        Enable use of long options, increases size by about 106 Bytes
+//config:
+//config:config GZIP_FAST
+//config:      int "Trade memory for gzip speed (0:small,slow - 2:fast,big)"
+//config:      default 0
+//config:      range 0 2
+//config:      depends on GZIP
+//config:      help
+//config:        Enable big memory options for gzip.
+//config:        0: small buffers, small hash-tables
+//config:        1: larger buffers, larger hash-tables
+//config:        2: larger buffers, largest hash-tables
+//config:        Larger models may give slightly better compression
+
 //applet:IF_GZIP(APPLET(gzip, BB_DIR_BIN, BB_SUID_DROP))
 //kbuild:lib-$(CONFIG_GZIP) += gzip.o
 
index 9007d53..5062d93 100644 (file)
    "Minimalized" for busybox by Alain Knaff
 */
 
+//config:config LZOP
+//config:      bool "lzop"
+//config:      default y
+//config:      help
+//config:        Lzop compression/decompresion.
+//config:
+//config:config LZOP_COMPR_HIGH
+//config:      bool "lzop compression levels 7,8,9 (not very useful)"
+//config:      default n
+//config:      depends on LZOP
+//config:      help
+//config:        High levels (7,8,9) of lzop compression. These levels
+//config:        are actually slower than gzip at equivalent compression ratios
+//config:        and take up 3.2K of code.
+
 //applet:IF_LZOP(APPLET(lzop, BB_DIR_BIN, BB_SUID_DROP))
 //applet:IF_LZOP(APPLET_ODDNAME(lzopcat, lzop, BB_DIR_USR_BIN, BB_SUID_DROP, lzopcat))
 //applet:IF_LZOP(APPLET_ODDNAME(unlzop, lzop, BB_DIR_USR_BIN, BB_SUID_DROP, unlzop))
index 81a1d1d..885eddd 100644 (file)
@@ -7,6 +7,12 @@
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
 
+//config:config RPM
+//config:      bool "rpm"
+//config:      default y
+//config:      help
+//config:        Mini RPM applet - queries and extracts RPM packages.
+
 //applet:IF_RPM(APPLET(rpm, BB_DIR_BIN, BB_SUID_DROP))
 //kbuild:lib-$(CONFIG_RPM) += rpm.o
 
index c48fc14..61adde7 100644 (file)
@@ -7,6 +7,12 @@
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
 
+//config:config RPM2CPIO
+//config:      bool "rpm2cpio"
+//config:      default y
+//config:      help
+//config:        Converts a RPM file into a CPIO archive.
+
 //applet:IF_RPM2CPIO(APPLET(rpm2cpio, BB_DIR_USR_BIN, BB_SUID_DROP))
 //kbuild:lib-$(CONFIG_RPM2CPIO) += rpm2cpio.o
 
index 2504258..3877ea4 100644 (file)
@@ -22,7 +22,6 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
-
 /* TODO: security with -C DESTDIR option can be enhanced.
  * Consider tar file created via:
  * $ tar cvf bug.tar anything.txt
  * This doesn't feel right, and IIRC GNU tar doesn't do that.
  */
 
+//config:config TAR
+//config:      bool "tar"
+//config:      default y
+//config:      help
+//config:        tar is an archiving program. It's commonly used with gzip to
+//config:        create compressed archives. It's probably the most widely used
+//config:        UNIX archive program.
+//config:
+//config:config FEATURE_TAR_CREATE
+//config:      bool "Enable archive creation"
+//config:      default y
+//config:      depends on TAR
+//config:      help
+//config:        If you enable this option you'll be able to create
+//config:        tar archives using the `-c' option.
+//config:
+//config:config FEATURE_TAR_AUTODETECT
+//config:      bool "Autodetect compressed tarballs"
+//config:      default y
+//config:      depends on TAR && (FEATURE_SEAMLESS_Z || FEATURE_SEAMLESS_GZ || FEATURE_SEAMLESS_BZ2 || FEATURE_SEAMLESS_LZMA || FEATURE_SEAMLESS_XZ)
+//config:      help
+//config:        With this option tar can automatically detect compressed
+//config:        tarballs. Currently it works only on files (not pipes etc).
+//config:
+//config:config FEATURE_TAR_FROM
+//config:      bool "Enable -X (exclude from) and -T (include from) options)"
+//config:      default y
+//config:      depends on TAR
+//config:      help
+//config:        If you enable this option you'll be able to specify
+//config:        a list of files to include or exclude from an archive.
+//config:
+//config:config FEATURE_TAR_OLDGNU_COMPATIBILITY
+//config:      bool "Support for old tar header format"
+//config:      default y
+//config:      depends on TAR || DPKG
+//config:      help
+//config:        This option is required to unpack archives created in
+//config:        the old GNU format; help to kill this old format by
+//config:        repacking your ancient archives with the new format.
+//config:
+//config:config FEATURE_TAR_OLDSUN_COMPATIBILITY
+//config:      bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
+//config:      default y
+//config:      depends on TAR || DPKG
+//config:      help
+//config:        This option is required to unpack archives created by some old
+//config:        version of Sun's tar (it was calculating checksum using signed
+//config:        arithmetic). It is said to be fixed in newer Sun tar, but "old"
+//config:        tarballs still exist.
+//config:
+//config:config FEATURE_TAR_GNU_EXTENSIONS
+//config:      bool "Support for GNU tar extensions (long filenames)"
+//config:      default y
+//config:      depends on TAR || DPKG
+//config:      help
+//config:        With this option busybox supports GNU long filenames and
+//config:        linknames.
+//config:
+//config:config FEATURE_TAR_LONG_OPTIONS
+//config:      bool "Enable long options"
+//config:      default y
+//config:      depends on TAR && LONG_OPTS
+//config:      help
+//config:        Enable use of long options, increases size by about 400 Bytes
+//config:
+//config:config FEATURE_TAR_TO_COMMAND
+//config:      bool "Support for writing to an external program"
+//config:      default y
+//config:      depends on TAR && FEATURE_TAR_LONG_OPTIONS
+//config:      help
+//config:        If you enable this option you'll be able to instruct tar to send
+//config:        the contents of each extracted file to the standard input of an
+//config:        external program.
+//config:
+//config:config FEATURE_TAR_UNAME_GNAME
+//config:      bool "Enable use of user and group names"
+//config:      default y
+//config:      depends on TAR
+//config:      help
+//config:        Enables use of user and group names in tar. This affects contents
+//config:        listings (-t) and preserving permissions when unpacking (-p).
+//config:        +200 bytes.
+//config:
+//config:config FEATURE_TAR_NOPRESERVE_TIME
+//config:      bool "Enable -m (do not preserve time) option"
+//config:      default y
+//config:      depends on TAR
+//config:      help
+//config:        With this option busybox supports GNU tar -m
+//config:        (do not preserve time) option.
+//config:
+//config:config FEATURE_TAR_SELINUX
+//config:      bool "Support for extracting SELinux labels"
+//config:      default n
+//config:      depends on TAR && SELINUX
+//config:      help
+//config:        With this option busybox supports restoring SELinux labels
+//config:        when extracting files from tar archives.
+
 //applet:IF_TAR(APPLET(tar, BB_DIR_BIN, BB_SUID_DROP))
 //kbuild:lib-$(CONFIG_TAR) += tar.o
 
index 9825986..fcfc9a4 100644 (file)
  * Zip64 + other methods
  */
 
+//config:config UNZIP
+//config:      bool "unzip"
+//config:      default y
+//config:      help
+//config:        unzip will list or extract files from a ZIP archive,
+//config:        commonly found on DOS/WIN systems. The default behavior
+//config:        (with no options) is to extract the archive into the
+//config:        current directory. Use the `-d' option to extract to a
+//config:        directory of your choice.
+
 //applet:IF_UNZIP(APPLET(unzip, BB_DIR_USR_BIN, BB_SUID_DROP))
 //kbuild:lib-$(CONFIG_UNZIP) += unzip.o