Source: age
Version: 1.0.0~beta5
Severity: important
Tags: patch

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hi Johan,

I don't know if you noticed, but the build has been failing on a bunch of
architectures, including 2 release ones (mipsel and mips64el) :

        https://buildd.debian.org/status/package.php?p=age&suite=sid


Looking at the build logs, for those 2 and riscv64 it's simply because the Go
compiler doesn't know how to produce position-independent executables there:

        dh_auto_build -- -buildmode=pie
                cd _build && go install -trimpath -v -p 4 -buildmode=pie 
filippo.io/age filippo.io/age/agessh filippo.io/age/armor 
filippo.io/age/cmd/age filippo.io/age/cmd/age-keygen 
filippo.io/age/internal/bech32 filippo.io/age/internal/format 
filippo.io/age/internal/stream
        -buildmode=pie not supported on linux/mips64le


I sent you a MR on Salsa fixing it; currently, there doesn't seem to be a better
way of dealing with it than hardcoding a lists of architectures where that does
not work, in debian/rules:

        https://salsa.debian.org/go-team/packages/age/-/merge_requests/1


There's a proposal in #821454 to provide more-ergonomic and maintainable ways of
doing that, but nothing implemented yet AFAICT.


Best,

        nicoo

- -- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-2-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

- -- no debconf information

-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEEU7EqA8ZVHYoLJhPE5vmO4pLV7MsFAmAVrGoRHG5pY29vQGRl
Ymlhbi5vcmcACgkQ5vmO4pLV7MuAeg//TEApQVxpwjTNvy5/0PCCD66g0z6kr09W
ZUZnywlvRsl784cTnCnYJFZahcBmkU3lTBDi0TsPYvE6S6cWYIbfUP+8UuhcOKSp
lwq/uF1f4UV+yfncFLBnW/5VOzWMI3BEJEqkMU3WrWxvznH0aKaxpITEYPZd+SW1
bqTuHC9kmTp6NI1H/MCE9qf184YqUYyDwOpXzQxuLTN/XrWU5xsnXaOoeiJD3nZw
cOfGHfXq+lWhsLlqMwBt6oy7q/ULw3sfVIBi7ikLj1PXAIoHQl9My8Bpw/M28Swf
itQycJaecaCw7GhbhnQmZfZKauakuZrHbGmUEUIyLOCJJ6a43MrmLt3cKisvkR4r
BcuUARGpvqmGStVLJb+TFeeg/GTGkL9+dTcYvtFrv1dJgtDd/DkKSNtj698DWnhI
b/AzxLzt0te4CnzCbNcohQ84/GXbpsdOIYGGwNJJp7iPnbZEfsYs8iODUdgleOtD
2ZFF5te5XgIJkW+JTQz1z9IBLE4h/53SDdsalMrRxYjj3NgIZeLkL6LnBszvvbiY
uBza3V8Kt2jXxacPZFHqGMh1jFXpi6aqfMhBoB9ANO1osngrVCzu2JfAyenDyl3R
HPZy+7zEDK2tafzkBb1OvhTOA+8CMjO2jcgtNKR/NdJM9Cy1GgM1OFMlLTLyJjWS
S55tKr4K1zw=
=ejqI
-----END PGP SIGNATURE-----
>From 0ed8e895a6230086d51b9b4f206cc9902eb44998 Mon Sep 17 00:00:00 2001
From: nicoo <ni...@debian.org>
Date: Sat, 30 Jan 2021 17:59:46 +0100
Subject: [PATCH] d/rules: Do not build PIE binaries on architectures where go
 cannot

This should make age(1) build on all release architectures and risv64.

Closes: #XXXTODO
---
 debian/rules | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/debian/rules b/debian/rules
index 60ac37b..ba60966 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,10 +1,14 @@
 #!/usr/bin/make -f
 
+include /usr/share/dpkg/architecture.mk
+
+NO_PIE_ARCHS := mips64el mipsel riscv64
+
 %:
        dh $@ --builddirectory=_build --buildsystem=golang --with=golang
 
 override_dh_auto_build:
-       dh_auto_build -- -buildmode=pie
+       dh_auto_build -- $(if $(filter 
$(DEB_TARGET_ARCH),$(NO_PIE_ARCHS)),,-buildmode=pie)
 
 override_dh_auto_install:
        dh_auto_install -- --no-source
-- 
2.29.2

Reply via email to