Bug#878158: lapack: debian/rules sed expression breaks for some LDFLAGS values

Roberto C. Sanchez roberto at debian.org
Tue Oct 10 15:01:11 UTC 2017


Source: lapack
Version: 3.7.1-4
Severity: normal

The rules file contains the following command (which breaks if LDFLAGS
contains a path) in one of the recipes:

        sed -e "s,\(^CC  *=\).*,\1 $(CC),1" \
            -e "s,\(^FORTRAN  *=\).*,\1 $(F77),1" \
            -e "s,\(^NOOPT  *=\).*,\1 \$$(PICOPTS) $(FFLAGS_NOOPT),1" \
            -e "s,\(^OPTS  *=\).*,\1 \$$(PICOPTS) $(FFLAGS),1" \
            -e "s,\(^LOADER  *=\).*,\1 $(F77),1" \
            -e "s/\(^LOADOPTS  *=\).*/\1 $(LDFLAGS)/1" \
            -e "s,\(^ARCH  *=\).*,\1 $(DEB_HOST_GNU_TYPE)-ar,1" \
            -e "s,\(^RANLIB  *=\).*,\1 $(DEB_HOST_GNU_TYPE)-ranlib,1" \
            -e "s,\(^CFLAGS  *=\).*,\1 $(CPPFLAGS) \$$(PICOPTS) $(CFLAGS),1" \
            < $< > $@

All of the expressions, save for the one that performs the LDFLAGS
replacement, use comma delimiters.  The slash delimiter looks like it is
used in the expression that handles LDFLAGS because the comma is a
frequently used character in passing options to the linker.  However,
the use of the slash there prevents specifying paths to the linker for
the library search path and rpath options.  Perhaps a different
delimiter (like asterisk or carat) can be used instead to allow LDFLAGS
to be handled correctly when it contains paths.

Regards,

-Roberto
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/debian-science-maintainers/attachments/20171010/42756819/attachment.sig>


More information about the debian-science-maintainers mailing list