1#
2# For a description of the syntax of this configuration file,
3# see scripts/kbuild/config-language.txt.
4#
5
6menu "Archival Utilities"
7
8INSERT
9
10config FEATURE_SEAMLESS_XZ
11	bool "Make tar, rpm, modprobe etc understand .xz data"
12	default y
13	help
14	  Make tar, rpm, modprobe etc understand .xz data.
15
16config FEATURE_SEAMLESS_LZMA
17	bool "Make tar, rpm, modprobe etc understand .lzma data"
18	default y
19	help
20	  Make tar, rpm, modprobe etc understand .lzma data.
21
22config FEATURE_SEAMLESS_BZ2
23	bool "Make tar, rpm, modprobe etc understand .bz2 data"
24	default y
25	help
26	  Make tar, rpm, modprobe etc understand .bz2 data.
27
28config FEATURE_SEAMLESS_GZ
29	bool "Make tar, rpm, modprobe etc understand .gz data"
30	default y
31	help
32	  Make tar, rpm, modprobe etc understand .gz data.
33
34config FEATURE_SEAMLESS_Z
35	bool "Make tar and gunzip understand .Z data"
36	default n
37	help
38	  Make tar and gunzip understand .Z data.
39
40config AR
41	bool "ar"
42	default n  # needs to be improved to be able to replace binutils ar
43	help
44	  ar is an archival utility program used to create, modify, and
45	  extract contents from archives. An archive is a single file holding
46	  a collection of other files in a structure that makes it possible to
47	  retrieve the original individual files (called archive members).
48	  The original files' contents, mode (permissions), timestamp, owner,
49	  and group are preserved in the archive, and can be restored on
50	  extraction.
51
52	  The stored filename is limited to 15 characters. (for more information
53	  see long filename support).
54	  ar has 60 bytes of overheads for every stored file.
55
56	  This implementation of ar can extract archives, it cannot create or
57	  modify them.
58	  On an x86 system, the ar applet adds about 1K.
59
60	  Unless you have a specific application which requires ar, you should
61	  probably say N here.
62
63config FEATURE_AR_LONG_FILENAMES
64	bool "Support for long filenames (not needed for debs)"
65	default y
66	depends on AR
67	help
68	  By default the ar format can only store the first 15 characters
69	  of the filename, this option removes that limitation.
70	  It supports the GNU ar long filename method which moves multiple long
71	  filenames into a the data section of a new ar entry.
72
73config FEATURE_AR_CREATE
74	bool "Support archive creation"
75	default y
76	depends on AR
77	help
78	  This enables archive creation (-c and -r) with busybox ar.
79
80config BUNZIP2
81	bool "bunzip2"
82	default y
83	help
84	  bunzip2 is a compression utility using the Burrows-Wheeler block
85	  sorting text compression algorithm, and Huffman coding. Compression
86	  is generally considerably better than that achieved by more
87	  conventional LZ77/LZ78-based compressors, and approaches the
88	  performance of the PPM family of statistical compressors.
89
90	  Unless you have a specific application which requires bunzip2, you
91	  should probably say N here.
92
93config BZIP2
94	bool "bzip2"
95	default y
96	help
97	  bzip2 is a compression utility using the Burrows-Wheeler block
98	  sorting text compression algorithm, and Huffman coding. Compression
99	  is generally considerably better than that achieved by more
100	  conventional LZ77/LZ78-based compressors, and approaches the
101	  performance of the PPM family of statistical compressors.
102
103	  Unless you have a specific application which requires bzip2, you
104	  should probably say N here.
105
106config CPIO
107	bool "cpio"
108	default y
109	help
110	  cpio is an archival utility program used to create, modify, and
111	  extract contents from archives.
112	  cpio has 110 bytes of overheads for every stored file.
113
114	  This implementation of cpio can extract cpio archives created in the
115	  "newc" or "crc" format, it cannot create or modify them.
116
117	  Unless you have a specific application which requires cpio, you
118	  should probably say N here.
119
120config FEATURE_CPIO_O
121	bool "Support for archive creation"
122	default y
123	depends on CPIO
124	help
125	  This implementation of cpio can create cpio archives in the "newc"
126	  format only.
127
128config FEATURE_CPIO_P
129	bool "Support for passthrough mode"
130	default y
131	depends on FEATURE_CPIO_O
132	help
133	  Passthrough mode. Rarely used.
134
135config DPKG
136	bool "dpkg"
137	default n
138	select FEATURE_SEAMLESS_GZ
139	help
140	  dpkg is a medium-level tool to install, build, remove and manage
141	  Debian packages.
142
143	  This implementation of dpkg has a number of limitations,
144	  you should use the official dpkg if possible.
145
146config DPKG_DEB
147	bool "dpkg_deb"
148	default n
149	select FEATURE_SEAMLESS_GZ
150	help
151	  dpkg-deb unpacks and provides information about Debian archives.
152
153	  This implementation of dpkg-deb cannot pack archives.
154
155	  Unless you have a specific application which requires dpkg-deb,
156	  say N here.
157
158config FEATURE_DPKG_DEB_EXTRACT_ONLY
159	bool "Extract only (-x)"
160	default n
161	depends on DPKG_DEB
162	help
163	  This reduces dpkg-deb to the equivalent of
164	  "ar -p <deb> data.tar.gz | tar -zx". However it saves space as none
165	  of the extra dpkg-deb, ar or tar options are needed, they are linked
166	  to internally.
167
168config GUNZIP
169	bool "gunzip"
170	default y
171	help
172	  gunzip is used to decompress archives created by gzip.
173	  You can use the `-t' option to test the integrity of
174	  an archive, without decompressing it.
175
176config GZIP
177	bool "gzip"
178	default y
179	help
180	  gzip is used to compress files.
181	  It's probably the most widely used UNIX compression program.
182
183config FEATURE_GZIP_LONG_OPTIONS
184	bool "Enable long options"
185	default y
186	depends on GZIP && LONG_OPTS
187	help
188	  Enable use of long options, increases size by about 106 Bytes
189
190config LZOP
191	bool "lzop"
192	default y
193	help
194	  Lzop compression/decompresion.
195
196config LZOP_COMPR_HIGH
197	bool "lzop complession levels 7,8,9 (not very useful)"
198	default n
199	depends on LZOP
200	help
201	  High levels (7,8,9) of lzop compression. These levels
202	  are actually slower than gzip at equivalent compression ratios
203	  and take up 3.2K of code.
204
205config RPM2CPIO
206	bool "rpm2cpio"
207	default y
208	help
209	  Converts an RPM file into a CPIO archive.
210
211config RPM
212	bool "rpm"
213	default y
214	help
215	  Mini RPM applet - queries and extracts RPM packages.
216
217config TAR
218	bool "tar"
219	default y
220	help
221	  tar is an archiving program. It's commonly used with gzip to
222	  create compressed archives. It's probably the most widely used
223	  UNIX archive program.
224
225config FEATURE_TAR_CREATE
226	bool "Enable archive creation"
227	default y
228	depends on TAR
229	help
230	  If you enable this option you'll be able to create
231	  tar archives using the `-c' option.
232
233config FEATURE_TAR_AUTODETECT
234	bool "Autodetect compressed tarballs"
235	default y
236	depends on TAR && (FEATURE_SEAMLESS_Z || FEATURE_SEAMLESS_GZ || FEATURE_SEAMLESS_BZ2 || FEATURE_SEAMLESS_LZMA || FEATURE_SEAMLESS_XZ)
237	help
238	  With this option tar can automatically detect compressed
239	  tarballs. Currently it works only on files (not pipes etc).
240
241config FEATURE_TAR_FROM
242	bool "Enable -X (exclude from) and -T (include from) options)"
243	default y
244	depends on TAR
245	help
246	  If you enable this option you'll be able to specify
247	  a list of files to include or exclude from an archive.
248
249config FEATURE_TAR_OLDGNU_COMPATIBILITY
250	bool "Support for old tar header format"
251	default y
252	depends on TAR || DPKG
253	help
254	  This option is required to unpack archives created in
255	  the old GNU format; help to kill this old format by
256	  repacking your ancient archives with the new format.
257
258config FEATURE_TAR_OLDSUN_COMPATIBILITY
259	bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
260	default y
261	depends on TAR || DPKG
262	help
263	  This option is required to unpack archives created by some old
264	  version of Sun's tar (it was calculating checksum using signed
265	  arithmetic). It is said to be fixed in newer Sun tar, but "old"
266	  tarballs still exist.
267
268config FEATURE_TAR_GNU_EXTENSIONS
269	bool "Support for GNU tar extensions (long filenames)"
270	default y
271	depends on TAR || DPKG
272	help
273	  With this option busybox supports GNU long filenames and
274	  linknames.
275
276config FEATURE_TAR_LONG_OPTIONS
277	bool "Enable long options"
278	default y
279	depends on TAR && LONG_OPTS
280	help
281	  Enable use of long options, increases size by about 400 Bytes
282
283config FEATURE_TAR_TO_COMMAND
284	bool "Support for writing to an external program"
285	default y
286	depends on TAR && FEATURE_TAR_LONG_OPTIONS
287	help
288	  If you enable this option you'll be able to instruct tar to send
289	  the contents of each extracted file to the standard input of an
290	  external program.
291
292config FEATURE_TAR_UNAME_GNAME
293	bool "Enable use of user and group names"
294	default y
295	depends on TAR
296	help
297	  Enables use of user and group names in tar. This affects contents
298	  listings (-t) and preserving permissions when unpacking (-p).
299	  +200 bytes.
300
301config FEATURE_TAR_NOPRESERVE_TIME
302	bool "Enable -m (do not preserve time) option"
303	default y
304	depends on TAR
305	help
306	  With this option busybox supports GNU tar -m
307	  (do not preserve time) option.
308
309config FEATURE_TAR_SELINUX
310	bool "Support for extracting SELinux labels"
311	default n
312	depends on TAR && SELINUX
313	help
314	  With this option busybox supports restoring SELinux labels
315	  when extracting files from tar archives.
316
317config UNCOMPRESS
318	bool "uncompress"
319	default n
320	help
321	  uncompress is used to decompress archives created by compress.
322	  Not much used anymore, replaced by gzip/gunzip.
323
324config UNLZMA
325	bool "unlzma"
326	default y
327	help
328	  unlzma is a compression utility using the Lempel-Ziv-Markov chain
329	  compression algorithm, and range coding. Compression
330	  is generally considerably better than that achieved by the bzip2
331	  compressors.
332
333	  The BusyBox unlzma applet is limited to de-compression only.
334	  On an x86 system, this applet adds about 4K.
335
336	  Unless you have a specific application which requires unlzma, you
337	  should probably say N here.
338
339config FEATURE_LZMA_FAST
340	bool "Optimize unlzma for speed"
341	default y
342	depends on UNLZMA
343	help
344	  This option reduces decompression time by about 25% at the cost of
345	  a 1K bigger binary.
346
347config LZMA
348	bool "Provide lzma alias which supports only unpacking"
349	default y
350	depends on UNLZMA
351	help
352	  Enable this option if you want commands like "lzma -d" to work.
353	  IOW: you'll get lzma applet, but it will always require -d option.
354
355config UNXZ
356	bool "unxz"
357	default y
358	help
359	  unxz is a unlzma successor.
360
361config XZ
362	bool "Provide xz alias which supports only unpacking"
363	default y
364	depends on UNXZ
365	help
366	  Enable this option if you want commands like "xz -d" to work.
367	  IOW: you'll get xz applet, but it will always require -d option.
368
369config UNZIP
370	bool "unzip"
371	default y
372	help
373	  unzip will list or extract files from a ZIP archive,
374	  commonly found on DOS/WIN systems. The default behavior
375	  (with no options) is to extract the archive into the
376	  current directory. Use the `-d' option to extract to a
377	  directory of your choice.
378
379endmenu
380