On Thu, 30 Aug 2007 14:35:03 -0600 Jeff Mast <jeff.mast@mastfamily.com> wrote: > > Neil, > > There appears to be a bug in dpkg-cross that causes the dependency_libs > in la files not to be converted properly in all cases. It would help me if you could report this as a bug against dpkg-cross in the Debian BTS because it is easier to track. Thanks. > 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. > e.g. the bug causes only libxml2.la to be converted in the following > dependency line: > > dependency_libs=' /usr/lib/libgobject-2.0.la /usr/lib/libgthread-2.0.la > -lrt /usr/lib/libgmodule-2.0.la -ldl /usr/lib/libglib-2.0.la > /usr/lib/libxml2.la' > > It also still appears to be a problem with Version: 1.99+2.0.0pre1. That makes sense - the rewrite hasn't changed that part of the code. Feel free to copy and paste this reply into the bug report so that I don't forget. ;-) -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
Attachment:
pgprRTWi_Q0SQ.pgp
Description: PGP signature