| Message ID | 20260624134901.450562-1-valter.jansons@gmail.com |
|---|---|
| State | New |
| Headers |
Return-Path: <location+bounces-39-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 4gljwP6tTBz3wpB
for <patchwork@web04.haj.ipfire.org>; Wed, 24 Jun 2026 13:49:25 +0000 (UTC)
Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org
[IPv6:2001:678:b28::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 4gljwP3pwdz6mP
for <patchwork@ipfire.org>; Wed, 24 Jun 2026 13:49:25 +0000 (UTC)
Received: from mail02.haj.ipfire.org (localhost [IPv6:::1])
by mail02.haj.ipfire.org (Postfix) with ESMTP id 4gljwJ44rdz333G
for <patchwork@ipfire.org>; Wed, 24 Jun 2026 13:49:20 +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 4gljwH6KDzz2xHP
for <location@lists.ipfire.org>; Wed, 24 Jun 2026 13:49:19 +0000 (UTC)
Received: from mail-pf1-x42d.google.com (mail-pf1-x42d.google.com
[IPv6:2607:f8b0:4864:20::42d])
(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 4gljwG1LRxzXn
for <location@lists.ipfire.org>; Wed, 24 Jun 2026 13:49:18 +0000 (UTC)
Authentication-Results: mail01.ipfire.org;
dkim=pass header.d=gmail.com header.s=20251104 header.b=cKTce353;
spf=pass (mail01.ipfire.org: domain of valter.jansons@gmail.com designates
2607:f8b0:4864:20::42d 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=1782308958;
b=g4ygVKoHlEbLTPNOHeJiq/pBLwyox7MCwjxzSYHmG+2Ik9OrGzELjQ0FaqfMBq8meVajwh
DGnKwwMLBPusYXjgwTaigx/kNx+k5LEaRCTC2vM+J0l4rP19LXnYZ3Fb2V9ACdNBChMzLf
FMaPyy0ppF0VtS7r26Kt2q+W/andVj71W3FVn2ER2yAafSkWNQQ2sjS6ESs4oiU5p/DTNc
l+Y7ATApQZ/WboEVkGEWHEE6dQMYKu6uNbwgSI9BwED6q3mxNOSR51Q6HA7rEkAScLVhWj
3r1aqc5R0dG1TcGFAbBktq8Z/FSk78XnudKQCu1xi/D0bdBwmYH2aSUl10fVFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
d=lists.ipfire.org;
s=202003rsa; t=1782308958;
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=MQ8uCcZZZ5kKg8sl1+WYxttsi6maPJkPK1fyirCOSuE=;
b=bxZMjxCs+qvzwgwmYwgSCo3iX/Xd6cJ4NT2QU2bC0H3HLVXxxYooF6C81ssmd80qfDeAXC
lrPYJIgJHqltFA43G4QSoKf43oC+LklKmlMQNn/zdm0eBBRBPuMzGx/7ICkP1c3dNvTquF
A8agIUGlzY9GfNY5fcYj0015HXe2VVOV/4J0Gzj8GjIMB5PMkB/bBL7wJdE3Kg9upDUXw/
HteN28uWDXEcoJ4fVXnbEOWXOWWCjYFGsEQRysRbGCFfwOW5qQUGVG2qUQ9SLpdlm3X94G
l+j0d2ppjSvQqIVmPVKmDF6l6nYIlplZeGYrD1pb5nBP7KQaXf7rPe5nn5n2Ug==
ARC-Authentication-Results: i=1;
mail01.ipfire.org;
dkim=pass header.d=gmail.com header.s=20251104 header.b=cKTce353;
spf=pass (mail01.ipfire.org: domain of valter.jansons@gmail.com designates
2607:f8b0:4864:20::42d as permitted sender)
smtp.mailfrom=valter.jansons@gmail.com;
dmarc=pass (policy=none) header.from=gmail.com
Received: by mail-pf1-x42d.google.com with SMTP id
d2e1a72fcca58-842338c18e0so813887b3a.1
for <location@lists.ipfire.org>; Wed, 24 Jun 2026 06:49:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20251104; t=1782308956; x=1782913756;
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=MQ8uCcZZZ5kKg8sl1+WYxttsi6maPJkPK1fyirCOSuE=;
b=cKTce3536JvewS/uCjBzqLOZ0VXWvKQkAPErB6DyFWWpsHge9unMxsxSVbajBUlLWC
iSQI0emj+Zj06/MGnLSknA0v/ermEVX036oSluLZiJOeonBg+a+1tmRH3URjqXz+8fUq
t83AlczNwyaj9LT1/NnMJDFnB+4uS1lW0VeMn5d2xdXZCGjiJEJSuD6uAnIGy7zuOEo+
IeIl0ZNjpfzatkwhf49sgnIszAemaqN/xNHeJMBR6S6T6jffR2WxJHX564O5dKl6aR+J
LRViMR1DNySGAZFVkMI2TRELvQhbY8X/kAHRoyY1kC+Y2uBKgoPt49le8T28MCo/0Ujg
GlOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20251104; t=1782308956; x=1782913756;
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=MQ8uCcZZZ5kKg8sl1+WYxttsi6maPJkPK1fyirCOSuE=;
b=FkOQESSOqjm2RgbNP+X/u1IkrH9qXNKD1QNAMoEAfX3JD+bmUAFUyrYNwcII88Tm+u
T3lfkZOJBxny49heAlCFQm6qU2i03WIpD1eBM1dj9vKbS54f0OtZHx0P1AFIvLuBGN56
xgbXlhxCGVpPOD2UD9jhadJMd4CTsEG0CrGvxl2syApUjrmvnooubqH88pkNwMW6eZJk
prWTZFeGGZvb1/WC3+bEtUM6Q2Y+yPIADq7MOGkYLwHeNTH3Zdagh2BfQuxsVsbZB7Lv
0FFnoYFZVtzzTHj0PwKOTDiCwdks2y55QficrqcMQs3b9ys8c4rd5jGdRUxzedgLJkYO
bTEw==
X-Gm-Message-State: AOJu0YyiK4wjpZd94cQgNX7yBkrILVOl7fxkvyy2LzKK/1ZDnZI06jyO
dd6DuXPkYWvuz4PJsN2pVprJBfrunyMG1zS8zYrGX8AnIvkNGewRt+zMN9TXGw==
X-Gm-Gg: AfdE7cnpFyzcWoL7IQq6qGiL4+j8XdXDUV3AHEK9wSELV3luXoMVUb9tVbPGbfvk8ol
cesyHUVZPvJRFzaO7o36+G0hJwhT8dORUqyJ2n2HcX2UHlB7BqN6yy8XznCdEAViY+G3Xjrp6vb
03F4+s87PsdNEnroxJisDj2sWu/hS+a3dc87PCEQTLJ0Ym5wfFfc4ORlsrwwWMHin5uBmsMAHYa
Ao4XqMazNrUE/CrzTEnIhnsCHTJzt+jPN1dZUDuByCzdKRtrRlbrSwZykrj0F7OG6n0x6xUwruO
Zv4oskGo4ZT0e52zRnrhtgFEzGtNwjUAIQ9jqw1lXdG5BJWTEBdLyy8wAqXZiEs1UHxYOJnsjgB
vOir38/RSuc5H7CXKdCBopUu+FfYm0Vrphth3aJxF6aoNQIm1sJCbUSiQhs2OnfMpa3VTIfLaeX
YimmOC1SmCEAJMoD3dc9YUs27QPypYzR1GY3efs/tp
X-Received: by 2002:a05:6a00:6caa:b0:842:6004:3fbe with SMTP id
d2e1a72fcca58-845a2775025mr4813996b3a.25.1782308956163;
Wed, 24 Jun 2026 06:49:16 -0700 (PDT)
Received: from VT14-G5.localdomain ([221.146.12.107])
by smtp.gmail.com with ESMTPSA id
d2e1a72fcca58-845a411942asm2326870b3a.48.2026.06.24.06.49.14
for <location@lists.ipfire.org>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 24 Jun 2026 06:49:15 -0700 (PDT)
From: Valters Jansons <valter.jansons@gmail.com>
To: location@lists.ipfire.org
Subject: [PATCH 2/2] [v2] Makefile: Avoid installing libtool control files
Date: Wed, 24 Jun 2026 22:49:01 +0900
Message-ID: <20260624134901.450562-1-valter.jansons@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260624133915.434197-2-valter.jansons@gmail.com>
References: <20260624133915.434197-2-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.96305037561422];
SPF_REPUTATION_HAM(-0.69)[-0.69437499872314];
DMARC_POLICY_ALLOW(-0.50)[gmail.com,none];
R_MISSING_CHARSET(0.50)[];
R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4864::/56];
MIME_GOOD(-0.10)[text/plain];
MX_GOOD(-0.10)[gmail-smtp-in.l.google.com];
IP_REPUTATION_HAM(0.00)[asn: 15169(-0.32), country: US(-0.01),
ip: 2607:f8b0:4864:20::(-0.83)];
FROM_EQ_ENVFROM(0.00)[];
RCPT_COUNT_ONE(0.00)[1];
ARC_NA(0.00)[];
MIME_TRACE(0.00)[0:+];
RCVD_TLS_LAST(0.00)[];
FREEMAIL_ENVFROM(0.00)[gmail.com];
FREEMAIL_FROM(0.00)[gmail.com];
TO_MATCH_ENVRCPT_ALL(0.00)[];
RCVD_COUNT_TWO(0.00)[2];
TO_DN_NONE(0.00)[];
ARC_SIGNED(0.00)[lists.ipfire.org:s=202003rsa:i=1];
MID_RHS_MATCH_FROM(0.00)[];
ALIAS_RESOLVED(0.00)[];
PREVIOUSLY_DELIVERED(0.00)[location@lists.ipfire.org];
RCVD_VIA_SMTP_AUTH(0.00)[];
DWL_DNSWL_NONE(0.00)[gmail.com:dkim];
ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US];
DKIM_TRACE(0.00)[gmail.com:+];
RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::42d:from];
FROM_HAS_DN(0.00)[]
X-Rspamd-Server: mail01.haj.ipfire.org
X-Rspamd-Queue-Id: 4gljwG1LRxzXn
X-Rspamd-Action: no action
|
| Series |
None
|
|
Commit Message
Valters Jansons
24 Jun 2026, 1:49 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`.
Apologies on the previous commit version having a mis-aligned comment.
A rule cannot have a # line right there. This version patches that.
Makefile.am | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/Makefile.am b/Makefile.am index a64a20a..93c5aad 100644 --- a/Makefile.am +++ b/Makefile.am @@ -359,6 +359,20 @@ CLEANFILES += \ # ------------------------------------------------------------------------------ +# Avoid installing .la files, as we do not use libltdl. +install-exec-hook: + @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 = \