debootstrap: move package to the admin directory
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 22 Jun 2010 00:34:39 +0000 (00:34 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 22 Jun 2010 00:34:39 +0000 (00:34 +0000)
SVN-Revision: 21869

admin/debootstrap/Makefile [new file with mode: 0644]
admin/debootstrap/files/pkgdetails.c [new file with mode: 0644]
admin/debootstrap/patches/00-no_dpkg_deb.diff [new file with mode: 0644]
utils/debootstrap/Makefile [deleted file]
utils/debootstrap/files/pkgdetails.c [deleted file]
utils/debootstrap/patches/00-no_dpkg_deb.diff [deleted file]

diff --git a/admin/debootstrap/Makefile b/admin/debootstrap/Makefile
new file mode 100644 (file)
index 0000000..1246a50
--- /dev/null
@@ -0,0 +1,47 @@
+#
+# Copyright (C) 2010 Gianluigi Tiesi <sherpya@netfarm.it>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=debootstrap
+PKG_VERSION:=1.0.23
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-udeb_$(PKG_VERSION)_all.udeb
+PKG_SOURCE_URL:=http://ftp.it.debian.org/debian/pool/main/d/debootstrap
+PKG_MD5SUM:=8cda29a71c3e951fa61eeae5d802ec76
+
+#UNPACK_CMD=dpkg-deb --fsys-tarfile $(DL_DIR)/$(PKG_SOURCE) | ( cd $(1) && tar -xf - )
+UNPACK_CMD=ar -p "$(DL_DIR)/$(PKG_SOURCE)" data.tar.gz | ( cd $(1) && tar -xzf - )
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/debootstrap
+       SECTION:=admin
+       CATEGORY:=Administration
+       TITLE:=Bootstrap a basic Debian system
+       URL:=http://wiki.debian.org/Debootstrap
+       DEPENDS:=+coreutils-chroot
+       MAINTAINER:=Gianluigi Tiesi <sherpya@netfarm.it>
+endef
+
+define Package/debootstrap/description
+ debootstrap is used to create a Debian base system from scratch,
+ without requiring the availability of dpkg or apt. It does this by
+ downloading .deb files from a mirror site, and carefully unpacking them
+ into a directory which can eventually be chrooted into.
+endef
+
+define Build/Compile
+       $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) ./files/pkgdetails.c -o $(PKG_BUILD_DIR)/usr/share/debootstrap/pkgdetails
+endef
+
+define Package/debootstrap/install
+       cd $(PKG_BUILD_DIR) && ( $(FIND) usr | cpio -pd $(1) )
+endef
+
+$(eval $(call BuildPackage,debootstrap))
diff --git a/admin/debootstrap/files/pkgdetails.c b/admin/debootstrap/files/pkgdetails.c
new file mode 100644 (file)
index 0000000..e4a8bc0
--- /dev/null
@@ -0,0 +1,278 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#define MAX_LINE 1000
+#define MAX_PKGS 100
+
+static char *fieldcpy(char *dst, char *fld) {
+    while (*fld && *fld != ':') 
+        fld++;
+    if (!*(fld++)) 
+        return NULL;
+    while (isspace(*fld)) fld++;
+    return strcpy(dst, fld);
+}
+
+static void dogetdeps(char *pkgsfile, char **in_pkgs, int pkgc) {
+    char buf[MAX_LINE];
+    char cur_pkg[MAX_LINE];
+    char cur_deps[MAX_LINE];
+    char *pkgs[MAX_PKGS];
+    int i;
+    int skip;
+    FILE *f;
+
+    cur_pkg[0] = cur_deps[0] = '\0';
+
+    for (i = 0; i < pkgc; i++) pkgs[i] = in_pkgs[i];
+
+    f = fopen(pkgsfile, "r");
+    if (f == NULL) {
+        perror(pkgsfile);
+        exit(1);
+    }
+
+    skip = 1;
+    while (fgets(buf, sizeof(buf), f)) {
+        if (*buf && buf[strlen(buf)-1] == '\n') buf[strlen(buf)-1] = '\0';
+        if (strncasecmp(buf, "Package:", 8) == 0) {
+            int any = 0;
+            skip = 1;
+            fieldcpy(cur_pkg, buf);
+           for (i = 0; i < pkgc; i++) {
+               if (!pkgs[i]) continue;
+               any = 1;
+                if (strcmp(cur_pkg, pkgs[i]) == 0) {
+                    skip = 0;
+                    pkgs[i] = NULL;
+                    break;
+                }
+            }
+            if (!any) break;
+        } else if (!skip && 
+            (strncasecmp(buf, "Depends:", 8) == 0 || 
+             strncasecmp(buf, "Pre-Depends:", 12) == 0)) 
+        {
+            char *pch;
+            fieldcpy(cur_deps, buf);
+            pch = cur_deps;
+            while (1) {
+                while (isspace(*pch)) pch++;
+                if (!*pch) break;
+
+                while (*pch && *pch != '(' && *pch != '|' && *pch != ','
+                       && !isspace(*pch))
+                {
+                    fputc(*pch++, stdout);
+                }
+                fputc('\n', stdout);
+                while (*pch && *pch++ != ',') (void)NULL;
+            }
+        }
+    }
+    fclose(f);
+}
+
+static void dopkgmirrorpkgs(int uniq, char *mirror, char *pkgsfile, 
+        char *fieldname, char **in_pkgs, int pkgc) 
+{
+    char buf[MAX_LINE];
+    char cur_field[MAX_LINE];
+    char cur_pkg[MAX_LINE];
+    char cur_ver[MAX_LINE];
+    char cur_arch[MAX_LINE];
+    char cur_size[MAX_LINE];
+    char cur_md5[MAX_LINE];
+    char cur_filename[MAX_LINE];
+    char *pkgs[MAX_PKGS];
+    int i;
+    FILE *f;
+
+    cur_pkg[0] = cur_ver[0] = cur_arch[0] = cur_filename[0] = '\0';
+
+    for (i = 0; i < pkgc; i++) pkgs[i] = in_pkgs[i];
+
+    f = fopen(pkgsfile, "r");
+    if (f == NULL) {
+        perror(pkgsfile);
+        exit(1);
+    }
+    while (fgets(buf, sizeof(buf), f)) {
+        if (*buf && buf[strlen(buf)-1] == '\n') buf[strlen(buf)-1] = '\0';
+        if (strncasecmp(buf, fieldname, strlen(fieldname)) == 0) {
+            fieldcpy(cur_field, buf);
+       }
+        if (strncasecmp(buf, "Package:", 8) == 0) {
+            fieldcpy(cur_pkg, buf);
+        } else if (strncasecmp(buf, "Version:", 8) == 0) {
+            fieldcpy(cur_ver, buf);
+        } else if (strncasecmp(buf, "Architecture:", 13) == 0) {
+            fieldcpy(cur_arch, buf);
+        } else if (strncasecmp(buf, "Size:", 5) == 0) {
+            fieldcpy(cur_size, buf);
+        } else if (strncasecmp(buf, "MD5sum:", 7) == 0) {
+            fieldcpy(cur_md5, buf);
+        } else if (strncasecmp(buf, "Filename:", 9) == 0) {
+            fieldcpy(cur_filename, buf);
+        } else if (!*buf) {
+           int any = 0;
+           for (i = 0; i < pkgc; i++) {
+               if (!pkgs[i]) continue;
+               any = 1;
+                if (strcmp(cur_field, pkgs[i]) == 0) {
+                    printf("%s %s %s %s %s %s %s\n", cur_pkg, cur_ver, cur_arch, mirror, cur_filename, cur_md5, cur_size);
+                    if (uniq) pkgs[i] = NULL;
+                   break;
+               }
+            }
+           if (!any) break;
+        }
+    }
+    fclose(f);
+
+    /* any that weren't found are returned as "pkg -" */
+    if (uniq) {
+        for (i = 0; i < pkgc; i++) {
+            if (pkgs[i]) {
+                printf("%s -\n", pkgs[i]);
+            }
+        }
+    }
+}
+
+static void oom_die(void)
+{
+    fprintf(stderr, "Out of memory!\n");
+    exit(1);
+}
+
+static void dopkgstanzas(char *pkgsfile, char **pkgs, int pkgc)
+{
+    char buf[MAX_LINE];
+    char *accum;
+    size_t accum_size = 0, accum_alloc = MAX_LINE * 2;
+    char cur_pkg[MAX_LINE];
+    FILE *f;
+
+    accum = malloc(accum_alloc);
+    if (!accum)
+        oom_die();
+
+    f = fopen(pkgsfile, "r");
+    if (f == NULL) {
+        perror(pkgsfile);
+        free(accum);
+        exit(1);
+    }
+    while (fgets(buf, sizeof(buf), f)) {
+        if (*buf) {
+           size_t len = strlen(buf);
+            if (accum_size + len + 1 > accum_alloc) {
+                accum_alloc = (accum_size + len + 1) * 2;
+                accum = realloc(accum, accum_alloc);
+                if (!accum)
+                    oom_die();
+            }
+            strcpy(accum + accum_size, buf);
+           accum_size += len;
+        }
+        if (*buf && buf[strlen(buf)-1] == '\n') buf[strlen(buf)-1] = '\0';
+        if (strncasecmp(buf, "Package:", 8) == 0) {
+            fieldcpy(cur_pkg, buf);
+        } else if (!*buf) {
+            int i;
+            for (i = 0; i < pkgc; i++) {
+                if (!pkgs[i]) continue;
+                if (strcmp(cur_pkg, pkgs[i]) == 0) {
+                    fputs(accum, stdout);
+                   if (accum[accum_size - 1] != '\n')
+                       fputs("\n\n", stdout);
+                   else if (accum[accum_size - 2] != '\n')
+                       fputc('\n', stdout);
+                    break;
+                }
+            }
+            *accum = '\0';
+            accum_size = 0;
+        }
+    }
+    fclose(f);
+
+    free(accum);
+}
+
+static int dotranslatewgetpercent(int low, int high, int end, char *str) {
+    int ch;
+    int val, lastval;
+
+    /* print out anything that looks like a % on its own line, appropriately
+     * scaled */
+
+    lastval = val = 0;
+    while ( (ch = getchar()) != EOF ) {
+        if (isdigit(ch)) {
+           val *= 10; val += ch - '0';
+       } else if (ch == '%') {
+           float f = (float) val / 100.0 * (high - low) + low;
+           if (str) {
+               printf("P: %d %d %s\n", (int) f, end, str);
+           } else {
+               printf("P: %d %d\n", (int) f, end);
+           }
+           lastval = val;
+       } else {
+           val = 0;
+       }
+    }
+    return lastval == 100;
+}
+
+int main(int argc, char *argv[]) {
+    if ((argc == 6 || argc == 5) && strcmp(argv[1], "WGET%") == 0) {
+       if (dotranslatewgetpercent(atoi(argv[2]), atoi(argv[3]), 
+                                  atoi(argv[4]), argc == 6 ? argv[5] : NULL))
+       {
+           exit(0);
+       } else {
+           exit(1);
+       }
+    } else if (argc >= 4 && strcmp(argv[1], "GETDEPS") == 0) {
+        int i;
+        for (i = 3; argc - i > MAX_PKGS; i += MAX_PKGS) {
+           dogetdeps(argv[2], argv+i, MAX_PKGS);
+       }
+       dogetdeps(argv[2], argv+i, argc-i);
+       exit(0);
+    } else if (argc >= 5 && strcmp(argv[1], "PKGS") == 0) {
+        int i;
+        for (i = 4; argc - i > MAX_PKGS; i += MAX_PKGS) {
+           dopkgmirrorpkgs(1, argv[2], argv[3], "Package:", argv+i, MAX_PKGS);
+       }
+       dopkgmirrorpkgs(1, argv[2], argv[3], "Package:", argv+i, argc-i);
+       exit(0);
+    } else if (argc >= 6 && strcmp(argv[1], "FIELD") == 0) {
+        int i;
+        for (i = 5; argc - i > MAX_PKGS; i += MAX_PKGS) {
+           dopkgmirrorpkgs(0, argv[3], argv[4], argv[2], argv+i, MAX_PKGS);
+       }
+       dopkgmirrorpkgs(0, argv[3], argv[4], argv[2], argv+i, argc-i);
+       exit(0);
+    } else if (argc >= 4 && strcmp(argv[1], "STANZAS") == 0) {
+       int i;
+       for (i = 3; argc - i > MAX_PKGS; i += MAX_PKGS) {
+           dopkgstanzas(argv[2], argv+i, MAX_PKGS);
+       }
+       dopkgstanzas(argv[2], argv+i, argc-i);
+       exit(0);
+    } else {
+        fprintf(stderr, "usage: %s PKGS mirror packagesfile pkgs..\n", argv[0]);
+        fprintf(stderr, "   or: %s FIELD field mirror packagesfile pkgs..\n", 
+                argv[0]);
+        fprintf(stderr, "   or: %s GETDEPS packagesfile pkgs..\n", argv[0]);
+        fprintf(stderr, "   or: %s STANZAS packagesfile pkgs..\n", argv[0]);
+       fprintf(stderr, "   or: %s WGET%% low high end reason\n", argv[0]);
+        exit(1);
+    }
+}
diff --git a/admin/debootstrap/patches/00-no_dpkg_deb.diff b/admin/debootstrap/patches/00-no_dpkg_deb.diff
new file mode 100644 (file)
index 0000000..f9ed3f1
--- /dev/null
@@ -0,0 +1,14 @@
+--- debootstrap-1.0.23/usr/share/debootstrap/functions.orig    2010-06-20 23:46:12.000000000 +0200
++++ debootstrap-1.0.23/usr/share/debootstrap/functions 2010-06-20 23:46:53.000000000 +0200
+@@ -785,8 +785,9 @@
+       if [ -n "$EXTRACTOR_OVERRIDE" ]; then
+               extractor="$EXTRACTOR_OVERRIDE"
+-      elif type dpkg-deb >/dev/null 2>&1; then
+-              extractor="dpkg-deb"
++#     busybox's dpkg-deb is not suitable for this script
++#     elif type dpkg-deb >/dev/null 2>&1; then
++#             extractor="dpkg-deb"
+       else
+               extractor="ar"
+       fi
diff --git a/utils/debootstrap/Makefile b/utils/debootstrap/Makefile
deleted file mode 100644 (file)
index 1246a50..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Copyright (C) 2010 Gianluigi Tiesi <sherpya@netfarm.it>
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=debootstrap
-PKG_VERSION:=1.0.23
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-udeb_$(PKG_VERSION)_all.udeb
-PKG_SOURCE_URL:=http://ftp.it.debian.org/debian/pool/main/d/debootstrap
-PKG_MD5SUM:=8cda29a71c3e951fa61eeae5d802ec76
-
-#UNPACK_CMD=dpkg-deb --fsys-tarfile $(DL_DIR)/$(PKG_SOURCE) | ( cd $(1) && tar -xf - )
-UNPACK_CMD=ar -p "$(DL_DIR)/$(PKG_SOURCE)" data.tar.gz | ( cd $(1) && tar -xzf - )
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/debootstrap
-       SECTION:=admin
-       CATEGORY:=Administration
-       TITLE:=Bootstrap a basic Debian system
-       URL:=http://wiki.debian.org/Debootstrap
-       DEPENDS:=+coreutils-chroot
-       MAINTAINER:=Gianluigi Tiesi <sherpya@netfarm.it>
-endef
-
-define Package/debootstrap/description
- debootstrap is used to create a Debian base system from scratch,
- without requiring the availability of dpkg or apt. It does this by
- downloading .deb files from a mirror site, and carefully unpacking them
- into a directory which can eventually be chrooted into.
-endef
-
-define Build/Compile
-       $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) ./files/pkgdetails.c -o $(PKG_BUILD_DIR)/usr/share/debootstrap/pkgdetails
-endef
-
-define Package/debootstrap/install
-       cd $(PKG_BUILD_DIR) && ( $(FIND) usr | cpio -pd $(1) )
-endef
-
-$(eval $(call BuildPackage,debootstrap))
diff --git a/utils/debootstrap/files/pkgdetails.c b/utils/debootstrap/files/pkgdetails.c
deleted file mode 100644 (file)
index e4a8bc0..0000000
+++ /dev/null
@@ -1,278 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-
-#define MAX_LINE 1000
-#define MAX_PKGS 100
-
-static char *fieldcpy(char *dst, char *fld) {
-    while (*fld && *fld != ':') 
-        fld++;
-    if (!*(fld++)) 
-        return NULL;
-    while (isspace(*fld)) fld++;
-    return strcpy(dst, fld);
-}
-
-static void dogetdeps(char *pkgsfile, char **in_pkgs, int pkgc) {
-    char buf[MAX_LINE];
-    char cur_pkg[MAX_LINE];
-    char cur_deps[MAX_LINE];
-    char *pkgs[MAX_PKGS];
-    int i;
-    int skip;
-    FILE *f;
-
-    cur_pkg[0] = cur_deps[0] = '\0';
-
-    for (i = 0; i < pkgc; i++) pkgs[i] = in_pkgs[i];
-
-    f = fopen(pkgsfile, "r");
-    if (f == NULL) {
-        perror(pkgsfile);
-        exit(1);
-    }
-
-    skip = 1;
-    while (fgets(buf, sizeof(buf), f)) {
-        if (*buf && buf[strlen(buf)-1] == '\n') buf[strlen(buf)-1] = '\0';
-        if (strncasecmp(buf, "Package:", 8) == 0) {
-            int any = 0;
-            skip = 1;
-            fieldcpy(cur_pkg, buf);
-           for (i = 0; i < pkgc; i++) {
-               if (!pkgs[i]) continue;
-               any = 1;
-                if (strcmp(cur_pkg, pkgs[i]) == 0) {
-                    skip = 0;
-                    pkgs[i] = NULL;
-                    break;
-                }
-            }
-            if (!any) break;
-        } else if (!skip && 
-            (strncasecmp(buf, "Depends:", 8) == 0 || 
-             strncasecmp(buf, "Pre-Depends:", 12) == 0)) 
-        {
-            char *pch;
-            fieldcpy(cur_deps, buf);
-            pch = cur_deps;
-            while (1) {
-                while (isspace(*pch)) pch++;
-                if (!*pch) break;
-
-                while (*pch && *pch != '(' && *pch != '|' && *pch != ','
-                       && !isspace(*pch))
-                {
-                    fputc(*pch++, stdout);
-                }
-                fputc('\n', stdout);
-                while (*pch && *pch++ != ',') (void)NULL;
-            }
-        }
-    }
-    fclose(f);
-}
-
-static void dopkgmirrorpkgs(int uniq, char *mirror, char *pkgsfile, 
-        char *fieldname, char **in_pkgs, int pkgc) 
-{
-    char buf[MAX_LINE];
-    char cur_field[MAX_LINE];
-    char cur_pkg[MAX_LINE];
-    char cur_ver[MAX_LINE];
-    char cur_arch[MAX_LINE];
-    char cur_size[MAX_LINE];
-    char cur_md5[MAX_LINE];
-    char cur_filename[MAX_LINE];
-    char *pkgs[MAX_PKGS];
-    int i;
-    FILE *f;
-
-    cur_pkg[0] = cur_ver[0] = cur_arch[0] = cur_filename[0] = '\0';
-
-    for (i = 0; i < pkgc; i++) pkgs[i] = in_pkgs[i];
-
-    f = fopen(pkgsfile, "r");
-    if (f == NULL) {
-        perror(pkgsfile);
-        exit(1);
-    }
-    while (fgets(buf, sizeof(buf), f)) {
-        if (*buf && buf[strlen(buf)-1] == '\n') buf[strlen(buf)-1] = '\0';
-        if (strncasecmp(buf, fieldname, strlen(fieldname)) == 0) {
-            fieldcpy(cur_field, buf);
-       }
-        if (strncasecmp(buf, "Package:", 8) == 0) {
-            fieldcpy(cur_pkg, buf);
-        } else if (strncasecmp(buf, "Version:", 8) == 0) {
-            fieldcpy(cur_ver, buf);
-        } else if (strncasecmp(buf, "Architecture:", 13) == 0) {
-            fieldcpy(cur_arch, buf);
-        } else if (strncasecmp(buf, "Size:", 5) == 0) {
-            fieldcpy(cur_size, buf);
-        } else if (strncasecmp(buf, "MD5sum:", 7) == 0) {
-            fieldcpy(cur_md5, buf);
-        } else if (strncasecmp(buf, "Filename:", 9) == 0) {
-            fieldcpy(cur_filename, buf);
-        } else if (!*buf) {
-           int any = 0;
-           for (i = 0; i < pkgc; i++) {
-               if (!pkgs[i]) continue;
-               any = 1;
-                if (strcmp(cur_field, pkgs[i]) == 0) {
-                    printf("%s %s %s %s %s %s %s\n", cur_pkg, cur_ver, cur_arch, mirror, cur_filename, cur_md5, cur_size);
-                    if (uniq) pkgs[i] = NULL;
-                   break;
-               }
-            }
-           if (!any) break;
-        }
-    }
-    fclose(f);
-
-    /* any that weren't found are returned as "pkg -" */
-    if (uniq) {
-        for (i = 0; i < pkgc; i++) {
-            if (pkgs[i]) {
-                printf("%s -\n", pkgs[i]);
-            }
-        }
-    }
-}
-
-static void oom_die(void)
-{
-    fprintf(stderr, "Out of memory!\n");
-    exit(1);
-}
-
-static void dopkgstanzas(char *pkgsfile, char **pkgs, int pkgc)
-{
-    char buf[MAX_LINE];
-    char *accum;
-    size_t accum_size = 0, accum_alloc = MAX_LINE * 2;
-    char cur_pkg[MAX_LINE];
-    FILE *f;
-
-    accum = malloc(accum_alloc);
-    if (!accum)
-        oom_die();
-
-    f = fopen(pkgsfile, "r");
-    if (f == NULL) {
-        perror(pkgsfile);
-        free(accum);
-        exit(1);
-    }
-    while (fgets(buf, sizeof(buf), f)) {
-        if (*buf) {
-           size_t len = strlen(buf);
-            if (accum_size + len + 1 > accum_alloc) {
-                accum_alloc = (accum_size + len + 1) * 2;
-                accum = realloc(accum, accum_alloc);
-                if (!accum)
-                    oom_die();
-            }
-            strcpy(accum + accum_size, buf);
-           accum_size += len;
-        }
-        if (*buf && buf[strlen(buf)-1] == '\n') buf[strlen(buf)-1] = '\0';
-        if (strncasecmp(buf, "Package:", 8) == 0) {
-            fieldcpy(cur_pkg, buf);
-        } else if (!*buf) {
-            int i;
-            for (i = 0; i < pkgc; i++) {
-                if (!pkgs[i]) continue;
-                if (strcmp(cur_pkg, pkgs[i]) == 0) {
-                    fputs(accum, stdout);
-                   if (accum[accum_size - 1] != '\n')
-                       fputs("\n\n", stdout);
-                   else if (accum[accum_size - 2] != '\n')
-                       fputc('\n', stdout);
-                    break;
-                }
-            }
-            *accum = '\0';
-            accum_size = 0;
-        }
-    }
-    fclose(f);
-
-    free(accum);
-}
-
-static int dotranslatewgetpercent(int low, int high, int end, char *str) {
-    int ch;
-    int val, lastval;
-
-    /* print out anything that looks like a % on its own line, appropriately
-     * scaled */
-
-    lastval = val = 0;
-    while ( (ch = getchar()) != EOF ) {
-        if (isdigit(ch)) {
-           val *= 10; val += ch - '0';
-       } else if (ch == '%') {
-           float f = (float) val / 100.0 * (high - low) + low;
-           if (str) {
-               printf("P: %d %d %s\n", (int) f, end, str);
-           } else {
-               printf("P: %d %d\n", (int) f, end);
-           }
-           lastval = val;
-       } else {
-           val = 0;
-       }
-    }
-    return lastval == 100;
-}
-
-int main(int argc, char *argv[]) {
-    if ((argc == 6 || argc == 5) && strcmp(argv[1], "WGET%") == 0) {
-       if (dotranslatewgetpercent(atoi(argv[2]), atoi(argv[3]), 
-                                  atoi(argv[4]), argc == 6 ? argv[5] : NULL))
-       {
-           exit(0);
-       } else {
-           exit(1);
-       }
-    } else if (argc >= 4 && strcmp(argv[1], "GETDEPS") == 0) {
-        int i;
-        for (i = 3; argc - i > MAX_PKGS; i += MAX_PKGS) {
-           dogetdeps(argv[2], argv+i, MAX_PKGS);
-       }
-       dogetdeps(argv[2], argv+i, argc-i);
-       exit(0);
-    } else if (argc >= 5 && strcmp(argv[1], "PKGS") == 0) {
-        int i;
-        for (i = 4; argc - i > MAX_PKGS; i += MAX_PKGS) {
-           dopkgmirrorpkgs(1, argv[2], argv[3], "Package:", argv+i, MAX_PKGS);
-       }
-       dopkgmirrorpkgs(1, argv[2], argv[3], "Package:", argv+i, argc-i);
-       exit(0);
-    } else if (argc >= 6 && strcmp(argv[1], "FIELD") == 0) {
-        int i;
-        for (i = 5; argc - i > MAX_PKGS; i += MAX_PKGS) {
-           dopkgmirrorpkgs(0, argv[3], argv[4], argv[2], argv+i, MAX_PKGS);
-       }
-       dopkgmirrorpkgs(0, argv[3], argv[4], argv[2], argv+i, argc-i);
-       exit(0);
-    } else if (argc >= 4 && strcmp(argv[1], "STANZAS") == 0) {
-       int i;
-       for (i = 3; argc - i > MAX_PKGS; i += MAX_PKGS) {
-           dopkgstanzas(argv[2], argv+i, MAX_PKGS);
-       }
-       dopkgstanzas(argv[2], argv+i, argc-i);
-       exit(0);
-    } else {
-        fprintf(stderr, "usage: %s PKGS mirror packagesfile pkgs..\n", argv[0]);
-        fprintf(stderr, "   or: %s FIELD field mirror packagesfile pkgs..\n", 
-                argv[0]);
-        fprintf(stderr, "   or: %s GETDEPS packagesfile pkgs..\n", argv[0]);
-        fprintf(stderr, "   or: %s STANZAS packagesfile pkgs..\n", argv[0]);
-       fprintf(stderr, "   or: %s WGET%% low high end reason\n", argv[0]);
-        exit(1);
-    }
-}
diff --git a/utils/debootstrap/patches/00-no_dpkg_deb.diff b/utils/debootstrap/patches/00-no_dpkg_deb.diff
deleted file mode 100644 (file)
index f9ed3f1..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---- debootstrap-1.0.23/usr/share/debootstrap/functions.orig    2010-06-20 23:46:12.000000000 +0200
-+++ debootstrap-1.0.23/usr/share/debootstrap/functions 2010-06-20 23:46:53.000000000 +0200
-@@ -785,8 +785,9 @@
-       if [ -n "$EXTRACTOR_OVERRIDE" ]; then
-               extractor="$EXTRACTOR_OVERRIDE"
--      elif type dpkg-deb >/dev/null 2>&1; then
--              extractor="dpkg-deb"
-+#     busybox's dpkg-deb is not suitable for this script
-+#     elif type dpkg-deb >/dev/null 2>&1; then
-+#             extractor="dpkg-deb"
-       else
-               extractor="ar"
-       fi