summaryrefslogtreecommitdiff
path: root/packages/ipkg
diff options
context:
space:
mode:
Diffstat (limited to 'packages/ipkg')
-rw-r--r--packages/ipkg/.mtn2git_empty0
-rw-r--r--packages/ipkg/files/.mtn2git_empty0
-rw-r--r--packages/ipkg/files/uclibc.patch13
-rw-r--r--packages/ipkg/files/uninclude-replace.patch10
-rw-r--r--packages/ipkg/ipkg-0.99.129/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-0.99.129/buffer-overflow.patch38
-rw-r--r--packages/ipkg/ipkg-0.99.130/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-0.99.130/terse.patch27
-rw-r--r--packages/ipkg/ipkg-0.99.135/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-0.99.135/remove-c99isms.patch42
-rw-r--r--packages/ipkg/ipkg-0.99.135/terse.patch18
-rw-r--r--packages/ipkg/ipkg-0.99.138/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-0.99.138/terse.patch18
-rw-r--r--packages/ipkg/ipkg-0.99.140/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-0.99.140/remove-c99isms.patch124
-rw-r--r--packages/ipkg/ipkg-0.99.140/terse.patch18
-rw-r--r--packages/ipkg/ipkg-0.99.144/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-0.99.144/terse.patch18
-rw-r--r--packages/ipkg/ipkg-0.99.146/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-0.99.146/terse.patch18
-rw-r--r--packages/ipkg/ipkg-0.99.147/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-0.99.147/libdir.patch11
-rw-r--r--packages/ipkg/ipkg-0.99.147/terse.patch18
-rw-r--r--packages/ipkg/ipkg-0.99.148/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-0.99.148/libdir.patch11
-rw-r--r--packages/ipkg/ipkg-0.99.148/terse.patch18
-rw-r--r--packages/ipkg/ipkg-0.99.151/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-0.99.151/terse.patch18
-rw-r--r--packages/ipkg/ipkg-collateral/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-collateral/beagle/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-collateral/collie/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-collateral/dest1
-rw-r--r--packages/ipkg/ipkg-collateral/ipkg.conf.comments23
-rw-r--r--packages/ipkg/ipkg-collateral/jornada56x/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-collateral/lists2
-rw-r--r--packages/ipkg/ipkg-collateral/openmn/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-collateral/openmn/src1
-rw-r--r--packages/ipkg/ipkg-collateral/poodle/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-collateral/poodle/dest4
-rw-r--r--packages/ipkg/ipkg-collateral/simpad/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-collateral/tosa/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-native_0.99.138.bb7
-rw-r--r--packages/ipkg/ipkg-native_0.99.140.bb7
-rw-r--r--packages/ipkg/ipkg-native_0.99.147.bb15
-rw-r--r--packages/ipkg/ipkg-native_0.99.148.bb15
-rw-r--r--packages/ipkg/ipkg-native_0.99.151.bb13
-rw-r--r--packages/ipkg/ipkg_0.99.148.bb53
-rw-r--r--packages/ipkg/ipkg_0.99.151.bb54
48 files changed, 615 insertions, 0 deletions
diff --git a/packages/ipkg/.mtn2git_empty b/packages/ipkg/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/.mtn2git_empty
diff --git a/packages/ipkg/files/.mtn2git_empty b/packages/ipkg/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/files/.mtn2git_empty
diff --git a/packages/ipkg/files/uclibc.patch b/packages/ipkg/files/uclibc.patch
index e69de29bb2..d0d3a3ff7c 100644
--- a/packages/ipkg/files/uclibc.patch
+++ b/packages/ipkg/files/uclibc.patch
@@ -0,0 +1,13 @@
+Index: C/libbb/libbb.h
+===================================================================
+--- C.orig/libbb/libbb.h 2003-02-24 10:31:52.000000000 -0500
++++ C/libbb/libbb.h 2005-01-20 03:07:10.031420944 -0500
+@@ -340,7 +340,7 @@
+ #define CONSOLE_DEV "/dev/console"
+
+ /* Cope with mmu-less systems somewhat gracefully */
+-#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_MMU__)
++#if defined(__UCLIBC__) && !defined(__ARCH_HAS_MMU__)
+ #define fork vfork
+ #endif
+
diff --git a/packages/ipkg/files/uninclude-replace.patch b/packages/ipkg/files/uninclude-replace.patch
index e69de29bb2..a3ed2201fd 100644
--- a/packages/ipkg/files/uninclude-replace.patch
+++ b/packages/ipkg/files/uninclude-replace.patch
@@ -0,0 +1,10 @@
+--- C/includes.h 2003-03-28 19:36:22.000000000 +0000
++++ C/includes.h 2004-07-28 03:41:11.000000000 +0100
+@@ -48,6 +48,6 @@
+ # include <unistd.h>
+ #endif
+
+-#include "replace/replace.h"
++//#include "replace/replace.h"
+
+ #endif
diff --git a/packages/ipkg/ipkg-0.99.129/.mtn2git_empty b/packages/ipkg/ipkg-0.99.129/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-0.99.129/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch b/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch
index e69de29bb2..91234fd53f 100644
--- a/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch
+++ b/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch
@@ -0,0 +1,38 @@
+Index: ipkg_cmd.c
+===================================================================
+RCS file: /cvs/familiar/dist/ipkg/C/ipkg_cmd.c,v
+retrieving revision 1.96
+diff -u -r1.96 ipkg_cmd.c
+--- C/ipkg_cmd.c 19 Aug 2004 10:55:47 -0000 1.96
++++ C/ipkg_cmd.c 11 Sep 2004 19:43:14 -0000
+@@ -860,6 +860,7 @@
+ str_list_elt_t *iter;
+ char *pkg_version;
+ size_t buff_len = 8192;
++ size_t used_len;
+ char *buff ;
+
+ buff = (char *)malloc(buff_len);
+@@ -891,9 +892,20 @@
+ }
+ #else
+ if (buff) {
+- snprintf(buff, buff_len, "Package %s (%s) is installed on %s and has the following files:\n",
+- pkg->name, pkg_version, pkg->dest->name);
++ try_again:
++ used_len = snprintf(buff, buff_len, "Package %s (%s) is installed on %s and has the following files:\n",
++ pkg->name, pkg_version, pkg->dest->name) + 1;
++ if (used_len > buff_len) {
++ buff_len *= 2;
++ buff = realloc (buff, buff_len);
++ goto try_again;
++ }
+ for (iter = installed_files->head; iter; iter = iter->next) {
++ used_len += strlen (iter->data) + 1;
++ while (buff_len <= used_len) {
++ buff_len *= 2;
++ buff = realloc (buff, buff_len);
++ }
+ strncat(buff, iter->data, buff_len);
+ strncat(buff, "\n", buff_len);
+ }
diff --git a/packages/ipkg/ipkg-0.99.130/.mtn2git_empty b/packages/ipkg/ipkg-0.99.130/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-0.99.130/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-0.99.130/terse.patch b/packages/ipkg/ipkg-0.99.130/terse.patch
index e69de29bb2..9a07df5df3 100644
--- a/packages/ipkg/ipkg-0.99.130/terse.patch
+++ b/packages/ipkg/ipkg-0.99.130/terse.patch
@@ -0,0 +1,27 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- C/ipkg_cmd.c~terse
++++ C/ipkg_cmd.c
+@@ -119,8 +119,6 @@
+ " writing status file\n");
+ ipkg_conf_write_status_files(conf);
+ pkg_write_changed_filelists(conf);
+- } else {
+- ipkg_message(conf, IPKG_NOTICE, "Nothing to be done\n");
+ }
+ }
+
+@@ -148,9 +146,7 @@
+ int result;
+ p_userdata = userdata;
+ result = (cmd->fun)(conf, argc, argv);
+- if ( result == 0 ) {
+- ipkg_message(conf, IPKG_NOTICE, "Successfully terminated.\n");
+- } else {
++ if ( result != 0 ) {
+ ipkg_message(conf, IPKG_NOTICE, "An error ocurred, return value: %d.\n", result);
+ }
+
diff --git a/packages/ipkg/ipkg-0.99.135/.mtn2git_empty b/packages/ipkg/ipkg-0.99.135/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-0.99.135/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-0.99.135/remove-c99isms.patch b/packages/ipkg/ipkg-0.99.135/remove-c99isms.patch
index e69de29bb2..e70f3af9ff 100644
--- a/packages/ipkg/ipkg-0.99.135/remove-c99isms.patch
+++ b/packages/ipkg/ipkg-0.99.135/remove-c99isms.patch
@@ -0,0 +1,42 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- C/ipkg_install.c~remove-c99isms.patch
++++ C/ipkg_install.c
+@@ -186,14 +186,16 @@
+ {
+ abstract_pkg_vec_t *providers = pkg_hash_fetch_all_installation_candidates (&conf->pkg_hash, pkg_name);
+ int i;
++ ipkg_error_t err;
++ abstract_pkg_t *ppkg;
+
+ if (providers == NULL)
+ return IPKG_PKG_HAS_NO_CANDIDATE;
+
+ for (i = 0; i < providers->len; i++) {
+- abstract_pkg_t *ppkg = abstract_pkg_vec_get(providers, i);
+- ipkg_message(conf, IPKG_DEBUG2,"Function: %s calling ipkg_install_by_name %d \n",__FUNCTION__, i);
+- ipkg_error_t err = ipkg_install_by_name(conf, ppkg->name);
++ ppkg = abstract_pkg_vec_get(providers, i);
++ ipkg_message(conf, IPKG_DEBUG2,"Function: %s calling ipkg_install_by_name %d \n",__FUNCTION__, i);
++ err = ipkg_install_by_name(conf, ppkg->name);
+ if (err)
+ return err;
+ }
+@@ -614,12 +616,13 @@
+ int pkg_remove_installed_replacees_unwind(ipkg_conf_t *conf, pkg_vec_t *replacees)
+ {
+ int i;
++ int err;
+ int replaces_count = replacees->len;
+ for (i = 0; i < replaces_count; i++) {
+ pkg_t *replacee = replacees->pkgs[i];
+ if (replacee->state_status != SS_INSTALLED) {
+ ipkg_message(conf, IPKG_DEBUG2,"Function: %s calling ipkg_install_pkg \n",__FUNCTION__);
+- int err = ipkg_install_pkg(conf, replacee);
++ err = ipkg_install_pkg(conf, replacee);
+ if (err)
+ return err;
+ }
diff --git a/packages/ipkg/ipkg-0.99.135/terse.patch b/packages/ipkg/ipkg-0.99.135/terse.patch
index e69de29bb2..3c4d6bed7e 100644
--- a/packages/ipkg/ipkg-0.99.135/terse.patch
+++ b/packages/ipkg/ipkg-0.99.135/terse.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- C/ipkg_cmd.c~terse
++++ C/ipkg_cmd.c
+@@ -148,9 +146,7 @@
+ int result;
+ p_userdata = userdata;
+ result = (cmd->fun)(conf, argc, argv);
+- if ( result == 0 ) {
+- ipkg_message(conf, IPKG_NOTICE, "Successfully terminated.\n");
+- } else {
++ if ( result != 0 ) {
+ ipkg_message(conf, IPKG_NOTICE, "An error ocurred, return value: %d.\n", result);
+ }
+
diff --git a/packages/ipkg/ipkg-0.99.138/.mtn2git_empty b/packages/ipkg/ipkg-0.99.138/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-0.99.138/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-0.99.138/terse.patch b/packages/ipkg/ipkg-0.99.138/terse.patch
index e69de29bb2..3c4d6bed7e 100644
--- a/packages/ipkg/ipkg-0.99.138/terse.patch
+++ b/packages/ipkg/ipkg-0.99.138/terse.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- C/ipkg_cmd.c~terse
++++ C/ipkg_cmd.c
+@@ -148,9 +146,7 @@
+ int result;
+ p_userdata = userdata;
+ result = (cmd->fun)(conf, argc, argv);
+- if ( result == 0 ) {
+- ipkg_message(conf, IPKG_NOTICE, "Successfully terminated.\n");
+- } else {
++ if ( result != 0 ) {
+ ipkg_message(conf, IPKG_NOTICE, "An error ocurred, return value: %d.\n", result);
+ }
+
diff --git a/packages/ipkg/ipkg-0.99.140/.mtn2git_empty b/packages/ipkg/ipkg-0.99.140/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-0.99.140/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-0.99.140/remove-c99isms.patch b/packages/ipkg/ipkg-0.99.140/remove-c99isms.patch
index e69de29bb2..f1ad2a3f6c 100644
--- a/packages/ipkg/ipkg-0.99.140/remove-c99isms.patch
+++ b/packages/ipkg/ipkg-0.99.140/remove-c99isms.patch
@@ -0,0 +1,124 @@
+Index: C/pkg_depends.c
+===================================================================
+--- C.orig/pkg_depends.c 2005-02-08 14:32:46.000000000 +0000
++++ C/pkg_depends.c 2005-02-08 15:50:50.000000000 +0000
+@@ -251,15 +251,16 @@
+ really conflicts
+ returns 0 if conflicts <> replaces or 1 if conflicts == replaces
+ */
+-int is_pkg_a_replaces(pkg_t *pkg_scout,pkg_t *pkg){
+-
+-int i ;
+-int replaces_count = pkg->replaces_count;
++int is_pkg_a_replaces(pkg_t *pkg_scout,pkg_t *pkg)
++{
++ int i ;
++ int replaces_count = pkg->replaces_count;
++ abstract_pkg_t **replaces;
+
+- if (pkg->replaces_count==0) // No replaces, it's surely a conflict
+- return 0;
++ if (pkg->replaces_count==0) // No replaces, it's surely a conflict
++ return 0;
+
+- abstract_pkg_t **replaces = pkg->replaces;
++ replaces = pkg->replaces;
+
+ for (i = 0; i < replaces_count; i++) {
+ if (strcmp(pkg_scout->name,pkg->replaces[i]->name)==0) // Found
+@@ -280,6 +281,8 @@
+ register int i, j, k;
+ int count;
+ abstract_pkg_t * ab_pkg;
++ pkg_t **pkg_scouts;
++ pkg_t *pkg_scout;
+
+ /*
+ * this is a setup to check for redundant/cyclic dependency checks,
+@@ -316,9 +319,9 @@
+ if (test_vec) {
+ /* pkg_vec found, it is an actual package conflict
+ * cruise this possiblity's pkg_vec looking for an installed version */
+- pkg_t **pkg_scouts = test_vec->pkgs;
++ pkg_scouts = test_vec->pkgs;
+ for(k = 0; k < test_vec->len; k++){
+- pkg_t *pkg_scout = pkg_scouts[k];
++ pkg_scout = pkg_scouts[k];
+ if (!pkg_scout) {
+ fprintf(stderr, "%s: null pkg scout\n", __FUNCTION__);
+ continue;
+@@ -381,13 +384,16 @@
+ abstract_pkg_vec_t *provider_apkgs = apkg->provided_by;
+ int n_providers = provider_apkgs->len;
+ abstract_pkg_t **apkgs = provider_apkgs->pkgs;
++ pkg_vec_t *pkg_vec;
++ int n_pkgs ;
+ int i;
++ int j;
++
+ for (i = 0; i < n_providers; i++) {
+ abstract_pkg_t *papkg = apkgs[i];
+- pkg_vec_t *pkg_vec = papkg->pkgs;
++ pkg_vec = papkg->pkgs;
+ if (pkg_vec) {
+- int n_pkgs = pkg_vec->len;
+- int j;
++ n_pkgs = pkg_vec->len;
+ for (j = 0; j < n_pkgs; j++) {
+ pkg_t *pkg = pkg_vec->pkgs[j];
+ if (version_constraints_satisfied(depend, pkg)) {
+@@ -406,12 +412,14 @@
+ int n_providers = provider_apkgs->len;
+ abstract_pkg_t **apkgs = provider_apkgs->pkgs;
+ int i;
++ int n_pkgs;
++ int j;
++
+ for (i = 0; i < n_providers; i++) {
+ abstract_pkg_t *papkg = apkgs[i];
+ pkg_vec_t *pkg_vec = papkg->pkgs;
+ if (pkg_vec) {
+- int n_pkgs = pkg_vec->len;
+- int j;
++ n_pkgs = pkg_vec->len;
+ for (j = 0; j < n_pkgs; j++) {
+ pkg_t *pkg = pkg_vec->pkgs[j];
+ if (version_constraints_satisfied(depend, pkg)) {
+@@ -532,11 +540,15 @@
+ abstract_pkg_t **conflictee_provides = conflictee->provides;
+ int conflictee_provides_count = conflictee->provides_count;
+ int i, j, k;
++ int possibility_count;
++ struct depend **possibilities;
++ abstract_pkg_t *possibility ;
++
+ for (i = 0; i < conflicts_count; i++) {
+- int possibility_count = conflicts[i].possibility_count;
+- struct depend **possibilities = conflicts[i].possibilities;
++ possibility_count = conflicts[i].possibility_count;
++ possibilities = conflicts[i].possibilities;
+ for (j = 0; j < possibility_count; j++) {
+- abstract_pkg_t *possibility = possibilities[j]->pkg;
++ possibility = possibilities[j]->pkg;
+ for (k = 0; k < conflictee_provides_count; k++) {
+ if (possibility == conflictee_provides[k]) {
+ return 1;
+@@ -832,6 +844,8 @@
+ compound_depend_t * depends;
+ int count, othercount;
+ register int i, j;
++ abstract_pkg_t * ab_depend;
++ abstract_pkg_t ** temp;
+
+ count = pkg->pre_depends_count + pkg->depends_count;
+ depends = pkg->depends;
+@@ -843,8 +857,7 @@
+ if (0 && pkg->pre_depends_count)
+ fprintf(stderr, " i=%d possibility_count=%x depends=%p\n", i, depends->possibility_count, depends);
+ for (j = 0; j < depends->possibility_count; j++){
+- abstract_pkg_t * ab_depend = depends->possibilities[j]->pkg;
+- abstract_pkg_t ** temp;
++ ab_depend = depends->possibilities[j]->pkg;
+ if(!ab_depend->depended_upon_by)
+ ab_depend->depended_upon_by = (abstract_pkg_t **)calloc(1, sizeof(abstract_pkg_t *));
+
diff --git a/packages/ipkg/ipkg-0.99.140/terse.patch b/packages/ipkg/ipkg-0.99.140/terse.patch
index e69de29bb2..3c4d6bed7e 100644
--- a/packages/ipkg/ipkg-0.99.140/terse.patch
+++ b/packages/ipkg/ipkg-0.99.140/terse.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- C/ipkg_cmd.c~terse
++++ C/ipkg_cmd.c
+@@ -148,9 +146,7 @@
+ int result;
+ p_userdata = userdata;
+ result = (cmd->fun)(conf, argc, argv);
+- if ( result == 0 ) {
+- ipkg_message(conf, IPKG_NOTICE, "Successfully terminated.\n");
+- } else {
++ if ( result != 0 ) {
+ ipkg_message(conf, IPKG_NOTICE, "An error ocurred, return value: %d.\n", result);
+ }
+
diff --git a/packages/ipkg/ipkg-0.99.144/.mtn2git_empty b/packages/ipkg/ipkg-0.99.144/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-0.99.144/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-0.99.144/terse.patch b/packages/ipkg/ipkg-0.99.144/terse.patch
index e69de29bb2..3c4d6bed7e 100644
--- a/packages/ipkg/ipkg-0.99.144/terse.patch
+++ b/packages/ipkg/ipkg-0.99.144/terse.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- C/ipkg_cmd.c~terse
++++ C/ipkg_cmd.c
+@@ -148,9 +146,7 @@
+ int result;
+ p_userdata = userdata;
+ result = (cmd->fun)(conf, argc, argv);
+- if ( result == 0 ) {
+- ipkg_message(conf, IPKG_NOTICE, "Successfully terminated.\n");
+- } else {
++ if ( result != 0 ) {
+ ipkg_message(conf, IPKG_NOTICE, "An error ocurred, return value: %d.\n", result);
+ }
+
diff --git a/packages/ipkg/ipkg-0.99.146/.mtn2git_empty b/packages/ipkg/ipkg-0.99.146/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-0.99.146/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-0.99.146/terse.patch b/packages/ipkg/ipkg-0.99.146/terse.patch
index e69de29bb2..3c4d6bed7e 100644
--- a/packages/ipkg/ipkg-0.99.146/terse.patch
+++ b/packages/ipkg/ipkg-0.99.146/terse.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- C/ipkg_cmd.c~terse
++++ C/ipkg_cmd.c
+@@ -148,9 +146,7 @@
+ int result;
+ p_userdata = userdata;
+ result = (cmd->fun)(conf, argc, argv);
+- if ( result == 0 ) {
+- ipkg_message(conf, IPKG_NOTICE, "Successfully terminated.\n");
+- } else {
++ if ( result != 0 ) {
+ ipkg_message(conf, IPKG_NOTICE, "An error ocurred, return value: %d.\n", result);
+ }
+
diff --git a/packages/ipkg/ipkg-0.99.147/.mtn2git_empty b/packages/ipkg/ipkg-0.99.147/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-0.99.147/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-0.99.147/libdir.patch b/packages/ipkg/ipkg-0.99.147/libdir.patch
index e69de29bb2..38f0b4d286 100644
--- a/packages/ipkg/ipkg-0.99.147/libdir.patch
+++ b/packages/ipkg/ipkg-0.99.147/libdir.patch
@@ -0,0 +1,11 @@
+--- C/ipkg.h.in.old 2005-04-02 17:11:02.762413624 +0100
++++ C/ipkg.h.in 2005-04-02 17:11:06.314873568 +0100
+@@ -36,7 +36,7 @@
+ #define IPKG_LEGAL_PKG_NAME_CHARS "abcdefghijklmnopqrstuvwxyz0123456789.+-"
+ #define IPKG_PKG_VERSION_SEP_CHAR '_'
+
+-#define IPKG_STATE_DIR_PREFIX LIBDIR"/ipkg"
++#define IPKG_STATE_DIR_PREFIX "/usr/lib/ipkg"
+ #define IPKG_LISTS_DIR_SUFFIX "lists"
+ #define IPKG_INFO_DIR_SUFFIX "info"
+ #define IPKG_STATUS_FILE_SUFFIX "status"
diff --git a/packages/ipkg/ipkg-0.99.147/terse.patch b/packages/ipkg/ipkg-0.99.147/terse.patch
index e69de29bb2..3c4d6bed7e 100644
--- a/packages/ipkg/ipkg-0.99.147/terse.patch
+++ b/packages/ipkg/ipkg-0.99.147/terse.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- C/ipkg_cmd.c~terse
++++ C/ipkg_cmd.c
+@@ -148,9 +146,7 @@
+ int result;
+ p_userdata = userdata;
+ result = (cmd->fun)(conf, argc, argv);
+- if ( result == 0 ) {
+- ipkg_message(conf, IPKG_NOTICE, "Successfully terminated.\n");
+- } else {
++ if ( result != 0 ) {
+ ipkg_message(conf, IPKG_NOTICE, "An error ocurred, return value: %d.\n", result);
+ }
+
diff --git a/packages/ipkg/ipkg-0.99.148/.mtn2git_empty b/packages/ipkg/ipkg-0.99.148/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-0.99.148/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-0.99.148/libdir.patch b/packages/ipkg/ipkg-0.99.148/libdir.patch
index e69de29bb2..38f0b4d286 100644
--- a/packages/ipkg/ipkg-0.99.148/libdir.patch
+++ b/packages/ipkg/ipkg-0.99.148/libdir.patch
@@ -0,0 +1,11 @@
+--- C/ipkg.h.in.old 2005-04-02 17:11:02.762413624 +0100
++++ C/ipkg.h.in 2005-04-02 17:11:06.314873568 +0100
+@@ -36,7 +36,7 @@
+ #define IPKG_LEGAL_PKG_NAME_CHARS "abcdefghijklmnopqrstuvwxyz0123456789.+-"
+ #define IPKG_PKG_VERSION_SEP_CHAR '_'
+
+-#define IPKG_STATE_DIR_PREFIX LIBDIR"/ipkg"
++#define IPKG_STATE_DIR_PREFIX "/usr/lib/ipkg"
+ #define IPKG_LISTS_DIR_SUFFIX "lists"
+ #define IPKG_INFO_DIR_SUFFIX "info"
+ #define IPKG_STATUS_FILE_SUFFIX "status"
diff --git a/packages/ipkg/ipkg-0.99.148/terse.patch b/packages/ipkg/ipkg-0.99.148/terse.patch
index e69de29bb2..3c4d6bed7e 100644
--- a/packages/ipkg/ipkg-0.99.148/terse.patch
+++ b/packages/ipkg/ipkg-0.99.148/terse.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- C/ipkg_cmd.c~terse
++++ C/ipkg_cmd.c
+@@ -148,9 +146,7 @@
+ int result;
+ p_userdata = userdata;
+ result = (cmd->fun)(conf, argc, argv);
+- if ( result == 0 ) {
+- ipkg_message(conf, IPKG_NOTICE, "Successfully terminated.\n");
+- } else {
++ if ( result != 0 ) {
+ ipkg_message(conf, IPKG_NOTICE, "An error ocurred, return value: %d.\n", result);
+ }
+
diff --git a/packages/ipkg/ipkg-0.99.151/.mtn2git_empty b/packages/ipkg/ipkg-0.99.151/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-0.99.151/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-0.99.151/terse.patch b/packages/ipkg/ipkg-0.99.151/terse.patch
index e69de29bb2..3c4d6bed7e 100644
--- a/packages/ipkg/ipkg-0.99.151/terse.patch
+++ b/packages/ipkg/ipkg-0.99.151/terse.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- C/ipkg_cmd.c~terse
++++ C/ipkg_cmd.c
+@@ -148,9 +146,7 @@
+ int result;
+ p_userdata = userdata;
+ result = (cmd->fun)(conf, argc, argv);
+- if ( result == 0 ) {
+- ipkg_message(conf, IPKG_NOTICE, "Successfully terminated.\n");
+- } else {
++ if ( result != 0 ) {
+ ipkg_message(conf, IPKG_NOTICE, "An error ocurred, return value: %d.\n", result);
+ }
+
diff --git a/packages/ipkg/ipkg-collateral/.mtn2git_empty b/packages/ipkg/ipkg-collateral/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-collateral/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-collateral/beagle/.mtn2git_empty b/packages/ipkg/ipkg-collateral/beagle/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-collateral/beagle/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-collateral/collie/.mtn2git_empty b/packages/ipkg/ipkg-collateral/collie/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-collateral/collie/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-collateral/dest b/packages/ipkg/ipkg-collateral/dest
index e69de29bb2..088ca403da 100644
--- a/packages/ipkg/ipkg-collateral/dest
+++ b/packages/ipkg/ipkg-collateral/dest
@@ -0,0 +1 @@
+dest root /
diff --git a/packages/ipkg/ipkg-collateral/ipkg.conf.comments b/packages/ipkg/ipkg-collateral/ipkg.conf.comments
index e69de29bb2..51623f4d53 100644
--- a/packages/ipkg/ipkg-collateral/ipkg.conf.comments
+++ b/packages/ipkg/ipkg-collateral/ipkg.conf.comments
@@ -0,0 +1,23 @@
+# Must have one or more source entries of the form:
+#
+# src <src-name> <source-url>
+#
+# and one or more destination entries of the form:
+#
+# dest <dest-name> <target-path>
+#
+# where <src-name> and <dest-names> are identifiers that
+# should match [a-zA-Z0-9._-]+, <source-url> should be a
+# URL that points to a directory containing a Familiar
+# Packages file, and <target-path> should be a directory
+# that exists on the target system.
+
+# Proxy Support
+#option http_proxy http://proxy.tld:3128
+#option ftp_proxy http://proxy.tld:3128
+#option proxy_username <username>
+#option proxy_password <password>
+
+# Offline mode (for use in constructing flash images offline)
+#option offline_root target
+
diff --git a/packages/ipkg/ipkg-collateral/jornada56x/.mtn2git_empty b/packages/ipkg/ipkg-collateral/jornada56x/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-collateral/jornada56x/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-collateral/lists b/packages/ipkg/ipkg-collateral/lists
index e69de29bb2..3c524f8c77 100644
--- a/packages/ipkg/ipkg-collateral/lists
+++ b/packages/ipkg/ipkg-collateral/lists
@@ -0,0 +1,2 @@
+lists_dir ext /var/lib/ipkg
+
diff --git a/packages/ipkg/ipkg-collateral/openmn/.mtn2git_empty b/packages/ipkg/ipkg-collateral/openmn/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-collateral/openmn/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-collateral/openmn/src b/packages/ipkg/ipkg-collateral/openmn/src
index e69de29bb2..97cdd4741c 100644
--- a/packages/ipkg/ipkg-collateral/openmn/src
+++ b/packages/ipkg/ipkg-collateral/openmn/src
@@ -0,0 +1 @@
+src mnci54 http://www.mn-solutions.de/feed/mnci54/base
diff --git a/packages/ipkg/ipkg-collateral/poodle/.mtn2git_empty b/packages/ipkg/ipkg-collateral/poodle/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-collateral/poodle/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-collateral/poodle/dest b/packages/ipkg/ipkg-collateral/poodle/dest
index e69de29bb2..9379964e57 100644
--- a/packages/ipkg/ipkg-collateral/poodle/dest
+++ b/packages/ipkg/ipkg-collateral/poodle/dest
@@ -0,0 +1,4 @@
+dest root /
+dest cf /media/cf/packages/
+dest sd /media/card/packages/
+dest home /home/packages/
diff --git a/packages/ipkg/ipkg-collateral/simpad/.mtn2git_empty b/packages/ipkg/ipkg-collateral/simpad/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-collateral/simpad/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-collateral/tosa/.mtn2git_empty b/packages/ipkg/ipkg-collateral/tosa/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-collateral/tosa/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-native_0.99.138.bb b/packages/ipkg/ipkg-native_0.99.138.bb
index e69de29bb2..e3bfb26cbc 100644
--- a/packages/ipkg/ipkg-native_0.99.138.bb
+++ b/packages/ipkg/ipkg-native_0.99.138.bb
@@ -0,0 +1,7 @@
+SECTION = "base"
+include ipkg_${PV}.bb
+inherit native
+
+DEPENDS = "libtool-native automake-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ipkg-${PV}"
+PROVIDES = ""
diff --git a/packages/ipkg/ipkg-native_0.99.140.bb b/packages/ipkg/ipkg-native_0.99.140.bb
index e69de29bb2..e3bfb26cbc 100644
--- a/packages/ipkg/ipkg-native_0.99.140.bb
+++ b/packages/ipkg/ipkg-native_0.99.140.bb
@@ -0,0 +1,7 @@
+SECTION = "base"
+include ipkg_${PV}.bb
+inherit native
+
+DEPENDS = "libtool-native automake-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ipkg-${PV}"
+PROVIDES = ""
diff --git a/packages/ipkg/ipkg-native_0.99.147.bb b/packages/ipkg/ipkg-native_0.99.147.bb
index e69de29bb2..ad5d41db4e 100644
--- a/packages/ipkg/ipkg-native_0.99.147.bb
+++ b/packages/ipkg/ipkg-native_0.99.147.bb
@@ -0,0 +1,15 @@
+SECTION = "base"
+include ipkg_${PV}.bb
+
+# NOTE: ipkg now obeys ${libdir}, so ipkg-native now installs
+# things into the wrong location inside of offline_root. Backup
+# the target libdir and use that.
+target_libdir := "${libdir}"
+
+inherit native
+
+EXTRA_OECONF += "--with-ipkgdir=${target_libdir}/ipkg"
+
+DEPENDS = "libtool-native automake-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ipkg-${PV}"
+PROVIDES = ""
diff --git a/packages/ipkg/ipkg-native_0.99.148.bb b/packages/ipkg/ipkg-native_0.99.148.bb
index e69de29bb2..ad5d41db4e 100644
--- a/packages/ipkg/ipkg-native_0.99.148.bb
+++ b/packages/ipkg/ipkg-native_0.99.148.bb
@@ -0,0 +1,15 @@
+SECTION = "base"
+include ipkg_${PV}.bb
+
+# NOTE: ipkg now obeys ${libdir}, so ipkg-native now installs
+# things into the wrong location inside of offline_root. Backup
+# the target libdir and use that.
+target_libdir := "${libdir}"
+
+inherit native
+
+EXTRA_OECONF += "--with-ipkgdir=${target_libdir}/ipkg"
+
+DEPENDS = "libtool-native automake-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ipkg-${PV}"
+PROVIDES = ""
diff --git a/packages/ipkg/ipkg-native_0.99.151.bb b/packages/ipkg/ipkg-native_0.99.151.bb
index e69de29bb2..3011b32b75 100644
--- a/packages/ipkg/ipkg-native_0.99.151.bb
+++ b/packages/ipkg/ipkg-native_0.99.151.bb
@@ -0,0 +1,13 @@
+SECTION = "base"
+include ipkg_${PV}.bb
+
+# NOTE: ipkg now obeys ${libdir}, so ipkg-native now installs
+# things into the wrong location inside of offline_root. Backup
+# the target libdir and use that.
+target_libdir := "${libdir}"
+
+inherit native
+
+DEPENDS = "libtool-native automake-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ipkg-${PV}"
+PROVIDES = ""
diff --git a/packages/ipkg/ipkg_0.99.148.bb b/packages/ipkg/ipkg_0.99.148.bb
index e69de29bb2..797e6a070b 100644
--- a/packages/ipkg/ipkg_0.99.148.bb
+++ b/packages/ipkg/ipkg_0.99.148.bb
@@ -0,0 +1,53 @@
+SECTION = "base"
+DESCRIPTION = "Itsy Package Manager"
+DESCRIPTION_libipkg = "Itsy Package Manager Library"
+LICENSE = "GPL"
+PROVIDES = "virtual/ipkg libipkg"
+PR = "r0"
+
+PACKAGES =+ "libipkg-dev libipkg"
+FILES_libipkg-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so"
+FILES_libipkg = "${libdir}"
+AUTO_LIBNAME_PKGS = "libipkg"
+
+SRC_URI = "${HANDHELDS_CVS};module=familiar/dist/ipkg;tag=${@'V' + bb.data.getVar('PV',d,1).replace('.', '-')} \
+ file://terse.patch;patch=1 \
+ file://libdir.patch;patch=1"
+
+S = "${WORKDIR}/ipkg/C"
+
+inherit autotools pkgconfig
+
+pkg_postinst_ipkg () {
+#!/bin/sh
+if [ "x$D" != "x" ]; then
+ install -d ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d
+ # this happens at S98 where our good 'ole packages script used to run
+ echo -e "#!/bin/sh
+ipkg-cl configure
+" > ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S98configure
+ chmod 0755 ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S98configure
+fi
+
+update-alternatives --install ${bindir}/ipkg ipkg ${bindir}/ipkg-cl 100
+}
+
+pkg_postrm_ipkg () {
+#!/bin/sh
+update-alternatives --remove ipkg ${bindir}/ipkg-cl
+}
+
+do_stage() {
+ oe_libinstall -so libipkg ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/replace/
+ install -m 0644 replace/replace.h ${STAGING_INCDIR}/replace/
+ install -d ${STAGING_INCDIR}/libipkg/
+ for f in *.h
+ do
+ install -m 0644 $f ${STAGING_INCDIR}/libipkg/
+ done
+}
+
+#
+# FIXME: Install /etc/ipkg.conf and /etc/ipkg/arch.conf
+#
diff --git a/packages/ipkg/ipkg_0.99.151.bb b/packages/ipkg/ipkg_0.99.151.bb
index e69de29bb2..684ff784b3 100644
--- a/packages/ipkg/ipkg_0.99.151.bb
+++ b/packages/ipkg/ipkg_0.99.151.bb
@@ -0,0 +1,54 @@
+SECTION = "base"
+DESCRIPTION = "Itsy Package Manager"
+DESCRIPTION_libipkg = "Itsy Package Manager Library"
+LICENSE = "GPL"
+PROVIDES = "virtual/ipkg libipkg"
+PR = "r0"
+
+PACKAGES =+ "libipkg-dev libipkg"
+FILES_libipkg-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so"
+FILES_libipkg = "${libdir}"
+AUTO_LIBNAME_PKGS = "libipkg"
+
+SRC_URI = "${HANDHELDS_CVS};module=familiar/dist/ipkg;tag=${@'V' + bb.data.getVar('PV',d,1).replace('.', '-')} \
+ file://terse.patch;patch=1 "
+
+S = "${WORKDIR}/ipkg/C"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--with-ipkglibdir=/usr/lib"
+
+pkg_postinst_ipkg () {
+#!/bin/sh
+if [ "x$D" != "x" ]; then
+ install -d ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d
+ # this happens at S98 where our good 'ole packages script used to run
+ echo -e "#!/bin/sh
+ipkg-cl configure
+" > ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S98configure
+ chmod 0755 ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S98configure
+fi
+
+update-alternatives --install ${bindir}/ipkg ipkg ${bindir}/ipkg-cl 100
+}
+
+pkg_postrm_ipkg () {
+#!/bin/sh
+update-alternatives --remove ipkg ${bindir}/ipkg-cl
+}
+
+do_stage() {
+ oe_libinstall -so libipkg ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/replace/
+ install -m 0644 replace/replace.h ${STAGING_INCDIR}/replace/
+ install -d ${STAGING_INCDIR}/libipkg/
+ for f in *.h
+ do
+ install -m 0644 $f ${STAGING_INCDIR}/libipkg/
+ done
+}
+
+#
+# FIXME: Install /etc/ipkg.conf and /etc/ipkg/arch.conf
+#