debian.bbclass: Fix hardcoded "lib" reference

Submitted by Richard Purdie on Sept. 21, 2011, 11:38 a.m.

Details

Message ID 1316605116.13085.40.camel@ted
State New, archived
Headers show

Commit Message

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 hide | download patch | download mbox

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