diff --git a/Changelog b/Changelog index d5c7ec31c..2803ad902 100644 --- a/Changelog +++ b/Changelog @@ -1,5 +1,6 @@ 0.49pre - + + * Glenn McGrath -- new 'dpkg-deb' command * me -- md5sum was broken. Now fixed. * Matt Kraai -- new sort.c diff --git a/Config.h b/Config.h index c156d949c..e3bc731b0 100644 --- a/Config.h +++ b/Config.h @@ -25,6 +25,7 @@ #define BB_DIRNAME #define BB_DMESG #define BB_DOS2UNIX +#define BB_DPKG_DEB #define BB_DUTMP #define BB_DU #define BB_DUMPKMAP @@ -327,6 +328,18 @@ #endif #endif // +#ifdef BB_DPKG_DEB +#ifndef BB_AR +#define BB_AR +#endif +#ifndef BB_TAR +#define BB_TAR +#endif +#ifndef BB_FEATURE_TAR_GZIP +#define BB_FEATURE_TAR_GZIP +#endif +#endif +// #ifdef BB_TAR #ifdef BB_FEATURE_TAR_GZIP #ifndef BB_GUNZIP diff --git a/applets.h b/applets.h index fe8c59782..4837cb564 100644 --- a/applets.h +++ b/applets.h @@ -89,6 +89,9 @@ const struct BB_applet applets[] = { #ifdef BB_DOS2UNIX APPLET("dos2unix", dos2unix_main, _BB_DIR_USR_BIN, dos2unix_usage) #endif +#ifdef BB_DPKG_DEB + APPLET("dpkg-deb", dpkg_deb_main, _BB_DIR_USR_BIN, dpkg_deb_usage) +#endif #ifdef BB_DU APPLET("du", du_main, _BB_DIR_USR_BIN, du_usage) #endif diff --git a/applets/usage.c b/applets/usage.c index b904e0c7c..e92b87a9c 100644 --- a/applets/usage.c +++ b/applets/usage.c @@ -228,6 +228,20 @@ const char dos2unix_usage[] = ; #endif +#if defined BB_DPKG_DEB +const char dpkg_deb_usage[] = + "dpkg-deb [-cexX] file directory" +#ifndef BB_FEATURE_TRIVIAL_HELP + "Perform actions on debian packages (.debs)\n" + "Options:\n" + "\t-c\tList contents of filesystem tree\n" + "\t-e\tExtract control files to directory\n" + "\t-x\tExctract packages filesystem tree to directory\n" + "\t-X\tVerbose extract\n" +#endif + ; +#endif + #if defined BB_DU const char du_usage[] = "du [OPTION]... [FILE]...\n" diff --git a/ar.c b/ar.c index bd54bb6b8..596574e6a 100644 --- a/ar.c +++ b/ar.c @@ -39,7 +39,7 @@ typedef struct ar_headers_s { /* * return the headerL_t struct for the filename descriptor */ -static ar_headers_t get_headers(int srcFd) +extern ar_headers_t get_headers(int srcFd) { typedef struct raw_ar_header_s { /* Byte Offset */ char name[16]; /* 0-15 */ diff --git a/archival/ar.c b/archival/ar.c index bd54bb6b8..596574e6a 100644 --- a/archival/ar.c +++ b/archival/ar.c @@ -39,7 +39,7 @@ typedef struct ar_headers_s { /* * return the headerL_t struct for the filename descriptor */ -static ar_headers_t get_headers(int srcFd) +extern ar_headers_t get_headers(int srcFd) { typedef struct raw_ar_header_s { /* Byte Offset */ char name[16]; /* 0-15 */ diff --git a/archival/tar.c b/archival/tar.c index 04e351e37..4971e4775 100644 --- a/archival/tar.c +++ b/archival/tar.c @@ -134,7 +134,7 @@ struct TarInfo typedef struct TarInfo TarInfo; /* Local procedures to restore files from a tar file. */ -static int readTarFile(int tarFd, int extractFlag, int listFlag, +extern int readTarFile(int tarFd, int extractFlag, int listFlag, int tostdoutFlag, int verboseFlag, char** extractList, char** excludeList); @@ -153,7 +153,7 @@ void child_died() exit(EXIT_FAILURE); } -static int tar_unzip_init(int tarFd) +extern int tar_unzip_init(int tarFd) { int child_pid; static int unzip_pipe[2]; diff --git a/include/applets.h b/include/applets.h index fe8c59782..4837cb564 100644 --- a/include/applets.h +++ b/include/applets.h @@ -89,6 +89,9 @@ const struct BB_applet applets[] = { #ifdef BB_DOS2UNIX APPLET("dos2unix", dos2unix_main, _BB_DIR_USR_BIN, dos2unix_usage) #endif +#ifdef BB_DPKG_DEB + APPLET("dpkg-deb", dpkg_deb_main, _BB_DIR_USR_BIN, dpkg_deb_usage) +#endif #ifdef BB_DU APPLET("du", du_main, _BB_DIR_USR_BIN, du_usage) #endif diff --git a/tar.c b/tar.c index 04e351e37..4971e4775 100644 --- a/tar.c +++ b/tar.c @@ -134,7 +134,7 @@ struct TarInfo typedef struct TarInfo TarInfo; /* Local procedures to restore files from a tar file. */ -static int readTarFile(int tarFd, int extractFlag, int listFlag, +extern int readTarFile(int tarFd, int extractFlag, int listFlag, int tostdoutFlag, int verboseFlag, char** extractList, char** excludeList); @@ -153,7 +153,7 @@ void child_died() exit(EXIT_FAILURE); } -static int tar_unzip_init(int tarFd) +extern int tar_unzip_init(int tarFd) { int child_pid; static int unzip_pipe[2]; diff --git a/usage.c b/usage.c index b904e0c7c..e92b87a9c 100644 --- a/usage.c +++ b/usage.c @@ -228,6 +228,20 @@ const char dos2unix_usage[] = ; #endif +#if defined BB_DPKG_DEB +const char dpkg_deb_usage[] = + "dpkg-deb [-cexX] file directory" +#ifndef BB_FEATURE_TRIVIAL_HELP + "Perform actions on debian packages (.debs)\n" + "Options:\n" + "\t-c\tList contents of filesystem tree\n" + "\t-e\tExtract control files to directory\n" + "\t-x\tExctract packages filesystem tree to directory\n" + "\t-X\tVerbose extract\n" +#endif + ; +#endif + #if defined BB_DU const char du_usage[] = "du [OPTION]... [FILE]...\n"