Re: [OE-core] [PATCH] mklibs-native: Remove the dpkg-native dependency
ping On 06/10/2015 04:44 AM, leonardo.sandoval.gonza...@linux.intel.com wrote: From: Leonardo Sandoval leonardo.sandoval.gonza...@linux.intel.com The 'dpkg-native' dependency introduced on 0a08dc is not neccesary needed if the mklibs-native code is secured with a try/catch statement when calling the dpkg-native application. [YOCTO #3782] Signed-off-by: Leonardo Sandoval leonardo.sandoval.gonza...@linux.intel.com --- .../mklibs/mklibs-native_0.1.40.bb | 3 +- .../mklibs/catch-exception-if-dpkg-architect.patch | 103 + 2 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/mklibs/mklibs/catch-exception-if-dpkg-architect.patch diff --git a/meta/recipes-devtools/mklibs/mklibs-native_0.1.40.bb b/meta/recipes-devtools/mklibs/mklibs-native_0.1.40.bb index b2fcae5..ff3fe08 100644 --- a/meta/recipes-devtools/mklibs/mklibs-native_0.1.40.bb +++ b/meta/recipes-devtools/mklibs/mklibs-native_0.1.40.bb @@ -4,12 +4,13 @@ HOMEPAGE = https://launchpad.net/mklibs; SECTION = devel LICENSE = GPLv2+ LIC_FILES_CHKSUM = file://debian/copyright;md5=98d31037b13d896e33890738ef01af64 -DEPENDS = python-native dpkg-native +DEPENDS = python-native SRC_URI = http://ftp.de.debian.org/debian/pool/main/m/mklibs/${BPN}_${PV}.tar.xz \ file://ac_init_fix.patch\ file://fix_STT_GNU_IFUNC.patch\ file://sysrooted-ldso.patch \ + file://catch-exception-if-dpkg-architect.patch \ SRC_URI[md5sum] = e1dafe5f962caa9dc5f2651c0723812a diff --git a/meta/recipes-devtools/mklibs/mklibs/catch-exception-if-dpkg-architect.patch b/meta/recipes-devtools/mklibs/mklibs/catch-exception-if-dpkg-architect.patch new file mode 100644 index 000..55ff0a7 --- /dev/null +++ b/meta/recipes-devtools/mklibs/mklibs/catch-exception-if-dpkg-architect.patch @@ -0,0 +1,103 @@ +From 78a1245b5217ea42fc122b339684ff8d59059037 Mon Sep 17 00:00:00 2001 +From: Leonardo Sandoval leonardo.sandoval.gonza...@linux.intel.com +Date: Wed, 10 Jun 2015 07:24:23 + +Subject: [PATCH] mklibs,mklibs-copy: Catch exception if dpkg-architecture not + found + +Signed-off-by: Leonardo Sandoval leonardo.sandoval.gonza...@linux.intel.com +--- + src/mklibs | 33 ++--- + src/mklibs-copy | 33 ++--- + 2 files changed, 36 insertions(+), 30 deletions(-) + +diff --git a/src/mklibs b/src/mklibs +index a3533c0..75d2bb4 100755 +--- a/src/mklibs b/src/mklibs +@@ -272,21 +272,24 @@ def extract_soname(so_file): + return + + def multiarch(paths): +-devnull = open('/dev/null', 'w') +-dpkg_architecture = subprocess.Popen( +-['dpkg-architecture', '-qDEB_HOST_MULTIARCH'], +-stdout=subprocess.PIPE, stderr=devnull) +-devnull.close() +-deb_host_multiarch, _ = dpkg_architecture.communicate() +-if dpkg_architecture.returncode == 0: +-deb_host_multiarch = deb_host_multiarch.rstrip('\n') +-new_paths = [] +-for path in paths: +-new_paths.append( +-path.replace('/lib', '/lib/%s' % deb_host_multiarch, 1)) +-new_paths.append(path) +-return new_paths +-else: ++try: ++devnull = open('/dev/null', 'w') ++dpkg_architecture = subprocess.Popen( ++['dpkg-architecture', '-qDEB_HOST_MULTIARCH'], ++stdout=subprocess.PIPE, stderr=devnull) ++devnull.close() ++deb_host_multiarch, _ = dpkg_architecture.communicate() ++if dpkg_architecture.returncode == 0: ++deb_host_multiarch = deb_host_multiarch.rstrip('\n') ++new_paths = [] ++for path in paths: ++new_paths.append( ++path.replace('/lib', '/lib/%s' % deb_host_multiarch, 1)) ++new_paths.append(path) ++return new_paths ++else: ++return paths ++except OSError: + return paths + + def usage(was_err): +diff --git a/src/mklibs-copy b/src/mklibs-copy +index c33985d..fc93ea1 100755 +--- a/src/mklibs-copy b/src/mklibs-copy +@@ -116,21 +116,24 @@ def extract_soname(so_file): + return + + def multiarch(paths): +-devnull = open('/dev/null', 'w') +-dpkg_architecture = subprocess.Popen( +-['dpkg-architecture', '-qDEB_HOST_MULTIARCH'], +-stdout=subprocess.PIPE, stderr=devnull) +-devnull.close() +-deb_host_multiarch, _ = dpkg_architecture.communicate() +-if dpkg_architecture.returncode == 0: +-deb_host_multiarch = deb_host_multiarch.rstrip('\n') +-new_paths = [] +-for path in paths: +-new_paths.append( +-path.replace('/lib', '/lib/%s' % deb_host_multiarch, 1)) +-new_paths.append(path) +-return new_paths +-else: ++try: ++devnull = open('/dev/null', 'w') ++dpkg_architecture = subprocess.Popen( ++['dpkg-architecture',
[OE-core] [PATCH] mklibs-native: Remove the dpkg-native dependency
From: Leonardo Sandoval leonardo.sandoval.gonza...@linux.intel.com The 'dpkg-native' dependency introduced on 0a08dc is not neccesary needed if the mklibs-native code is secured with a try/catch statement when calling the dpkg-native application. [YOCTO #3782] Signed-off-by: Leonardo Sandoval leonardo.sandoval.gonza...@linux.intel.com --- .../mklibs/mklibs-native_0.1.40.bb | 3 +- .../mklibs/catch-exception-if-dpkg-architect.patch | 103 + 2 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/mklibs/mklibs/catch-exception-if-dpkg-architect.patch diff --git a/meta/recipes-devtools/mklibs/mklibs-native_0.1.40.bb b/meta/recipes-devtools/mklibs/mklibs-native_0.1.40.bb index b2fcae5..ff3fe08 100644 --- a/meta/recipes-devtools/mklibs/mklibs-native_0.1.40.bb +++ b/meta/recipes-devtools/mklibs/mklibs-native_0.1.40.bb @@ -4,12 +4,13 @@ HOMEPAGE = https://launchpad.net/mklibs; SECTION = devel LICENSE = GPLv2+ LIC_FILES_CHKSUM = file://debian/copyright;md5=98d31037b13d896e33890738ef01af64 -DEPENDS = python-native dpkg-native +DEPENDS = python-native SRC_URI = http://ftp.de.debian.org/debian/pool/main/m/mklibs/${BPN}_${PV}.tar.xz \ file://ac_init_fix.patch\ file://fix_STT_GNU_IFUNC.patch\ file://sysrooted-ldso.patch \ + file://catch-exception-if-dpkg-architect.patch \ SRC_URI[md5sum] = e1dafe5f962caa9dc5f2651c0723812a diff --git a/meta/recipes-devtools/mklibs/mklibs/catch-exception-if-dpkg-architect.patch b/meta/recipes-devtools/mklibs/mklibs/catch-exception-if-dpkg-architect.patch new file mode 100644 index 000..55ff0a7 --- /dev/null +++ b/meta/recipes-devtools/mklibs/mklibs/catch-exception-if-dpkg-architect.patch @@ -0,0 +1,103 @@ +From 78a1245b5217ea42fc122b339684ff8d59059037 Mon Sep 17 00:00:00 2001 +From: Leonardo Sandoval leonardo.sandoval.gonza...@linux.intel.com +Date: Wed, 10 Jun 2015 07:24:23 + +Subject: [PATCH] mklibs,mklibs-copy: Catch exception if dpkg-architecture not + found + +Signed-off-by: Leonardo Sandoval leonardo.sandoval.gonza...@linux.intel.com +--- + src/mklibs | 33 ++--- + src/mklibs-copy | 33 ++--- + 2 files changed, 36 insertions(+), 30 deletions(-) + +diff --git a/src/mklibs b/src/mklibs +index a3533c0..75d2bb4 100755 +--- a/src/mklibs b/src/mklibs +@@ -272,21 +272,24 @@ def extract_soname(so_file): + return + + def multiarch(paths): +-devnull = open('/dev/null', 'w') +-dpkg_architecture = subprocess.Popen( +-['dpkg-architecture', '-qDEB_HOST_MULTIARCH'], +-stdout=subprocess.PIPE, stderr=devnull) +-devnull.close() +-deb_host_multiarch, _ = dpkg_architecture.communicate() +-if dpkg_architecture.returncode == 0: +-deb_host_multiarch = deb_host_multiarch.rstrip('\n') +-new_paths = [] +-for path in paths: +-new_paths.append( +-path.replace('/lib', '/lib/%s' % deb_host_multiarch, 1)) +-new_paths.append(path) +-return new_paths +-else: ++try: ++devnull = open('/dev/null', 'w') ++dpkg_architecture = subprocess.Popen( ++['dpkg-architecture', '-qDEB_HOST_MULTIARCH'], ++stdout=subprocess.PIPE, stderr=devnull) ++devnull.close() ++deb_host_multiarch, _ = dpkg_architecture.communicate() ++if dpkg_architecture.returncode == 0: ++deb_host_multiarch = deb_host_multiarch.rstrip('\n') ++new_paths = [] ++for path in paths: ++new_paths.append( ++path.replace('/lib', '/lib/%s' % deb_host_multiarch, 1)) ++new_paths.append(path) ++return new_paths ++else: ++return paths ++except OSError: + return paths + + def usage(was_err): +diff --git a/src/mklibs-copy b/src/mklibs-copy +index c33985d..fc93ea1 100755 +--- a/src/mklibs-copy b/src/mklibs-copy +@@ -116,21 +116,24 @@ def extract_soname(so_file): + return + + def multiarch(paths): +-devnull = open('/dev/null', 'w') +-dpkg_architecture = subprocess.Popen( +-['dpkg-architecture', '-qDEB_HOST_MULTIARCH'], +-stdout=subprocess.PIPE, stderr=devnull) +-devnull.close() +-deb_host_multiarch, _ = dpkg_architecture.communicate() +-if dpkg_architecture.returncode == 0: +-deb_host_multiarch = deb_host_multiarch.rstrip('\n') +-new_paths = [] +-for path in paths: +-new_paths.append( +-path.replace('/lib', '/lib/%s' % deb_host_multiarch, 1)) +-new_paths.append(path) +-return new_paths +-else: ++try: ++devnull = open('/dev/null', 'w') ++dpkg_architecture = subprocess.Popen( ++['dpkg-architecture', '-qDEB_HOST_MULTIARCH'], ++stdout=subprocess.PIPE, stderr=devnull) ++devnull.close() ++