Patchwork debian.bbclass: Fix hardcoded "lib" reference

login
register
mail settings
Submitter Richard Purdie
Date Sept. 21, 2011, 11:38 a.m.
Message ID <1316605116.13085.40.camel@ted>
Download mbox | patch
Permalink /patch/11875/
State New, archived
Headers show

Comments

Richard Purdie - Sept. 21, 2011, 11:38 a.m.
This patch removes a hardcoded "lib" reference from debian.bbclass
allowing libdirs like "lib64" to be used. Whilst working on this area of
code, a similar assumption about "bin" is removed and the regular
expression compilation is moved to the parent function since it doesn't
change and this will improve the speed of the code.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Patch

diff --git a/meta/classes/debian.bbclass b/meta/classes/debian.bbclass
index 1880830..554525d 100644
--- a/meta/classes/debian.bbclass
+++ b/meta/classes/debian.bbclass
@@ -24,6 +24,9 @@  python debian_package_name_hook () {
 
 	pkgdest = bb.data.getVar('PKGDEST', d, 1)
 	packages = bb.data.getVar('PACKAGES', d, 1)
+	bin_re = re.compile(".*/s?" + os.path.basename(d.getVar("bindir", True)) + "$")
+	lib_re = re.compile(".*/" + os.path.basename(d.getVar("libdir", True)) + "$")
+	so_re = re.compile("lib.*\.so")
 
 	def socrunch(s):
 		s = s.lower().replace('_', '-')
@@ -45,9 +48,6 @@  python debian_package_name_hook () {
 		return (s[stat.ST_MODE] & stat.S_IEXEC)
 
 	def auto_libname(packages, orig_pkg):
-		bin_re = re.compile(".*/s?bin$")
-		lib_re = re.compile(".*/lib$")
-		so_re = re.compile("lib.*\.so")
 		sonames = []
 		has_bins = 0
 		has_libs = 0