You have hit the nail on the head. This is exactly my idea! Basically, it's a way to collect statistics and help developers see patterns among error reports. So they won't be left chasing dupes on bugzilla, they'll be seeing a nice aggregated display of what problems people are having.`VL wrote:I think that some sort of such a system would be usefull for developers to downgrade rate of user`s requests in case of common problems on compilation of some package.
What we have now? If there`s a _common_ problem, people start to come to irc,post in forums, fill bugzilla`s entries. Flood starts.
Dupicate bugzilla entries appear, which developers have to deal with. Multiple topics on forums, crowds on IRC channels, all asking the same:
"I updated xxx to version yyy and now zzz fails". I have USE=a b c -d -g.
Sometimes decision is simple and found fast, sometimes it`s to say "we know about this problem and work on it. Please,be patient.
So, this is the process we can easily(i beleive =)automate.
Here is how i imagine work of such tool:
User emerges something, it fails. Currently emerge simpy reports about an error and quit. But this is not what we want.
Now we want portage to ask us:
Do you want to check problems database for problems on this package?
If we tell it 'yes', portage collects some _simple_ info about our system: arch, portage version,package version,use flags for this package (possibly deps/it`s use) and
sends it to the server.
On the server side, report is analysed by quite simple algorithm: it searches on given keys for assigned problem. For example we know that this problem happens
to package xxx of version yy when flags a b enabled on arch i386, so if client info matches, we send him some decision ( provided by developers: do update, rollback or wait);
If problem not found, we tell: oops, you`re lucky to have new problem, please send report to bugzilla OR:
we can add this information to database and mark it as 'new'. But in this case we need some program which will regulary scan reports (by package ) and search for common criteria. So,
it will be possible to automatically detect common criterias in case of many reports.
(i.e. if we have 200 reports for package xxx, which all have some use flag and version same, there`s a high possibility of this combination being a problem)

About the interactiveness, it could be configurable. You should choose whether it should try to auto-fix, or ask, or just die and maybe tell you what you can do.bernieb wrote:I'm somewhat skeptical of all this, mostly because emerge should not be interactive, and I can't see how this could be possible if this needs to prompt the user about whether to send or not.
However, I think there are a few ideas that would be quite useful--
It would be nice to provide an option to have portage automatically resume and skipfirst upon a failure. Basically, if one package fails, to keep trying all other packages and report a summary of what succeeded and what failed afterward.
Also, it would be great to have portage dump all output surrounding an error to a file for later reporting. I can't count how often I had to re-emerge a package, knowing it will still fail, just because the error managed to exceed the terminal buffer.
Code: Select all
emerge -uDN world || until emerge --resume --skipfirst; do true; doneCode: Select all
PORT_LOGDIR=/var/log/portagepjv wrote: Reminds me of gnome's bug buddy too, which is a great idea. However I've never understood how bug buddy actually sends things (it uses procmail or something like that, but why not my evolution-configured POP email address??? procmail doesn't seem intended for normal users) so I've never been able to use it.
In my humble opinion it should be usefull for collection information, at the same way of mozilla agent or bug buddy.from gnome 2.16 wrote: New Bug-buddy backend
GNOME's bug reporting tool, Bug-buddy, now uses an XML-RPC protocol and no longer requires that the user have sendmail installed. As a result of this change, projects using Bug-buddy must have the correct information in their application's .desktop file.
Ok thx, I should look into bug buddy again now it doesn't need sendmail anymore.In my humble opinion it should be usefull for collection information, at the same way of mozilla agent or bug buddy.
Focus this kind of utility on users may be an alternative solution to bugzilla or forums; but require a lot of work of developers.
Maybe a new figure could handle the collection, not a developer and not a user... a sort of power user.
And, of course not installed by default (or a flag to avoid installation)... I believe this kind of tool is usefull only for desktop pc.
This is the easyiest of all tasks. User should just set one option in config to tell portage what he wants:'m somewhat skeptical of all this, mostly because emerge should not be interactive, and I can't see how this could be possible if this needs to prompt the user about whether to send or not.
The idea is not about successfull emerge of failed package. The idea is to collect data about failed once and inform developers faster than bugzilla ( because adding new bug into bugzilla it`s not a trivial task - you have to think =), you have to search for simular bugs, you have to give info about your pc, you should check your conifg, you should not be lazy....) and inform back users if this problem is already investiaged and has a decision. Also such tool gives us some usefull statistics to analyze.However, I think there are a few ideas that would be quite useful--
It would be nice to provide an option to have portage automatically resume and skipfirst upon a failure. Basically, if one package fails, to keep trying all other packages and report a summary of what succeeded and what failed afterward.
Already is. See the --ask flag.dobysirius wrote:About the interactiveness, it could be configurable.
Just thought I'd point out that thinking is a good thing. The more users think, check their config, learn about their pc, do research etc.... the better Gentoo will become. Trying to automate that "thinking" process is not only a large amount of work for developers, as has already been pointed out, it also robs the community of "thinking" users, which would undoubtedly decrease the quality of Gentoo as a whole.`VL wrote: The idea is to collect data about failed once and inform developers faster than bugzilla ( because adding new bug into bugzilla it`s not a trivial task - you have to think =), you have to search for simular bugs, you have to give info about your pc, you should check your conifg, you should not be lazy....) and inform back users if this problem is already investiaged and has a decision. Also such tool gives us some usefull statistics to analyze.
Well.. you gave us premise and a conclusion. But in reality conclusion can be opposite. Imagine: the more users f**k with their system, more they hate it and blame it on forums.nkmcc wrote: Just thought I'd point out that thinking is a good thing. The more users think, check their config, learn about their pc, do research etc.... the better Gentoo will become.
Thinking can be split into 2 categories: usefull and useless. If someone broke compiler, trying to understand why i can`t compile my favourite music player is not usefull. It`s just waste of time. Of course, compiler developer needs help in testing.All developers need help. Always. And one man is unable to help them all. Man has his own goals in this life, and they are not to help all developers every time =). Creating barriers for users is the best way to drive them out.So instead of community of 'thinking' users we will have nothing.Trying to automate that "thinking" process is not only a large amount of work for developers, as has already been pointed out, it also robs the community of "thinking" users, which would undoubtedly decrease the quality of Gentoo as a whole.
So, what our goals for gentoo? Create community of 'thinking' users or create an ideal OS ? I had to visit this page: http://www.gentoo.org/main/en/philosophy.xmlso even if a system like this would work, and wasn't much work for the developers, *please* don't do something that takes the responsibility of finding a solution for problems off of us as users. The forums are a pretty good example of how we as users can actually contribute to Gentoo by sharing our troubles and solutions. Trying to automate that would be a shame.
Every user has work they need to do. The goal of Gentoo is to design tools and systems that allow a user to do that work as pleasantly and efficiently as possible, as they see fit. Our tools should be a joy to use, and should help the user to appreciate the richness of the Linux and free software community, and the flexibility of free software. This is only possible when the tool is designed to reflect and transmit the will of the user, and leave the possibilities open as to the final form of the raw materials (the source code.) If the tool forces the user to do things a particular way, then the tool is working against, rather than for, the user. We have all experienced situations where tools seem to be imposing their respective wills on us. This is backwards, and contrary to the Gentoo philosophy.
Put another way, the Gentoo philosophy is to create better tools. When a tool is doing its job perfectly, you might not even be very aware of its presence, because it does not interfere and make its presence known, nor does it force you to interact with it when you don't want it to. The tool serves the user rather than the user serving the tool.
The goal of Gentoo is to strive to create near-ideal tools. Tools that can accommodate the needs of many different users all with divergent goals. Don't you love it when you find a tool that does exactly what you want to do? Doesn't it feel great? Our mission is to give that sensation to as many people as possible.
Daniel Robbins
Previous Chief Architect
No, wrong. Un-keywording a package means setting it to some wacky "stable" state (it needs to be defined yet what exactly "stable" is). But stable package doesn't mean it "emerges" ok, it should work more or less stable.friedmud wrote:I have thought of a similar system before... but for slightly different reasons...
I think it would be great of Portage could report back to a server the packages it has just installed... and any errors it encountered. My reasoning for reporting _everything_ is that it would be useful for knowing when ebuilds are stable enough to un-keyword them.
If _everyone_ is un-keywording a specific package and the installation of that ebuild is going smoothly then that should be an indication that that specific ebuild has stabalized and should be unmasked.
Now this is really interesting idea.friedmud wrote: I could see just adding a couple of fields to packages.gentoo.org... showing how many times the ebuild has been merged and the success rate (Maybe break this out per architecture). This would be useful to both users and developers. As a user if I go to packages.gentoo.org and look for the new firefox release and see that it is keyword masked but has been installed successfully by thousands of users on my same architecture then that gives me some confidence in trying it myself.
Indeed. True in every word.friedmud wrote: I think that a system like what the OP proposed is just too much.... TOO much info will be coming in and it won't be able to be managed. [....] With all the hundreds of thousands of Gentoo installations out there... if they were all sending back bug reports every single time an emerge failed... there would be no way to get anything useful out of the data. You can say that a computer will try to find similarities and whatnot... but as a Computer Scientist I know that this is a lot harder to achieve than you think.
You are right that being un-keyworded has more to do with how it runs than rather or not it installs... but I contend the two things are not entirely seperate....No, wrong. Un-keywording a package means setting it to some wacky "stable" state (it needs to be defined yet what exactly "stable" is). But stable package doesn't mean it "emerges" ok, it should work more or less stable.
Friedmud,friedmud wrote:You are right that being un-keyworded has more to do with how it runs than rather or not it installs... but I contend the two things are not entirely seperate....No, wrong. Un-keywording a package means setting it to some wacky "stable" state (it needs to be defined yet what exactly "stable" is). But stable package doesn't mean it "emerges" ok, it should work more or less stable.
How do you quantify _when_ something is stable? I contend that you look at the number of people that have successfully installed the package compared to the number of bug reports you have for said package.
For instance, if only 5 people have successfully installed a package... and you also have 5 bug reports for that package.... then it's obviously not stable. On the other hand... if tens of thousands of people have installed a package and the bug reports are few or minor then I believe you could say that package has "stabilized" and is ready for general use.
Without knowing how many people have used the package... it's impossible to tell from looking through bugzilla how stable the package is. A ratio of users/bugs would essentially be an indicator of stability. Something package maintainers could use in judging when a package is fit for general use. Sure, it shouldn't be the only criterion... but it would definitely help!

??jmorganson wrote:Any more info on the status on this idea or the development of it?
