From patchwork Wed Jun 24 13:49:01 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Valters Jansons X-Patchwork-Id: 9965 Return-Path: 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 ; 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 ; 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 ; 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 ; 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 ; 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 ; 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 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 06:49:15 -0700 (PDT) From: Valters Jansons 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: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: MIME-Version: 1.0 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 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 --- 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 = \