Gentoo Archives: gentoo-project

From: Ulrich Mueller <ulm@g.o>
To: gentoo-project@l.g.o
Subject: [gentoo-project] Re: Call for agenda items - Council meeting 2013-09-10
Date: Tue, 27 Aug 2013 09:59:49
Message-Id: 21020.30862.522397.827536@a1i15.kph.uni-mainz.de
In Reply to: [gentoo-project] Call for agenda items - Council meeting 2013-09-10 by Ulrich Mueller
1 > In two weeks from now, the council will meet again. This is the time
2 > to raise and prepare items that the council should put on the agenda
3 > to discuss or vote on.
4
5 I'd like to ask the council to perform two votes about behaviour of
6 install functions and about default src_install(). This arises from
7 bug 481664, see the long discussion there [1].
8
9 In a nutshell: The default src_install() implementation in EAPIs 4
10 and 5 is flawed because it doesn't account for the DOCS variable being
11 defined but empty. It ends up calling dodoc without any arguments in
12 this case. This will work in Portage (with a QA warning), but the
13 stricter implementation in Paludis will error out.
14
15 1. I propose that we clarify PMS wording to say that the do*() install
16 functions take one or filenames as arguments [2]. This would match
17 established behaviour of all package managers.
18
19 2. There is consensus that default src_install should be fixed in the
20 next EAPI. The question is if we should retroactively change the
21 specification [3]. Effectively, that wouldn't change Portage
22 behaviour much (only suppress a QA warning), because it doesn't
23 make any difference if checking for empty DOCS takes place in dodoc
24 or in the caller. OTOH, it turns out that no ebuild is directly
25 affected by the flaw in the package manager function (only
26 indirectly, because the PM's implementation was copied to some
27 eclasses). So maybe this change is not so urgent.
28
29 To summarise the timeline of events so far:
30 - Long-time Portage behaviour is that do* functions error out when
31 called with no arguments.
32 - PMS has documented this Portage behaviour, but wording isn't very
33 clear for the issue at hand.
34 - Other package managers also follow the Portage implementation.
35 - EAPI 4 has introduced a default src_install function. The function
36 doesn't account for empty DOCS.
37 - Subsequently, the EAPI 4 default was copied to src_install of a few
38 eclasses (e.g., multilib-minimal.eclass).
39 - Portage was then changed to allow dodoc with no arguments [4].
40 Other do* functions keep their strict behaviour, though.
41 - Some ebuilds started setting empty DOCS. This succeeds with Portage,
42 but fails with other package managers. Bug 480892 was filed.
43 - Recently, a QA warning was added to dodoc in Portage [5], so that
44 ebuilds using empty DOCS can be spotted and fixed.
45
46 Ulrich
47
48 [1] https://bugs.gentoo.org/show_bug.cgi?id=481664
49 [2] http://article.gmane.org/gmane.linux.gentoo.pms/764
50 [3] http://article.gmane.org/gmane.linux.gentoo.pms/765
51 [4] http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=6271cfe43dcf0cb42d4c2c0b772a7be17be78d2f
52 [5] http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=83ac345bb227dc1752a895d53037fce36c9c7966

Replies