Hi Perl experts,
Debian Trends motivated me to switch findimagedupes[1] from cdbs to dh.
I also enabled salsa-ci and learned that the hardening flags are not propagated properly[2]. I admit I have no idea how the build might work
at all. Can you give any hint how the hardening flags can be
propagated?
Kind regards
Andreas.
[1] https://salsa.debian.org/science-team/findimagedupes
[2] https://salsa.debian.org/science-team/findimagedupes/-/jobs/1589952
I don't consider myself a Perl expert, but I had a look at this
issue, and had the general impression that FLAGS needed to be
manually pushed through ExtUtil::MakeMaker(3pm), and then down
to Inline::C(3pm). I came up with propagate-flags.patch, which
I pushed on Salsa[1], if you wish to have a look.
But maybe there are better options than my implementation, I'm
not exactly happy of the -shared I had to manually append to
LDDLFLAGS in the C.pm, and the various FLAGS behavior in Inline
is not especially clear without having the manual at hand.
On Sun, 18 Apr 2021 17:43:19 +0200, Étienne Mollier wrote:
But maybe there are better options than my implementation, I'm
not exactly happy of the -shared I had to manually append to
LDDLFLAGS in the C.pm, and the various FLAGS behavior in Inline
is not especially clear without having the manual at hand.
From some of the patches we have in the perl team:
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -1,6 +1,7 @@
use strict;
use warnings;
use Inline::MakeMaker;
+use Config;
sub MY::libscan {
return if ($_[1] eq 'USB.pm' or $_[1] eq 'dump_usb.pl');
@@ -88,6 +89,8 @@
test => {
TESTS => 't/*.t xt/*.t',
},
+ CCFLAGS => "$Config{ccflags} $ENV{CFLAGS} $ENV{CPPFLAGS}",
+ LDFLAGS => "$Config{lddlflags} $ENV{LDFLAGS}",
);
$Config{lddlflags} is '-shared -L/usr/local/lib
-fstack-protector-strong', so this should fix the "-shared" part.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 286 |
Nodes: | 16 (2 / 14) |
Uptime: | 84:47:40 |
Calls: | 6,495 |
Calls today: | 6 |
Files: | 12,097 |
Messages: | 5,276,962 |