| Message ID | 20260624133915.434197-2-valter.jansons@gmail.com |
|---|---|
| State | Superseded |
| Headers |
Return-Path: <location+bounces-38-patchwork=ipfire.org@lists.ipfire.org>
Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange x25519)
(Client CN "mail01.haj.ipfire.org", Issuer "YR2" (not verified))
by web04.haj.ipfire.org (Postfix) with ESMTPS id 4gljj31yrtz3wpk
for <patchwork@web04.haj.ipfire.org>; Wed, 24 Jun 2026 13:39:35 +0000 (UTC)
Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange x25519)
(Client CN "mail02.haj.ipfire.org", Issuer "YE1" (not verified))
by mail01.ipfire.org (Postfix) with ESMTPS id 4gljj23sPXz6qG
for <patchwork@ipfire.org>; Wed, 24 Jun 2026 13:39:34 +0000 (UTC)
Received: from mail02.haj.ipfire.org (localhost [IPv6:::1])
by mail02.haj.ipfire.org (Postfix) with ESMTP id 4gljj15vM8z34GQ
for <patchwork@ipfire.org>; Wed, 24 Jun 2026 13:39:33 +0000 (UTC)
X-Original-To: location@lists.ipfire.org
Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange x25519)
(Client CN "mail01.haj.ipfire.org", Issuer "YR2" (not verified))
by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4gljj11775z333G
for <location@lists.ipfire.org>; Wed, 24 Jun 2026 13:39:33 +0000 (UTC)
Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com
[IPv6:2607:f8b0:4864:20::1032])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest
SHA256
client-signature RSA-PSS (2048 bits) client-digest SHA256)
(Client CN "smtp.gmail.com", Issuer "WR4" (verified OK))
by mail01.ipfire.org (Postfix) with ESMTPS id 4gljhz6rhpz5gV
for <location@lists.ipfire.org>; Wed, 24 Jun 2026 13:39:31 +0000 (UTC)
Authentication-Results: mail01.ipfire.org;
dkim=pass header.d=gmail.com header.s=20251104 header.b=TTbh2BFE;
spf=pass (mail01.ipfire.org: domain of valter.jansons@gmail.com designates
2607:f8b0:4864:20::1032 as permitted sender)
smtp.mailfrom=valter.jansons@gmail.com;
dmarc=pass (policy=none) header.from=gmail.com
ARC-Seal: i=1; a=rsa-sha256; d=lists.ipfire.org; s=202003rsa; cv=none;
t=1782308372;
b=n7/AQWFfj+1rstYjCcqa8bbNTp55yUPtdmeYStyAZt9VK05awa2dx/DmNAXaGYs0i10isd
ScKqU5pjKRI/dz9OQZUjWezn52A4FGgDDlHqlJKV88NtGH7yD0Yxgj21UW9u/Z22qNhuVV
YIBX/3USIpjChlEcRaFIiSBzknEdn9yM5fquDSueCG5ZQenayeQ56+m/BiF/II6weyWmmL
XV3kfM5fDO4qIzeAy9cwrCYlQfZ28iJZEB2BAlIOPrpV3hfB/29GsMd9AnjKRAn/2HjC7F
YRTYckdWGDkSuuKCZjQY2bBsy41xFqR1FMMHwp9gcR5UgnQ1uss96tzR9LS19g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
d=lists.ipfire.org;
s=202003rsa; t=1782308372;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:dkim-signature;
bh=OuqrHI4FZ7h0wbp9OPXyRImShbcpAAg5iPGz8lWmKQE=;
b=PqQ0N8HQ9Pt3mCrZbqToSPpHnxp+syIUz+RZKErizXlE0jkgvGvoAMvJ6sL63lQqNtaUon
R7zQLB2M/je4G/9/8APC8PjkA6DK6JbZIgbbOVkeTEvZlB/IWBlHF6NfbWY1T0xE7Bxix5
LFlyGerzxfyC3/DKkBiNHrXDOI0S2W9FzjqLXI4xBhh0gvSYmvwmtPnmI+u85saj7/pF+m
YL+SST4kaYyk4KFZQsvOdCwLWzNlgw9Q1cC3CbUmVG15gXzy/FeKfYeZjpfAW+LYOmJFwA
Lw5Xs5h3vEAu3qJeXCr6t9u17QRwwEpYCvn8TwwAkH7hLWT/l1oFHVNSsYAw6A==
ARC-Authentication-Results: i=1;
mail01.ipfire.org;
dkim=pass header.d=gmail.com header.s=20251104 header.b=TTbh2BFE;
spf=pass (mail01.ipfire.org: domain of valter.jansons@gmail.com designates
2607:f8b0:4864:20::1032 as permitted sender)
smtp.mailfrom=valter.jansons@gmail.com;
dmarc=pass (policy=none) header.from=gmail.com
Received: by mail-pj1-x1032.google.com with SMTP id
98e67ed59e1d1-37dd266c32eso811293a91.1
for <location@lists.ipfire.org>; Wed, 24 Jun 2026 06:39:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20251104; t=1782308370; x=1782913170;
darn=lists.ipfire.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:to:from:from:to:cc:subject:date:message-id
:reply-to;
bh=OuqrHI4FZ7h0wbp9OPXyRImShbcpAAg5iPGz8lWmKQE=;
b=TTbh2BFEEraUUD4YYqeGH5IkMRUISM1sphD91iaFJ/3JLdE+ao5SOHvzt+9HrLLK9L
LG6J3O8OfUYZ0fQCFB0LJoKiBqNLDDGti1tEPnb6+eg+ufrA8JlGXF7AeXg3anf6vt7B
P1aqjdlixylHCqsf5sHO3z5c+4d9kC0LoXB4bfFGSde8NE465vPI+cbEtF4pAYc9BPKP
Lj8q9IJ9WZxrqTiQUQiHmSkOon4Seq69NoLTaYMtrACpXVZRgYvdtADBYd04JGluFmRc
FKJfjB9p8HshTF4EVaPbi1nEzMkE+Bpg1/phJa/XDCAW3e0ObfU7tgEz3dRxEAMJnbap
LIKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20251104; t=1782308370; x=1782913170;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to
:cc:subject:date:message-id:reply-to;
bh=OuqrHI4FZ7h0wbp9OPXyRImShbcpAAg5iPGz8lWmKQE=;
b=nTvzJBGUrIOq4vxsYxHd9vkUEDgE7FSubTLSpd7/ejBqge5gGit+8gzO8tZ2CI50pt
JfZwSVE4gI+bgL5JX/Q+R+o67ig5f6qtUcTBi2er5SSoUtcM9Y7eG+oEJBFOBHu5ib1D
YP0io25Cwcy6YO4HAgSQBrD6JxoaRfpXdqFB6gMfXOHxybH5vCB8y1XjUsCFf1Uhjmku
jplDuHiunCxBc5W6/O5UP14n8MC4VCUMdljRF/s+m6CtgJ9ZI2ZGIRB+sn0OyBC9ix7S
PAKSAA/tO0us55YF+zRmtCFN/wY8RI7OGdnyeR4bhq0Vvu3rgB/HdyYp51QwIFUIKPOB
HECg==
X-Gm-Message-State: AOJu0YwrNTxyoPq50eAJXGjByhReC7YgStuTQQIghJ60njyNv/kH5SC2
Z7Qqq5Gul/ZxPL3KFB9xy1nw6xSbsa/a/bPx9/dYq+chms11oeJpTZhthwrKxA==
X-Gm-Gg: AfdE7cmz6kiHH2Xkt3xbyKvu+Z8VBKB+UYOVKDoqJtp43/1GT5CJxpEK+iNMN/0U+2i
0losu1YANCaF9pX8LvxWGiAXTerkQ60RNxcDfCFaYpQjcoUA+jcE1kj1phPUVYmHaGnp3qgoChs
94gxwfZFFddAurzcS6VWCG7+akiGATfedldqHTZnFWvhUHS/b6RRUbDnT6JNUZpoamEYvCMxJbB
58Rnm7KDDM3dNOdoyShINzFy8eXI+S5FlE9Gln1X5BP9yEF4DEYSNkERpM4bCRqDHPNvH8ACqgr
Vi2cyoVV7sXL1PXpwzP3+/pvl5k+1IgnoxhIDYjCGVmqcljkgwBRUruATTYLF8eAQovro9dAaoT
/aAK8pOMeOHA/QUn1Bz0+YRPXPxwSe3YsNCzDvfMrWfIs98aMFsruSVR44knCxXzgItMXEkuo/O
D56GVSRr5EH1V0dV7sL+kPbVSAaTew1w==
X-Received: by 2002:a17:90b:5787:b0:36d:5d1c:c4ad with SMTP id
98e67ed59e1d1-37de41a2ef2mr3560115a91.9.1782308369822;
Wed, 24 Jun 2026 06:39:29 -0700 (PDT)
Received: from VT14-G5.localdomain ([221.146.12.107])
by smtp.gmail.com with ESMTPSA id
98e67ed59e1d1-37de3ca3c2csm2529369a91.2.2026.06.24.06.39.28
for <location@lists.ipfire.org>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 24 Jun 2026 06:39:29 -0700 (PDT)
From: Valters Jansons <valter.jansons@gmail.com>
To: location@lists.ipfire.org
Subject: [PATCH 2/2] Makefile: Avoid installing libtool control files
Date: Wed, 24 Jun 2026 22:39:15 +0900
Message-ID: <20260624133915.434197-2-valter.jansons@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260624133915.434197-1-valter.jansons@gmail.com>
References: <20260624133915.434197-1-valter.jansons@gmail.com>
Precedence: list
List-Id: <location.lists.ipfire.org>
List-Subscribe: <https://lists.ipfire.org/>,
<mailto:location+subscribe@lists.ipfire.org?subject=subscribe>
List-Unsubscribe: <https://lists.ipfire.org/>,
<mailto:location+unsubscribe@lists.ipfire.org?subject=unsubscribe>
List-Post: <mailto:location@lists.ipfire.org>
List-Help: <mailto:location+help@lists.ipfire.org?subject=help>
Sender: <location@lists.ipfire.org>
Mail-Followup-To: <location@lists.ipfire.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-6.75 / 11.00];
BAYES_HAM(-3.00)[100.00%];
R_DKIM_ALLOW(-1.69)[gmail.com:s=20251104];
DKIM_REPUTATION(-0.96)[-0.96313688780515];
SPF_REPUTATION_HAM(-0.69)[-0.69164785741642];
R_MISSING_CHARSET(0.50)[];
DMARC_POLICY_ALLOW(-0.50)[gmail.com,none];
R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4864::/56:c];
MX_GOOD(-0.10)[gmail-smtp-in.l.google.com];
MIME_GOOD(-0.10)[text/plain];
RCVD_TLS_LAST(0.00)[];
IP_REPUTATION_HAM(0.00)[asn: 15169(-0.32), country: US(-0.01),
ip: 2607:f8b0:4864:20::(-0.83)];
RCPT_COUNT_ONE(0.00)[1];
DWL_DNSWL_NONE(0.00)[gmail.com:dkim];
ARC_NA(0.00)[];
FREEMAIL_ENVFROM(0.00)[gmail.com];
MIME_TRACE(0.00)[0:+];
FREEMAIL_FROM(0.00)[gmail.com];
TO_MATCH_ENVRCPT_ALL(0.00)[];
DKIM_TRACE(0.00)[gmail.com:+];
ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US];
TO_DN_NONE(0.00)[];
RCVD_COUNT_TWO(0.00)[2];
FROM_EQ_ENVFROM(0.00)[];
RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::1032:from];
ARC_SIGNED(0.00)[lists.ipfire.org:s=202003rsa:i=1];
ALIAS_RESOLVED(0.00)[];
PREVIOUSLY_DELIVERED(0.00)[location@lists.ipfire.org];
RCVD_VIA_SMTP_AUTH(0.00)[];
MID_RHS_MATCH_FROM(0.00)[];
FROM_HAS_DN(0.00)[]
X-Rspamd-Server: mail01.haj.ipfire.org
X-Rspamd-Queue-Id: 4gljhz6rhpz5gV
X-Rspamd-Action: no action
|
| Series |
[1/2] Makefile: Install Lua in `exec` stage, not `data`
|
|
Commit Message
Valters Jansons
24 Jun 2026, 1:39 p.m. UTC
This project currently uses autoconf, automake, and libtool for
building. During build process, libtool creates `.la` control files
with metadata about the `.so` library. On modern systems, shipping
these files is now strongly discouraged.
The `.la` files are generally not used on live systems. The only
scenario where they would be used is if someone loads the library using
libltdl (libtool's `dlopen` wrapper). However, both Python and Lua just
load the library directly using a `dlopen("location.so")` instead of
calling `lt_dlopen("location.la")`. This project does not reference
`lt_dlopen` or `ltdl` as such.
Moreover, the `.la` files include redundant dependency chain
information. For example, the Lua module depends on libloc. Even though
OpenSSL is a transitive dependency (`src/database.c` and `src/writer.c`,
not `src/lua/`), libtool anyway adds `-lssl` (as well as `-lcrypto
-lresolv`) directly to `dependency_libs` of Lua's `location.la`.
Listing these transitive dependencies muddies the chain. If someone is
consuming the Lua module downstream, then libtool would force the full
dependency chain onto them directly, which is not needed.
Additionally, due to hardcoded dependencies, rebuild propagation is
a concern. An upstream library updating their soname requires all
downstream `.la` files to be rebuilt, even if libloc's ABI has not
changed. This is especially painful at distro packaging scale.
As a result, modern packaging is pushing towards removing these `.la`
files. In cases where some libltdl consumers exist, the fallback route
is emptying out the dependency_libs metadata field. This is visible in
Debian Lintian as error `non-empty-dependency_libs-in-la-file`.
We can go the whole way and drop these files outright. The `.la` files
reference each other; therefore, when one is being removed, all of them
should be removed, to avoid dangling references.
Ref: https://wiki.debian.org/ReleaseGoals/LAFileRemoval
Ref: https://fedoraproject.org/wiki/Changes/RemoveLaFiles
Signed-off-by: Valters Jansons <valter.jansons@gmail.com>
---
Note: This commit adds the removal logic in `install-exec-hook`. This
depends on the parent commit in this series, ensuring Lua is installed
in `exec` instead of `data`.
Makefile.am | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/Makefile.am b/Makefile.am index a64a20a..735e07a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -359,6 +359,20 @@ CLEANFILES += \ # ------------------------------------------------------------------------------ +install-exec-hook: + # Avoid installing .la files, as we do not use libltdl. + @for la in $(lib_LTLIBRARIES); do \ + rm -f "$(DESTDIR)$(libdir)/`basename $$la`"; \ + done + @for la in $(pyexec_LTLIBRARIES); do \ + rm -f "$(DESTDIR)$(pyexecdir)/`basename $$la`"; \ + done + @for la in $(luaexec_LTLIBRARIES); do \ + rm -f "$(DESTDIR)$(luaexecdir)/`basename $$la`"; \ + done + +# ------------------------------------------------------------------------------ + # Use systemd timers if available if HAVE_SYSTEMD systemdsystemunit_DATA = \