From 3e846ba477aef514313450d4dba343e097be1418 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 5 Sep 2005 12:16:56 +0000 Subject: Updates against mainline openembedded + removal of some unneeded files git-svn-id: https://svn.o-hand.com/repos/poky@19 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- openembedded/packages/avahi/avahi_0.2.bb | 2 +- .../packages/base-files/base-files/borzoi/fstab | 5 +- .../packages/base-files/base-files/nokia770/fstab | 4 + .../packages/base-files/base-files_3.0.14.bb | 2 +- .../ipkg/ipkg-0.99.129/buffer-overflow.patch | 38 - .../packages/ipkg/ipkg-0.99.130/terse.patch | 27 - .../packages/ipkg/ipkg-0.99.135/depends.patch | 107 - .../ipkg/ipkg-0.99.135/remove-c99isms.patch | 42 - .../ipkg/ipkg-0.99.140/remove-c99isms.patch | 124 - .../packages/ipkg/ipkg-0.99.144/paths.patch | 193 - .../packages/ipkg/ipkg-0.99.147/libdir.patch | 11 - .../packages/ipkg/ipkg-0.99.148/libdir.patch | 11 - openembedded/packages/ipkg/ipkg-native_0.99.129.bb | 2 - openembedded/packages/ipkg/ipkg-native_0.99.130.bb | 2 - openembedded/packages/ipkg/ipkg-native_0.99.135.bb | 2 - openembedded/packages/ipkg/ipkg-native_0.99.138.bb | 2 - openembedded/packages/ipkg/ipkg-native_0.99.140.bb | 2 - openembedded/packages/ipkg/ipkg-native_0.99.144.bb | 2 - openembedded/packages/ipkg/ipkg-native_0.99.146.bb | 2 - openembedded/packages/ipkg/ipkg-native_0.99.147.bb | 2 - openembedded/packages/ipkg/ipkg-native_0.99.148.bb | 2 - openembedded/packages/ipkg/ipkg-native_0.99.151.bb | 2 - openembedded/packages/ipkg/ipkg_0.99.129.bb | 7 - openembedded/packages/ipkg/ipkg_0.99.130.bb | 5 - openembedded/packages/ipkg/ipkg_0.99.135.bb | 6 - openembedded/packages/ipkg/ipkg_0.99.138.bb | 1 - openembedded/packages/ipkg/ipkg_0.99.140.bb | 4 - openembedded/packages/ipkg/ipkg_0.99.144.bb | 3 - openembedded/packages/ipkg/ipkg_0.99.146.bb | 1 - openembedded/packages/ipkg/ipkg_0.99.147.bb | 2 - openembedded/packages/ipkg/ipkg_0.99.148.bb | 2 - openembedded/packages/ipkg/ipkg_0.99.151.bb | 1 - .../add-elpp-stuff.patch | 26985 +++++++++++++++++++ .../add-oz-release-string.patch | 24 + .../connectplus-remove-ide-HACK.patch | 12 + .../linux-openzaurus-2.6.13-mm1/defconfig-c7x0 | 1548 ++ .../linux-openzaurus-2.6.13-mm1/defconfig-collie | 821 + .../defconfig-ipaq-pxa-2.6 | 891 + .../linux-openzaurus-2.6.13-mm1/defconfig-poodle | 933 + .../linux-openzaurus-2.6.13-mm1/defconfig-spitz | 1423 + .../linux-openzaurus-2.6.13-mm1/defconfig-tosa | 1546 ++ .../dtl1_cs-add-socket-revE.patch | 40 + .../pxa-serial-hack.patch | 82 + .../add-elpp-stuff.patch | 26985 ------------------- .../add-oz-release-string.patch | 24 - .../linux-openzaurus-2.6.13-rc5-mm1/defconfig-c7x0 | 1547 -- .../defconfig-collie | 821 - .../defconfig-ipaq-pxa-2.6 | 891 - .../defconfig-poodle | 933 - .../defconfig-spitz | 1229 - .../linux-openzaurus-2.6.13-rc5-mm1/defconfig-tosa | 1546 -- .../dtl1_cs-add-socket-revE.patch | 40 - .../pxa-serial-hack.patch | 82 - .../packages/linux/linux-openzaurus_2.6.13-mm1.bb | 221 + .../linux/linux-openzaurus_2.6.13-rc5-mm1.bb | 221 - openembedded/packages/meta/meta-oh.bb | 3 +- openembedded/packages/meta/oh-image.bb | 2 +- openembedded/packages/mtd/mtd-utils_20050801.bb | 3 +- openembedded/packages/tslib/tslib/h6300/tslib.sh | 7 + openembedded/packages/tslib/tslib/ts.conf-h2200 | 2 +- openembedded/packages/tslib/tslib/ts.conf-h6300 | 5 + openembedded/packages/tslib/tslib_cvs.bb | 9 +- 62 files changed, 34559 insertions(+), 34935 deletions(-) delete mode 100644 openembedded/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch delete mode 100644 openembedded/packages/ipkg/ipkg-0.99.130/terse.patch delete mode 100644 openembedded/packages/ipkg/ipkg-0.99.135/depends.patch delete mode 100644 openembedded/packages/ipkg/ipkg-0.99.135/remove-c99isms.patch delete mode 100644 openembedded/packages/ipkg/ipkg-0.99.140/remove-c99isms.patch delete mode 100644 openembedded/packages/ipkg/ipkg-0.99.144/paths.patch delete mode 100644 openembedded/packages/ipkg/ipkg-0.99.147/libdir.patch delete mode 100644 openembedded/packages/ipkg/ipkg-0.99.148/libdir.patch delete mode 100644 openembedded/packages/ipkg/ipkg-native_0.99.129.bb delete mode 100644 openembedded/packages/ipkg/ipkg-native_0.99.130.bb delete mode 100644 openembedded/packages/ipkg/ipkg-native_0.99.135.bb delete mode 100644 openembedded/packages/ipkg/ipkg-native_0.99.138.bb delete mode 100644 openembedded/packages/ipkg/ipkg-native_0.99.140.bb delete mode 100644 openembedded/packages/ipkg/ipkg-native_0.99.144.bb delete mode 100644 openembedded/packages/ipkg/ipkg-native_0.99.146.bb delete mode 100644 openembedded/packages/ipkg/ipkg-native_0.99.147.bb delete mode 100644 openembedded/packages/ipkg/ipkg-native_0.99.148.bb delete mode 100644 openembedded/packages/ipkg/ipkg-native_0.99.151.bb delete mode 100644 openembedded/packages/ipkg/ipkg_0.99.129.bb delete mode 100644 openembedded/packages/ipkg/ipkg_0.99.130.bb delete mode 100644 openembedded/packages/ipkg/ipkg_0.99.135.bb delete mode 100644 openembedded/packages/ipkg/ipkg_0.99.138.bb delete mode 100644 openembedded/packages/ipkg/ipkg_0.99.140.bb delete mode 100644 openembedded/packages/ipkg/ipkg_0.99.144.bb delete mode 100644 openembedded/packages/ipkg/ipkg_0.99.146.bb delete mode 100644 openembedded/packages/ipkg/ipkg_0.99.147.bb delete mode 100644 openembedded/packages/ipkg/ipkg_0.99.148.bb delete mode 100644 openembedded/packages/ipkg/ipkg_0.99.151.bb create mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/add-elpp-stuff.patch create mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/add-oz-release-string.patch create mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/connectplus-remove-ide-HACK.patch create mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/defconfig-c7x0 create mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/defconfig-collie create mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/defconfig-ipaq-pxa-2.6 create mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/defconfig-poodle create mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/defconfig-spitz create mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/defconfig-tosa create mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/dtl1_cs-add-socket-revE.patch create mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/pxa-serial-hack.patch delete mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/add-elpp-stuff.patch delete mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/add-oz-release-string.patch delete mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-c7x0 delete mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-collie delete mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-ipaq-pxa-2.6 delete mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-poodle delete mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz delete mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-tosa delete mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/dtl1_cs-add-socket-revE.patch delete mode 100644 openembedded/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/pxa-serial-hack.patch create mode 100644 openembedded/packages/linux/linux-openzaurus_2.6.13-mm1.bb delete mode 100644 openembedded/packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb create mode 100644 openembedded/packages/tslib/tslib/h6300/tslib.sh create mode 100644 openembedded/packages/tslib/tslib/ts.conf-h6300 (limited to 'openembedded/packages') diff --git a/openembedded/packages/avahi/avahi_0.2.bb b/openembedded/packages/avahi/avahi_0.2.bb index 00c4dbd599..6b77b78088 100644 --- a/openembedded/packages/avahi/avahi_0.2.bb +++ b/openembedded/packages/avahi/avahi_0.2.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Avahi implements the DNS-SD over Multicast DNS" HOMEPAGE = "http://www.freedesktop.org/Software/Avahi" LICENCE= "GPL" -DEPENDS = "expat libdaemon dbus-0.34" +DEPENDS = "expat libdaemon dbus" RRECOMMENDS = "libnss-mdns" SECTION = "net" PRIORITY = "optional" diff --git a/openembedded/packages/base-files/base-files/borzoi/fstab b/openembedded/packages/base-files/base-files/borzoi/fstab index 754f140b34..a44243923a 100644 --- a/openembedded/packages/base-files/base-files/borzoi/fstab +++ b/openembedded/packages/base-files/base-files/borzoi/fstab @@ -1,7 +1,8 @@ +# Internal /dev/mtdblock2 / jffs2 rw,noatime 1 1 /dev/mtdblock3 /home jffs2 defaults,noatime 1 2 proc /proc proc defaults 0 0 -/dev/hda1 /media/cf auto defaults,sync,noauto 0 0 +/dev/hda1 /media/hdd1 ext3 defaults,noatime,nodiratime 0 0 tmpfs /var tmpfs defaults 0 0 tmpfs /media/ram tmpfs defaults 0 0 @@ -14,3 +15,5 @@ tmpfs /media/ram tmpfs defaults 0 0 # USB Storage /dev/sda1 /media/usbhdd vfat noauto,umask=000,noatime,iocharset=utf8,codepage=932 0 0 +# CF Storage +/dev/hdb1 /media/cf ext3 defaults,sync,noauto 0 0 diff --git a/openembedded/packages/base-files/base-files/nokia770/fstab b/openembedded/packages/base-files/base-files/nokia770/fstab index 3224c61b5e..febe217b34 100644 --- a/openembedded/packages/base-files/base-files/nokia770/fstab +++ b/openembedded/packages/base-files/base-files/nokia770/fstab @@ -2,3 +2,7 @@ rootfs / rootfs defaults,errors=remount-ro,noatime 0 0 /dev/mmcblk0p1 /media/card auto defaults,noauto,noatime,user,exec,suid 0 0 tmpfs /var tmpfs defaults 0 0 tmpfs /media/ram tmpfs defaults 0 0 +rootfs / auto defaults 1 1 +proc /proc proc defaults 0 0 +devpts /dev/pts devpts mode=0620,gid=5 0 0 +usbdevfs /proc/bus/usb usbdevfs noauto 0 0 diff --git a/openembedded/packages/base-files/base-files_3.0.14.bb b/openembedded/packages/base-files/base-files_3.0.14.bb index 144bf2e135..e2c1003c58 100644 --- a/openembedded/packages/base-files/base-files_3.0.14.bb +++ b/openembedded/packages/base-files/base-files_3.0.14.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Miscellaneous files for the base system." SECTION = "base" PRIORITY = "required" -PR = "r39" +PR = "r40" LICENSE = "GPL" SRC_URI = " \ diff --git a/openembedded/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch b/openembedded/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch deleted file mode 100644 index 91234fd53f..0000000000 --- a/openembedded/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch +++ /dev/null @@ -1,38 +0,0 @@ -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 deleted file mode 100644 index 9a07df5df3..0000000000 --- a/openembedded/packages/ipkg/ipkg-0.99.130/terse.patch +++ /dev/null @@ -1,27 +0,0 @@ - -# -# 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 deleted file mode 100644 index 8f472ab405..0000000000 --- a/openembedded/packages/ipkg/ipkg-0.99.135/depends.patch +++ /dev/null @@ -1,107 +0,0 @@ -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 deleted file mode 100644 index e70f3af9ff..0000000000 --- a/openembedded/packages/ipkg/ipkg-0.99.135/remove-c99isms.patch +++ /dev/null @@ -1,42 +0,0 @@ - -# -# 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 deleted file mode 100644 index f1ad2a3f6c..0000000000 --- a/openembedded/packages/ipkg/ipkg-0.99.140/remove-c99isms.patch +++ /dev/null @@ -1,124 +0,0 @@ -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 deleted file mode 100644 index f40131e252..0000000000 --- a/openembedded/packages/ipkg/ipkg-0.99.144/paths.patch +++ /dev/null @@ -1,193 +0,0 @@ -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 deleted file mode 100644 index 38f0b4d286..0000000000 --- a/openembedded/packages/ipkg/ipkg-0.99.147/libdir.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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 deleted file mode 100644 index 38f0b4d286..0000000000 --- a/openembedded/packages/ipkg/ipkg-0.99.148/libdir.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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-native_0.99.129.bb b/openembedded/packages/ipkg/ipkg-native_0.99.129.bb deleted file mode 100644 index d59eab3a61..0000000000 --- a/openembedded/packages/ipkg/ipkg-native_0.99.129.bb +++ /dev/null @@ -1,2 +0,0 @@ -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 deleted file mode 100644 index d59eab3a61..0000000000 --- a/openembedded/packages/ipkg/ipkg-native_0.99.130.bb +++ /dev/null @@ -1,2 +0,0 @@ -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 deleted file mode 100644 index d59eab3a61..0000000000 --- a/openembedded/packages/ipkg/ipkg-native_0.99.135.bb +++ /dev/null @@ -1,2 +0,0 @@ -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 deleted file mode 100644 index d59eab3a61..0000000000 --- a/openembedded/packages/ipkg/ipkg-native_0.99.138.bb +++ /dev/null @@ -1,2 +0,0 @@ -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 deleted file mode 100644 index d59eab3a61..0000000000 --- a/openembedded/packages/ipkg/ipkg-native_0.99.140.bb +++ /dev/null @@ -1,2 +0,0 @@ -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 deleted file mode 100644 index d59eab3a61..0000000000 --- a/openembedded/packages/ipkg/ipkg-native_0.99.144.bb +++ /dev/null @@ -1,2 +0,0 @@ -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 deleted file mode 100644 index d59eab3a61..0000000000 --- a/openembedded/packages/ipkg/ipkg-native_0.99.146.bb +++ /dev/null @@ -1,2 +0,0 @@ -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 deleted file mode 100644 index d59eab3a61..0000000000 --- a/openembedded/packages/ipkg/ipkg-native_0.99.147.bb +++ /dev/null @@ -1,2 +0,0 @@ -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 deleted file mode 100644 index d59eab3a61..0000000000 --- a/openembedded/packages/ipkg/ipkg-native_0.99.148.bb +++ /dev/null @@ -1,2 +0,0 @@ -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 deleted file mode 100644 index d59eab3a61..0000000000 --- a/openembedded/packages/ipkg/ipkg-native_0.99.151.bb +++ /dev/null @@ -1,2 +0,0 @@ -include ipkg_${PV}.bb -include ipkg-native.inc diff --git a/openembedded/packages/ipkg/ipkg_0.99.129.bb b/openembedded/packages/ipkg/ipkg_0.99.129.bb deleted file mode 100644 index 35d096739b..0000000000 --- a/openembedded/packages/ipkg/ipkg_0.99.129.bb +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 8d646be408..0000000000 --- a/openembedded/packages/ipkg/ipkg_0.99.130.bb +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index 9a05a1ed05..0000000000 --- a/openembedded/packages/ipkg/ipkg_0.99.135.bb +++ /dev/null @@ -1,6 +0,0 @@ -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 deleted file mode 100644 index 1898c6656e..0000000000 --- a/openembedded/packages/ipkg/ipkg_0.99.138.bb +++ /dev/null @@ -1 +0,0 @@ -include ipkg.inc diff --git a/openembedded/packages/ipkg/ipkg_0.99.140.bb b/openembedded/packages/ipkg/ipkg_0.99.140.bb deleted file mode 100644 index 88bf4a5ac1..0000000000 --- a/openembedded/packages/ipkg/ipkg_0.99.140.bb +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index ff3da77a22..0000000000 --- a/openembedded/packages/ipkg/ipkg_0.99.144.bb +++ /dev/null @@ -1,3 +0,0 @@ -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 deleted file mode 100644 index 1898c6656e..0000000000 --- a/openembedded/packages/ipkg/ipkg_0.99.146.bb +++ /dev/null @@ -1 +0,0 @@ -include ipkg.inc diff --git a/openembedded/packages/ipkg/ipkg_0.99.147.bb b/openembedded/packages/ipkg/ipkg_0.99.147.bb deleted file mode 100644 index 778fa86042..0000000000 --- a/openembedded/packages/ipkg/ipkg_0.99.147.bb +++ /dev/null @@ -1,2 +0,0 @@ -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 deleted file mode 100644 index 778fa86042..0000000000 --- a/openembedded/packages/ipkg/ipkg_0.99.148.bb +++ /dev/null @@ -1,2 +0,0 @@ -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 deleted file mode 100644 index 1898c6656e..0000000000 --- a/openembedded/packages/ipkg/ipkg_0.99.151.bb +++ /dev/null @@ -1 +0,0 @@ -include ipkg.inc diff --git a/openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/add-elpp-stuff.patch b/openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/add-elpp-stuff.patch new file mode 100644 index 0000000000..04ab185f4f --- /dev/null +++ b/openembedded/packages/linux/linux-openzaurus-2.6.13-mm1/add-elpp-stuff.patch @@ -0,0 +1,26985 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- /dev/null ++++ linux-2.6.12/Documentation/fb/elpp.txt +@@ -0,0 +1,181 @@ ++ ++ ELPP, The Enhanced Linux Progress Patch v1.0 ++ -------------------------------------------- ++ ++CONTENTS ++0. ChangeLog. ++1. What is ELPP. ++2. Who needs it. ++3. Requirements. ++4. How to use it. ++5. Uninstalling. ++6. Creating Themes. ++7. Sample Bootloader entries. ++ ++ ++0. The following is the summary of changes from ELPP-v0.1 ++ -> New format for themes ++ -> Fixes ++ -> Reserving part of palette for ELPP colors ++ ++ ++1. What is ELPP? ++ Hides the bootup messages and shows a fancy logo at boot. It ++can however show a configurable number of messages while at the same ++time showing the logo and a progress bar. The success, failure and ++the warning messages of the initscripts can also be shown here. ++ ++ ++2. Who needs it? ++ A few rare people who are not interested in the messages shown when ++booting. (like the friend of Cajus Pollmeier, The author of the original ++Linux Progress Patch). A few of my friends use it but I dont. ++ ++ ++3. Requirements: ++ Requires a vesa capable machine. Linux 2.6 or later are supported. ++If you are looking for patch for 2.4, you can have a look at the Linux ++Progress Patch at "http://freshmeat.net/projects/lpp/". You ++might also be interested in the bootsplash ++ ++ ++4. How to use it? ++ -> Download a fresh 2.6 kernel from http://www.kernel.org/ ++ -> Download the patch from http://elpp.foofighter.de/ ++ -> Apply the patch... ++ cd linux-2.6.XX ++ bzip2 -cd /path/to/patch/elpp-1.0-2.6.XX.bz2 | patch -p1 ++ -> Configure and compile the Kernel ++ ++ make xconfig (or menuconfig etc.); ++ ++ and then enable the following ++ ++ File systems ++ -> Pseudo filesystems ++ -> /proc file system ++ ++ Device Drivers ++ -> Block Devices ++ -> RAM disk support (and INITRD support too) ++ ++ Device Drivers ++ -> Graphics Support ++ -> Support for FrameBuffer devices ++ -> Enhanced Linux Progress Patch ++ ++ Device Drivers ++ -> Graphics Support ++ -> Console Display Driver Support ++ -> Framebuffer Console support ++ ++ and select atleast one driver (VESA Preffered) for FB under ++ DeviceDrivers -> Graphics Support -> Support for FrameBuffer Devices. ++ ++ After finishing with the configuration, you need to do a ++ make bzImage, make modules, make modules_install and a make install ++ to install the new kernel. ++ ++ -> Configure your boot loader. ++ ++ Based on your hardware you need to select a vesa mode. Check ++ linux-2.6.XX/Documentation/fb/vesafb.txt for more information. ++ passing vga=0x301 would in most cases be sufficient. However ++ higher resolutions are also supported. ++ ++ To display the display of messages, you need to pass the ++ arguments "console=/dev/tty2 CONSOLE=/dev/tty2" to the kernel. ++ ++ Please refer to the sample LILO and GRUB entries at the bottom. ++ ++ -> Change the initscripts. ++ Changing the init scripts would do the job of passing messages ++ and progress to the kernel. Take a look at the distributed ++ files etc/rc and etc/init.d/functions for the modifications. ++ ++ Hint: Search for the word progress and the matches would ++ reveal the changes done. ++ ++ In case of RedHat9 The distributed initscripts can directly be used. ++ ++ Here's what the modifications mean... ++ 1. If you echo a string "10 Hello world" into /proc/progress ++ the initial number is taken as progress and the other ++ part of the string forms the message to be displayed. ++ ++ 2. If the message starts with a '=' it indicates the ++ success/failure of the previous message. ++ =s is for success. ++ =f is for failure. ++ =w is for warning. ++ ++ 3. If the message starts with a '!' its a command. ++ !c to clear the previous messages. ++ !s to enable/disable the progress bar. ++ ++ ++5. Uninstalling: ++ For uninstalling ELPP you can install your backup kernel and ++for the initscripts you may need to reinstall the package that provides ++them. ++ ++ ++6. Creating Themes: ++ Themes for ELPP-v1.0 are in the form of initrd files. The ++application which is also distributed along with this patch can be used ++for creating themes. ++ For creating themes using the application, load an image into ++the application and select the locations/colors for the progress bar ++and messages to appear. For distortion free boot-screen use images ++with not more than 200 colors. For this you can use the GNU image ++manipulation program (GIMP). The steps involved are as below: ++ ++ -> Open your favorite image in GIMP. ++ -> In the context menu... go to Image->Mode->Indexed ++ -> In the dialog that pops up, se the colors to 200. ++ -> Save the image in PNG (avoid gif please) ++ ++once you create the theme, save it and you get a file with .eti extension. ++You can either use this file directly as your initrd or append this ++to your initrd. ie., cat IMG_NAME.eti >> /boot/initrd... See your ++bootloaders documentation for further information on using initrd. ++ ++Note: The size of the theme image will be equal to the size of the input ++ image. Please ensure that the size of image is according to the ++ entry in BootLoader... If the resolution of theme is greater than ++ that of the screen, the system would not crash but the behaviour of ++ the boot screen is not assured. However, when a smaller image is ++ given... it is centered to the screen. ++ ++Note2: If no themes are loaded using the INITRD, the default inbuilt theme ++ is shown. ++ ++7. Sample Boot Loader entries: ++ The following examples demonstrate using a theme from file smile.eti ++on a 640x480 resolution. For more details on the FB modes refer to the Linux ++kernel documentation... Documentation/fb/vesa.txt in the kernel source tree. ++The following the summary of modes: ++ ++ | 640x480 800x600 1024x768 1280x1024 ++ ----+------------------------------------- ++ 256 | 0x301 0x303 0x305 0x307 ++ 32k | 0x310 0x313 0x316 0x319 ++ 64k | 0x311 0x314 0x317 0x31A ++ 16M | 0x312 0x315 0x318 0x31B ++ ++ ++ -> In lilo its done as.. ++ image=/boot/vmlinux-2.6.XX ++ label=Linux-ELPP ++ vga=0x301 ++ append="console=/dev/tty2 CONSOLE=/dev/tty2" ++ initrd=/boot/smile.eti ++ ++ ->In grub its just ++ kernel /boot/vmlinux vga=0x301 console=/dev/tty2 CONSOLE=/dev/tty2 ++ initrd /boot/initrd-2.6.XX ++ ++ ++ ----------------------------------------- ++ Comments, queries and changes welcome at: ++ Matthias Kunze +--- linux-2.6.12/drivers/video/Kconfig~add-elpp-stuff.patch ++++ linux-2.6.12/drivers/video/Kconfig +@@ -108,6 +108,11 @@ + This is particularly important to one driver, matroxfb. If + unsure, say N. + ++config FB_ELPP ++ bool "Enhanced Linux Progress Patch" ++ depends on FB && PROC_FS ++ default y ++ + config FB_CIRRUS + tristate "Cirrus Logic support" + depends on FB && (ZORRO || PCI) +--- linux-2.6.12/drivers/video/console/Makefile~add-elpp-stuff.patch ++++ linux-2.6.12/drivers/video/console/Makefile +@@ -31,6 +31,8 @@ + obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += tileblit.o + endif + ++obj-$(CONFIG_FB_ELPP) += elpp.o symbols_16x16.o ++ + obj-$(CONFIG_FB_STI) += sticore.o font.o + + # Targets that kbuild needs to know about +--- /dev/null ++++ linux-2.6.12/drivers/video/console/elpp.c +@@ -0,0 +1,685 @@ ++ ++/* ++ * The Enhanced Linux Progress Patch ++ * by Prasad , IIIT - Hyderabad, INDIA ++ * ++ * drivers/video/console/elpp.c ELPP implementation file ++ * ++ * This file is part of the Enhanced Linux Progress Patch. ++ * ++ * ELPP 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 of the License, or ++ * (at your option) any later version. ++ * ++ * Foobar 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. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with ELPP; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define MAX_MSG_LENGTH 100 ++ ++struct elpp_messages { ++ char text[MAX_MSG_LENGTH]; ++ short success; ++ short flag; ++}; ++ ++extern const struct linux_logo logo_linux_elpp; ++ ++struct elpp_prefs backup_prefs = { ++ .bar_x = 275, ++ .bar_y = 300, ++ .bar_length = 365, ++ .bar_width = 10, ++ .msg_length = 45, ++ .num_messages = 7, ++ .msg_x = 275, ++ .msg_y = 185, ++ .bar_bg = {0x00,0x00,0xff}, ++ .bar_fg = {0xff,0x00,0x00}, ++ .warning_bg = {0x00,0x00,0x00}, ++ .warning_fg = {0xff,0xff,0xff}, ++ .error_bg = {0x00,0x00,0x00}, ++ .error_fg = {0xff,0xff,0xff}, ++ .success_bg = {0x00,0x00,0x00}, ++ .success_fg = {0xff,0xff,0xff}, ++ .warning_symbol_bg = {0x00,0x00,0x00}, ++ .warning_symbol_fg = {0xff,0xff,0x00}, ++ .error_symbol_bg = {0x00,0x00,0x00}, ++ .error_symbol_fg = {0xff,0x00,0x00}, ++ .success_symbol_bg = {0x00,0x00,0x00}, ++ .success_symbol_fg = {0x00,0xff,0x00} ++}; ++ ++struct elpp_struct elpp = {NULL,0,1,0,0,NULL,NULL,NULL, ++ NULL,NULL,NULL,0,0,0,0,0}; ++ ++static u16 translated_bar_x, translated_bar_y; ++static u16 translated_msg_x, translated_msg_y; ++ ++#define BAR_X translated_bar_x ++#define BAR_Y translated_bar_y ++#define BAR_WIDTH elpp.prefs->bar_length ++#define BAR_HEIGHT elpp.prefs->bar_width ++#define MSG_LENGTH elpp.prefs->msg_length ++#define NUM_MSGS elpp.prefs->num_messages ++#define MSG_X translated_msg_x ++#define MSG_Y translated_msg_y ++#define BAR_BG elpp.prefs->bar_bg ++#define BAR_FG elpp.prefs->bar_fg ++#define WRN_BG elpp.prefs->warning_bg ++#define WRN_FG elpp.prefs->warning_fg ++#define WRN_SYM_BG elpp.prefs->warning_symbol_bg ++#define WRN_SYM_FG elpp.prefs->warning_symbol_fg ++#define ERR_BG elpp.prefs->error_bg ++#define ERR_FG elpp.prefs->error_fg ++#define ERR_SYM_BG elpp.prefs->error_symbol_bg ++#define ERR_SYM_FG elpp.prefs->error_symbol_fg ++#define SUC_BG elpp.prefs->success_bg ++#define SUC_FG elpp.prefs->success_fg ++#define SUC_SYM_BG elpp.prefs->success_symbol_bg ++#define SUC_SYM_FG elpp.prefs->success_symbol_fg ++ ++#define MSG_CUR \ ++ elpp.messages[(elpp.msg_position + NUM_MSGS ) % NUM_MSGS] ++#define MSG_PREV \ ++ elpp.messages[(elpp.msg_position + NUM_MSGS - 1) % NUM_MSGS] ++#define MSG_NEXT \ ++ elpp.messages[(elpp.msg_position + 1) % NUM_MSGS] ++#define COLOR(x) (elpp.colors_base + x) ++ ++static const unsigned char colors[14][3]; ++ ++enum ELPP_COLORS { eBAR_FG, eBAR_BG, ++ eSUC_FG, eSUC_BG, eSUC_SYM_FG, eSUC_SYM_BG, ++ eWRN_FG, eWRN_BG, eWRN_SYM_FG, eWRN_SYM_BG, ++ eERR_FG, eERR_BG, eERR_SYM_FG, eERR_SYM_BG }; ++ ++enum ELPP_STATUS { eSUCCESS=1, eWARNING, eFAILURE }; ++ ++/* ASCII to Integer... needed for progress */ ++static int elpp_atoi(const char *name) ++{ ++ int val = 0; ++ ++ for (;; name++) { ++ switch (*name) { ++ case '0'...'9': ++ val = 10*val+(*name-'0'); ++ break; ++ default: ++ return val; ++ } ++ } ++} ++ ++/* Parse the message passed from userspace */ ++static int elpp_parse(const char *str) ++{ ++ int progress = -1, success = 0; ++ char *msg_text; ++ ++ if( str[0] == '!' ) { ++ ++ /* Its a command... */ ++ if( str[1] == 'c' ) { ++ ++ int i; ++ for(i=0; i 100)? 100: progress; ++ return progress; ++} ++ ++/* Based on accel_putc in fbcon.c */ ++static void elpp_render_char(struct font_desc *font, ++ int ch, int xx, int yy, int fgcol, int bgcol) ++{ ++ struct fb_image image; ++ unsigned short charmask = 0xff; ++ unsigned int scan_align = elpp.info->pixmap.scan_align - 1; ++ unsigned int buf_align = elpp.info->pixmap.buf_align - 1; ++ unsigned int size, pitch; ++ unsigned int width = (font->width + 7) >> 3; ++ u8 *src, *dst; ++ ++ image.dx = xx; ++ image.dy = yy; ++ image.width = font->width; ++ image.height = font->height; ++ image.fg_color = fgcol; ++ image.bg_color = bgcol; ++ image.depth = 1; ++ ++ pitch = width + scan_align; ++ pitch &= ~scan_align; ++ size = pitch * font->height; ++ size += buf_align; ++ size &= ~buf_align; ++ dst = fb_get_buffer_offset(elpp.info, &(elpp.info->pixmap), size); ++ image.data = dst; ++ src = font->data + (ch & charmask) * font->height * width; ++ ++ fb_pad_aligned_buffer(dst, pitch, src, width, image.height); ++ elpp.info->fbops->fb_imageblit(elpp.info, &image); ++} ++ ++/* Show the messages */ ++static void elpp_show_messages(void) ++{ ++ struct font_desc *font = get_default_font(elpp.info->var.xres, ++ elpp.info->var.yres); ++ struct font_desc *icons = &symbols_16x16; ++ int i,counter=0; ++ struct fb_fillrect rect; ++ ++ rect.dy = MSG_Y; ++ rect.dx = MSG_X; ++ rect.width = MSG_LENGTH * font->width; ++ rect.height = font->height * NUM_MSGS; ++ rect.rop = 0; ++ rect.color = COLOR(eSUC_BG); ++ elpp.info->fbops->fb_fillrect(elpp.info, &rect); ++ ++ i = elpp.msg_position ? elpp.msg_position - 1 : NUM_MSGS - 1; ++ ++ for(counter = 0; counter < NUM_MSGS; i = i ? i-1 : NUM_MSGS-1, counter++){ ++ ++ int j; ++ int textbg,textfg,iconbg,iconfg; ++ ++ rect.dy = MSG_Y + font->height * (NUM_MSGS-counter-1); ++ rect.height = font->height; ++ ++ /* Set the background for text */ ++ switch(elpp.messages[i].success) { ++ default: ++ case eSUCCESS: ++ rect.color = COLOR(eSUC_BG); ++ textbg = COLOR(eSUC_BG); ++ textfg = COLOR(eSUC_FG); ++ iconbg = COLOR(eSUC_SYM_BG); ++ iconfg = COLOR(eSUC_SYM_FG); ++ break; ++ case eWARNING: ++ rect.color = COLOR(eWRN_BG); ++ textbg = COLOR(eWRN_BG); ++ textfg = COLOR(eWRN_FG); ++ iconbg = COLOR(eWRN_SYM_BG); ++ iconfg = COLOR(eWRN_SYM_FG); ++ break; ++ case eFAILURE: ++ rect.color = COLOR(eERR_BG); ++ textbg = COLOR(eERR_BG); ++ textfg = COLOR(eERR_FG); ++ iconbg = COLOR(eERR_SYM_BG); ++ iconfg = COLOR(eERR_SYM_FG); ++ break; ++ } ++ elpp.info->fbops->fb_fillrect(elpp.info, &rect); ++ ++ if(elpp.messages[i].flag == 0) ++ break; ++ ++ /* Show the text now */ ++ for( j = 0; j < strlen(elpp.messages[i].text); j++ ) { ++ elpp_render_char( font, elpp.messages[i].text[j], ++ MSG_X + font->width * j, ++ MSG_Y + font->height * (NUM_MSGS-counter-1), textfg, textbg ); ++ } ++ ++ /* Show the bitmap for success/failure/warning */ ++ if(elpp.messages[i].success != 0) { ++ elpp_render_char( icons, (elpp.messages[i].success - 1) * 2, ++ MSG_X + (font->width * (MSG_LENGTH - 3)), ++ MSG_Y + font->height * (NUM_MSGS - counter - 1), ++ iconfg, iconbg ); ++ elpp_render_char( icons, (elpp.messages[i].success - 1) * 2 + 1, ++ MSG_X + (font->width * (MSG_LENGTH - 2)), ++ MSG_Y + font->height * (NUM_MSGS - counter - 1), ++ iconfg, iconbg ); ++ } ++ } ++} ++ ++/* Update the contents on the screen */ ++static void elpp_show_progress(int progress) ++{ ++ struct fb_fillrect rect; ++ ++ /* Draw the BG of progress Bar */ ++ rect.dx = BAR_X; ++ rect.dy = BAR_Y; ++ rect.height = BAR_HEIGHT; ++ rect.width = BAR_WIDTH; ++ rect.color = COLOR(eBAR_BG); ++ rect.rop = 0; ++ elpp.info->fbops->fb_fillrect(elpp.info, &rect); ++ ++ /* Draw the progress */ ++ rect.dx = BAR_X; ++ rect.dy = BAR_Y + 1; ++ rect.width = (progress * BAR_WIDTH)/100; ++ rect.height = BAR_HEIGHT - 2; ++ rect.color = COLOR(eBAR_FG); ++ elpp.info->fbops->fb_fillrect(elpp.info, &rect); ++ ++} ++ ++/* Function that can be called from other parts of kernel */ ++void elpp_progress(char *str) ++{ ++ int progress; ++ ++ progress = elpp_parse(str); ++ if( progress > 0 ) { ++ elpp_show_progress(progress); ++ elpp_show_messages(); ++ } ++} ++ ++/* Something written into /proc/progress */ ++static ssize_t elpp_proc_write(struct file *file, const char *buf, ++ size_t length, loff_t *offset) ++{ ++ int progress; ++ char tmp_string[MSG_LENGTH]; ++ int len = length < MSG_LENGTH ? length : MSG_LENGTH; ++ ++ /* If disabled do not process input */ ++ if( elpp.disable == 1 ) ++ return length; ++ ++ copy_from_user(tmp_string,buf, len ); ++ tmp_string[len-1] = '\0'; ++ progress = elpp_parse(tmp_string); ++ if( progress > 0 ) { ++ elpp_show_progress(progress); ++ elpp_show_messages(); ++ } ++ ++ /* We have read the entire string */ ++ return length; ++} ++ ++/* /proc/progress access permissions */ ++int elpp_permissions(struct inode *inode, int op, struct nameidata *dummy) ++{ ++ /* W for root */ ++ if ( op == 2 && current->euid == 0 ) ++ return 0; ++ return -EACCES; ++} ++ ++/* Create proc entry */ ++static struct file_operations elpp_file_operations = { ++ .owner = THIS_MODULE, ++ .write = elpp_proc_write ++}; ++ ++static struct inode_operations elpp_inode_operations = { ++ .lookup = &elpp_file_operations, ++ .permission = elpp_permissions ++}; ++ ++/* Registers an entry in the /proc directory */ ++void __init elpp_register(void) ++{ ++ elpp.proc_progress_entry = create_proc_entry("progress", ++ S_IFREG | S_IRUGO | S_IWUSR, &proc_root ); ++ if( elpp.proc_progress_entry == NULL ) ++ { ++ printk("[ELPP] Unable to create proc entry.\n"); ++ return; ++ } ++ ++ elpp.proc_progress_entry->owner = THIS_MODULE; ++ elpp.proc_progress_entry->proc_iops = &elpp_inode_operations; ++ elpp.proc_progress_entry->write_proc = elpp_proc_write; ++} ++ ++static inline unsigned safe_shift(unsigned d, int n) ++{ ++ return n < 0 ? d >> -n : d << n; ++} ++ ++/* Based on fb_set_logocmap() */ ++static void __init elpp_set_cmap(void) ++{ ++ struct fb_cmap palette_cmap; ++ u16 palette_green[14]; ++ u16 palette_blue[14]; ++ u16 palette_red[14]; ++ int i; ++ ++ palette_cmap.len = 14; ++ palette_cmap.red = palette_red; ++ palette_cmap.green = palette_green; ++ palette_cmap.blue = palette_blue; ++ palette_cmap.transp = NULL; ++ palette_cmap.start = 235; ++ for (i = 0; i < 14; ++i) { ++ palette_cmap.red[i] = colors[i][0] << 8 | colors[i][0]; ++ palette_cmap.green[i] = colors[i][1] << 8 | colors[i][1]; ++ palette_cmap.blue[i] = colors[i][2] << 8 | colors[i][2]; ++ } ++ fb_set_cmap(&palette_cmap, elpp.info); ++ ++ elpp.colors_base = 235; ++} ++ ++/* Based on fb_set_logo_truepalette() */ ++static void __init elpp_set_truepalette(void) ++{ ++ unsigned char mask[9] = { 0,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff }; ++ struct fb_info *info = elpp.info; ++ unsigned char redmask, greenmask, bluemask; ++ int redshift, greenshift, blueshift; ++ int i; ++ ++ /* ++ * We have to create a temporary palette since console palette is only ++ * 16 colors long. ++ */ ++ /* Bug: Doesn't obey msb_right ... (who needs that?) */ ++ redmask = mask[info->var.red.length < 8 ? info->var.red.length : 8]; ++ greenmask = mask[info->var.green.length < 8 ? info->var.green.length : 8]; ++ bluemask = mask[info->var.blue.length < 8 ? info->var.blue.length : 8]; ++ redshift = info->var.red.offset - (8 - info->var.red.length); ++ greenshift = info->var.green.offset - (8 - info->var.green.length); ++ blueshift = info->var.blue.offset - (8 - info->var.blue.length); ++ ++ for ( i = 0; i < 14; i++) { ++ elpp.palette[i+32] = (safe_shift((colors[i][0] & redmask), redshift) | ++ safe_shift((colors[i][1] & greenmask), greenshift) | ++ safe_shift((colors[i][2] & bluemask), blueshift)); ++ } ++ ++ elpp.colors_base = 32; ++} ++ ++/* Based on fb_set_logo_directpalette() */ ++static void __init elpp_set_directpalette(void) ++{ ++ struct fb_info *info = elpp.info; ++ int redshift, greenshift, blueshift; ++ int i; ++ ++ redshift = info->var.red.offset; ++ greenshift = info->var.green.offset; ++ blueshift = info->var.blue.offset; ++ ++ for (i = 32; i < 46; i++) ++ elpp.palette[i] = i << redshift | i << greenshift | i << blueshift; ++ ++ elpp.colors_base = 32; ++} ++ ++void __init elpp_find_initrd_theme(void) ++{ ++ unsigned long i, j, k, theme_complete=0; ++ int imgW, imgH, img_size, clut_size; ++ ++ printk("[ELPP] Searching for initrd_theme preferences... "); ++#ifdef BLK_DEV_INITRD ++ if( ! initrd_start ) ++ goto find_initrd_theme_end; ++ for(i = initrd_start; i < initrd_end - sizeof(struct elpp_prefs); i++){ ++ if(strncmp((char *)i,"ELPP-THEME-START",16) == 0) { ++ printk("Found at 0x%08lx\n", i); ++ elpp.prefs = vmalloc(sizeof(struct elpp_prefs)); ++ memcpy(elpp.prefs, (void*)(i+16), sizeof(struct elpp_prefs)); ++ ++ printk("[ELPP] Searching for initrd_theme image... "); ++ for(j = i; j < initrd_end; j++) { ++ if(strncmp((char *)j,"ELPP-START-IMAGE",16) == 0) { ++ printk("Found at 0x%08lx\n", j); ++ elpp.logo = vmalloc(sizeof(struct linux_logo)); ++ memcpy(elpp.logo, (void*)(j+16), sizeof(struct linux_logo)); ++ elpp.logo->clut = NULL; ++ elpp.logo->data = NULL; ++ imgW = elpp.logo->width; ++ imgH = elpp.logo->height; ++ img_size = imgW * imgH * sizeof(char); ++ clut_size = elpp.logo->clutsize * 3 * sizeof(char); ++ printk("[ELPP] Image: (%d,%d), %d colors\n", ++ imgW, imgH, elpp.logo->clutsize); ++ ++ for(k = j+sizeof(struct linux_logo); k < initrd_end; k++){ ++ if(strncmp((char *)k, "ELPP-START-IMAGE-DATA",21) == 0){ ++ elpp.logo->data = vmalloc(img_size); ++ memcpy((void *)elpp.logo->data, ++ (void*)(k+21), img_size); ++ k+=img_size; ++ } ++ if(strncmp((char *)k, "ELPP-START-IMAGE-CLUT",21) == 0){ ++ elpp.logo->clut = vmalloc(clut_siz