public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [RFC] multiversion ebuilds
@ 2018-05-12 12:20 Gerion Entrup
  2018-05-12 13:47 ` Rich Freeman
                   ` (6 more replies)
  0 siblings, 7 replies; 20+ messages in thread
From: Gerion Entrup @ 2018-05-12 12:20 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1434 bytes --]

Hi,

just an idea for now. But what you think about multiversion ebuilds?
Technically this could be realized with the following line in the ebuild itself:
```
VERSIONS=( 3.0.11 3.0.12 3.1 )
```

and the filename without version:
<dev-category>/<package-name>/<package-name>.ebuild

together with this set of rules:
1. If there is an ebuild with had a version in its name, this ebuild is preferred.
 e.g. is a tree consists of "foobar/foobar-1.1.ebuild" and "foobar/foobar.ebuild" for version 1.1 the specific ebuild is taken.
2. If the ebuild has the variable VERSIONS specified but also a version in its name, the version in its name is taken.
3. There can be only one multiversioned ebuild per package.

Different version keywording can be done as before:
```
if [[ ${PV} == "3.1" ]] ; then
	KEYWORDS="~amd64 ~x86"
else
	KEYWORDS="amd64 x86"
fi
```

The resolution of versions can be done as before, with the difference that one ebuild can represent multiple versions.

The "ebuild" tool needs some adjustments. Maybe it tries to download and build all version per default and has an additional flag to specify a single version.

The advantages of this idea I see are:
- Ebuilds are written in a multiversion manner anyway, and then get copied (or linked?), so it can be made explicit.
- The diffs between different versions of ebuilds and the commit history are way more readable.
- The size of the tree reduces.

Regards,
Gerion


[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2018-05-17 16:16 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-12 12:20 [gentoo-dev] [RFC] multiversion ebuilds Gerion Entrup
2018-05-12 13:47 ` Rich Freeman
2018-05-12 14:13   ` Gerion Entrup
2018-05-12 14:21 ` Ulrich Mueller
2018-05-12 14:36   ` Gerion Entrup
2018-05-12 15:23     ` Dennis Schridde
2018-05-12 14:24 ` R0b0t1
2018-05-12 14:38   ` Gerion Entrup
2018-05-12 19:49 ` Georgy Yakovlev
2018-05-15  9:32 ` Mathy Vanvoorden
2018-05-16  4:15   ` [gentoo-dev] " Duncan
2018-05-16  4:22     ` R0b0t1
2018-05-16  6:15       ` Martin Vaeth
2018-05-16  6:26 ` [gentoo-dev] " Paweł Hajdan, Jr.
2018-05-16  6:46   ` Ulrich Mueller
2018-05-16  7:12     ` Ulrich Mueller
2018-05-16  7:38 ` Michał Górny
2018-05-16 23:33   ` R0b0t1
2018-05-17 15:44   ` Gerion Entrup
2018-05-17 16:16     ` Rich Freeman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox