The regular
expression search/replace you have doesn't match libraries that have a
'-' or an extra '.' in the version name.
I hacked my version (fix_la_file routine) as follows to fix the problems
I was having:
Version: 1.39:
s/\S+\/(\w+.la)/$crosslib\/$1/g;
My Hack:
s/\S+\/([\w-.]+.la)/$crosslib\/$1/g;
Problem there - the . is a special character matching anything. You
probably need to escape the period (and later):
- s/\S+\/([\w-.]+.la)/$crosslib\/$1/g;
+ s/\S+\/([\w-\.]+\.la)/$crosslib\/$1/g;
Otherwise it could inadvertently allow a match with _ or even with
rubbish like foo%£la or /usr/share/foo/foola.txt
Would you mind testing that?
If it works, please attach a full 'diff -u' to make a usable patch
against 1.39 or 1.99+2.0.0pre1, your choice. I'll then check for other
unescaped periods in regexps in dpkg-cross. :-)
Actually, the more I look at that regexp, the more problems appear -
I'll have to check whether '$' should be used at the end too.