summaryrefslogtreecommitdiff
path: root/openwrt/package/busybox
diff options
context:
space:
mode:
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-11-06 05:18:05 +0000
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-11-06 05:18:05 +0000
commit075c5a3ddc18e00190319a0fa7a44aefa670b6d4 (patch)
tree7124977c698e606038595cdccbd9b31fb32dd00b /openwrt/package/busybox
parent2a83d3f0868fc4049d967f1ad9d97863d4a81522 (diff)
update ipkg patch to v1.99.154,
add a patch to suppress warnings from libipkg compilation git-svn-id: svn://svn.openwrt.org/openwrt/trunk@2343 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'openwrt/package/busybox')
-rw-r--r--openwrt/package/busybox/patches/911-ipkg.patch (renamed from openwrt/package/busybox/patches/busybox-1.00+ipkg-0.99.152-pre2.patch)572
-rw-r--r--openwrt/package/busybox/patches/912-ipkg-no_warnings.patch429
2 files changed, 726 insertions, 275 deletions
diff --git a/openwrt/package/busybox/patches/busybox-1.00+ipkg-0.99.152-pre2.patch b/openwrt/package/busybox/patches/911-ipkg.patch
index 034710b33f..26b4b7bbd1 100644
--- a/openwrt/package/busybox/patches/busybox-1.00+ipkg-0.99.152-pre2.patch
+++ b/openwrt/package/busybox/patches/911-ipkg.patch
@@ -1,6 +1,6 @@
-diff -ruN busybox-1.00-orig/Makefile busybox-1.00+ipkg-0.99.152-pre2/Makefile
---- busybox-1.00-orig/Makefile 2004-10-08 07:45:08.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/Makefile 2005-07-20 13:24:00.000000000 +0000
+diff -ruN busybox-1.00-orig/Makefile busybox-1.00+ipkg-0.99.154/Makefile
+--- busybox-1.00-orig/Makefile 2004-10-08 09:45:08.000000000 +0200
++++ busybox-1.00+ipkg-0.99.154/Makefile 2005-10-26 17:36:45.000000000 +0200
@@ -39,7 +39,7 @@
include $(top_builddir)/Rules.mak
@@ -10,9 +10,9 @@ diff -ruN busybox-1.00-orig/Makefile busybox-1.00+ipkg-0.99.152-pre2/Makefile
debianutils editors findutils init miscutils modutils networking \
networking/libiproute networking/udhcp procps loginutils shell \
sysklogd util-linux libpwdgrp coreutils/libcoreutils libbb
-diff -ruN busybox-1.00-orig/archival/Config.in busybox-1.00+ipkg-0.99.152-pre2/archival/Config.in
---- busybox-1.00-orig/archival/Config.in 2004-03-15 08:28:16.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/Config.in 2005-07-20 16:53:48.805813848 +0000
+diff -ruN busybox-1.00-orig/archival/Config.in busybox-1.00+ipkg-0.99.154/archival/Config.in
+--- busybox-1.00-orig/archival/Config.in 2004-03-15 09:28:16.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/Config.in 2005-10-26 17:36:45.000000000 +0200
@@ -121,6 +121,14 @@
gzip is used to compress files.
It's probably the most widely used UNIX compression program.
@@ -28,9 +28,9 @@ diff -ruN busybox-1.00-orig/archival/Config.in busybox-1.00+ipkg-0.99.152-pre2/a
config CONFIG_RPM2CPIO
bool "rpm2cpio"
default n
-diff -ruN busybox-1.00-orig/archival/Makefile.in busybox-1.00+ipkg-0.99.152-pre2/archival/Makefile.in
---- busybox-1.00-orig/archival/Makefile.in 2004-10-08 07:45:09.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/Makefile.in 2005-07-18 11:40:31.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/Makefile.in busybox-1.00+ipkg-0.99.154/archival/Makefile.in
+--- busybox-1.00-orig/archival/Makefile.in 2004-10-08 09:45:09.000000000 +0200
++++ busybox-1.00+ipkg-0.99.154/archival/Makefile.in 2005-10-26 17:36:45.000000000 +0200
@@ -32,6 +32,7 @@
ARCHIVAL-$(CONFIG_DPKG_DEB) += dpkg_deb.o
ARCHIVAL-$(CONFIG_GUNZIP) += gunzip.o
@@ -39,9 +39,9 @@ diff -ruN busybox-1.00-orig/archival/Makefile.in busybox-1.00+ipkg-0.99.152-pre2
ARCHIVAL-$(CONFIG_RPM2CPIO) += rpm2cpio.o
ARCHIVAL-$(CONFIG_RPM) += rpm.o
ARCHIVAL-$(CONFIG_TAR) += tar.o
-diff -ruN busybox-1.00-orig/archival/dpkg.c busybox-1.00+ipkg-0.99.152-pre2/archival/dpkg.c
---- busybox-1.00-orig/archival/dpkg.c 2004-04-14 17:51:08.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/dpkg.c 2005-07-20 13:15:04.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/dpkg.c busybox-1.00+ipkg-0.99.154/archival/dpkg.c
+--- busybox-1.00-orig/archival/dpkg.c 2004-04-14 19:51:08.000000000 +0200
++++ busybox-1.00+ipkg-0.99.154/archival/dpkg.c 2005-10-26 17:36:45.000000000 +0200
@@ -1527,6 +1527,10 @@
return(ar_handle->sub_archive->buffer);
}
@@ -62,9 +62,9 @@ diff -ruN busybox-1.00-orig/archival/dpkg.c busybox-1.00+ipkg-0.99.152-pre2/arch
static void unpack_package(deb_file_t *deb_file)
{
const char *package_name = name_hashtable[package_hashtable[deb_file->package]->name];
-diff -ruN busybox-1.00-orig/archival/ipkg.c busybox-1.00+ipkg-0.99.152-pre2/archival/ipkg.c
---- busybox-1.00-orig/archival/ipkg.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/ipkg.c 2005-07-20 13:16:47.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/ipkg.c busybox-1.00+ipkg-0.99.154/archival/ipkg.c
+--- busybox-1.00-orig/archival/ipkg.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/ipkg.c 2005-10-26 17:36:45.000000000 +0200
@@ -0,0 +1,26 @@
+/* ipkg.c - the itsy package management system
+
@@ -92,9 +92,9 @@ diff -ruN busybox-1.00-orig/archival/ipkg.c busybox-1.00+ipkg-0.99.152-pre2/arch
+{
+ return ipkg_op(argc, argv);
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/Makefile busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/Makefile
---- busybox-1.00-orig/archival/libipkg/Makefile 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/Makefile 2005-07-17 16:10:23.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/Makefile busybox-1.00+ipkg-0.99.154/archival/libipkg/Makefile
+--- busybox-1.00-orig/archival/libipkg/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/Makefile 2005-10-26 17:36:45.000000000 +0200
@@ -0,0 +1,32 @@
+# Makefile for busybox
+#
@@ -128,9 +128,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/Makefile busybox-1.00+ipkg-0.99.152
+clean:
+ rm -f *.o *.a $(AR_TARGET)
+
-diff -ruN busybox-1.00-orig/archival/libipkg/Makefile.in busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/Makefile.in
---- busybox-1.00-orig/archival/libipkg/Makefile.in 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/Makefile.in 2005-07-20 17:24:44.092767360 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/Makefile.in busybox-1.00+ipkg-0.99.154/archival/libipkg/Makefile.in
+--- busybox-1.00-orig/archival/libipkg/Makefile.in 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/Makefile.in 2005-10-26 17:36:45.000000000 +0200
@@ -0,0 +1,83 @@
+# Makefile for busybox
+#
@@ -215,9 +215,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/Makefile.in busybox-1.00+ipkg-0.99.
+$(LIBIPKG_OBJS): $(LIBIPKG_DIR)%.o : $(srcdir)/%.c
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DIPKG_LIB -DIPKGLIBDIR="\"/usr/lib\"" -DHOST_CPU_STR="\"$(ARCH)\"" -c -o $@ $<
+
-diff -ruN busybox-1.00-orig/archival/libipkg/args.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/args.c
---- busybox-1.00-orig/archival/libipkg/args.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/args.c 2005-07-20 10:38:34.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/args.c busybox-1.00+ipkg-0.99.154/archival/libipkg/args.c
+--- busybox-1.00-orig/archival/libipkg/args.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/args.c 2005-10-26 17:36:45.000000000 +0200
@@ -0,0 +1,241 @@
+/* args.c - parse command-line args
+
@@ -460,9 +460,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/args.c busybox-1.00+ipkg-0.99.152-p
+{
+ bb_error_msg("version %s\n", IPKG_VERSION);
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/args.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/args.h
---- busybox-1.00-orig/archival/libipkg/args.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/args.h 2005-07-19 00:46:01.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/args.h busybox-1.00+ipkg-0.99.154/archival/libipkg/args.h
+--- busybox-1.00-orig/archival/libipkg/args.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/args.h 2005-10-26 17:36:45.000000000 +0200
@@ -0,0 +1,71 @@
+/* args.h - parse command-line args
+
@@ -535,9 +535,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/args.h busybox-1.00+ipkg-0.99.152-p
+void args_usage(char *complaint);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/conffile.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/conffile.c
---- busybox-1.00-orig/archival/libipkg/conffile.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/conffile.c 2005-07-17 16:10:23.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/conffile.c busybox-1.00+ipkg-0.99.154/archival/libipkg/conffile.c
+--- busybox-1.00-orig/archival/libipkg/conffile.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/conffile.c 2005-10-26 17:36:45.000000000 +0200
@@ -0,0 +1,64 @@
+/* conffile.c - the itsy package management system
+
@@ -603,9 +603,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/conffile.c busybox-1.00+ipkg-0.99.1
+
+ return ret;
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/conffile.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/conffile.h
---- busybox-1.00-orig/archival/libipkg/conffile.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/conffile.h 2005-07-17 16:10:23.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/conffile.h busybox-1.00+ipkg-0.99.154/archival/libipkg/conffile.h
+--- busybox-1.00-orig/archival/libipkg/conffile.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/conffile.h 2005-10-26 17:36:45.000000000 +0200
@@ -0,0 +1,30 @@
+/* conffile.h - the itsy package management system
+
@@ -637,9 +637,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/conffile.h busybox-1.00+ipkg-0.99.1
+
+#endif
+
-diff -ruN busybox-1.00-orig/archival/libipkg/conffile_list.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/conffile_list.c
---- busybox-1.00-orig/archival/libipkg/conffile_list.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/conffile_list.c 2005-07-17 16:10:23.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/conffile_list.c busybox-1.00+ipkg-0.99.154/archival/libipkg/conffile_list.c
+--- busybox-1.00-orig/archival/libipkg/conffile_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/conffile_list.c 2005-10-26 17:36:45.000000000 +0200
@@ -0,0 +1,47 @@
+/* conffile_list.c - the itsy package management system
+
@@ -688,9 +688,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/conffile_list.c busybox-1.00+ipkg-0
+ return nv_pair_list_pop(list);
+}
+
-diff -ruN busybox-1.00-orig/archival/libipkg/conffile_list.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/conffile_list.h
---- busybox-1.00-orig/archival/libipkg/conffile_list.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/conffile_list.h 2005-07-17 16:10:23.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/conffile_list.h busybox-1.00+ipkg-0.99.154/archival/libipkg/conffile_list.h
+--- busybox-1.00-orig/archival/libipkg/conffile_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/conffile_list.h 2005-10-26 17:36:45.000000000 +0200
@@ -0,0 +1,36 @@
+/* conffile_list.h - the itsy package management system
+
@@ -728,9 +728,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/conffile_list.h busybox-1.00+ipkg-0
+
+#endif
+
-diff -ruN busybox-1.00-orig/archival/libipkg/file_util.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/file_util.c
---- busybox-1.00-orig/archival/libipkg/file_util.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/file_util.c 2005-07-18 12:02:26.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/file_util.c busybox-1.00+ipkg-0.99.154/archival/libipkg/file_util.c
+--- busybox-1.00-orig/archival/libipkg/file_util.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/file_util.c 2005-10-26 17:36:45.000000000 +0200
@@ -0,0 +1,177 @@
+/* file_util.c - convenience routines for common stat operations
+
@@ -909,9 +909,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/file_util.c busybox-1.00+ipkg-0.99.
+ return md5sum_hex;
+}
+
-diff -ruN busybox-1.00-orig/archival/libipkg/file_util.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/file_util.h
---- busybox-1.00-orig/archival/libipkg/file_util.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/file_util.h 2005-07-17 16:10:23.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/file_util.h busybox-1.00+ipkg-0.99.154/archival/libipkg/file_util.h
+--- busybox-1.00-orig/archival/libipkg/file_util.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/file_util.h 2005-10-26 17:36:45.000000000 +0200
@@ -0,0 +1,29 @@
+/* file_util.h - convenience routines for common file operations
+
@@ -942,9 +942,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/file_util.h busybox-1.00+ipkg-0.99.
+char *file_md5sum_alloc(const char *file_name);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/hash_table.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/hash_table.c
---- busybox-1.00-orig/archival/libipkg/hash_table.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/hash_table.c 2005-07-20 09:45:35.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/hash_table.c busybox-1.00+ipkg-0.99.154/archival/libipkg/hash_table.c
+--- busybox-1.00-orig/archival/libipkg/hash_table.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/hash_table.c 2005-10-26 17:36:45.000000000 +0200
@@ -0,0 +1,155 @@
+/* hash.c - hash tables for ipkg
+
@@ -1101,9 +1101,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/hash_table.c busybox-1.00+ipkg-0.99
+ }
+}
+
-diff -ruN busybox-1.00-orig/archival/libipkg/hash_table.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/hash_table.h
---- busybox-1.00-orig/archival/libipkg/hash_table.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/hash_table.h 2005-07-17 16:10:23.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/hash_table.h busybox-1.00+ipkg-0.99.154/archival/libipkg/hash_table.h
+--- busybox-1.00-orig/archival/libipkg/hash_table.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/hash_table.h 2005-10-26 17:36:45.000000000 +0200
@@ -0,0 +1,44 @@
+/* hash.h - hash tables for ipkg
+
@@ -1149,9 +1149,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/hash_table.h busybox-1.00+ipkg-0.99
+void hash_table_foreach(hash_table_t *hash, void (*f)(const char *key, void *entry, void *data), void *data);
+
+#endif /* _HASH_TABLE_H_ */
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg.h
---- busybox-1.00-orig/archival/libipkg/ipkg.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg.h 2005-07-20 14:12:10.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg.h busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg.h
+--- busybox-1.00-orig/archival/libipkg/ipkg.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg.h 2005-10-26 17:45:05.000000000 +0200
@@ -0,0 +1,74 @@
+/* ipkg.h - the itsy package management system
+
@@ -1202,7 +1202,7 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg.h busybox-1.00+ipkg-0.99.152-p
+
+#define IPKG_LIST_DESCRIPTION_LENGTH 128
+
-+#define IPKG_VERSION "0.99.152"
++#define IPKG_VERSION "0.99.154"
+
+
+enum ipkg_error {
@@ -1227,9 +1227,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg.h busybox-1.00+ipkg-0.99.152-p
+extern ipkg_conf_t *global_conf;
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_cmd.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_cmd.c
---- busybox-1.00-orig/archival/libipkg/ipkg_cmd.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_cmd.c 2005-07-20 10:42:05.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_cmd.c busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_cmd.c
+--- busybox-1.00-orig/archival/libipkg/ipkg_cmd.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_cmd.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,1344 @@
+/* ipkg_cmd.c - the itsy package management system
+
@@ -2575,9 +2575,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_cmd.c busybox-1.00+ipkg-0.99.1
+}
+
+
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_cmd.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_cmd.h
---- busybox-1.00-orig/archival/libipkg/ipkg_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_cmd.h 2005-07-17 16:10:23.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_cmd.h busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_cmd.h
+--- busybox-1.00-orig/archival/libipkg/ipkg_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_cmd.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,46 @@
+/* ipkg_cmd.h - the itsy package management system
+
@@ -2625,9 +2625,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_cmd.h busybox-1.00+ipkg-0.99.1
+int pkg_mark_provides(pkg_t *pkg);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_conf.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_conf.c
---- busybox-1.00-orig/archival/libipkg/ipkg_conf.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_conf.c 2005-07-20 17:31:15.430275016 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_conf.c busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_conf.c
+--- busybox-1.00-orig/archival/libipkg/ipkg_conf.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_conf.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,709 @@
+/* ipkg_conf.c - the itsy package management system
+
@@ -3338,9 +3338,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_conf.c busybox-1.00+ipkg-0.99.
+ sprintf_alloc(&root_filename, "%s%s", (conf->offline_root ? conf->offline_root : ""), filename);
+ return root_filename;
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_conf.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_conf.h
---- busybox-1.00-orig/archival/libipkg/ipkg_conf.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_conf.h 2005-07-19 00:48:24.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_conf.h busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_conf.h
+--- busybox-1.00-orig/archival/libipkg/ipkg_conf.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_conf.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,107 @@
+/* ipkg_conf.h - the itsy package management system
+
@@ -3449,9 +3449,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_conf.h busybox-1.00+ipkg-0.99.
+char *root_filename_alloc(ipkg_conf_t *conf, char *filename);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_configure.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_configure.c
---- busybox-1.00-orig/archival/libipkg/ipkg_configure.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_configure.c 2005-07-17 16:10:23.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_configure.c busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_configure.c
+--- busybox-1.00-orig/archival/libipkg/ipkg_configure.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_configure.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,40 @@
+/* ipkg_configure.c - the itsy package management system
+
@@ -3493,9 +3493,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_configure.c busybox-1.00+ipkg-
+ return 0;
+}
+
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_configure.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_configure.h
---- busybox-1.00-orig/archival/libipkg/ipkg_configure.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_configure.h 2005-07-17 16:10:23.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_configure.h busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_configure.h
+--- busybox-1.00-orig/archival/libipkg/ipkg_configure.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_configure.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,25 @@
+/* ipkg_configure.h - the itsy package management system
+
@@ -3522,9 +3522,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_configure.h busybox-1.00+ipkg-
+int ipkg_configure(ipkg_conf_t *ipkg_conf, pkg_t *pkg);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_download.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_download.c
---- busybox-1.00-orig/archival/libipkg/ipkg_download.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_download.c 2005-07-20 00:13:02.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_download.c busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_download.c
+--- busybox-1.00-orig/archival/libipkg/ipkg_download.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_download.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,191 @@
+/* ipkg_download.c - the itsy package management system
+
@@ -3717,9 +3717,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_download.c busybox-1.00+ipkg-0
+ }
+ return 0;
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_download.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_download.h
---- busybox-1.00-orig/archival/libipkg/ipkg_download.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_download.h 2005-07-17 16:10:23.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_download.h busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_download.h
+--- busybox-1.00-orig/archival/libipkg/ipkg_download.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_download.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,30 @@
+/* ipkg_download.h - the itsy package management system
+
@@ -3751,9 +3751,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_download.h busybox-1.00+ipkg-0
+int ipkg_prepare_url_for_install(ipkg_conf_t *conf, const char *url, char **namep);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_includes.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_includes.h
---- busybox-1.00-orig/archival/libipkg/ipkg_includes.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_includes.h 2005-07-20 09:16:48.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_includes.h busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_includes.h
+--- busybox-1.00-orig/archival/libipkg/ipkg_includes.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_includes.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,79 @@
+#ifndef IPKG_INCLUDES_H
+#define IPKG_INCLUDES_H
@@ -3834,9 +3834,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_includes.h busybox-1.00+ipkg-0
+#endif
+
+#endif /* IPKG_INCLUDES_H */
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_install.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_install.c
---- busybox-1.00-orig/archival/libipkg/ipkg_install.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_install.c 2005-07-20 10:12:33.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_install.c busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_install.c
+--- busybox-1.00-orig/archival/libipkg/ipkg_install.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_install.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,1823 @@
+/* ipkg_install.c - the itsy package management system
+
@@ -5661,9 +5661,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_install.c busybox-1.00+ipkg-0.
+}
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_install.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_install.h
---- busybox-1.00-orig/archival/libipkg/ipkg_install.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_install.h 2005-07-17 16:10:23.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_install.h busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_install.h
+--- busybox-1.00-orig/archival/libipkg/ipkg_install.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_install.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,35 @@
+/* ipkg_install.h - the itsy package management system
+
@@ -5700,9 +5700,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_install.h busybox-1.00+ipkg-0.
+int name_mark_dependencies_for_installation(ipkg_conf_t *conf, const char *pkg_name, pkg_vec_t *pkgs_needed);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_message.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_message.c
---- busybox-1.00-orig/archival/libipkg/ipkg_message.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_message.c 2005-07-20 10:36:45.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_message.c busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_message.c
+--- busybox-1.00-orig/archival/libipkg/ipkg_message.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_message.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,61 @@
+/* ipkg_message.c - the itsy package management system
+
@@ -5765,9 +5765,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_message.c busybox-1.00+ipkg-0.
+ }
+}
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_message.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_message.h
---- busybox-1.00-orig/archival/libipkg/ipkg_message.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_message.h 2005-07-20 10:37:22.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_message.h busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_message.h
+--- busybox-1.00-orig/archival/libipkg/ipkg_message.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_message.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,32 @@
+/* ipkg_message.h - the itsy package management system
+
@@ -5801,10 +5801,10 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_message.h busybox-1.00+ipkg-0.
+extern void ipkg_message(ipkg_conf_t *conf, message_level_t level, char *fmt, ...);
+
+#endif /* _IPKG_MESSAGE_H_ */
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_remove.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_remove.c
---- busybox-1.00-orig/archival/libipkg/ipkg_remove.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_remove.c 2005-07-17 16:10:24.000000000 +0000
-@@ -0,0 +1,379 @@
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_remove.c busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_remove.c
+--- busybox-1.00-orig/archival/libipkg/ipkg_remove.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_remove.c 2005-10-26 17:45:58.000000000 +0200
+@@ -0,0 +1,381 @@
+/* ipkg_remove.c - the itsy package management system
+
+ Carl D. Worth
@@ -5849,16 +5849,18 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_remove.c busybox-1.00+ipkg-0.9
+ abstract_pkg_t **provides = pkg->provides;
+ int n_installed_dependents = 0;
+ int i;
-+ for (i = 0; i < nprovides; i++) {
++ for (i = 0; i <= nprovides; i++) {
+ abstract_pkg_t *providee = provides[i];
+ abstract_pkg_t **dependers = providee->depended_upon_by;
+ abstract_pkg_t *dep_ab_pkg;
+ if (dependers == NULL)
+ continue;
+ while ((dep_ab_pkg = *dependers++) != NULL) {
-+ if (dep_ab_pkg->state_status == SS_INSTALLED)
++ if (dep_ab_pkg->state_status == SS_INSTALLED){
+ n_installed_dependents++;
++ }
+ }
++
+ }
+ /* if caller requested the set of installed dependents */
+ if (pdependents) {
@@ -5871,7 +5873,7 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_remove.c busybox-1.00+ipkg-0.9
+ }
+
+ *pdependents = dependents;
-+ for (i = 0; i < nprovides; i++) {
++ for (i = 0; i <= nprovides; i++) {
+ abstract_pkg_t *providee = provides[i];
+ abstract_pkg_t **dependers = providee->depended_upon_by;
+ abstract_pkg_t *dep_ab_pkg;
@@ -6184,9 +6186,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_remove.c busybox-1.00+ipkg-0.9
+
+ return 0;
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_remove.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_remove.h
---- busybox-1.00-orig/archival/libipkg/ipkg_remove.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_remove.h 2005-07-17 16:10:24.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_remove.h busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_remove.h
+--- busybox-1.00-orig/archival/libipkg/ipkg_remove.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_remove.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,29 @@
+/* ipkg_remove.h - the itsy package management system
+
@@ -6217,9 +6219,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_remove.h busybox-1.00+ipkg-0.9
+int pkg_has_installed_dependents(ipkg_conf_t *conf, abstract_pkg_t *parent_apkg, pkg_t *pkg, abstract_pkg_t *** pdependents);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_upgrade.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_upgrade.c
---- busybox-1.00-orig/archival/libipkg/ipkg_upgrade.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_upgrade.c 2005-07-17 16:10:24.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_upgrade.c busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_upgrade.c
+--- busybox-1.00-orig/archival/libipkg/ipkg_upgrade.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_upgrade.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,77 @@
+/* ipkg_upgrade.c - the itsy package management system
+
@@ -6298,9 +6300,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_upgrade.c busybox-1.00+ipkg-0.
+ new->state_flag |= SF_USER;
+ return ipkg_install_pkg(conf, new);
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_upgrade.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_upgrade.h
---- busybox-1.00-orig/archival/libipkg/ipkg_upgrade.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_upgrade.h 2005-07-17 16:10:24.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_upgrade.h busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_upgrade.h
+--- busybox-1.00-orig/archival/libipkg/ipkg_upgrade.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_upgrade.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,18 @@
+/* ipkg_upgrade.c - the itsy package management system
+
@@ -6320,9 +6322,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_upgrade.h busybox-1.00+ipkg-0.
+#include "ipkg.h"
+
+int ipkg_upgrade_pkg(ipkg_conf_t *conf, pkg_t *old);
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_utils.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_utils.c
---- busybox-1.00-orig/archival/libipkg/ipkg_utils.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_utils.c 2005-07-20 10:16:42.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_utils.c busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_utils.c
+--- busybox-1.00-orig/archival/libipkg/ipkg_utils.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_utils.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,181 @@
+/* ipkg_utils.c - the itsy package management system
+
@@ -6505,9 +6507,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_utils.c busybox-1.00+ipkg-0.99
+}
+
+
-diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_utils.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_utils.h
---- busybox-1.00-orig/archival/libipkg/ipkg_utils.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/ipkg_utils.h 2005-07-17 16:10:24.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_utils.h busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_utils.h
+--- busybox-1.00-orig/archival/libipkg/ipkg_utils.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/ipkg_utils.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,29 @@
+/* ipkg_utils.h - the itsy package management system
+
@@ -6538,9 +6540,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/ipkg_utils.h busybox-1.00+ipkg-0.99
+int line_is_blank(const char *line);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/libipkg.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/libipkg.c
---- busybox-1.00-orig/archival/libipkg/libipkg.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/libipkg.c 2005-07-20 10:22:50.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/libipkg.c busybox-1.00+ipkg-0.99.154/archival/libipkg/libipkg.c
+--- busybox-1.00-orig/archival/libipkg/libipkg.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/libipkg.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,512 @@
+/* ipkglib.c - the itsy package management system
+
@@ -7054,9 +7056,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/libipkg.c busybox-1.00+ipkg-0.99.15
+}
+
+#endif /* IPKG_LIB */
-diff -ruN busybox-1.00-orig/archival/libipkg/libipkg.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/libipkg.h
---- busybox-1.00-orig/archival/libipkg/libipkg.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/libipkg.h 2005-07-20 10:21:59.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/libipkg.h busybox-1.00+ipkg-0.99.154/archival/libipkg/libipkg.h
+--- busybox-1.00-orig/archival/libipkg/libipkg.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/libipkg.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,87 @@
+/* ipkglib.h - the itsy package management system
+
@@ -7145,9 +7147,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/libipkg.h busybox-1.00+ipkg-0.99.15
+
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/md5.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/md5.c
---- busybox-1.00-orig/archival/libipkg/md5.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/md5.c 2005-07-20 16:54:34.905805584 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/md5.c busybox-1.00+ipkg-0.99.154/archival/libipkg/md5.c
+--- busybox-1.00-orig/archival/libipkg/md5.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/md5.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,48 @@
+/* md5.c - wrappers to busybox md5 functions
+ *
@@ -7197,9 +7199,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/md5.c busybox-1.00+ipkg-0.99.152-pr
+ return md5_end(resblock, &md5_cx);
+}
+
-diff -ruN busybox-1.00-orig/archival/libipkg/md5.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/md5.h
---- busybox-1.00-orig/archival/libipkg/md5.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/md5.h 2005-07-17 16:10:24.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/md5.h busybox-1.00+ipkg-0.99.154/archival/libipkg/md5.h
+--- busybox-1.00-orig/archival/libipkg/md5.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/md5.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,35 @@
+/* md5.h - Compute MD5 checksum of files or strings according to the
+ * definition of MD5 in RFC 1321 from April 1992.
@@ -7236,9 +7238,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/md5.h busybox-1.00+ipkg-0.99.152-pr
+
+#endif
+
-diff -ruN busybox-1.00-orig/archival/libipkg/nv_pair.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/nv_pair.c
---- busybox-1.00-orig/archival/libipkg/nv_pair.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/nv_pair.c 2005-07-17 16:10:24.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/nv_pair.c busybox-1.00+ipkg-0.99.154/archival/libipkg/nv_pair.c
+--- busybox-1.00-orig/archival/libipkg/nv_pair.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/nv_pair.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,40 @@
+/* nv_pair.c - the itsy package management system
+
@@ -7280,9 +7282,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/nv_pair.c busybox-1.00+ipkg-0.99.15
+}
+
+
-diff -ruN busybox-1.00-orig/archival/libipkg/nv_pair.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/nv_pair.h
---- busybox-1.00-orig/archival/libipkg/nv_pair.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/nv_pair.h 2005-07-17 16:10:24.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/nv_pair.h busybox-1.00+ipkg-0.99.154/archival/libipkg/nv_pair.h
+--- busybox-1.00-orig/archival/libipkg/nv_pair.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/nv_pair.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,32 @@
+/* nv_pair.h - the itsy package management system
+
@@ -7316,9 +7318,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/nv_pair.h busybox-1.00+ipkg-0.99.15
+
+#endif
+
-diff -ruN busybox-1.00-orig/archival/libipkg/nv_pair_list.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/nv_pair_list.c
---- busybox-1.00-orig/archival/libipkg/nv_pair_list.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/nv_pair_list.c 2005-07-17 16:10:24.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/nv_pair_list.c busybox-1.00+ipkg-0.99.154/archival/libipkg/nv_pair_list.c
+--- busybox-1.00-orig/archival/libipkg/nv_pair_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/nv_pair_list.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,98 @@
+/* nv_pair_list.c - the itsy package management system
+
@@ -7418,9 +7420,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/nv_pair_list.c busybox-1.00+ipkg-0.
+ }
+ return NULL;
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/nv_pair_list.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/nv_pair_list.h
---- busybox-1.00-orig/archival/libipkg/nv_pair_list.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/nv_pair_list.h 2005-07-17 16:10:24.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/nv_pair_list.h busybox-1.00+ipkg-0.99.154/archival/libipkg/nv_pair_list.h
+--- busybox-1.00-orig/archival/libipkg/nv_pair_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/nv_pair_list.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,60 @@
+/* nv_pair_list.h - the itsy package management system
+
@@ -7482,9 +7484,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/nv_pair_list.h busybox-1.00+ipkg-0.
+
+#endif
+
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg.c
---- busybox-1.00-orig/archival/libipkg/pkg.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg.c 2005-07-17 16:10:24.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg.c busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg.c
+--- busybox-1.00-orig/archival/libipkg/pkg.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,1753 @@
+/* pkg.c - the itsy package management system
+
@@ -9239,9 +9241,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg.c busybox-1.00+ipkg-0.99.152-pr
+ }
+ return 0;
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg.h
---- busybox-1.00-orig/archival/libipkg/pkg.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg.h 2005-07-17 16:10:24.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg.h busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg.h
+--- busybox-1.00-orig/archival/libipkg/pkg.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,230 @@
+/* pkg.h - the itsy package management system
+
@@ -9473,10 +9475,10 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg.h busybox-1.00+ipkg-0.99.152-pr
+int pkg_write_changed_filelists(ipkg_conf_t *conf);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_depends.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_depends.c
---- busybox-1.00-orig/archival/libipkg/pkg_depends.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_depends.c 2005-07-20 10:19:23.000000000 +0000
-@@ -0,0 +1,1017 @@
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_depends.c busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_depends.c
+--- busybox-1.00-orig/archival/libipkg/pkg_depends.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_depends.c 2005-10-26 17:45:58.000000000 +0200
+@@ -0,0 +1,1029 @@
+/* pkg_depends.c - the itsy package management system
+
+ Steven M. Ayer
@@ -9653,7 +9655,13 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_depends.c busybox-1.00+ipkg-0.9
+ pkg_hash_fetch_best_installation_candidate(conf, satisfying_apkg,
+ pkg_installed_and_constraint_satisfied,
+ dependence_to_satisfy, 1);
-+ ipkg_message(conf, IPKG_DEBUG, "%s:%d: satisfying_pkg=%p\n", __FILE__, __LINE__, satisfying_pkg);
++ /* Being that I can't test constraing in pkg_hash, I will test it here */
++ if (satisfying_pkg != NULL) {
++ if (!pkg_installed_and_constraint_satisfied ( satisfying_pkg,dependence_to_satisfy)) {
++ satisfying_pkg = NULL;
++ }
++ }
++ ipkg_message(conf, IPKG_DEBUG, "%s:%d: satisfying_pkg=%p \n", __FILE__, __LINE__, satisfying_pkg);
+ if (satisfying_pkg != NULL) {
+ found = 1;
+ break;
@@ -9671,6 +9679,12 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_depends.c busybox-1.00+ipkg-0.9
+ pkg_hash_fetch_best_installation_candidate(conf, satisfying_apkg,
+ pkg_constraint_satisfied,
+ dependence_to_satisfy, 1);
++ /* Being that I can't test constraing in pkg_hash, I will test it here too */
++ if (satisfying_pkg != NULL) {
++ if (!pkg_constraint_satisfied ( satisfying_pkg,dependence_to_satisfy)) {
++ satisfying_pkg = NULL;
++ }
++ }
+
+ /* user request overrides package recommendation */
+ if (satisfying_pkg != NULL
@@ -10494,9 +10508,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_depends.c busybox-1.00+ipkg-0.9
+
+ return 0;
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_depends.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_depends.h
---- busybox-1.00-orig/archival/libipkg/pkg_depends.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_depends.h 2005-07-20 10:19:05.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_depends.h busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_depends.h
+--- busybox-1.00-orig/archival/libipkg/pkg_depends.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_depends.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,105 @@
+/* pkg_depends.h - the itsy package management system
+
@@ -10603,9 +10617,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_depends.h busybox-1.00+ipkg-0.9
+int pkg_dependence_satisfied(ipkg_conf_t *conf, depend_t *depend);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_dest.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_dest.c
---- busybox-1.00-orig/archival/libipkg/pkg_dest.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_dest.c 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_dest.c busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_dest.c
+--- busybox-1.00-orig/archival/libipkg/pkg_dest.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_dest.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,92 @@
+/* pkg_dest.c - the itsy package management system
+
@@ -10699,9 +10713,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_dest.c busybox-1.00+ipkg-0.99.1
+
+ dest->root_dir = NULL;
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_dest.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_dest.h
---- busybox-1.00-orig/archival/libipkg/pkg_dest.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_dest.h 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_dest.h busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_dest.h
+--- busybox-1.00-orig/archival/libipkg/pkg_dest.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_dest.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,38 @@
+/* pkg_dest.h - the itsy package management system
+
@@ -10741,9 +10755,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_dest.h busybox-1.00+ipkg-0.99.1
+
+#endif
+
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_dest_list.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_dest_list.c
---- busybox-1.00-orig/archival/libipkg/pkg_dest_list.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_dest_list.c 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_dest_list.c busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_dest_list.c
+--- busybox-1.00-orig/archival/libipkg/pkg_dest_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_dest_list.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,85 @@
+/* pkg_dest_list.c - the itsy package management system
+
@@ -10830,9 +10844,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_dest_list.c busybox-1.00+ipkg-0
+{
+ return (pkg_dest_list_elt_t *) void_list_pop((void_list_t *) list);
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_dest_list.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_dest_list.h
---- busybox-1.00-orig/archival/libipkg/pkg_dest_list.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_dest_list.h 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_dest_list.h busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_dest_list.h
+--- busybox-1.00-orig/archival/libipkg/pkg_dest_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_dest_list.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,50 @@
+/* pkg_dest_list.h - the itsy package management system
+
@@ -10884,9 +10898,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_dest_list.h busybox-1.00+ipkg-0
+
+#endif
+
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_extract.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_extract.c
---- busybox-1.00-orig/archival/libipkg/pkg_extract.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_extract.c 2005-07-20 08:43:49.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_extract.c busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_extract.c
+--- busybox-1.00-orig/archival/libipkg/pkg_extract.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_extract.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,224 @@
+/* pkg_extract.c - the itsy package management system
+
@@ -11112,9 +11126,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_extract.c busybox-1.00+ipkg-0.9
+
+ return 0;
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_extract.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_extract.h
---- busybox-1.00-orig/archival/libipkg/pkg_extract.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_extract.h 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_extract.h busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_extract.h
+--- busybox-1.00-orig/archival/libipkg/pkg_extract.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_extract.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,32 @@
+/* pkg_extract.c - the itsy package management system
+
@@ -11148,10 +11162,10 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_extract.h busybox-1.00+ipkg-0.9
+int pkg_extract_data_file_names_to_stream(pkg_t *pkg, FILE *file);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_hash.c
---- busybox-1.00-orig/archival/libipkg/pkg_hash.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_hash.c 2005-07-20 10:18:39.000000000 +0000
-@@ -0,0 +1,600 @@
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.c busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_hash.c
+--- busybox-1.00-orig/archival/libipkg/pkg_hash.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_hash.c 2005-10-26 17:45:58.000000000 +0200
+@@ -0,0 +1,608 @@
+/* ipkg_hash.c - the itsy package management system
+
+ Steven M. Ayer
@@ -11308,6 +11322,7 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.c busybox-1.00+ipkg-0.99.1
+ pkg_t *latest_installed_parent = NULL;
+ pkg_t *latest_matching = NULL;
+ pkg_t *held_pkg = NULL;
++ pkg_t *good_pkg_by_name = NULL;
+
+ if (matching_apkgs == NULL || providers == NULL ||
+ apkg == NULL || apkg->provided_by == NULL || (apkg->provided_by->len == 0))
@@ -11359,8 +11374,7 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.c busybox-1.00+ipkg-0.99.1
+ }
+
+
-+/* Could a package provide more than a package ? */
-+ /* now check for supported architecture and satisfaction of constraint_fcn */
++ /* now check for supported architecture */
+ {
+ int max_count = 0;
+ int i;
@@ -11368,15 +11382,10 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.c busybox-1.00+ipkg-0.99.1
+ /* count packages matching max arch priority and keep track of last one */
+ for (i = 0; i < vec->len; i++) {
+ pkg_t *maybe = vec->pkgs[i];
-+ /* only consider the ones that satisfy the constraint */
-+ ipkg_message(conf, IPKG_DEBUG, " %s arch=%s arch_priority=%d constraint=%d \n",
-+ maybe->name, maybe->architecture,
-+ maybe->arch_priority,
-+ ((constraint_fcn == NULL) || constraint_fcn(maybe, cdata)));
-+ if ((maybe->arch_priority > 0)
-+ && ((constraint_fcn == NULL) || constraint_fcn(maybe, cdata))) {
++ ipkg_message(conf, IPKG_DEBUG, " %s arch=%s arch_priority=%d \n",
++ maybe->name, maybe->architecture, maybe->arch_priority);
++ if (maybe->arch_priority > 0) {
+ max_count++;
-+
+ abstract_pkg_vec_insert(matching_apkgs, maybe->parent);
+ pkg_vec_insert(matching_pkgs, maybe);
+ }
@@ -11389,6 +11398,18 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.c busybox-1.00+ipkg-0.99.1
+ if (matching_apkgs->len > 1)
+ abstract_pkg_vec_sort(matching_pkgs, abstract_pkg_name_compare);
+
++/* Here it is usefull, if ( matching_apkgs->len > 1 ), to test if one of this matching packages has the same name of the
++ needed package. In this case, I would return it for install, otherwise I will continue with the procedure */
++
++ for (i = 0; i < matching_pkgs->len; i++) {
++ pkg_t *matching = matching_pkgs->pkgs[i];
++ if (constraint_fcn(matching, cdata)) { /* We found it */
++ ipkg_message(conf, IPKG_DEBUG, " Found a valid candidate for the install: %s \n", matching->name) ;
++ good_pkg_by_name = matching;
++ }
++ }
++
++
+ for (i = 0; i < matching_pkgs->len; i++) {
+ pkg_t *matching = matching_pkgs->pkgs[i];
+ latest_matching = matching;
@@ -11402,14 +11423,12 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.c busybox-1.00+ipkg-0.99.1
+ }
+ }
+
-+ if (!held_pkg && !latest_installed_parent && matching_apkgs->len > 1 && !quiet) {
++ if (!good_pkg_by_name && !held_pkg && !latest_installed_parent && matching_apkgs->len > 1 && !quiet) {
+ ipkg_message(conf, IPKG_ERROR, "Package=%s, %d matching providers\n",
+ apkg->name, matching_apkgs->len);
-+ if (conf->verbosity > 1) {
-+ for (i = 0; i < matching_apkgs->len; i++) {
-+ abstract_pkg_t *matching = matching_apkgs->pkgs[i];
-+ ipkg_message(conf, IPKG_NOTICE, " %s\n", matching->name);
-+ }
++ for (i = 0; i < matching_apkgs->len; i++) {
++ abstract_pkg_t *matching = matching_apkgs->pkgs[i];
++ ipkg_message(conf, IPKG_ERROR, " %s\n", matching->name);
+ }
+ ipkg_message(conf, IPKG_ERROR, "Please select one with ipkg install or ipkg flag prefer\n");
+ }
@@ -11430,6 +11449,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.c busybox-1.00+ipkg-0.99.1
+ abstract_pkg_vec_free(matching_apkgs);
+ abstract_pkg_vec_free(providers);
+
++ if (good_pkg_by_name) { /* We found a good candidate, we will install it */
++ return good_pkg_by_name;
++ }
+ if (held_pkg) {
+ ipkg_message(conf, IPKG_INFO, " using held package %s\n", held_pkg->name);
+ return held_pkg;
@@ -11456,7 +11478,7 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.c busybox-1.00+ipkg-0.99.1
+ if (strcmp(pkg->name, name) == 0)
+ return 1;
+ else
-+ return 0;
++ return 0; /* Pigi */
+}
+
+pkg_t *pkg_hash_fetch_best_installation_candidate_by_name(ipkg_conf_t *conf, const char *name)
@@ -11466,7 +11488,7 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.c busybox-1.00+ipkg-0.99.1
+
+ if (!(apkg = abstract_pkg_fetch_by_name(hash, name)))
+ return NULL;
-+
++
+ return pkg_hash_fetch_best_installation_candidate(conf, apkg, pkg_name_constraint_fcn, apkg->name, 0);
+}
+
@@ -11752,9 +11774,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.c busybox-1.00+ipkg-0.99.1
+}
+
+
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_hash.h
---- busybox-1.00-orig/archival/libipkg/pkg_hash.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_hash.h 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.h busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_hash.h
+--- busybox-1.00-orig/archival/libipkg/pkg_hash.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_hash.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,61 @@
+/* pkg_hash.h - the itsy package management system
+
@@ -11817,9 +11839,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_hash.h busybox-1.00+ipkg-0.99.1
+
+#endif
+
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_parse.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_parse.c
---- busybox-1.00-orig/archival/libipkg/pkg_parse.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_parse.c 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_parse.c busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_parse.c
+--- busybox-1.00-orig/archival/libipkg/pkg_parse.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_parse.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,366 @@
+/* pkg_parse.c - the itsy package management system
+
@@ -12187,9 +12209,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_parse.c busybox-1.00+ipkg-0.99.
+
+ return 0;
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_parse.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_parse.h
---- busybox-1.00-orig/archival/libipkg/pkg_parse.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_parse.h 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_parse.h busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_parse.h
+--- busybox-1.00-orig/archival/libipkg/pkg_parse.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_parse.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,31 @@
+/* pkg_parse.h - the itsy package management system
+
@@ -12222,9 +12244,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_parse.h busybox-1.00+ipkg-0.99.
+int pkg_valorize_other_field(pkg_t *pkg, char ***raw);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_src.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_src.c
---- busybox-1.00-orig/archival/libipkg/pkg_src.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_src.c 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_src.c busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_src.c
+--- busybox-1.00-orig/archival/libipkg/pkg_src.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_src.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,43 @@
+/* pkg_src.c - the itsy package management system
+
@@ -12269,9 +12291,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_src.c busybox-1.00+ipkg-0.99.15
+}
+
+
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_src.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_src.h
---- busybox-1.00-orig/archival/libipkg/pkg_src.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_src.h 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_src.h busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_src.h
+--- busybox-1.00-orig/archival/libipkg/pkg_src.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_src.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,34 @@
+/* pkg_src.h - the itsy package management system
+
@@ -12307,9 +12329,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_src.h busybox-1.00+ipkg-0.99.15
+void pkg_src_deinit(pkg_src_t *src);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_src_list.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_src_list.c
---- busybox-1.00-orig/archival/libipkg/pkg_src_list.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_src_list.c 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_src_list.c busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_src_list.c
+--- busybox-1.00-orig/archival/libipkg/pkg_src_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_src_list.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,75 @@
+/* pkg_src_list.c - the itsy package management system
+
@@ -12386,9 +12408,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_src_list.c busybox-1.00+ipkg-0.
+{
+ return (pkg_src_list_elt_t *) void_list_pop((void_list_t *) list);
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_src_list.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_src_list.h
---- busybox-1.00-orig/archival/libipkg/pkg_src_list.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_src_list.h 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_src_list.h busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_src_list.h
+--- busybox-1.00-orig/archival/libipkg/pkg_src_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_src_list.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,57 @@
+/* pkg_src_list.h - the itsy package management system
+
@@ -12447,9 +12469,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_src_list.h busybox-1.00+ipkg-0.
+
+#endif
+
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_vec.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_vec.c
---- busybox-1.00-orig/archival/libipkg/pkg_vec.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_vec.c 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_vec.c busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_vec.c
+--- busybox-1.00-orig/archival/libipkg/pkg_vec.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_vec.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,226 @@
+/* pkg_vec.c - the itsy package management system
+
@@ -12677,9 +12699,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_vec.c busybox-1.00+ipkg-0.99.15
+ qsort(vec->pkgs, vec->len, sizeof(pkg_t *), (compare_fcn_t)compar);
+}
+
-diff -ruN busybox-1.00-orig/archival/libipkg/pkg_vec.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_vec.h
---- busybox-1.00-orig/archival/libipkg/pkg_vec.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/pkg_vec.h 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/pkg_vec.h busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_vec.h
+--- busybox-1.00-orig/archival/libipkg/pkg_vec.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/pkg_vec.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,62 @@
+/* pkg_vec.h - the itsy package management system
+
@@ -12743,9 +12765,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/pkg_vec.h busybox-1.00+ipkg-0.99.15
+void abstract_pkg_vec_sort(pkg_vec_t *vec, int (*compar)(abstract_pkg_t *, abstract_pkg_t *));
+#endif
+
-diff -ruN busybox-1.00-orig/archival/libipkg/sprintf_alloc.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/sprintf_alloc.h
---- busybox-1.00-orig/archival/libipkg/sprintf_alloc.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/sprintf_alloc.h 2005-07-20 17:16:41.554124384 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/sprintf_alloc.h busybox-1.00+ipkg-0.99.154/archival/libipkg/sprintf_alloc.h
+--- busybox-1.00-orig/archival/libipkg/sprintf_alloc.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/sprintf_alloc.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,25 @@
+/* sprintf_alloca.c -- like sprintf with memory allocation
+
@@ -12772,9 +12794,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/sprintf_alloc.h busybox-1.00+ipkg-0
+#define sprintf_alloc bb_xasprintf
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/str_list.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/str_list.c
---- busybox-1.00-orig/archival/libipkg/str_list.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/str_list.c 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/str_list.c busybox-1.00+ipkg-0.99.154/archival/libipkg/str_list.c
+--- busybox-1.00-orig/archival/libipkg/str_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/str_list.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,76 @@
+/* str_list.c - the itsy package management system
+
@@ -12852,9 +12874,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/str_list.c busybox-1.00+ipkg-0.99.1
+ (void *)target_str,
+ (void_list_cmp_t)strcmp);
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/str_list.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/str_list.h
---- busybox-1.00-orig/archival/libipkg/str_list.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/str_list.h 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/str_list.h busybox-1.00+ipkg-0.99.154/archival/libipkg/str_list.h
+--- busybox-1.00-orig/archival/libipkg/str_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/str_list.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,51 @@
+/* str_list.h - the itsy package management system
+
@@ -12907,9 +12929,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/str_list.h busybox-1.00+ipkg-0.99.1
+char *str_list_remove_elt(str_list_t *list, const char *target_str);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/str_util.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/str_util.c
---- busybox-1.00-orig/archival/libipkg/str_util.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/str_util.c 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/str_util.c busybox-1.00+ipkg-0.99.154/archival/libipkg/str_util.c
+--- busybox-1.00-orig/archival/libipkg/str_util.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/str_util.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,73 @@
+/* str_utils.c - the itsy package management system
+
@@ -12984,9 +13006,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/str_util.c busybox-1.00+ipkg-0.99.1
+ return str ? strdup(str) : NULL;
+}
+
-diff -ruN busybox-1.00-orig/archival/libipkg/str_util.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/str_util.h
---- busybox-1.00-orig/archival/libipkg/str_util.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/str_util.h 2005-07-17 16:10:25.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/str_util.h busybox-1.00+ipkg-0.99.154/archival/libipkg/str_util.h
+--- busybox-1.00-orig/archival/libipkg/str_util.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/str_util.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,28 @@
+/* str_utils.h - the itsy package management system
+
@@ -13016,9 +13038,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/str_util.h busybox-1.00+ipkg-0.99.1
+char *str_dup_safe(const char *str);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/user.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/user.c
---- busybox-1.00-orig/archival/libipkg/user.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/user.c 2005-07-17 16:10:26.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/user.c busybox-1.00+ipkg-0.99.154/archival/libipkg/user.c
+--- busybox-1.00-orig/archival/libipkg/user.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/user.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,58 @@
+/* user.c - the itsy package management system
+
@@ -13078,9 +13100,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/user.c busybox-1.00+ipkg-0.99.152-p
+
+ return response;
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/user.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/user.h
---- busybox-1.00-orig/archival/libipkg/user.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/user.h 2005-07-17 16:10:26.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/user.h busybox-1.00+ipkg-0.99.154/archival/libipkg/user.h
+--- busybox-1.00-orig/archival/libipkg/user.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/user.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,23 @@
+/* user.c - the itsy package management system
+
@@ -13105,9 +13127,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/user.h busybox-1.00+ipkg-0.99.152-p
+
+char *get_user_response(const char *format, ...);
+
-diff -ruN busybox-1.00-orig/archival/libipkg/void_list.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/void_list.c
---- busybox-1.00-orig/archival/libipkg/void_list.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/void_list.c 2005-07-17 16:10:26.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/void_list.c busybox-1.00+ipkg-0.99.154/archival/libipkg/void_list.c
+--- busybox-1.00-orig/archival/libipkg/void_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/void_list.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,194 @@
+/* void_list.c - the itsy package management system
+
@@ -13303,9 +13325,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/void_list.c busybox-1.00+ipkg-0.99.
+ else
+ return NULL;
+}
-diff -ruN busybox-1.00-orig/archival/libipkg/void_list.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/void_list.h
---- busybox-1.00-orig/archival/libipkg/void_list.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/void_list.h 2005-07-17 16:10:26.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/void_list.h busybox-1.00+ipkg-0.99.154/archival/libipkg/void_list.h
+--- busybox-1.00-orig/archival/libipkg/void_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/void_list.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,59 @@
+/* void_list.h - the itsy package management system
+
@@ -13366,9 +13388,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/void_list.h busybox-1.00+ipkg-0.99.
+void *void_list_remove_elt(void_list_t *list, const void *target_data, void_list_cmp_t cmp);
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/xregex.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/xregex.h
---- busybox-1.00-orig/archival/libipkg/xregex.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/xregex.h 2005-07-20 17:28:42.773482376 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/xregex.h busybox-1.00+ipkg-0.99.154/archival/libipkg/xregex.h
+--- busybox-1.00-orig/archival/libipkg/xregex.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/xregex.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,29 @@
+/* xregex.h - regex functions with error messages
+
@@ -13399,9 +13421,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/xregex.h busybox-1.00+ipkg-0.99.152
+
+
+#endif
-diff -ruN busybox-1.00-orig/archival/libipkg/xsystem.c busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/xsystem.c
---- busybox-1.00-orig/archival/libipkg/xsystem.c 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/xsystem.c 2005-07-17 16:10:26.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/xsystem.c busybox-1.00+ipkg-0.99.154/archival/libipkg/xsystem.c
+--- busybox-1.00-orig/archival/libipkg/xsystem.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/xsystem.c 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,64 @@
+/* xsystem.c - system(3) with error messages
+
@@ -13467,9 +13489,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/xsystem.c busybox-1.00+ipkg-0.99.15
+ return -1;
+}
+
-diff -ruN busybox-1.00-orig/archival/libipkg/xsystem.h busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/xsystem.h
---- busybox-1.00-orig/archival/libipkg/xsystem.h 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libipkg/xsystem.h 2005-07-17 16:10:26.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libipkg/xsystem.h busybox-1.00+ipkg-0.99.154/archival/libipkg/xsystem.h
+--- busybox-1.00-orig/archival/libipkg/xsystem.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/archival/libipkg/xsystem.h 2005-10-26 17:36:46.000000000 +0200
@@ -0,0 +1,34 @@
+/* xsystem.h - system(3) with error messages
+
@@ -13505,9 +13527,9 @@ diff -ruN busybox-1.00-orig/archival/libipkg/xsystem.h busybox-1.00+ipkg-0.99.15
+
+#endif
+
-diff -ruN busybox-1.00-orig/archival/libunarchive/data_extract_all.c busybox-1.00+ipkg-0.99.152-pre2/archival/libunarchive/data_extract_all.c
---- busybox-1.00-orig/archival/libunarchive/data_extract_all.c 2004-10-13 06:25:51.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/archival/libunarchive/data_extract_all.c 2005-07-20 00:02:41.000000000 +0000
+diff -ruN busybox-1.00-orig/archival/libunarchive/data_extract_all.c busybox-1.00+ipkg-0.99.154/archival/libunarchive/data_extract_all.c
+--- busybox-1.00-orig/archival/libunarchive/data_extract_all.c 2004-10-13 08:25:51.000000000 +0200
++++ busybox-1.00+ipkg-0.99.154/archival/libunarchive/data_extract_all.c 2005-10-26 17:36:46.000000000 +0200
@@ -122,3 +122,17 @@
utime(file_header->name, &t);
}
@@ -13526,9 +13548,9 @@ diff -ruN busybox-1.00-orig/archival/libunarchive/data_extract_all.c busybox-1.0
+ }
+}
+
-diff -ruN busybox-1.00-orig/include/applets.h busybox-1.00+ipkg-0.99.152-pre2/include/applets.h
---- busybox-1.00-orig/include/applets.h 2005-07-20 13:09:57.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/include/applets.h 2005-07-17 16:29:18.000000000 +0000
+diff -ruN busybox-1.00-orig/include/applets.h busybox-1.00+ipkg-0.99.154/include/applets.h
+--- busybox-1.00-orig/include/applets.h 2004-08-27 01:01:34.000000000 +0200
++++ busybox-1.00+ipkg-0.99.154/include/applets.h 2005-10-26 17:36:46.000000000 +0200
@@ -298,6 +298,9 @@
#ifdef CONFIG_IPCALC
APPLET(ipcalc, ipcalc_main, _BB_DIR_BIN, _BB_SUID_NEVER)
@@ -13539,9 +13561,9 @@ diff -ruN busybox-1.00-orig/include/applets.h busybox-1.00+ipkg-0.99.152-pre2/in
#ifdef CONFIG_IPLINK
APPLET(iplink, iplink_main, _BB_DIR_BIN, _BB_SUID_NEVER)
#endif
-diff -ruN busybox-1.00-orig/include/libbb.h busybox-1.00+ipkg-0.99.152-pre2/include/libbb.h
---- busybox-1.00-orig/include/libbb.h 2004-09-15 03:04:07.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/include/libbb.h 2005-07-20 17:13:46.442745360 +0000
+diff -ruN busybox-1.00-orig/include/libbb.h busybox-1.00+ipkg-0.99.154/include/libbb.h
+--- busybox-1.00-orig/include/libbb.h 2004-09-15 05:04:07.000000000 +0200
++++ busybox-1.00+ipkg-0.99.154/include/libbb.h 2005-10-26 17:36:46.000000000 +0200
@@ -484,4 +484,17 @@
#define HASH_MD5 2
extern int hash_fd(int fd, const size_t size, const uint8_t hash_algo, uint8_t *hashval);
@@ -13560,9 +13582,9 @@ diff -ruN busybox-1.00-orig/include/libbb.h busybox-1.00+ipkg-0.99.152-pre2/incl
+extern void *md5_end(void *resbuf, struct md5_ctx_t *ctx);
+
#endif /* __LIBCONFIG_H__ */
-diff -ruN busybox-1.00-orig/include/unarchive.h busybox-1.00+ipkg-0.99.152-pre2/include/unarchive.h
---- busybox-1.00-orig/include/unarchive.h 2004-03-15 08:28:38.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/include/unarchive.h 2005-07-19 16:40:11.000000000 +0000
+diff -ruN busybox-1.00-orig/include/unarchive.h busybox-1.00+ipkg-0.99.154/include/unarchive.h
+--- busybox-1.00-orig/include/unarchive.h 2004-03-15 09:28:38.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/include/unarchive.h 2005-10-26 17:36:46.000000000 +0200
@@ -72,6 +72,7 @@
extern void data_skip(archive_handle_t *archive_handle);
@@ -13571,9 +13593,9 @@ diff -ruN busybox-1.00-orig/include/unarchive.h busybox-1.00+ipkg-0.99.152-pre2/
extern void data_extract_to_stdout(archive_handle_t *archive_handle);
extern void data_extract_to_buffer(archive_handle_t *archive_handle);
-diff -ruN busybox-1.00-orig/include/usage.h busybox-1.00+ipkg-0.99.152-pre2/include/usage.h
---- busybox-1.00-orig/include/usage.h 2005-07-20 13:09:58.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/include/usage.h 2005-07-20 09:33:45.367746000 +0000
+diff -ruN busybox-1.00-orig/include/usage.h busybox-1.00+ipkg-0.99.154/include/usage.h
+--- busybox-1.00-orig/include/usage.h 2004-09-14 18:23:56.000000000 +0200
++++ busybox-1.00+ipkg-0.99.154/include/usage.h 2005-10-26 17:36:46.000000000 +0200
@@ -836,6 +836,82 @@
"$ ls -la /tmp/busybox*\n" \
"-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz\n"
@@ -13657,9 +13679,9 @@ diff -ruN busybox-1.00-orig/include/usage.h busybox-1.00+ipkg-0.99.152-pre2/incl
#define halt_trivial_usage \
"[-d<delay>]"
#define halt_full_usage \
-diff -ruN busybox-1.00-orig/libbb/hash_fd.c busybox-1.00+ipkg-0.99.152-pre2/libbb/hash_fd.c
---- busybox-1.00-orig/libbb/hash_fd.c 2004-03-15 08:28:42.000000000 +0000
-+++ busybox-1.00+ipkg-0.99.152-pre2/libbb/hash_fd.c 2005-07-20 17:13:48.129488936 +0000
+diff -ruN busybox-1.00-orig/libbb/hash_fd.c busybox-1.00+ipkg-0.99.154/libbb/hash_fd.c
+--- busybox-1.00-orig/libbb/hash_fd.c 2004-03-15 09:28:42.000000000 +0100
++++ busybox-1.00+ipkg-0.99.154/libbb/hash_fd.c 2005-10-26 17:36:46.000000000 +0200
@@ -288,21 +288,10 @@
static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ };
# endif /* MD5SUM_SIZE_VS_SPEED == 0 */
diff --git a/openwrt/package/busybox/patches/912-ipkg-no_warnings.patch b/openwrt/package/busybox/patches/912-ipkg-no_warnings.patch
new file mode 100644
index 0000000000..735c4091d3
--- /dev/null
+++ b/openwrt/package/busybox/patches/912-ipkg-no_warnings.patch
@@ -0,0 +1,429 @@
+diff -ruN busybox-1.00-old/archival/libipkg/file_util.c busybox-1.00-new/archival/libipkg/file_util.c
+--- busybox-1.00-old/archival/libipkg/file_util.c 2005-10-27 16:37:25.000000000 +0200
++++ busybox-1.00-new/archival/libipkg/file_util.c 2005-10-27 16:38:03.000000000 +0200
+@@ -123,7 +123,7 @@
+
+ int file_mkdir_hier(const char *path, long mode)
+ {
+- return bb_make_directory(path, mode, FILEUTILS_RECUR);
++ return bb_make_directory((char *)path, mode, FILEUTILS_RECUR);
+ }
+
+ char *file_md5sum_alloc(const char *file_name)
+diff -ruN busybox-1.00-old/archival/libipkg/ipkg_cmd.c busybox-1.00-new/archival/libipkg/ipkg_cmd.c
+--- busybox-1.00-old/archival/libipkg/ipkg_cmd.c 2005-10-27 16:37:25.000000000 +0200
++++ busybox-1.00-new/archival/libipkg/ipkg_cmd.c 2005-10-27 16:38:03.000000000 +0200
+@@ -251,7 +251,7 @@
+ in = fopen (tmp_file_name, "r");
+ out = fopen (list_file_name, "w");
+ if (in && out)
+- inflate_unzip (in, out);
++ inflate_unzip (fileno(in), fileno(out));
+ else
+ err = 1;
+ if (in)
+@@ -807,14 +807,13 @@
+ pkg_vec_free(available);
+ } else {
+ pkg_vec_t *installed_pkgs = pkg_vec_alloc();
+- int i;
+ int flagged_pkg_count = 0;
+ int removed;
+
+ pkg_hash_fetch_all_installed(&conf->pkg_hash, installed_pkgs);
+
+ for (i = 0; i < installed_pkgs->len; i++) {
+- pkg_t *pkg = installed_pkgs->pkgs[i];
++ pkg = installed_pkgs->pkgs[i];
+ if (pkg->state_flag & SF_USER) {
+ flagged_pkg_count++;
+ } else {
+@@ -834,7 +833,7 @@
+ do {
+ removed = 0;
+ for (i = 0; i < installed_pkgs->len; i++) {
+- pkg_t *pkg = installed_pkgs->pkgs[i];
++ pkg = installed_pkgs->pkgs[i];
+ if (!(pkg->state_flag & SF_USER)
+ && !pkg_has_installed_dependents(conf, pkg->parent, pkg, NULL)) {
+ removed++;
+@@ -889,7 +888,7 @@
+ {
+ int i;
+ pkg_t *pkg;
+- const char *flags = argv[0];
++ char *flags = argv[0];
+
+ global_conf = conf;
+ signal(SIGINT, sigint_handler);
+diff -ruN busybox-1.00-old/archival/libipkg/ipkg_conf.c busybox-1.00-new/archival/libipkg/ipkg_conf.c
+--- busybox-1.00-old/archival/libipkg/ipkg_conf.c 2005-10-27 16:37:25.000000000 +0200
++++ busybox-1.00-new/archival/libipkg/ipkg_conf.c 2005-10-27 16:38:03.000000000 +0200
+@@ -540,14 +540,14 @@
+ if (strcmp(type, "option") == 0) {
+ ipkg_conf_set_option(options, name, value);
+ } else if (strcmp(type, "src") == 0) {
+- if (!nv_pair_list_find(pkg_src_list, name)) {
++ if (!nv_pair_list_find((nv_pair_list_t *)pkg_src_list, name)) {
+ pkg_src_list_append (pkg_src_list, name, value, extra, 0);
+ } else {
+ ipkg_message(conf, IPKG_ERROR, "ERROR: duplicate src declaration. Skipping:\n\t src %s %s\n",
+ name, value);
+ }
+ } else if (strcmp(type, "src/gz") == 0) {
+- if (!nv_pair_list_find(pkg_src_list, name)) {
++ if (!nv_pair_list_find((nv_pair_list_t *)pkg_src_list, name)) {
+ pkg_src_list_append (pkg_src_list, name, value, extra, 1);
+ } else {
+ ipkg_message(conf, IPKG_ERROR, "ERROR: duplicate src declaration. Skipping:\n\t src %s %s\n",
+diff -ruN busybox-1.00-old/archival/libipkg/libipkg.c busybox-1.00-new/archival/libipkg/libipkg.c
+--- busybox-1.00-old/archival/libipkg/libipkg.c 2005-10-27 16:37:25.000000000 +0200
++++ busybox-1.00-new/archival/libipkg/libipkg.c 2005-10-27 16:38:03.000000000 +0200
+@@ -445,7 +445,7 @@
+ int
+ ipkg_op (int argc, char *argv[])
+ {
+- int err, optind;
++ int err, opt_index;
+ args_t args;
+ char *cmd_name;
+ ipkg_cmd_t *cmd;
+@@ -453,13 +453,13 @@
+
+ args_init (&args);
+
+- optind = args_parse (&args, argc, argv);
+- if (optind == argc || optind < 0)
++ opt_index = args_parse (&args, argc, argv);
++ if (opt_index == argc || opt_index < 0)
+ {
+ args_usage ("ipkg must have one sub-command argument");
+ }
+
+- cmd_name = argv[optind++];
++ cmd_name = argv[opt_index++];
+ /* Pigi: added a flag to disable the checking of structures if the command does not need to
+ read anything from there.
+ */
+@@ -494,7 +494,7 @@
+ args_usage (NULL);
+ }
+
+- if (cmd->requires_args && optind == argc)
++ if (cmd->requires_args && opt_index == argc)
+ {
+ fprintf (stderr,
+ "%s: the ``%s'' command requires at least one argument\n",
+@@ -502,7 +502,7 @@
+ args_usage (NULL);
+ }
+
+- err = ipkg_cmd_exec (cmd, &ipkg_conf, argc - optind, (const char **) (argv + optind), NULL);
++ err = ipkg_cmd_exec (cmd, &ipkg_conf, argc - opt_index, (const char **) (argv + opt_index), NULL);
+
+ ipkg_conf_deinit (&ipkg_conf);
+
+diff -ruN busybox-1.00-old/archival/libipkg/md5.c busybox-1.00-new/archival/libipkg/md5.c
+--- busybox-1.00-old/archival/libipkg/md5.c 2005-10-27 16:37:25.000000000 +0200
++++ busybox-1.00-new/archival/libipkg/md5.c 2005-10-27 16:38:03.000000000 +0200
+@@ -25,7 +25,6 @@
+ int md5_stream(FILE *stream, void *resblock)
+ {
+ int fd;
+- int sum;
+
+ if( (fd = fileno(stream)) == -1 ) {
+ bb_error_msg("bad file descriptor");
+diff -ruN busybox-1.00-old/archival/libipkg/pkg.c busybox-1.00-new/archival/libipkg/pkg.c
+--- busybox-1.00-old/archival/libipkg/pkg.c 2005-10-27 16:37:25.000000000 +0200
++++ busybox-1.00-new/archival/libipkg/pkg.c 2005-10-27 16:38:03.000000000 +0200
+@@ -527,6 +527,7 @@
+ char * pkg_formatted_field(pkg_t *pkg, const char *field )
+ {
+ static size_t LINE_LEN = 128;
++ char line_str[LINE_LEN];
+ char * temp = (char *)malloc(1);
+ int len = 0;
+ int flag_provide_false = 0;
+@@ -566,7 +567,6 @@
+ if (strcasecmp(field, "Conffiles") == 0) {
+ /* Conffiles */
+ conffile_list_elt_t *iter;
+- char confstr[LINE_LEN];
+
+ if (pkg->conffiles.head == NULL) {
+ return temp;
+@@ -587,15 +587,14 @@
+ strncpy(temp, "Conffiles:\n", 12);
+ for (iter = pkg->conffiles.head; iter; iter = iter->next) {
+ if (iter->data->name && iter->data->value) {
+- snprintf(confstr, LINE_LEN, "%s %s\n", iter->data->name, iter->data->value);
+- strncat(temp, confstr, strlen(confstr));
++ snprintf(line_str, LINE_LEN, "%s %s\n", iter->data->name, iter->data->value);
++ strncat(temp, line_str, strlen(line_str));
+ }
+ }
+ } else if (strcasecmp(field, "Conflicts") == 0) {
+ int i;
+
+ if (pkg->conflicts_count) {
+- char conflictstr[LINE_LEN];
+ len = 14 ;
+ for(i = 0; i < pkg->conflicts_count; i++) {
+ len = len + (strlen(pkg->conflicts_str[i])+5);
+@@ -608,8 +607,8 @@
+ temp[0]='\0';
+ strncpy(temp, "Conflicts:", 11);
+ for(i = 0; i < pkg->conflicts_count; i++) {
+- snprintf(conflictstr, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->conflicts_str[i]);
+- strncat(temp, conflictstr, strlen(conflictstr));
++ snprintf(line_str, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->conflicts_str[i]);
++ strncat(temp, line_str, strlen(line_str));
+ }
+ strncat(temp, "\n", strlen("\n"));
+ }
+@@ -624,7 +623,6 @@
+ int i;
+
+ if (pkg->depends_count) {
+- char depstr[LINE_LEN];
+ len = 14 ;
+ for(i = 0; i < pkg->depends_count; i++) {
+ len = len + (strlen(pkg->depends_str[i])+4);
+@@ -637,8 +635,8 @@
+ temp[0]='\0';
+ strncpy(temp, "Depends:", 10);
+ for(i = 0; i < pkg->depends_count; i++) {
+- snprintf(depstr, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->depends_str[i]);
+- strncat(temp, depstr, strlen(depstr));
++ snprintf(line_str, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->depends_str[i]);
++ strncat(temp, line_str, strlen(line_str));
+ }
+ strncat(temp, "\n", strlen("\n"));
+ }
+@@ -803,7 +801,6 @@
+ /* Replaces | Recommends*/
+ if (strcasecmp (field, "Replaces") == 0) {
+ if (pkg->replaces_count) {
+- char replstr[LINE_LEN];
+ len = 14;
+ for (i = 0; i < pkg->replaces_count; i++) {
+ len = len + (strlen(pkg->replaces_str[i])+5);
+@@ -816,14 +813,13 @@
+ temp[0]='\0';
+ strncpy(temp, "Replaces:", 12);
+ for (i = 0; i < pkg->replaces_count; i++) {
+- snprintf(replstr, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->replaces_str[i]);
+- strncat(temp, replstr, strlen(replstr));
++ snprintf(line_str, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->replaces_str[i]);
++ strncat(temp, line_str, strlen(line_str));
+ }
+ strncat(temp, "\n", strlen("\n"));
+ }
+ } else if (strcasecmp (field, "Recommends") == 0) {
+ if (pkg->recommends_count) {
+- char recstr[LINE_LEN];
+ len = 15;
+ for(i = 0; i < pkg->recommends_count; i++) {
+ len = len + (strlen( pkg->recommends_str[i])+5);
+@@ -836,8 +832,8 @@
+ temp[0]='\0';
+ strncpy(temp, "Recommends:", 13);
+ for(i = 0; i < pkg->recommends_count; i++) {
+- snprintf(recstr, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->recommends_str[i]);
+- strncat(temp, recstr, strlen(recstr));
++ snprintf(line_str, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->recommends_str[i]);
++ strncat(temp, line_str, strlen(line_str));
+ }
+ strncat(temp, "\n", strlen("\n"));
+ }
+@@ -906,7 +902,6 @@
+ } else if (strcasecmp(field, "Suggests") == 0) {
+ if (pkg->suggests_count) {
+ int i;
+- char sugstr[LINE_LEN];
+ len = 13;
+ for(i = 0; i < pkg->suggests_count; i++) {
+ len = len + (strlen(pkg->suggests_str[i])+5);
+@@ -919,8 +914,8 @@
+ temp[0]='\0';
+ strncpy(temp, "Suggests:", 10);
+ for(i = 0; i < pkg->suggests_count; i++) {
+- snprintf(sugstr, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->suggests_str[i]);
+- strncat(temp, sugstr, strlen(sugstr));
++ snprintf(line_str, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->suggests_str[i]);
++ strncat(temp, line_str, strlen(line_str));
+ }
+ strncat(temp, "\n", strlen("\n"));
+ }
+@@ -1139,10 +1134,8 @@
+ return 0;
+ }
+
+-int pkg_name_version_and_architecture_compare(void *p1, void *p2)
++int pkg_name_version_and_architecture_compare(pkg_t *a, pkg_t *b)
+ {
+- const pkg_t *a = *(const pkg_t **)p1;
+- const pkg_t *b = *(const pkg_t **)p2;
+ int namecmp;
+ int vercmp;
+ if (!a->name || !b->name) {
+@@ -1169,10 +1162,8 @@
+ return 0;
+ }
+
+-int abstract_pkg_name_compare(void *p1, void *p2)
++int abstract_pkg_name_compare(abstract_pkg_t *a, abstract_pkg_t *b)
+ {
+- const abstract_pkg_t *a = *(const abstract_pkg_t **)p1;
+- const abstract_pkg_t *b = *(const abstract_pkg_t **)p2;
+ if (!a->name || !b->name) {
+ fprintf(stderr, "abstract_pkg_name_compare: a=%p a->name=%p b=%p b->name=%p\n",
+ a, a->name, b, b->name);
+@@ -1192,7 +1183,7 @@
+ #endif
+
+ if (pkg->epoch) {
+- sprintf_alloc(&epoch_str, "%d:", pkg->epoch);
++ sprintf_alloc(&epoch_str, "%d:", (int)(pkg->epoch));
+ } else {
+ epoch_str = strdup("");
+ }
+diff -ruN busybox-1.00-old/archival/libipkg/pkg.h busybox-1.00-new/archival/libipkg/pkg.h
+--- busybox-1.00-old/archival/libipkg/pkg.h 2005-10-27 16:37:25.000000000 +0200
++++ busybox-1.00-new/archival/libipkg/pkg.h 2005-10-27 16:38:03.000000000 +0200
+@@ -192,8 +192,8 @@
+ char *pkg_version_str_alloc(pkg_t *pkg);
+
+ int pkg_compare_versions(const pkg_t *pkg, const pkg_t *ref_pkg);
+-int pkg_name_version_and_architecture_compare(void *a, void *b);
+-int abstract_pkg_name_compare(void *a, void *b);
++int pkg_name_version_and_architecture_compare(pkg_t *a, pkg_t *b);
++int abstract_pkg_name_compare(abstract_pkg_t *a, abstract_pkg_t *b);
+
+ char * pkg_formatted_info(pkg_t *pkg );
+ char * pkg_formatted_field(pkg_t *pkg, const char *field );
+diff -ruN busybox-1.00-old/archival/libipkg/pkg_depends.c busybox-1.00-new/archival/libipkg/pkg_depends.c
+--- busybox-1.00-old/archival/libipkg/pkg_depends.c 2005-10-27 16:37:26.000000000 +0200
++++ busybox-1.00-new/archival/libipkg/pkg_depends.c 2005-10-27 16:38:03.000000000 +0200
+@@ -68,7 +68,7 @@
+ pkg_vec_t *unsatisfied, char *** unresolved)
+ {
+ pkg_t * satisfier_entry_pkg;
+- register int i, j, k;
++ register int i, j, k, l;
+ int count, found;
+ char ** the_lost;
+ abstract_pkg_t * ab_pkg;
+@@ -113,7 +113,6 @@
+ abstract_pkg_vec_t *ab_provider_vec = abpkg->provided_by;
+ int nposs = ab_provider_vec->len;
+ abstract_pkg_t **ab_providers = ab_provider_vec->pkgs;
+- int l;
+ for (l = 0; l < nposs; l++) {
+ pkg_vec_t *test_vec = ab_providers[l]->pkgs;
+ /* if no depends on this one, try the first package that Provides this one */
+@@ -137,10 +136,9 @@
+ tmp_vec,
+ &newstuff);
+ if (newstuff == NULL) {
+- int i;
+ int ok = 1;
+- for (i = 0; i < rc; i++) {
+- pkg_t *p = tmp_vec->pkgs[i];
++ for (l = 0; l < rc; l++) {
++ pkg_t *p = tmp_vec->pkgs[l];
+ if (p->state_want == SW_INSTALL)
+ continue;
+ ipkg_message(conf, IPKG_DEBUG, "not installing %s due to requirement for %s\n", pkg_scout->name, p->name);
+@@ -810,27 +808,27 @@
+ * [npredepends+nrecommends,npredepends+nrecommends+nsuggests) -> returns recommends_str[index]
+ * [npredepends+nrecommends+nsuggests,npredepends+nrecommends+nsuggests+ndepends) -> returns depends_str[index]
+ */
+-char *pkg_depend_str(pkg_t *pkg, int index)
++char *pkg_depend_str(pkg_t *pkg, int pkg_index)
+ {
+- if (index < pkg->pre_depends_count) {
+- return pkg->pre_depends_str[index];
++ if (pkg_index < pkg->pre_depends_count) {
++ return pkg->pre_depends_str[pkg_index];
+ }
+- index -= pkg->pre_depends_count;
++ pkg_index -= pkg->pre_depends_count;
+
+- if (index < pkg->recommends_count) {
+- return pkg->recommends_str[index];
++ if (pkg_index < pkg->recommends_count) {
++ return pkg->recommends_str[pkg_index];
+ }
+- index -= pkg->recommends_count;
++ pkg_index -= pkg->recommends_count;
+
+- if (index < pkg->suggests_count) {
+- return pkg->suggests_str[index];
++ if (pkg_index < pkg->suggests_count) {
++ return pkg->suggests_str[pkg_index];
+ }
+- index -= pkg->suggests_count;
++ pkg_index -= pkg->suggests_count;
+
+- if (index < pkg->depends_count) {
+- return pkg->depends_str[index];
++ if (pkg_index < pkg->depends_count) {
++ return pkg->depends_str[pkg_index];
+ }
+- fprintf(stderr, "pkg_depend_str: index %d out of range for pkg=%s\n", index, pkg->name);
++ fprintf(stderr, "pkg_depend_str: index %d out of range for pkg=%s\n", pkg_index, pkg->name);
+ return NULL;
+ }
+
+diff -ruN busybox-1.00-old/archival/libipkg/pkg_depends.h busybox-1.00-new/archival/libipkg/pkg_depends.h
+--- busybox-1.00-old/archival/libipkg/pkg_depends.h 2005-10-27 16:37:26.000000000 +0200
++++ busybox-1.00-new/archival/libipkg/pkg_depends.h 2005-10-27 16:38:03.000000000 +0200
+@@ -92,7 +92,7 @@
+ */
+ int pkg_conflicts(pkg_t *pkg, pkg_t *conflicts);
+
+-char *pkg_depend_str(pkg_t *pkg, int index);
++char *pkg_depend_str(pkg_t *pkg, int pkg_index);
+ void buildDependedUponBy(pkg_t * pkg, abstract_pkg_t * ab_pkg);
+ void freeDepends(pkg_t *pkg);
+ void printDepends(pkg_t * pkg);
+diff -ruN busybox-1.00-old/archival/libipkg/pkg_hash.c busybox-1.00-new/archival/libipkg/pkg_hash.c
+--- busybox-1.00-old/archival/libipkg/pkg_hash.c 2005-10-27 16:37:26.000000000 +0200
++++ busybox-1.00-new/archival/libipkg/pkg_hash.c 2005-10-27 16:38:03.000000000 +0200
+@@ -143,7 +143,7 @@
+ pkg_t *pkg_hash_fetch_best_installation_candidate(ipkg_conf_t *conf, abstract_pkg_t *apkg,
+ int (*constraint_fcn)(pkg_t *pkg, void *cdata), void *cdata, int quiet)
+ {
+- int i;
++ int i, j;
+ int nprovides = 0;
+ int nmatching = 0;
+ pkg_vec_t *matching_pkgs = pkg_vec_alloc();
+@@ -209,11 +209,10 @@
+ /* now check for supported architecture */
+ {
+ int max_count = 0;
+- int i;
+
+ /* count packages matching max arch priority and keep track of last one */
+- for (i = 0; i < vec->len; i++) {
+- pkg_t *maybe = vec->pkgs[i];
++ for (j = 0; j < vec->len; j++) {
++ pkg_t *maybe = vec->pkgs[j];
+ ipkg_message(conf, IPKG_DEBUG, " %s arch=%s arch_priority=%d \n",
+ maybe->name, maybe->architecture, maybe->arch_priority);
+ if (maybe->arch_priority > 0) {
+diff -ruN busybox-1.00-old/archival/libipkg/pkg_vec.h busybox-1.00-new/archival/libipkg/pkg_vec.h
+--- busybox-1.00-old/archival/libipkg/pkg_vec.h 2005-10-27 16:37:26.000000000 +0200
++++ busybox-1.00-new/archival/libipkg/pkg_vec.h 2005-10-27 16:39:05.000000000 +0200
+@@ -35,6 +35,8 @@
+ };
+ typedef struct abstract_pkg_vec abstract_pkg_vec_t;
+
++typedef int (*pkg_compar_t)(pkg_t *, pkg_t *);
++typedef int (*abstract_pkg_compar_t)(abstract_pkg_t *, abstract_pkg_t *);
+
+ pkg_vec_t * pkg_vec_alloc(void);
+ void pkg_vec_free(pkg_vec_t *vec);