[OE-core] [PATCH 2/2] opkg-utils: Allow uppercase lettlers in package names
Khem Raj
raj.khem at gmail.com
Thu May 19 21:09:11 UTC 2011
Some packages have uppercase letters in their names e.g.
efikamx kernel. We allow uppercase character with
uppercase-letters.patch
Import mtime-int.patch from OE commit
c81990aecae3bdf70a7c924699776b248ab7a006
Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
.../opkg-utils/opkg-utils/mtime-int.patch | 29 +++++++++++++
.../opkg-utils/opkg-utils/uppercase-letters.patch | 44 ++++++++++++++++++++
meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb | 8 +++-
3 files changed, 79 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-devtools/opkg-utils/opkg-utils/mtime-int.patch
create mode 100644 meta/recipes-devtools/opkg-utils/opkg-utils/uppercase-letters.patch
diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils/mtime-int.patch b/meta/recipes-devtools/opkg-utils/opkg-utils/mtime-int.patch
new file mode 100644
index 0000000..fdbce21
--- /dev/null
+++ b/meta/recipes-devtools/opkg-utils/opkg-utils/mtime-int.patch
@@ -0,0 +1,29 @@
+Convert mtime to int before comparing it
+
+The st_mtime attribute (which is a float) is compared against a value
+from the timestamp database, which was stored as an integer there.
+
+When working on a filesystem with precise timestamps the comparision
+will fail nearly everytime hence.
+
+Although it might be possible to enhance the database to store the
+fractional part too, this will complicate things more than we would
+gain by this change.
+
+Signed-off-by: Enrico Scholz <enrico.scholz at sigma-chemnitz.de>
+
+Upstream-Status: Pending
+
+Index: opkg-utils/opkg-make-index
+===================================================================
+--- opkg-utils.orig/opkg-make-index
++++ opkg-utils/opkg-make-index
+@@ -100,7 +100,7 @@ for filename in files:
+ pkg = None
+ fnameStat = os.stat(filename)
+ if old_pkg_hash.has_key(basename):
+- if pkgsStamps.has_key(basename) and fnameStat.st_mtime == pkgsStamps[basename]:
++ if pkgsStamps.has_key(basename) and int(fnameStat.st_mtime) == pkgsStamps[basename]:
+ if (verbose):
+ sys.stderr.write("Found %s in Packages\n" % (filename,))
+ pkg = old_pkg_hash[basename]
diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils/uppercase-letters.patch b/meta/recipes-devtools/opkg-utils/opkg-utils/uppercase-letters.patch
new file mode 100644
index 0000000..689d780
--- /dev/null
+++ b/meta/recipes-devtools/opkg-utils/opkg-utils/uppercase-letters.patch
@@ -0,0 +1,44 @@
+when building packages, accept uppercase letters in the package name
+Fixes issues like
+
+
+| Packaged contents of kernel into /home/kraj/work/angstrom/build/tmp-angstrom_2010_x-eglibc/work/efikamx-angstrom-linux-gnueabi/linux-efikamx-2.6.31-r0/deploy-ipks/efikamx/kernel_2.6.31-r0_efikamx.ipk
+| kernel-2.6.31.12-ER1
+| *** Error: Package name contains illegal characters, (other than [a-z0-9.+-])
+|
+| opkg-build: Please fix the above errors and try again.
+| ERROR: Function 'opkg-build execution failed' failed
+
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+
+Upstream-Status: Pending
+Index: opkg-utils/opkg-buildpackage
+===================================================================
+--- opkg-utils.orig/opkg-buildpackage
++++ opkg-utils/opkg-buildpackage
+@@ -65,8 +65,8 @@ pkg_appears_sane_control() {
+ required_field Maintainer >/dev/null
+ required_field Description >/dev/null
+
+- if echo $pkg | grep '[^a-z0-9.+-]'; then
+- echo "opkg-build: Error: Package name $name contains illegal characters, (other than [a-z0-9.+-])"
++ if echo $pkg | grep '[^a-zA-Z0-9.+-]'; then
++ echo "opkg-build: Error: Package name $name contains illegal characters, (other than [a-zA-Z0-9.+-])"
+ PKG_ERROR=1;
+ fi
+
+Index: opkg-utils/opkg-build
+===================================================================
+--- opkg-utils.orig/opkg-build
++++ opkg-utils/opkg-build
+@@ -118,8 +118,8 @@ You probably want to chown these to a sy
+ disallowed_filename=`disallowed_field Filename`
+ [ "$?" -ne 0 ] && PKG_ERROR=1
+
+- if echo $pkg | grep '[^a-z0-9.+-]'; then
+- echo "*** Error: Package name $name contains illegal characters, (other than [a-z0-9.+-])" >&2
++ if echo $pkg | grep '[^a-zA-Z0-9.+-]'; then
++ echo "*** Error: Package name $name contains illegal characters, (other than [a-zA-Z0-9.+-])" >&2
+ PKG_ERROR=1;
+ fi
+
diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb b/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb
index 0db6f80..7e4c6e4 100644
--- a/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb
+++ b/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb
@@ -9,10 +9,13 @@ RDEPENDS_${PN} = "python"
RDEPENDS_${PN}_virtclass-native = ""
SRCREV = "4747"
PV = "0.1.8+svnr${SRCPV}"
-PR = "r2"
+PR = "r3"
SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=opkg-utils;proto=http \
- file://index-ignore-filenotfound.patch"
+ file://index-ignore-filenotfound.patch \
+ file://mtime-int.patch \
+ file://uppercase-letters.patch \
+ "
S = "${WORKDIR}/opkg-utils"
@@ -24,3 +27,4 @@ do_install() {
}
BBCLASSEXTEND = "native"
+TARGET_CC_ARCH += "${LDFLAGS}"
--
1.7.4.1
More information about the Openembedded-core
mailing list