diff options
author | Richard Purdie <richard@openedhand.com> | 2005-08-31 10:45:47 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2005-08-31 10:45:47 +0000 |
commit | 4b46c1f6e891b1ddd5968536440b888661fade3e (patch) | |
tree | e0ba2c1f56f61b868bf746da5c4feabb25b800b2 /openembedded/packages/ipkg | |
download | openembedded-core-4b46c1f6e891b1ddd5968536440b888661fade3e.tar.gz openembedded-core-4b46c1f6e891b1ddd5968536440b888661fade3e.tar.bz2 openembedded-core-4b46c1f6e891b1ddd5968536440b888661fade3e.tar.xz openembedded-core-4b46c1f6e891b1ddd5968536440b888661fade3e.zip |
Initial population
git-svn-id: https://svn.o-hand.com/repos/poky@1 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'openembedded/packages/ipkg')
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 |