Gentoo Archives: gentoo-dev

From: Kent Fredric <kentfredric@×××××.com>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] Proposal for changes for the next EAPI version
Date: Tue, 17 May 2016 08:03:00
Message-Id: CAATnKFALa3DLfX=rUz8sO2ZTquSvLyaYgfaN5T7YeR2OxxQenA@mail.gmail.com
In Reply to: Re: [gentoo-dev] Proposal for changes for the next EAPI version by Pallav Agarwal
1 On 17 May 2016 at 19:37, Pallav Agarwal <pallavagarwal07@×××××.com> wrote:
2 > For normal users we wouldn't. But currently, arch-testers need to make a
3 > judgement call on what to test when a stable-req bug is filed. Tests run in
4 > src_test are provided by upstream, and does not guarantee that a package
5 > that has been merged will actually run on the system.
6 > If the maintainer could add a couple small scripts to check basic
7 > functionality
8 > of the merged package, it would make testing for arch testers much easier
9 > and reliable.
10 > Let me give an example. Let's say
11 > app-misc/screenfetch-2.7.7 is the current stable package for screenfetch in
12 > the portage tree.
13 > However, on running, it produces an error on the top, along with the proper
14 > output.
15 > If screenfetch-3.0.0 happens to fix that error, maintainer can add a simple
16 > script
17 >
18 > if [ "$(screenfetch 2>&1 1>/dev/null)" != "" ] then
19 > eerror "Still producing error"
20 > fi
21 >
22 > To make sure the build is properly updating the screenfetch version, and
23 > that
24 > the bug has in fact been fixed. This is the only way I can see to reliabily
25 > and automatically test packages that have been merged successfully
26
27
28 I don't think this needs to be an EAPI change. And if we can acheive
29 the goal without one, the better.
30
31 For instance, repoman is progressing in a way that repoman is
32 becomming pluggable, and that will hopefully be more useful.
33
34 Mostly, because it will allow us to define checks based on "inherit"
35 lines, and based on project/maintainer values in metadata.xml, in
36 theory.
37
38 You *could* theoretically augment this on an ebuild-by-ebuild basis,
39 but I would encourage doing as much as we can in this sphere outside
40 that workflow, because it will burden ebuilds with unhelpful stuff,
41 and it will increase commit churn on gentoo simply for QA reasons.
42
43 But the reality is, you have to think not on ebuild-by-ebuild basis,
44 you have to think how this scales in volume, both against large
45 repositories of ebuilds, and how it scales in regards to
46 1-maintainer-thousands-of-ebuilds and 1-project-thousands-of-ebuilds
47 and 1-eclass-thousands-of-ebuilds scales.
48
49 For instance, there's very obvious applications for sets of gentoo
50 defined quality tests in dev-perl/, but anything we devise is going to
51 apply to all of them. _And_ to achieve our goal, we will likely need
52 external dependencies satisfied.
53
54 And I'd hate to be burdening those hundreds of ebuilds with that
55 overhead, its much better implemented out-of-band first, and then only
56 supplemented on an ebuild-by-ebuild basis.
57
58 And under this scheme, individual projects can define their custom
59 hooks and tricks in the ebuild themselves as metadata ( like we
60 currently to via eclass variables ), and be handled, not by portage,
61 or PMS, not by EAPI, but by the QA tool in conjunction with eclass
62 designers.
63
64
65 Then, no need for formal EAPI is required.
66
67 The QA tool just sources the ebuild in bash, hands the metadata to the
68 plugin, and the plugin can then execute whatever functions it wanted.
69
70 And the other benefit of doing this outside EAPI: It doesn't have to
71 be part of PMS, and maintainers of other packaging tools are not
72 compelled to implement a feature that is not relevant to end users.
73
74 And this also means our velocity with regards to changing what we do
75 here is much quicker, as we're no longer bound by the tight QA
76 controls we have to make sure we don't break users systems, because we
77 are *only* targeting devs.
78
79 --
80 Kent
81
82 KENTNL - https://metacpan.org/author/KENTNL

Replies

Subject Author
Re: [gentoo-dev] Proposal for changes for the next EAPI version Tobias Klausmann <klausman@g.o>