From patchwork Wed Jun 24 13:39:15 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Valters Jansons X-Patchwork-Id: 9964 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 4gljj31yrtz3wpk for ; 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 ; 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 ; 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 ; 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 ; 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 ; 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 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 06:39:29 -0700 (PDT) From: Valters Jansons 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: 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.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 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`. 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 = \