Rebuild of Boost dependees

Jerry James loganjerry at gmail.com
Thu Aug 1 22:01:24 UTC 2013


On Wed, Jul 31, 2013 at 2:18 PM, Jerry James <loganjerry at 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/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.fedoraproject.org/pipermail/devel/attachments/20130801/35eb13e4/attachment.html>


More information about the devel mailing list