summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/conf/distro/include/poky-fixed-revisions.inc6
-rw-r--r--meta/packages/opkg/files/opkg_unarchive.patch13
-rw-r--r--meta/packages/opkg/opkg.inc18
-rw-r--r--meta/packages/opkg/opkg/add_vercmp.patch34
-rw-r--r--meta/packages/opkg/opkg/opkg-intercept-cleanup.patch47
-rw-r--r--meta/packages/opkg/opkg_svn.bb6
6 files changed, 106 insertions, 18 deletions
diff --git a/meta/conf/distro/include/poky-fixed-revisions.inc b/meta/conf/distro/include/poky-fixed-revisions.inc
index e8fdfcdf16..a017e180ff 100644
--- a/meta/conf/distro/include/poky-fixed-revisions.inc
+++ b/meta/conf/distro/include/poky-fixed-revisions.inc
@@ -75,9 +75,9 @@ SRCREV_pn-matchbox-themes-extra ?= "1524"
75SRCREV_pn-matchbox-wm-2 ?= "2083" 75SRCREV_pn-matchbox-wm-2 ?= "2083"
76SRCREV_pn-matchbox-wm ?= "1524" 76SRCREV_pn-matchbox-wm ?= "1524"
77SRCREV_pn-oh-puzzles ?= "23" 77SRCREV_pn-oh-puzzles ?= "23"
78SRCREV_pn-opkg-native ?= "4545" 78SRCREV_pn-opkg-native ?= "215"
79SRCREV_pn-opkg-nativesdk ?= "4545" 79SRCREV_pn-opkg-nativesdk ?= "215"
80SRCREV_pn-opkg ?= "4545" 80SRCREV_pn-opkg ?= "215"
81SRCREV_pn-opkg-utils-native ?= "4534" 81SRCREV_pn-opkg-utils-native ?= "4534"
82SRCREV_pn-opkg-utils ?= "4534" 82SRCREV_pn-opkg-utils ?= "4534"
83SRCREV_pn-oprofileui ?= "194" 83SRCREV_pn-oprofileui ?= "194"
diff --git a/meta/packages/opkg/files/opkg_unarchive.patch b/meta/packages/opkg/files/opkg_unarchive.patch
new file mode 100644
index 0000000000..9e5ccfb714
--- /dev/null
+++ b/meta/packages/opkg/files/opkg_unarchive.patch
@@ -0,0 +1,13 @@
1--- trunk/libbb/unarchive.c.orig 2009-02-11 22:14:58.000000000 +0100
2+++ trunk/libbb/unarchive.c 2009-02-11 22:15:07.000000000 +0100
3@@ -606,6 +606,10 @@
4 tar_entry->name = concat_path_file(tar.formated.prefix, tar.formated.name);
5 }
6
7+ if (strlen(tar_entry->name) > 100) {
8+ tar_entry->name[100] = 0;
9+ }
10+
11 // tar_entry->name = xstrdup(tar.formated.name);
12
13 /*
diff --git a/meta/packages/opkg/opkg.inc b/meta/packages/opkg/opkg.inc
index 0b1db89c8a..d82f6d53f2 100644
--- a/meta/packages/opkg/opkg.inc
+++ b/meta/packages/opkg/opkg.inc
@@ -5,20 +5,14 @@ SECTION = "base"
5LICENSE = "GPL" 5LICENSE = "GPL"
6DEPENDS = "curl gpgme" 6DEPENDS = "curl gpgme"
7PV = "0.0+svnr${SRCREV}" 7PV = "0.0+svnr${SRCREV}"
8PE = "1"
8 9
9# opkg-fix-gcc-warnings.patch: the patch is already upstreamed and could be 10SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;proto=http \
10# taken out once okpg is updated to new repo 11 file://opkg_unarchive.patch;patch=1;maxrev=201 \
11# http://opkg.googlecode.com/svn/trunk 12 file://opkg-intercept-cleanup.patch;patch=1 \
12# with rev >= 150 13 file://add_vercmp.patch;patch=1"
13 14
14# sighandlerfix.patch: from r145 15S = "${WORKDIR}/trunk"
15
16SRC_URI = "svn://svn.openmoko.org/trunk/src/target/;module=opkg;proto=http \
17 file://fix_prototype.patch;patch=1 \
18 file://sighandlerfix.patch;patch=1 \
19 file://opkg-fix-gcc-warnings.patch;patch=1"
20
21S = "${WORKDIR}/opkg"
22 16
23# Werror gives all kinds bounds issuses with gcc 4.3.3 17# Werror gives all kinds bounds issuses with gcc 4.3.3
24do_configure_prepend() { 18do_configure_prepend() {
diff --git a/meta/packages/opkg/opkg/add_vercmp.patch b/meta/packages/opkg/opkg/add_vercmp.patch
new file mode 100644
index 0000000000..5c0473ff70
--- /dev/null
+++ b/meta/packages/opkg/opkg/add_vercmp.patch
@@ -0,0 +1,34 @@
1Index: trunk/libopkg/opkg.c
2===================================================================
3--- trunk.orig/libopkg/opkg.c 2009-10-05 14:33:47.000000000 +0100
4+++ trunk/libopkg/opkg.c 2009-10-05 20:59:19.000000000 +0100
5@@ -1092,3 +1092,18 @@
6 free(src);
7 return ret;
8 }
9+
10+int
11+opkg_compare_versions (const char *ver1, const char *ver2)
12+{
13+ pkg_t *pkg1, *pkg2;
14+
15+ pkg1 = pkg_new();
16+ pkg2 = pkg_new();
17+
18+ parseVersion(pkg1, ver1);
19+ parseVersion(pkg2, ver2);
20+
21+ return pkg_compare_versions(pkg1, pkg2);
22+}
23+
24Index: trunk/libopkg/opkg.h
25===================================================================
26--- trunk.orig/libopkg/opkg.h 2009-10-05 21:06:22.000000000 +0100
27+++ trunk/libopkg/opkg.h 2009-10-05 21:06:35.000000000 +0100
28@@ -87,4 +87,6 @@
29
30 int opkg_repository_accessibility_check(opkg_t *opkg);
31
32+int opkg_compare_versions (const char *ver1, const char *ver2);
33+
34 #endif /* OPKG_H */
diff --git a/meta/packages/opkg/opkg/opkg-intercept-cleanup.patch b/meta/packages/opkg/opkg/opkg-intercept-cleanup.patch
new file mode 100644
index 0000000000..12893e3852
--- /dev/null
+++ b/meta/packages/opkg/opkg/opkg-intercept-cleanup.patch
@@ -0,0 +1,47 @@
1---
2 libopkg/opkg_cmd.c | 13 +++++++++----
3 1 file changed, 9 insertions(+), 4 deletions(-)
4
5--- trunk.orig/libopkg/opkg_cmd.c
6+++ trunk/libopkg/opkg_cmd.c
7@@ -19,6 +19,7 @@
8 #include "includes.h"
9 #include <dirent.h>
10 #include <glob.h>
11+#include <unistd.h>
12
13 #include "opkg_conf.h"
14 #include "opkg_cmd.h"
15@@ -350,7 +351,6 @@ static opkg_intercept_t opkg_prep_interc
16
17 static int opkg_finalize_intercepts(opkg_intercept_t ctx)
18 {
19- char *cmd;
20 DIR *dir;
21 int err = 0;
22
23@@ -376,6 +376,10 @@ static int opkg_finalize_intercepts(opkg
24 err = errno;
25 perror (de->d_name);
26 }
27+ if (unlink (path)) {
28+ err = errno;
29+ perror (path);
30+ }
31 }
32 free (path);
33 }
34@@ -383,9 +387,10 @@ static int opkg_finalize_intercepts(opkg
35 } else
36 perror (ctx->statedir);
37
38- sprintf_alloc (&cmd, "rm -rf %s", ctx->statedir);
39- err = system (cmd);
40- free (cmd);
41+ if (rmdir (ctx->statedir)) {
42+ err = errno;
43+ perror (ctx->statedir);
44+ }
45
46 free (ctx->statedir);
47 free (ctx);
diff --git a/meta/packages/opkg/opkg_svn.bb b/meta/packages/opkg/opkg_svn.bb
index 68e04c60d6..0d68939346 100644
--- a/meta/packages/opkg/opkg_svn.bb
+++ b/meta/packages/opkg/opkg_svn.bb
@@ -6,7 +6,7 @@ RCONFLICTS_update-alternatives-cworth = "update-alternatives-dpkg"
6RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives}" 6RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives}"
7PACKAGE_ARCH_update-alternatives-cworth = "all" 7PACKAGE_ARCH_update-alternatives-cworth = "all"
8 8
9PR = "r10" 9PR = "r3"
10 10
11PACKAGES =+ "libopkg-dev libopkg update-alternatives-cworth" 11PACKAGES =+ "libopkg-dev libopkg update-alternatives-cworth"
12 12
@@ -28,7 +28,7 @@ EXTRACFLAGS_overo = "-Wno-array-bounds"
28 28
29TARGET_CFLAGS += "${EXTRACFLAGS}" 29TARGET_CFLAGS += "${EXTRACFLAGS}"
30 30
31pkg_postinst_opkg () { 31pkg_postinst_${PN} () {
32#!/bin/sh 32#!/bin/sh
33if [ "x$D" != "x" ]; then 33if [ "x$D" != "x" ]; then
34 install -d ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d 34 install -d ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d
@@ -43,7 +43,7 @@ fi
43update-alternatives --install ${bindir}/opkg opkg ${bindir}/opkg-cl 100 43update-alternatives --install ${bindir}/opkg opkg ${bindir}/opkg-cl 100
44} 44}
45 45
46pkg_postrm_opkg () { 46pkg_postrm_${PN} () {
47#!/bin/sh 47#!/bin/sh
48update-alternatives --remove opkg ${bindir}/opkg-cl 48update-alternatives --remove opkg ${bindir}/opkg-cl
49} 49}