Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) by nld3-dev1.alpinelinux.org (Postfix) with ESMTPS id 42FA4782C0B for <~alpine/devel@lists.alpinelinux.org>; Sat, 12 Dec 2020 11:25:17 +0000 (UTC) Received: by mail-qt1-f169.google.com with SMTP id c14so8490199qtn.0 for <~alpine/devel@lists.alpinelinux.org>; Sat, 12 Dec 2020 03:25:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=Pz4HC5ttACgnofuQYdEFFpT1sC6chVEGzRuciu/P2IA=; b=gPhnPy2SAT8omj8USC77awUG7+EVMsLrt056PjPTJUiqUHj3TIT/UVdJ1pAMPXHvES WNpR09jiU8zPFCPhsZP/qZWx9QFvLPTxa9VJIGwZlQGGnUYZqvIhwaYXQUrvAHvBXFua OhamfByZE9ZgIufgoiJe1evEzMHClPJvkRZYXxWv/Lujxt2Mib40nyPlwEreWtNNuHGa m+Xb8ATTHTl/TSJPcq9Aeq5yEGrY4txA8kWzugmDzEiyXrLAaFbydryM+WT649ombFQ0 nsM0yaXy3wzis9C76Q44Y2aXxALAUp3hiDIsnHJHTkZ9wI+U27K4/HtlTTV0IK/phIq9 soUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=Pz4HC5ttACgnofuQYdEFFpT1sC6chVEGzRuciu/P2IA=; b=AOQYdw3/OkxoMZY9fCPYn3FC993KYNpefcgJcqY1VMpvSl92AxJQjMJyU3p57xP3OG WrAApqj1OnZ04aO/FUmg4aaYDW8ewztHr2725HEhtwAfF5gEMlj1aSUWjBYHYpUSi0kk fj0Lb8KtKsLqEsmU5PwV08wuRs3G89LFjpluCXsn4qEjgOj0EknGKlRhAzCx4m7DFe1d UGdQfg/dyH2aCYVjWMwBONbpv+cSDxmYy6AR9692a59VvSlQj7VK9zYIo6QJns2Zq7Y/ 4G8pL8qxkZiEeknZeNXjmePor/VyqCeBPhy+fS81VLI8pzKl0wlFaa8ytqK4P7y3YY28 xoNQ== X-Gm-Message-State: AOAM533MWeq/Q+hfxYHGtnHoxwV0B4vss8TVgYAzUcTRZncNpBdMO4vB Tf+HmhZT18ChSwxMNdb+bfv7g+w7xrE= X-Google-Smtp-Source: ABdhPJx/iOU+wXBD1E3StniN+oI9Ex6NhOgA34C3Goxu+rvNj00AocGp/LgAfwJWCNYoDRU36glGyw== X-Received: by 2002:aed:2e47:: with SMTP id j65mr21153830qtd.231.1607772315019; Sat, 12 Dec 2020 03:25:15 -0800 (PST) Received: from [192.168.15.26] ([152.249.98.121]) by smtp.gmail.com with ESMTPSA id 70sm9505056qkk.10.2020.12.12.03.25.14 for <~alpine/devel@lists.alpinelinux.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 12 Dec 2020 03:25:14 -0800 (PST) Subject: Re: Implement versioned names for major libraries to ease upgrade process To: ~alpine/devel@lists.alpinelinux.org References: <86c7a81e-1640-7f82-9e13-dfdbe1aad07b@gmail.com> From: maxice8 Message-ID: Date: Sat, 12 Dec 2020 08:25:13 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Hello, On 12/12/20 7:38 AM, Rasmus Thomsen wrote: > Hello, > > On Sat, 2020-12-12 at 06:36 -0300, maxice8 wrote: >> Hello, >> >> Distros like Debian and Void Linux have packages for major version of >> libraries include the major version in their pkgname (example: >> libboost1.75). >> >> I'd like to implement that for Alpine Linux. >> >> ## Benefits to Alpine >> >> Ease the upgrade process of major libraries with lots of consumers >> (like >> boost that has 127-ish consumers) by allowing 2 or more versions of a >> library to be installed in parallel. > > Hm, I think the only time users interact with major libraries upgrades > are on edge or if they upgrade between major versions. As such I don't > think the effort/maintaince overhead versioned libraries introduce is > worth it just to not break edge during rebuilds of big packages like > boost. > I don't think the maintenance effort is that big, there is none in a stable release because there is only one major version of the library present, the only thing that changes is when you install *foo* it brings *lib$VERSION* instead of *lib*. In edge the old aports would be removed as soon as the upgrade process is complete. > One thing that might be interesting about having versioned names for > libraries would be that it would make using edge packages on stable > releases less broken, but if we only do it for major libraries it'd > still be pretty broken for packages which use un-versioned libraries. > I don't have any plans for mixing edge and stable releases. >> [...] >> This is already done for llvm which breaks API and ABI every MAJOR >> release so we keep llvmN and llvmN+1 and remove llvmN once all >> packages >> are switched over to use llvmN+1. > > I think we only do this for LLVM because packages tend to take a long > time before they switch over to new LLVM versions because it's so much > effort to stay on top of LLVM effort. > Yes, I meant that we already have basic knowledge in how to implement packages with versioning embedded in the pkgname. Regards Leo