Gentoo Archives: gentoo-dev

From: Brian Harring <ferringb@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] GLEP 42 "Critical News Reporting" Round Two
Date: Sat, 05 Nov 2005 11:27:27
Message-Id: 20051105112451.GA24767@nightcrawler
In Reply to: [gentoo-dev] GLEP 42 "Critical News Reporting" Round Two by Ciaran McCreesh
1 On Sat, Nov 05, 2005 at 12:58:14AM +0000, Ciaran McCreesh wrote:
2 > Lightweight
3 > It is not reasonable to expect all users to have an MTA, web browser, email
4 > client, cron daemon or text processing suite available on their system.
5 >
6 <snip>
7
8 > Multiple delivery method support
9 > Some users may wish to view news items via email, some via a terminal and
10 > some via a web browser. A solution should either support all of these
11 > methods or (better still) make it trivial to write clients for displaying
12 > news items in different ways.
13
14 Drop the lightweight bit and merge it into multiple delivery. You're
15 after lightweight _default_, which is fine, but the phrasing is a bit
16 screwed.
17
18 > Quality control
19 > There should be some way to ensure that badly written or irrelevant messages
20 > are not sent out, for example by inexperienced developers, those whose
21 > English language skills are below par or morons.
22
23 While it may be fun getting a reaction out of people, nuke the nitro
24 laced words please. Same for the forums_whining ref (there's enough
25 contention over the glep already ;)
26
27
28 > News items are published and delivered to users as follows:
29 <snip>
30 > 6. Portage filters the news item and, if it is relevant, installs it in a
31 > special location to be read by a news item reader. Messages are also
32 > displayed to inform the user that news is available.
33
34 Out of curiousity, how are you planning on having 101 general notices
35 reigned down on a users head during an initial install? Yes, you have
36 the atom filter, but what about general notices?
37
38 Further, how are notices going to apply to users who don't have the
39 package installed, then go and merge it? Your statement above implies
40 the irrevalent (at the time of sync) notices are ignored, which breaks
41 down under the scenario where a news item is pushed out that apache
42 configuration is going to change, I merge old style apache after
43 sync'ing the news, portage (due to your news id cache) considers it
44 deleted, and doesn't display it.
45
46
47 > News Item File Format
48 > ---------------------
49 <snip>
50 > News items may be signed using GPG. If this is done, a detached signature should
51 > be used.
52
53 I'd argue for must be, personally. A bogus news item claiming to be
54 from portage devs, telling users to change their SYNC setting could
55 cause massive mayhem.
56
57
58 > The following headers are used for filtering. If none of these headers are
59 > specified, the news item is displayed for all users. Otherwise, the news item is
60 > displayed if *at least one* header matches.
61 >
62 > ``Display-If-Installed:``
63 > A dependency atom or simple package name (for example,
64 > ``<dev-lang/php-5_alpha`` or ``net-www/apache``). If the user has the
65 > package specified installed, the news item should be displayed.
66
67 Still haven't address my point about
68 A) package moves combined with news entries
69 B) N packages
70
71 Assume you mean that the bit above is a full DepSet, not a single atom
72 (if that's the case, clarify that N atoms are allowed).
73
74 Should clarify USE conditionals are a no go- might be worth
75 considering the full atom syntax (despite the fact portage doesn't
76 currently support it for depends), use flags, slot, etc.
77
78 Yes it's more work, but it should be spelled out from where I'm
79 sitting.
80
81 > ``Display-If-Keyword:``
82 > A keyword [#glep-22]_ name, for example ``mips``. If the user is on the arch
83 > in question, the news item should be displayed.
84
85 N keywords == N Header entries?
86
87 > There have been complaints regarding the comprehensibility of some upgrade
88 > notices and news items in the past. This is understandable -- not every Gentoo
89 > developer speaks English as a first language. However, for the sake of clarity
90 > and professionalism it is important that any language problems be corrected
91 > before inflicting a news item upon end users.
92 >
93 > Thus, all proposed news items must be posted to the ``gentoo-dev`` or
94 > ``gentoo-core`` mailing list
95
96 No go on -core imo; it's a community/dev issue, should be visible to
97 the general public rather then hidden away in the ml we do our flaming
98 in.
99
100 > Client Side
101 > '''''''''''
102 >
103 > Whenever relevant unread news items are found, ``emerge`` will copy or symlink
104 > the news file into ``/var/lib/gentoo/news/``.
105
106 Already pointed out that this won't fly looking forward, it implicitly
107 assumes a single repository.
108
109 Need to allow for each repo to have their own news, preferably
110 seperated directory wise; either that or you're going to have to track
111 where a news item came from and mangle the new entry.
112
113 > Notification that new relevant news items will be displayed via the
114 > ``emerge`` tool in a similar way to the existing "configuration files need
115 > updating" messages:
116 >
117 > ::
118 >
119 > * Important: 3 config files in /etc need updating.
120 > * Type emerge --help config to learn how to update config files.
121 >
122 > * Important: there are 5 unread news items.
123 > * Type emerge --help news to learn how to read news files.
124 >
125 > The unread news message will also be displayed immediately after an
126 > ``emerge sync``.
127 >
128 > Portage may also warn of unread news items using, for example, a red flashy
129 > before actions such as merging a package.
130
131 Nuke flashy (any phrasing that allows for blinking crap sliding into portage I
132 instinctively dislike).
133
134 > Portage must keep track of news items which have already been installed to avoid
135 > repeatedly reinstalling a deleted news item.
136
137 Track it how, via the directory, or a secondary list?
138 Wording implies portage is going to have to maintain it's own newsid
139 list; if that's the case, explicitly state so, and keep it limited to
140 per repo (not global as the proposal seems to indicate).
141
142 > News Item Removal
143 > -----------------
144 >
145 > News items can be removed (by removing the news file from the main tree) when
146 > they are no longer relevant, if they are made obsolete by a future news item or
147 > after a long period of time. This is the same as the method used for ``updates``
148 > entries.
149
150 Might want to consider a maximum period of time for news entries to
151 linger by default; perhaps a header for controlling deletion (this is
152 would require commit access for whatever does the scans obviously).
153
154 > Integration with Existing Systems
155 > =================================
156 >
157 > It would be trivial to convert these news items into the format used for news
158 > items on the Gentoo website or posts for the ``gentoo-announce`` mailing list.
159
160 Stop using trivial (no it's not in reference to above, just hit the
161 right word count where I'm whinging about it).
162
163
164 > Reference Implementation
165 > ========================
166 >
167 > Portage Code
168 > ------------
169 >
170 > TODO
171
172 Points above regarding working sanely for N repos need be addressed,
173 plus any implementation needs to be integrated, not handing off to an
174 external tool (don't want 2 different implementations of atom
175 parsing).
176
177 Personally... I still think package level news should not be treated
178 as repository level information. It makes any attempt at glep19 a bit
179 trickier and stores package data in two different locations.
180 So... reiterating jasons question, example where news items transcend
181 package specific?
182 ~harring

Replies

Subject Author
Re: [gentoo-dev] GLEP 42 "Critical News Reporting" Round Two Ciaran McCreesh <ciaranm@g.o>