summaryrefslogtreecommitdiff
path: root/openembedded/packages/ipkg
diff options
context:
space:
mode:
Diffstat (limited to 'openembedded/packages/ipkg')
-rw-r--r--openembedded/packages/ipkg/files/terse.patch18
-rw-r--r--openembedded/packages/ipkg/files/uclibc.patch13
-rw-r--r--openembedded/packages/ipkg/files/uninclude-replace.patch10
-rw-r--r--openembedded/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch38
-rw-r--r--openembedded/packages/ipkg/ipkg-0.99.130/terse.patch27
-rw-r--r--openembedded/packages/ipkg/ipkg-0.99.135/depends.patch107
-rw-r--r--openembedded/packages/ipkg/ipkg-0.99.135/remove-c99isms.patch42
-rw-r--r--openembedded/packages/ipkg/ipkg-0.99.140/remove-c99isms.patch124
-rw-r--r--openembedded/packages/ipkg/ipkg-0.99.144/paths.patch193
-rw-r--r--openembedded/packages/ipkg/ipkg-0.99.147/libdir.patch11
-rw-r--r--openembedded/packages/ipkg/ipkg-0.99.148/libdir.patch11
-rw-r--r--openembedded/packages/ipkg/ipkg-collateral.bb23
-rw-r--r--openembedded/packages/ipkg/ipkg-collateral/akita/dest4
-rw-r--r--openembedded/packages/ipkg/ipkg-collateral/akita/lists4
-rw-r--r--openembedded/packages/ipkg/ipkg-collateral/collie/dest4
-rw-r--r--openembedded/packages/ipkg/ipkg-collateral/dest1
-rw-r--r--openembedded/packages/ipkg/ipkg-collateral/ipkg.conf.comments23
-rw-r--r--openembedded/packages/ipkg/ipkg-collateral/jornada56x/dest4
-rw-r--r--openembedded/packages/ipkg/ipkg-collateral/lists2
-rw-r--r--openembedded/packages/ipkg/ipkg-collateral/openmn/src1
-rw-r--r--openembedded/packages/ipkg/ipkg-collateral/poodle/dest4
-rw-r--r--openembedded/packages/ipkg/ipkg-collateral/simpad/dest3
-rw-r--r--openembedded/packages/ipkg/ipkg-collateral/src0
-rw-r--r--openembedded/packages/ipkg/ipkg-collateral/tosa/dest4
-rw-r--r--openembedded/packages/ipkg/ipkg-native.inc12
-rw-r--r--openembedded/packages/ipkg/ipkg-native_0.99.129.bb2
-rw-r--r--openembedded/packages/ipkg/ipkg-native_0.99.130.bb2
-rw-r--r--openembedded/packages/ipkg/ipkg-native_0.99.135.bb2
-rw-r--r--openembedded/packages/ipkg/ipkg-native_0.99.138.bb2
-rw-r--r--openembedded/packages/ipkg/ipkg-native_0.99.140.bb2
-rw-r--r--openembedded/packages/ipkg/ipkg-native_0.99.144.bb2
-rw-r--r--openembedded/packages/ipkg/ipkg-native_0.99.146.bb2
-rw-r--r--openembedded/packages/ipkg/ipkg-native_0.99.147.bb2
-rw-r--r--openembedded/packages/ipkg/ipkg-native_0.99.148.bb2
-rw-r--r--openembedded/packages/ipkg/ipkg-native_0.99.151.bb2
-rw-r--r--openembedded/packages/ipkg/ipkg-native_0.99.152.bb2
-rw-r--r--openembedded/packages/ipkg/ipkg.inc51
-rw-r--r--openembedded/packages/ipkg/ipkg_0.99.129.bb7
-rw-r--r--openembedded/packages/ipkg/ipkg_0.99.130.bb5
-rw-r--r--openembedded/packages/ipkg/ipkg_0.99.135.bb6
-rw-r--r--openembedded/packages/ipkg/ipkg_0.99.138.bb1
-rw-r--r--openembedded/packages/ipkg/ipkg_0.99.140.bb4
-rw-r--r--openembedded/packages/ipkg/ipkg_0.99.144.bb3
-rw-r--r--openembedded/packages/ipkg/ipkg_0.99.146.bb1
-rw-r--r--openembedded/packages/ipkg/ipkg_0.99.147.bb2
-rw-r--r--openembedded/packages/ipkg/ipkg_0.99.148.bb2
-rw-r--r--openembedded/packages/ipkg/ipkg_0.99.151.bb1
-rw-r--r--openembedded/packages/ipkg/ipkg_0.99.152.bb1
48 files changed, 789 insertions, 0 deletions
diff --git a/openembedded/packages/ipkg/files/terse.patch b/openembedded/packages/ipkg/files/terse.patch
new file mode 100644
index 000000000..3c4d6bed7
--- /dev/null
+++ b/openembedded/packages/ipkg/files/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/openembedded/packages/ipkg/files/uclibc.patch b/openembedded/packages/ipkg/files/uclibc.patch
new file mode 100644
index 000000000..d0d3a3ff7
--- /dev/null
+++ b/openembedded/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/openembedded/packages/ipkg/files/uninclude-replace.patch b/openembedded/packages/ipkg/files/uninclude-replace.patch
new file mode 100644
index 000000000..a3ed2201f
--- /dev/null
+++ b/openembedded/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/openembedded/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch b/openembedded/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch
new file mode 100644
index 000000000..91234fd53
--- /dev/null
+++ b/openembedded/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/openembedded/packages/ipkg/ipkg-0.99.130/terse.patch b/openembedded/packages/ipkg/ipkg-0.99.130/terse.patch
new file mode 100644
index 000000000..9a07df5df
--- /dev/null
+++ b/openembedded/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/openembedded/packages/ipkg/ipkg-0.99.135/depends.patch b/openembedded/packages/ipkg/ipkg-0.99.135/depends.patch
new file mode 100644
index 000000000..8f472ab40
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-0.99.135/depends.patch
@@ -0,0 +1,107 @@
+Index: ipkg_cmd.c
+===================================================================
+RCS file: /cvs/familiar/dist/ipkg/C/ipkg_cmd.c,v
+retrieving revision 1.99
+diff -u -r1.99 ipkg_cmd.c
+--- ipkg/ipkg_cmd.c 6 Jan 2005 00:21:49 -0000 1.99
++++ ipkg/ipkg_cmd.c 8 Jan 2005 13:11:16 -0000
+@@ -1150,7 +1150,7 @@
+
+ int pkg_mark_provides(pkg_t *pkg)
+ {
+- int provides_count = pkg->provides_count;
++ int provides_count = pkg->provides_count + 1;
+ abstract_pkg_t **provides = pkg->provides;
+ int i;
+ pkg->parent->state_flag |= SF_MARKED;
+@@ -1207,7 +1207,7 @@
+ for (j = 0; j < available_pkgs->len; j++) {
+ pkg_t *pkg = available_pkgs->pkgs[j];
+ int k;
+- int count = (what_field_type == WHATPROVIDES) ? pkg->provides_count : pkg->replaces_count;
++ int count = (what_field_type == WHATPROVIDES) ? pkg->provides_count + 1 : pkg->replaces_count;
+ for (k = 0; k < count; k++) {
+ abstract_pkg_t *apkg =
+ ((what_field_type == WHATPROVIDES)
+Index: ipkg_remove.c
+===================================================================
+RCS file: /cvs/familiar/dist/ipkg/C/ipkg_remove.c,v
+retrieving revision 1.40
+diff -u -r1.40 ipkg_remove.c
+--- ipkg/ipkg_remove.c 10 May 2004 21:37:07 -0000 1.40
++++ ipkg/ipkg_remove.c 8 Jan 2005 13:11:19 -0000
+@@ -39,7 +39,7 @@
+ */
+ int pkg_has_installed_dependents(ipkg_conf_t *conf, abstract_pkg_t *parent_apkg, pkg_t *pkg, abstract_pkg_t *** pdependents)
+ {
+- int nprovides = pkg->provides_count;
++ int nprovides = pkg->provides_count + 1;
+ abstract_pkg_t **provides = pkg->provides;
+ int n_installed_dependents = 0;
+ int i;
+Index: pkg_depends.c
+===================================================================
+RCS file: /cvs/familiar/dist/ipkg/C/pkg_depends.c,v
+retrieving revision 1.61
+diff -u -r1.61 pkg_depends.c
+--- ipkg/pkg_depends.c 1 Sep 2004 20:30:39 -0000 1.61
++++ ipkg/pkg_depends.c 8 Jan 2005 13:11:21 -0000
+@@ -420,9 +420,9 @@
+ int pkg_has_common_provides(pkg_t *pkg, pkg_t *replacee)
+ {
+ abstract_pkg_t **provides = pkg->provides;
+- int provides_count = pkg->provides_count;
++ int provides_count = pkg->provides_count + 1;
+ abstract_pkg_t **replacee_provides = replacee->provides;
+- int replacee_provides_count = replacee->provides_count;
++ int replacee_provides_count = replacee->provides_count + 1;
+ int i, j;
+ for (i = 0; i < provides_count; i++) {
+ abstract_pkg_t *apkg = provides[i];
+@@ -443,7 +443,7 @@
+ int pkg_provides_abstract(pkg_t *pkg, abstract_pkg_t *providee)
+ {
+ abstract_pkg_t **provides = pkg->provides;
+- int provides_count = pkg->provides_count;
++ int provides_count = pkg->provides_count + 1;
+ int i;
+ for (i = 0; i < provides_count; i++) {
+ if (provides[i] == providee)
+@@ -461,7 +461,7 @@
+ abstract_pkg_t **replaces = pkg->replaces;
+ int replaces_count = pkg->replaces_count;
+ abstract_pkg_t **replacee_provides = pkg->provides;
+- int replacee_provides_count = pkg->provides_count;
++ int replacee_provides_count = pkg->provides_count + 1;
+ int i, j;
+ for (i = 0; i < replaces_count; i++) {
+ abstract_pkg_t *abstract_replacee = replaces[i];
+@@ -504,7 +504,7 @@
+ compound_depend_t *conflicts = pkg->conflicts;
+ int conflicts_count = pkg->conflicts_count;
+ abstract_pkg_t **conflictee_provides = conflictee->provides;
+- int conflictee_provides_count = conflictee->provides_count;
++ int conflictee_provides_count = conflictee->provides_count + 1;
+ int i, j, k;
+ for (i = 0; i < conflicts_count; i++) {
+ int possibility_count = conflicts[i].possibility_count;
+@@ -605,9 +605,6 @@
+ /* every pkg provides itself */
+ abstract_pkg_vec_insert(ab_pkg->provided_by, ab_pkg);
+
+- if (!pkg->provides_count)
+- return 0;
+-
+ pkg->provides = (abstract_pkg_t **)malloc(sizeof(abstract_pkg_t *) * (pkg->provides_count + 1));
+ if (pkg->provides == NULL) {
+ fprintf(stderr, "%s: out of memory\n", __FUNCTION__);
+@@ -615,6 +612,9 @@
+ }
+ pkg->provides[0] = ab_pkg;
+
++ if (pkg->provides_count == 0)
++ return 0;
++
+ // if (strcmp(ab_pkg->name, pkg->name))
+ // fprintf(stderr, __FUNCTION__ ": ab_pkg=%s pkg=%s\n", ab_pkg->name, pkg->name);
+
diff --git a/openembedded/packages/ipkg/ipkg-0.99.135/remove-c99isms.patch b/openembedded/packages/ipkg/ipkg-0.99.135/remove-c99isms.patch
new file mode 100644
index 000000000..e70f3af9f
--- /dev/null
+++ b/openembedded/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/openembedded/packages/ipkg/ipkg-0.99.140/remove-c99isms.patch b/openembedded/packages/ipkg/ipkg-0.99.140/remove-c99isms.patch
new file mode 100644
index 000000000..f1ad2a3f6
--- /dev/null
+++ b/openembedded/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/openembedded/packages/ipkg/ipkg-0.99.144/paths.patch b/openembedded/packages/ipkg/ipkg-0.99.144/paths.patch
new file mode 100644
index 000000000..f40131e25
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-0.99.144/paths.patch
@@ -0,0 +1,193 @@
+Index: C/ipkg.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ C/ipkg.h 2005-02-25 15:28:24.000000000 -0600
+@@ -0,0 +1,59 @@
++/* ipkg.h - the itsy package management system
++
++ Carl D. Worth
++
++ Copyright (C) 2001 University of Southern California
++
++ This program is free software; you can redistribute it and/or
++ modify it under the terms of the GNU General Public License as
++ published by the Free Software Foundation; either version 2, or (at
++ your option) any later version.
++
++ This program is distributed in the hope that it will be useful, but
++ WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ General Public License for more details.
++*/
++
++#ifndef IPKG_H
++#define IPKG_H
++
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++
++#if 0
++#define IPKG_DEBUG_NO_TMP_CLEANUP
++#endif
++
++#include "includes.h"
++#include "ipkg_conf.h"
++#include "ipkg_message.h"
++
++#define IPKG_PKG_EXTENSION ".ipk"
++#define DPKG_PKG_EXTENSION ".deb"
++
++#define IPKG_LEGAL_PKG_NAME_CHARS "abcdefghijklmnopqrstuvwxyz0123456789.+-"
++#define IPKG_PKG_VERSION_SEP_CHAR '_'
++
++#define IPKG_STATE_DIR_PREFIX IPKGDIR
++#define IPKG_LISTS_DIR_SUFFIX "lists"
++#define IPKG_INFO_DIR_SUFFIX "info"
++#define IPKG_STATUS_FILE_SUFFIX "status"
++
++#define IPKG_BACKUP_SUFFIX "-ipkg.backup"
++
++#define IPKG_LIST_DESCRIPTION_LENGTH 128
++
++enum ipkg_error {
++ IPKG_SUCCESS = 0,
++ IPKG_PKG_DEPS_UNSATISFIED,
++ IPKG_PKG_IS_ESSENTIAL,
++ IPKG_PKG_HAS_DEPENDENTS,
++ IPKG_PKG_HAS_NO_CANDIDATE
++};
++typedef enum ipkg_error ipkg_error_t;
++
++extern int ipkg_state_changed;
++
++#endif
+Index: C/configure.ac
+===================================================================
+--- C.orig/configure.ac 2005-02-25 15:27:58.000000000 -0600
++++ C/configure.ac 2005-02-25 15:28:00.000000000 -0600
+@@ -10,6 +10,14 @@
+ test -f $top_builddir/configure && break
+ done
+
++AC_MSG_CHECKING([ipkg data location])
++AC_ARG_WITH(ipkgdir,
++ AS_HELP_STRING([--with-ipkgdir=ARG],
++ [Where to look for plugins (default=${libdir}/ipkg)]),
++ [ipkgdir=$withval],
++ [ipkgdir='${libdir}/ipkg'])
++AC_MSG_RESULT($ipkgdir)
++AC_SUBST(ipkgdir)
+
+ # Checks for programs
+ AC_PROG_AWK
+@@ -50,4 +58,4 @@
+ AC_FUNC_VPRINTF
+ AC_CHECK_FUNCS([memmove memset mkdir regcomp strchr strcspn strdup strerror strndup strrchr strstr strtol strtoul sysinfo utime])
+
+-AC_OUTPUT(Makefile etc/Makefile replace/Makefile familiar/Makefile familiar/control familiar/control-unstripped familiar/libipkg-control familiar/libipkg-dev-control libbb/Makefile libipkg.pc ipkg.h)
++AC_OUTPUT(Makefile etc/Makefile replace/Makefile familiar/Makefile familiar/control familiar/control-unstripped familiar/libipkg-control familiar/libipkg-dev-control libbb/Makefile libipkg.pc)
+Index: C/Makefile.am
+===================================================================
+--- C.orig/Makefile.am 2005-02-25 15:27:58.000000000 -0600
++++ C/Makefile.am 2005-02-25 15:28:00.000000000 -0600
+@@ -3,7 +3,8 @@
+
+ HOST_CPU=@host_cpu@
+ BUILD_CPU=@build_cpu@
+-ALL_CFLAGS=-g -O -Wall -DHOST_CPU_STR=\"@host_cpu@\" -DBUILD_CPU=@build_cpu@ -DLIBDIR=\"@libdir@\"
++ALL_CFLAGS=-g -O -Wall -DHOST_CPU_STR=\"@host_cpu@\" -DBUILD_CPU=@build_cpu@ \
++ -DLIBDIR=\"$(libdir)\" -DIPKGDIR=\"$(ipkgdir)\" -DSYSCONFDIR=\"$(sysconfdir)\"
+
+ bin_PROGRAMS = ipkg-cl
+
+Index: C/ipkg_conf.c
+===================================================================
+--- C.orig/ipkg_conf.c 2005-03-12 21:08:36.000000000 +1030
++++ C/ipkg_conf.c 2005-03-12 21:09:46.000000000 +1030
+@@ -103,7+103,7 @@
+ nv_pair_list_t tmp_dest_nv_pair_list;
+ char * lists_dir =NULL;
+ glob_t globbuf;
+- char *etc_ipkg_conf_pattern = "/etc/ipkg/*.conf";
++ char *etc_ipkg_conf_pattern = SYSCONFDIR"/ipkg/*.conf";
+ char *pending_dir =NULL;
+
+ memset(conf, 0, sizeof(ipkg_conf_t));
+Index: C/args.h
+===================================================================
+--- C.orig/args.h 2005-03-12 21:49:31.000000000 +1030
++++ C/args.h 2005-03-12 21:49:42.000000000 +1030
+@@ -43,7 +43,7 @@
+ };
+ typedef struct args args_t;
+
+-#define ARGS_DEFAULT_CONF_FILE_DIR "/etc"
++#define ARGS_DEFAULT_CONF_FILE_DIR SYSCONFDIR
+ #define ARGS_DEFAULT_CONF_FILE_NAME "ipkg.conf"
+ #define ARGS_DEFAULT_DEST NULL
+ #define ARGS_DEFAULT_FORCE_DEFAULTS 0
+Index: C/ipkg.h.in
+===================================================================
+--- C.orig/ipkg.h.in 2005-02-25 15:27:58.000000000 -0600
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
+@@ -1,60 +0,1 @@
+-/* ipkg.h - the itsy package management system
+-
+- Carl D. Worth
+-
+- Copyright (C) 2001 University of Southern California
+-
+- This program is free software; you can redistribute it and/or
+- modify it under the terms of the GNU General Public License as
+- published by the Free Software Foundation; either version 2, or (at
+- your option) any later version.
+-
+- This program is distributed in the hope that it will be useful, but
+- WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- General Public License for more details.
+-*/
+-
+-#ifndef IPKG_H
+-#define IPKG_H
+-
+-#ifdef HAVE_CONFIG_H
+-#include "config.h"
+-#endif
+-
+-#if 0
+-#define IPKG_DEBUG_NO_TMP_CLEANUP
+-#endif
+-
+-#include "includes.h"
+-#include "ipkg_conf.h"
+-#include "ipkg_message.h"
+-
+-#define IPKG_PKG_EXTENSION ".ipk"
+-#define DPKG_PKG_EXTENSION ".deb"
+-
+-#define IPKG_LEGAL_PKG_NAME_CHARS "abcdefghijklmnopqrstuvwxyz0123456789.+-"
+-#define IPKG_PKG_VERSION_SEP_CHAR '_'
+-
+-#define IPKG_STATE_DIR_PREFIX LIBDIR"/ipkg"
+-#define IPKG_LISTS_DIR_SUFFIX "lists"
+-#define IPKG_INFO_DIR_SUFFIX "info"
+-#define IPKG_STATUS_FILE_SUFFIX "status"
+-
+-#define IPKG_BACKUP_SUFFIX "-ipkg.backup"
+-
+-#define IPKG_LIST_DESCRIPTION_LENGTH 128
+-
+-enum ipkg_error {
+- IPKG_SUCCESS = 0,
+- IPKG_PKG_DEPS_UNSATISFIED,
+- IPKG_PKG_IS_ESSENTIAL,
+- IPKG_PKG_HAS_DEPENDENTS,
+- IPKG_PKG_HAS_NO_CANDIDATE
+-};
+-typedef enum ipkg_error ipkg_error_t;
+-
+-extern int ipkg_state_changed;
+-
+-#endif
diff --git a/openembedded/packages/ipkg/ipkg-0.99.147/libdir.patch b/openembedded/packages/ipkg/ipkg-0.99.147/libdir.patch
new file mode 100644
index 000000000..38f0b4d28
--- /dev/null
+++ b/openembedded/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/openembedded/packages/ipkg/ipkg-0.99.148/libdir.patch b/openembedded/packages/ipkg/ipkg-0.99.148/libdir.patch
new file mode 100644
index 000000000..38f0b4d28
--- /dev/null
+++ b/openembedded/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/openembedded/packages/ipkg/ipkg-collateral.bb b/openembedded/packages/ipkg/ipkg-collateral.bb
new file mode 100644
index 000000000..a4f7bb7e3
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-collateral.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "ipkg configuration files"
+SECTION = "base"
+LICENSE = "MIT"
+PR = "r2"
+
+SRC_URI = " \
+file://ipkg.conf.comments \
+file://lists \
+file://dest \
+file://src \
+"
+
+do_compile () {
+ cat ${WORKDIR}/ipkg.conf.comments >${WORKDIR}/ipkg.conf
+ cat ${WORKDIR}/src >>${WORKDIR}/ipkg.conf
+ cat ${WORKDIR}/dest >>${WORKDIR}/ipkg.conf
+ cat ${WORKDIR}/lists >>${WORKDIR}/ipkg.conf
+}
+
+do_install () {
+ install -d ${D}${sysconfdir}/
+ install -m 0644 ${WORKDIR}/ipkg.conf ${D}${sysconfdir}/ipkg.conf
+}
diff --git a/openembedded/packages/ipkg/ipkg-collateral/akita/dest b/openembedded/packages/ipkg/ipkg-collateral/akita/dest
new file mode 100644
index 000000000..647490d30
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-collateral/akita/dest
@@ -0,0 +1,4 @@
+dest root /
+dest home /home/packages/
+dest cf /media/cf/packages/
+dest sd /media/card/packages/
diff --git a/openembedded/packages/ipkg/ipkg-collateral/akita/lists b/openembedded/packages/ipkg/ipkg-collateral/akita/lists
new file mode 100644
index 000000000..cc776c595
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-collateral/akita/lists
@@ -0,0 +1,4 @@
+
+# Uncomment to move ipkg server-data into RAM
+# lists_dir ext /var/lib/ipkg
+
diff --git a/openembedded/packages/ipkg/ipkg-collateral/collie/dest b/openembedded/packages/ipkg/ipkg-collateral/collie/dest
new file mode 100644
index 000000000..c76101a5b
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-collateral/collie/dest
@@ -0,0 +1,4 @@
+dest root /
+dest cf /media/cf/packages/
+dest sd /media/card/packages/
+dest ram /media/ram/packages/
diff --git a/openembedded/packages/ipkg/ipkg-collateral/dest b/openembedded/packages/ipkg/ipkg-collateral/dest
new file mode 100644
index 000000000..088ca403d
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-collateral/dest
@@ -0,0 +1 @@
+dest root /
diff --git a/openembedded/packages/ipkg/ipkg-collateral/ipkg.conf.comments b/openembedded/packages/ipkg/ipkg-collateral/ipkg.conf.comments
new file mode 100644
index 000000000..51623f4d5
--- /dev/null
+++ b/openembedded/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/openembedded/packages/ipkg/ipkg-collateral/jornada56x/dest b/openembedded/packages/ipkg/ipkg-collateral/jornada56x/dest
new file mode 100644
index 000000000..154ce5758
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-collateral/jornada56x/dest
@@ -0,0 +1,4 @@
+dest root /
+dest cf /mnt/cf/packages/
+dest sd /mnt/card/packages/
+dest ram /mnt/ram/packages/
diff --git a/openembedded/packages/ipkg/ipkg-collateral/lists b/openembedded/packages/ipkg/ipkg-collateral/lists
new file mode 100644
index 000000000..3c524f8c7
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-collateral/lists
@@ -0,0 +1,2 @@
+lists_dir ext /var/lib/ipkg
+
diff --git a/openembedded/packages/ipkg/ipkg-collateral/openmn/src b/openembedded/packages/ipkg/ipkg-collateral/openmn/src
new file mode 100644
index 000000000..97cdd4741
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-collateral/openmn/src
@@ -0,0 +1 @@
+src mnci54 http://www.mn-solutions.de/feed/mnci54/base
diff --git a/openembedded/packages/ipkg/ipkg-collateral/poodle/dest b/openembedded/packages/ipkg/ipkg-collateral/poodle/dest
new file mode 100644
index 000000000..9379964e5
--- /dev/null
+++ b/openembedded/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/openembedded/packages/ipkg/ipkg-collateral/simpad/dest b/openembedded/packages/ipkg/ipkg-collateral/simpad/dest
new file mode 100644
index 000000000..20d03ba82
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-collateral/simpad/dest
@@ -0,0 +1,3 @@
+dest root /
+dest cf /mnt/cf/packages/
+dest ram /mnt/ram/packages/
diff --git a/openembedded/packages/ipkg/ipkg-collateral/src b/openembedded/packages/ipkg/ipkg-collateral/src
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-collateral/src
diff --git a/openembedded/packages/ipkg/ipkg-collateral/tosa/dest b/openembedded/packages/ipkg/ipkg-collateral/tosa/dest
new file mode 100644
index 000000000..c76101a5b
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-collateral/tosa/dest
@@ -0,0 +1,4 @@
+dest root /
+dest cf /media/cf/packages/
+dest sd /media/card/packages/
+dest ram /media/ram/packages/
diff --git a/openembedded/packages/ipkg/ipkg-native.inc b/openembedded/packages/ipkg/ipkg-native.inc
new file mode 100644
index 000000000..b52b7b5e2
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-native.inc
@@ -0,0 +1,12 @@
+# 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/openembedded/packages/ipkg/ipkg-native_0.99.129.bb b/openembedded/packages/ipkg/ipkg-native_0.99.129.bb
new file mode 100644
index 000000000..d59eab3a6
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-native_0.99.129.bb
@@ -0,0 +1,2 @@
+include ipkg_${PV}.bb
+include ipkg-native.inc
diff --git a/openembedded/packages/ipkg/ipkg-native_0.99.130.bb b/openembedded/packages/ipkg/ipkg-native_0.99.130.bb
new file mode 100644
index 000000000..d59eab3a6
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-native_0.99.130.bb
@@ -0,0 +1,2 @@
+include ipkg_${PV}.bb
+include ipkg-native.inc
diff --git a/openembedded/packages/ipkg/ipkg-native_0.99.135.bb b/openembedded/packages/ipkg/ipkg-native_0.99.135.bb
new file mode 100644
index 000000000..d59eab3a6
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-native_0.99.135.bb
@@ -0,0 +1,2 @@
+include ipkg_${PV}.bb
+include ipkg-native.inc
diff --git a/openembedded/packages/ipkg/ipkg-native_0.99.138.bb b/openembedded/packages/ipkg/ipkg-native_0.99.138.bb
new file mode 100644
index 000000000..d59eab3a6
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-native_0.99.138.bb
@@ -0,0 +1,2 @@
+include ipkg_${PV}.bb
+include ipkg-native.inc
diff --git a/openembedded/packages/ipkg/ipkg-native_0.99.140.bb b/openembedded/packages/ipkg/ipkg-native_0.99.140.bb
new file mode 100644
index 000000000..d59eab3a6
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-native_0.99.140.bb
@@ -0,0 +1,2 @@
+include ipkg_${PV}.bb
+include ipkg-native.inc
diff --git a/openembedded/packages/ipkg/ipkg-native_0.99.144.bb b/openembedded/packages/ipkg/ipkg-native_0.99.144.bb
new file mode 100644
index 000000000..d59eab3a6
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-native_0.99.144.bb
@@ -0,0 +1,2 @@
+include ipkg_${PV}.bb
+include ipkg-native.inc
diff --git a/openembedded/packages/ipkg/ipkg-native_0.99.146.bb b/openembedded/packages/ipkg/ipkg-native_0.99.146.bb
new file mode 100644
index 000000000..d59eab3a6
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-native_0.99.146.bb
@@ -0,0 +1,2 @@
+include ipkg_${PV}.bb
+include ipkg-native.inc
diff --git a/openembedded/packages/ipkg/ipkg-native_0.99.147.bb b/openembedded/packages/ipkg/ipkg-native_0.99.147.bb
new file mode 100644
index 000000000..d59eab3a6
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-native_0.99.147.bb
@@ -0,0 +1,2 @@
+include ipkg_${PV}.bb
+include ipkg-native.inc
diff --git a/openembedded/packages/ipkg/ipkg-native_0.99.148.bb b/openembedded/packages/ipkg/ipkg-native_0.99.148.bb
new file mode 100644
index 000000000..d59eab3a6
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-native_0.99.148.bb
@@ -0,0 +1,2 @@
+include ipkg_${PV}.bb
+include ipkg-native.inc
diff --git a/openembedded/packages/ipkg/ipkg-native_0.99.151.bb b/openembedded/packages/ipkg/ipkg-native_0.99.151.bb
new file mode 100644
index 000000000..d59eab3a6
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-native_0.99.151.bb
@@ -0,0 +1,2 @@
+include ipkg_${PV}.bb
+include ipkg-native.inc
diff --git a/openembedded/packages/ipkg/ipkg-native_0.99.152.bb b/openembedded/packages/ipkg/ipkg-native_0.99.152.bb
new file mode 100644
index 000000000..d59eab3a6
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg-native_0.99.152.bb
@@ -0,0 +1,2 @@
+include ipkg_${PV}.bb
+include ipkg-native.inc
diff --git a/openembedded/packages/ipkg/ipkg.inc b/openembedded/packages/ipkg/ipkg.inc
new file mode 100644
index 000000000..f535cfbef
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg.inc
@@ -0,0 +1,51 @@
+DESCRIPTION = "Itsy Package Manager"
+DESCRIPTION_libipkg = "Itsy Package Manager Library"
+SECTION = "base"
+LICENSE = "GPL"
+PROVIDES = "virtual/ipkg libipkg"
+
+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
+
+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/openembedded/packages/ipkg/ipkg_0.99.129.bb b/openembedded/packages/ipkg/ipkg_0.99.129.bb
new file mode 100644
index 000000000..35d096739
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg_0.99.129.bb
@@ -0,0 +1,7 @@
+include ipkg.inc
+PR = "r5"
+
+SRC_URI = "${HANDHELDS_CVS};module=familiar/dist/ipkg;tag=${@'V' + bb.data.getVar('PV',d,1).replace('.', '-')} \
+ file://buffer-overflow.patch;patch=1 \
+ file://uninclude-replace.patch;patch=1 \
+ file://uclibc.patch;patch=1"
diff --git a/openembedded/packages/ipkg/ipkg_0.99.130.bb b/openembedded/packages/ipkg/ipkg_0.99.130.bb
new file mode 100644
index 000000000..8d646be40
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg_0.99.130.bb
@@ -0,0 +1,5 @@
+include ipkg.inc
+PR = "r5"
+
+SRC_URI += "file://uninclude-replace.patch;patch=1 \
+ file://uclibc.patch;patch=1"
diff --git a/openembedded/packages/ipkg/ipkg_0.99.135.bb b/openembedded/packages/ipkg/ipkg_0.99.135.bb
new file mode 100644
index 000000000..9a05a1ed0
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg_0.99.135.bb
@@ -0,0 +1,6 @@
+include ipkg.inc
+PR = "r2"
+SRC_URI += "file://depends.patch;patch=1 \
+ file://uninclude-replace.patch;patch=1 \
+ file://remove-c99isms.patch;patch=1 \
+ file://uclibc.patch;patch=1"
diff --git a/openembedded/packages/ipkg/ipkg_0.99.138.bb b/openembedded/packages/ipkg/ipkg_0.99.138.bb
new file mode 100644
index 000000000..1898c6656
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg_0.99.138.bb
@@ -0,0 +1 @@
+include ipkg.inc
diff --git a/openembedded/packages/ipkg/ipkg_0.99.140.bb b/openembedded/packages/ipkg/ipkg_0.99.140.bb
new file mode 100644
index 000000000..88bf4a5ac
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg_0.99.140.bb
@@ -0,0 +1,4 @@
+include ipkg.inc
+PR = "r2"
+
+SRC_URI += "file://remove-c99isms.patch;patch=1"
diff --git a/openembedded/packages/ipkg/ipkg_0.99.144.bb b/openembedded/packages/ipkg/ipkg_0.99.144.bb
new file mode 100644
index 000000000..ff3da77a2
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg_0.99.144.bb
@@ -0,0 +1,3 @@
+include ipkg.inc
+PR = "r2"
+SRC_URI += "file://paths.patch;patch=1"
diff --git a/openembedded/packages/ipkg/ipkg_0.99.146.bb b/openembedded/packages/ipkg/ipkg_0.99.146.bb
new file mode 100644
index 000000000..1898c6656
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg_0.99.146.bb
@@ -0,0 +1 @@
+include ipkg.inc
diff --git a/openembedded/packages/ipkg/ipkg_0.99.147.bb b/openembedded/packages/ipkg/ipkg_0.99.147.bb
new file mode 100644
index 000000000..778fa8604
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg_0.99.147.bb
@@ -0,0 +1,2 @@
+include ipkg.inc
+SRC_URI += "file://libdir.patch;patch=1"
diff --git a/openembedded/packages/ipkg/ipkg_0.99.148.bb b/openembedded/packages/ipkg/ipkg_0.99.148.bb
new file mode 100644
index 000000000..778fa8604
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg_0.99.148.bb
@@ -0,0 +1,2 @@
+include ipkg.inc
+SRC_URI += "file://libdir.patch;patch=1"
diff --git a/openembedded/packages/ipkg/ipkg_0.99.151.bb b/openembedded/packages/ipkg/ipkg_0.99.151.bb
new file mode 100644
index 000000000..1898c6656
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg_0.99.151.bb
@@ -0,0 +1 @@
+include ipkg.inc
diff --git a/openembedded/packages/ipkg/ipkg_0.99.152.bb b/openembedded/packages/ipkg/ipkg_0.99.152.bb
new file mode 100644
index 000000000..1898c6656
--- /dev/null
+++ b/openembedded/packages/ipkg/ipkg_0.99.152.bb
@@ -0,0 +1 @@
+include ipkg.inc