On Wed, Jul 31, 2013 at 2:18 PM, Jerry James <loganje...@gmail.com> wrote:

> Neither my python-fu nor my scons-fu is great enough for me to figure out
> how to work around this problem.  Can any python masters on this list see a
> way to work around the bug?
>
> This is https://bugzilla.redhat.com/show_bug.cgi?id=974257 for anybody
> interested.
>

Well, I "fixed" it by applying the following patch.  Close your eyes now,
lest they explode:

--- SConstruct.orig    2013-01-29 15:37:01.000000000 -0700
+++ SConstruct    2013-08-01 15:20:08.695760012 -0600
@@ -561,16 +561,14 @@
     """Creates soname."""

     target = str(env.subst(target))
-    import re
-    soPattern = re.compile('(.*)\.[0-9]*\.[^.]*$', re.I|re.S)
-    soname = soPattern.findall(path.basename(target))
-
+    from subprocess import check_output
+    basename = path.basename(target)
+    if len(basename) == 0:
+      return ''
+    soname = check_output('sed \'s/\.[0-9]*\.[0-9]*$//\' <<< ' + basename,
shell=True).rstrip()
     if len(soname) > 0:
-        return prefix + soname[0] + suffix
+        return prefix + soname + suffix
     else:
-        if env['PLATFORM']=="darwin":
-            return prefix + path.basename(target) + suffix
-
         return ''


@@ -1103,16 +1101,14 @@
 def SymlinkReadableLibname(files):
     """ Generate symbolik link with more readable library name."""

+    from subprocess import check_output
     suffix = env.subst('$SHLIBVERSIONSUFFIX')
     simplesuffix = env.subst('$SHLIBSUFFIX')
     result = []
-    import re
-    soPattern = re.compile('(.*)\.[0-9]*\.[0-9]*$', re.I|re.S)
-    sonameversion =
soPattern.findall(path.basename(env.subst('$LIBRARY_VERSION')))[0]

     for fname in files:
         fname = str(fname)
-        soname = soPattern.sub(r'\1', fname)
+        soname = check_output('sed \'s/\.[0-9]*\.[0-9]*$//\' <<< ' +
fname, shell=True).rstrip()
         versionname = fname.replace('.' + env.subst('$LIBRARY_VERSION'),
'')
         simple = fname.replace(suffix, simplesuffix)

But it would be much, much better if the python regular expression engine
were fixed.  Are any of the python maintainers seriously looking at the
upstream patch?  If not, could you please?
-- 
Jerry James
http://www.jamezone.org/
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Reply via email to