archival/*: move "config:" snippets into .c files
No binary (build failed)
—
(log yok)
| @@ -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 | |
| @@ -17,6 +17,46 @@ | |
| * 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 | |
| @@ -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)) | |
| @@ -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 | |
| @@ -13,6 +13,35 @@ | |
| #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 | |
| @@ -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 | |
| @@ -27,6 +26,17 @@ | |
| * - (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 | |
| @@ -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 | |
| @@ -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 | |
| @@ -25,6 +25,21 @@ | |
| "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)) | |
| @@ -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 | |
| @@ -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 | |
| @@ -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 | |
| @@ -42,6 +41,106 @@ | |
| * 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 | |
| @@ -17,6 +17,16 @@ | |
| * 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 | |