diff options
author | Glenn L McGrath <bug1@ihug.co.nz> | 2001-02-12 11:16:26 +0000 |
---|---|---|
committer | Glenn L McGrath <bug1@ihug.co.nz> | 2001-02-12 11:16:26 +0000 |
commit | 821fbf0f42f8b2dc214470a18217e935e3608ca6 (patch) | |
tree | 0c75619fc63850446969c5a58ab04fe6dfe69947 /archival | |
parent | bc9afadecd96881567ea9b66c9c7d390592716fe (diff) | |
download | busybox-821fbf0f42f8b2dc214470a18217e935e3608ca6.tar.gz |
New option 'list' produces output that can be used for the packages .list file.
Will be used be bb dpkg
Diffstat (limited to 'archival')
-rw-r--r-- | archival/dpkg_deb.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/archival/dpkg_deb.c b/archival/dpkg_deb.c index 32ef4ca75..aed0ba368 100644 --- a/archival/dpkg_deb.c +++ b/archival/dpkg_deb.c @@ -42,11 +42,12 @@ extern int tar_unzip_init(int tarFd); extern int readTarFile(int tarFd, int extractFlag, int listFlag, int tostdoutFlag, int verboseFlag, char** extractList, char** excludeList); -const int dpkg_deb_contents = 1; -const int dpkg_deb_control = 2; +static const int dpkg_deb_contents = 1; +static const int dpkg_deb_control = 2; // const int dpkg_deb_info = 4; -const int dpkg_deb_extract = 8; -const int dpkg_deb_verbose_extract = 16; +static const int dpkg_deb_extract = 8; +static const int dpkg_deb_verbose_extract = 16; +static const int dpkg_deb_list = 32; extern int deb_extract(int optflags, const char *dir_name, const char *deb_filename) { @@ -65,6 +66,10 @@ extern int deb_extract(int optflags, const char *dir_name, const char *deb_filen verbose_flag = TRUE; list_flag = TRUE; } + if (dpkg_deb_list == (dpkg_deb_list & optflags)) { + strcpy(ar_filename, "data.tar.gz"); + list_flag = TRUE; + } if (dpkg_deb_control == (dpkg_deb_control & optflags)) { strcpy(ar_filename, "control.tar.gz"); extract_flag = TRUE; @@ -114,7 +119,7 @@ extern int dpkg_deb_main(int argc, char **argv) int opt = 0; int optflag = 0; - while ((opt = getopt(argc, argv, "cexX")) != -1) { + while ((opt = getopt(argc, argv, "cexXl")) != -1) { switch (opt) { case 'c': optflag |= dpkg_deb_contents; @@ -128,6 +133,9 @@ extern int dpkg_deb_main(int argc, char **argv) case 'x': optflag |= dpkg_deb_extract; break; + case 'l': + optflag |= dpkg_deb_list; + break; /* case 'I': optflag |= dpkg_deb_info; break; |