Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oy2Rk-00077P-6F for pgsql-hackers@arkaria.postgresql.org; Thu, 24 Nov 2022 02:58:40 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oy2Rj-0006a4-3l for pgsql-hackers@arkaria.postgresql.org; Thu, 24 Nov 2022 02:58:39 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oy2Ri-0006Zu-P9 for pgsql-hackers@lists.postgresql.org; Thu, 24 Nov 2022 02:58:38 +0000 Received: from mail-vs1-xe32.google.com ([2607:f8b0:4864:20::e32]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1oy2Rg-00061B-Mh for pgsql-hackers@postgresql.org; Thu, 24 Nov 2022 02:58:38 +0000 Received: by mail-vs1-xe32.google.com with SMTP id i2so394781vsc.1 for ; Wed, 23 Nov 2022 18:58:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=X5qWPT0qsOJGRoDCDB6eT/06Ux06pecEd9NJ1FXu4BI=; b=l+3erU4WF25IXtiW6UasZxLW1ntjQaA84L/71l3am0b/rWUje5+OHB1H3/rNzFwnVS jI+JlF99vWbIh7TGBbybEMNUmnJEKYGvZGU/kHiw3p6d/6vTVJfVgumpTM94zdzmfF+Q GcJuG65+5fOEAiqWk0fD8u+WpcguzZlA9Hi2XWBMwdJHo3nSC5rU8jplcIunXVy3z1+7 554mt2ZG3IWdN1/Pqlk8GyM/f927ucxgjYK5LZFrabNXpcwNYUGYKIKpBs7u2Ov+YfQY QLV9yBoMmpN0PsHFiybj7ErKJSwAGWU2FjaLDjMsOR8tasY120O2QnKXUr3y5Ae7QdlR 1Hjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=X5qWPT0qsOJGRoDCDB6eT/06Ux06pecEd9NJ1FXu4BI=; b=nVHXjE54InCznaYULYWPn+JsVbRg0Jcdxxh2f0R91aeZIZ0avzgnlE68dAh7+0DwMC nFpWTBVbBMBvEHItoKxcNyi3CX34dRaC7XBOa5J9ZOzxrC+KQjPDc8o8h41ZSN0vW+uA TGhDNXdngQicenf4bDRd+62j7rZXBBH8OjAg/C3b8G0LU2oFdrdj8zVx0g1Aso35e828 PrDf6qBBffP2Cb56wa4IYRbHWG6z8GIllyT7SuogvqH5ny7GCb9A+EROhayDf/rlxVx2 V5Mk09zYnhPyTg2lIbMuZHd4S7LVRHQK3E7UY+IoOSDiGhuR5PPtKnkLIPoZwsMvPMP4 e4Ag== X-Gm-Message-State: ANoB5plD5/XL5rtIK8HoODzZmPiJikK1Pv491nKP5bVIrkv82xLdVRuN 0WM+GALTseYDyJUHgHgpaG9UJ5YW/a72CfZz85E= X-Google-Smtp-Source: AA0mqf497HrponTet4kB8192V74+L18CBdWMtxMeI5v12b7vny4jooXRp9mabsO7lcoPBk0/w513+dLWzHc17eq9jAQ= X-Received: by 2002:a67:e91a:0:b0:3aa:2162:a518 with SMTP id c26-20020a67e91a000000b003aa2162a518mr16605147vso.6.1669258714657; Wed, 23 Nov 2022 18:58:34 -0800 (PST) MIME-Version: 1.0 References: <398aabd1-ad95-ba2d-d70a-dd5d90bf6e07@enterprisedb.com> <606bd2baa6d65b38fee6eb23bba40c5da210255b.camel@j-davis.com> <9f8e9b5a3352478d4cf7d6c0a5dd7e82496be4b6.camel@j-davis.com> <346f836208a39009c1998ed5a41c7f1a0be36911.camel@j-davis.com> In-Reply-To: <346f836208a39009c1998ed5a41c7f1a0be36911.camel@j-davis.com> From: Thomas Munro Date: Thu, 24 Nov 2022 15:57:57 +1300 Message-ID: Subject: Re: Collation version tracking for macOS To: Jeff Davis Cc: Peter Eisentraut , Jeremy Schneider , Peter Geoghegan , "Nasby, Jim" , Tom Lane , pgsql-hackers Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Thu, Nov 24, 2022 at 3:07 PM Jeff Davis wrote: > I'm sure this has been discussed, but which distros even support > multiple major versions of ICU? For Debian and friends, you can install any number of libicuNN packages (if you can find them eg from previous release repos), but there's only one libicu-dev. That means that one specific major version is blessed by each Debian release and has its headers and static libraries for you to use as a developer, but you can still install the dynamic libraries from older releases at the same time to satisfy the dependencies of packages or programs that were built on an earlier OS release. They don't declare conflicts on each other and they contain non-conflicting filenames. That's similar to the way standard libraries and various other things are treated, for backward compatibility. For RHEL and friends, I'm pretty sure it's the same concept, but I don't use those and haven't seen it with my own eyes. I don't know for other Linux distros/families, but I expect the above two cover a huge percentage of our users and I expect others to have made similar choices. For the BSDs, which tend to have a single binary package with both headers and libraries owing to their origins as source-based distributions (ports), the above way of thinking doesn't work; I couldn't develop this on my usual FreeBSD battlestation without building ICU myself (problem being that there's only one "pkg install icu") and I hope to talk to someone who knows what to do about that eventually. I want this to work there easily for end users. macOS and Windows have so many different ways of installing things that there isn't a single answer there; supposedly open source is like a bazaar and closed source like a cathedral, but as far as package management goes, it looks more like rubble to me.