Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tWkXc-001LJy-0S for pgsql-pkg-debian@arkaria.postgresql.org; Sat, 11 Jan 2025 23:05:16 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tWkXb-00DHln-6F for pgsql-pkg-debian@arkaria.postgresql.org; Sat, 11 Jan 2025 23:05:14 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tWkXa-00DHlf-Rm for pgsql-pkg-debian@lists.postgresql.org; Sat, 11 Jan 2025 23:05:14 +0000 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tWkXV-0016c8-34 for pgsql-pkg-debian@lists.postgresql.org; Sat, 11 Jan 2025 23:05:13 +0000 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2167141dfa1so55795595ad.1 for ; Sat, 11 Jan 2025 15:05:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ardentperf-com.20230601.gappssmtp.com; s=20230601; t=1736636709; x=1737241509; darn=lists.postgresql.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=/gZ5873U/m5tSaZSirR7/haN6AHsnyb2SvsFy3pjAcE=; b=b2hnqdrny/x3EIGfKWGQtA0if8QbpYmhyDyux8snSBUWkiB37nMLXMQ0vAEKA/4AYn p79Lj23ocP8SzVuAdLv68F5Bbu0uvZkrkEIcpWPr3n0oxsX2xUMZ1qOKcd+wlCk3C9tu IgBCq89HHSACEYqGXbUYKVtw2ZWtL7qN2uvp+UC9hrkXjRJRpRYK+JDEE0wQpHQkZMBH e6Yoq0JNwjLGX5efJraNBSgW5HBgGAh2pFmfiNKK/YRUCSSvNvguAHw2dogNvctno31m P3hGxvpgblk3Qu9kgoZrRKctMfwlbFpVJ8ughlLDYpWAOcR6vKa8+xDzo2Z8ho76E/Vn 5Weg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736636709; x=1737241509; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/gZ5873U/m5tSaZSirR7/haN6AHsnyb2SvsFy3pjAcE=; b=HeJREtmbv2L0ZU58Dk3NUtN4lJjmfbpsn1plGCbSPt6AJHu5sk436Qej4JYYByAZZV zsuzPZnTZZi51ut+7deG+Azed9SS48XX92CLPDmEqIQY2rVjO9hKvaZRgrhrrOS8zxyE vYFjbUFjouV8NyQ/ja9BLEjFFZ/iu3dRcHkz1KUy5pOPyTSEdSTdug+BOS7bK30XaaP2 lDKmMSp+dpjstJssmtFL5/+Bzphd/RT8o8oGpiY3OZv0mxeRqYbrkbLsa3m1Sl/2tOyU Oiw7nAcExMoK2afWcXsi3lXkL9lehD2Dip4MA3WSMatCCrZLBExu3R98xSdDjeRSZYEn A6iA== X-Gm-Message-State: AOJu0YyfWUKDJqjmujOKgmxEbMAQigDUQMAgnby9xgI1FAVz2xtAUBt8 ujgetJF+AYJv718MfS4LA18SYFboBqhkb9IkXqDxGbTbSRt8hqWjl67a8fDMiS6+zgjCq0s/uyz IJg== X-Gm-Gg: ASbGncsbBb++YXrCI1X7QtNx3BYBff4XUuOMWK+arvIiaWwp4zIKRFAzX222/q/jKUt /DYRLJ7tjF5Qo0+l2qsLtZ+m95QC53xTYFsEDDBaceCo0cB+rNlywdfj/6dz5KmbFcAYR1mjH92 oRFpiLde1FWV5bPT+ctEYzqU/IcCwaVHAOCqH3el7X5Vs9wVwxdQXjBlMXg33UXdemTeZZnEX8j J6eP228ZtPBA+vPe8xD60N8XitxWA3uhR2zP+KRjaGlHknD4eZBF21l+5G4LWclqcT2bg3HVsp7 U/UVWzHqKovHuoKKnCk= X-Google-Smtp-Source: AGHT+IHpavZB/dFsBddv72zl23+KhSlnc5V17hTLKP22xCekq2+magDR1YWnkHp1ZazQClqCX6c6UA== X-Received: by 2002:a17:902:da8f:b0:215:7287:67bb with SMTP id d9443c01a7336-21abd0f8bf6mr63338605ad.0.1736636709302; Sat, 11 Jan 2025 15:05:09 -0800 (PST) Received: from ardentperf.com (97-113-74-110.tukw.qwest.net. [97.113.74.110]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21a9f21e279sm31594595ad.134.2025.01.11.15.05.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jan 2025 15:05:08 -0800 (PST) Date: Sat, 11 Jan 2025 15:05:06 -0800 From: Jeremy Schneider To: Christoph Berg Cc: "pgsql-pkg-debian@lists.postgresql.org" Subject: Re: postgresql-client-common pulling in libipc-run-perl Message-ID: <20250111150506.589ebb1a@ardentperf.com> In-Reply-To: <20250111131429.79238f82@ardentperf.com> References: <20250111122847.486d05e2@jeremy-ThinkPad-T430s> <20250111131429.79238f82@ardentperf.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Sat, 11 Jan 2025 13:14:29 -0800 Jeremy Schneider wrote: > On Sat, 11 Jan 2025 22:08:02 +0100 > Christoph Berg wrote: > > > Re: Jeremy Schneider > > > So the real question is why the client-common package has a hard > > > requirement on libipc-run-perl, and whether we can make this > > > dependency optional (or remove it). That would trim about 45MB off > > > the base container size, which is meaningful since these base > > > images are very widely used. > > > > You are missing the fact that postgresql-common is written in perl. > > > > lol, yes i sent this email before tracking down what the package is > and what is does and how its written (it looks like a different > package from the postgresql client itself, but its a hard dependency > of the client) > > i'll go find the code and start reading i wasn't heavily using postgres debian packages until recently. so i'm coming up to speed now on the specifics of how the packages are set up. this is where all those super useful debian postgres management scripts come from! https://packages.debian.org/sid/all/postgresql-client-common/filelist if i'm reading correctly then the upstream source is here, in salsa: https://salsa.debian.org/postgresql/postgresql-common/-/blob/master/debian/control?ref_type=heads my first pass (prev email) was using "apt rdepends" and i didn't realize but apparently that command doesn't show virtual dependencies; from the control file above i see that both postgresql-client-common and also postgresql-common have direct deps for perl. "apt depends" also confirms the dependency. Depends: perl this makes sense now. it's the whole multiversion/multicluster postgres management suite that debian has (which i knew about, but haven't used heavily). it's interesting how debian has turned out to be such a popular "base image" on which to build containers. i think that Docker Inc's open source 74MB "slim" debian base containers images are helping this. in my case, i'm working with postgres on kubernetes with a fully open source stack. at present i don't think the operator i'm using depends on any of the debian multiversion/multicluster (postgres-common) code. so it seems for now we just pay this 45MB tax in exchange for working in the debian ecosystem. the benefit is not just prebuilt postgres for our container builds, but also every extension which is packaged for debian today. maybe some kind of option for postgres debian packages without the multiversion/multicluster scripts will evolve, but i don't think it's as easy as i hoped, and the 45MB tax is tolerable in the near term as a tradeoff for access to the ecosystem. i'm still curious about whether LLVM/JIT can easily be split out into a recommended/optional separate debian package. i asked on the hackers list about this and Tom Lane replied [1]: > Alternatively, split lib/llvmjit.so and lib/bitcode/ into a separate > package. but i'm not sure if he was just giving a quick reply, and whether he fully thought through whether you can get errors/problems by building postgres with these libraries and then running it without them. i should give that a try. if it results in errors because postgres expects libraries to be there and tries to JIT some queries, then we'd need core work before we could try this packaging change. -Jeremy 1: https://postgr.es/m/153692.1736630059%40sss.pgh.pa.us