1 |
Hi, |
2 |
|
3 |
I'd like to call our attention to messages printed by ebuilds for users |
4 |
(elog, ewarn, and so on). We all know that users rarely read them, but |
5 |
this is understandable, since most of them are *completely* useless, |
6 |
most of the rest are confusing, and only couple of them are useful. Who |
7 |
has time to read tens of messages to find one useful sentence? I try to |
8 |
skim all messages and check if there's something new, but if some |
9 |
package has message which fill whole screen and requires from user to |
10 |
make several checks there is almost 100% chance that this new important |
11 |
message is going to be skipped. |
12 |
|
13 |
I'd like to encourage users to fill bugs wrt useless or confusing |
14 |
messages. |
15 |
|
16 |
There are several kind of messages: |
17 |
|
18 |
1) "If you are upgrading from X to Y, then do Z." |
19 |
|
20 |
I see this message in some packages even I have already version Y or later |
21 |
installed. We have "has_version" function to check if user has actually |
22 |
updated from relevant version. Please use this to not confuse users who |
23 |
installed the package first time or are upgrading from Y to another |
24 |
version. |
25 |
|
26 |
2) "We no longer do something and do something else." |
27 |
|
28 |
This is case similar to (1). We can check if user has upgraded between |
29 |
versions bringing the changes we want call their attention to. |
30 |
|
31 |
3) "You can install Y to have support for Z." |
32 |
|
33 |
This actually is optional dependencies problem, but we can unify |
34 |
printing the list at least. For example: |
35 |
|
36 |
* Optional dependencies: |
37 |
* |
38 |
* category1/pkg1 - description1 |
39 |
* category2/pkg2 - description2 |
40 |
|
41 |
4) "If you are using baselayout-2, be sure to add Y to runlevel Z." |
42 |
5) "Y has been removed. Please remove it from your runlevels." |
43 |
|
44 |
We can easily check if user has added Y to runlevel Z. If this is |
45 |
critical that user has to add Y to runlevel Z, then an ebuild should add |
46 |
it itself and inform user about that. If it is not critical it should |
47 |
inform user that Y could be added to runlevel Z only if installed first |
48 |
time, not every upgrade. Same applies to removal - it can be done by an |
49 |
ebuild. |
50 |
|
51 |
6) "USE flag noY is deprecated, please use Y." |
52 |
|
53 |
Cannot we check if user has enabled noY? At least we can check if |
54 |
he/she enabled Y. |
55 |
|
56 |
7) "If you use Y, do something." |
57 |
|
58 |
We can check if Y flag is enabled or Y package is installed and skip the |
59 |
message if it is not. |
60 |
|
61 |
8) "Example configuration file has been installed to Y." |
62 |
|
63 |
We can check if user has already configured a package (check |
64 |
existence of a config file or its modification time). |
65 |
|
66 |
9) "Run revdep-rebuild." |
67 |
|
68 |
We can check if package has been upgraded at least and skip the message |
69 |
if it has been installed first time or the same version has been |
70 |
reinstalled. |
71 |
|
72 |
10) "Y config file has been moved to Z. If you have made changes to Y, |
73 |
migrate them to Z." |
74 |
|
75 |
We can check that in the ebuild and skip message if hasn't done anything |
76 |
to the config file. |
77 |
|
78 |
11) "If something happens, install Y." |
79 |
|
80 |
We can at least check if Y is already installed. |
81 |
|
82 |
*) Other kind of information which appears after EVERY installation. |
83 |
|
84 |
All howtos should go to Gentoo Docs! |
85 |
|
86 |
|
87 |
-- |
88 |
Amadeusz Żołnowski |