Received: from out-206.mta1.migadu.com (out-206.mta1.migadu.com [IPv6:2001:41d0:203:375::ce]) by gbr-app-1.alpinelinux.org (Postfix) with ESMTPS id 66F412236C0 for <~alpine/users@lists.alpinelinux.org>; Wed, 1 Feb 2023 17:47:16 +0000 (UTC) Mime-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ayaya.dev; s=key1; t=1675273634; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qLRODrnbRCO07iDMazfGDDUt9KxXAzA7TZAiOvOHsGE=; b=dAJGMbK+kzMrJ1851G3BMhwAQfeu9IXpCcXw+pJhRGKWGHwJpzw7Jht36sn5wuvuPtTBG9 Hoamg1M4nH8awuEnxbOUltJe+3LfAb4dFmb0oR/DwM0k/9qRxGOmRx4p5nOAGwV17CumG0 9Gy52AkqMI5Zeg/sLbnErE19fRh4PK0= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Wed, 01 Feb 2023 18:47:12 +0100 Message-Id: Subject: Re: versioning of packages X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: "alice" To: "Prokop Randacek" , <~alpine/users@lists.alpinelinux.org> References: In-Reply-To: X-Migadu-Flow: FLOW_OUT On Wed Feb 1, 2023 at 6:04 PM CET, Prokop Randacek wrote: > Hi, > > I noticed that there are clang14 and clang15 packages in the repository > but if I do `apk add clang` it installs *some* clang that happens to be > version 15 but there is no `clang` package in the repositories. > > How does that work? for clang14/15 specifically, the packages contain: provides=3D"clang=3D$pkgver-r$pkgrel" so clang15 provides a clang=3D15 .. and clang14 provides a clang=3D14 .. that is, a "clang" virtual with a specific version. if you add, i.e. $ apk add 'clang<15' you would get clang14. > I couldn't find anything about this behaviour on the > wiki. When clang16 comes out, will I get a update? yes unless you have some other constraints like noted above > Does this work for all digit-suffixed packages? no. but some like llvm do the same. and this isn't generally wanted, most things do not have multiple versions = at all, etc. we just had a need to keep around the older clang (not just llvm) during 15.x (purely only for postgresql), so that happened :) realistically, now i'll probably maintain a same clang version of whatever = llvm is in the repos at the same time (so 14/15 now, 16 when it comes, etc), and once the llvms' have no revdeps both are dropped (preferring latest as alwa= ys). such multiversioning and packages with absolute conflicts are not fun to manage :-) the only reason i did it is because otherwise llvm15 entirely wo= uld have to be reverted for postgres. but now that i wrote it out, it'll probab= ly stay for clang. > > -prokop