add dpkg-deb command
authorGlenn L McGrath <bug1@ihug.co.nz>
Tue, 2 Jan 2001 23:41:50 +0000 (23:41 -0000)
committerGlenn L McGrath <bug1@ihug.co.nz>
Tue, 2 Jan 2001 23:41:50 +0000 (23:41 -0000)
Changelog
Config.h
applets.h
applets/usage.c
ar.c
archival/ar.c
archival/tar.c
include/applets.h
tar.c
usage.c

index d5c7ec31ce389fac961cebc59e5899b3ecddfe6e..2803ad902fbda94c4febacf96320840a4e69ffdd 100644 (file)
--- 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
 
index c156d949c83df36b17d4cffcb9ab46bcdafe2862..e3bc731b09a9de01716d10914070026e1ec7b7a2 100644 (file)
--- 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
 #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
index fe8c597827fcead05fd54200e05bb1179f9f1bbb..4837cb564235421b923ae509832be8b954f78a63 100644 (file)
--- 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
index b904e0c7c9258bd004eae553075152188e94c0f2..e92b87a9cc373a0b4c98fa19d76b93cb9ba1a8cd 100644 (file)
@@ -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 bd54bb6b869b5806cb2ab710d8cfc1ab70a9f49c..596574e6af3c7a0f64567a24d9dd645453f05563 100644 (file)
--- 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 */
index bd54bb6b869b5806cb2ab710d8cfc1ab70a9f49c..596574e6af3c7a0f64567a24d9dd645453f05563 100644 (file)
@@ -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 */
index 04e351e37e811374add0c179cf8278f77ae922d0..4971e4775a8ea6c017c11c0da8ed6521438f92fe 100644 (file)
@@ -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];
index fe8c597827fcead05fd54200e05bb1179f9f1bbb..4837cb564235421b923ae509832be8b954f78a63 100644 (file)
@@ -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 04e351e37e811374add0c179cf8278f77ae922d0..4971e4775a8ea6c017c11c0da8ed6521438f92fe 100644 (file)
--- 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 b904e0c7c9258bd004eae553075152188e94c0f2..e92b87a9cc373a0b4c98fa19d76b93cb9ba1a8cd 100644 (file)
--- 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"