Dear users, …

sometimes I just hate you. Why? Because every now and then someone you haven’t heard of before comes around and asks a question, then doesn’t like the answer and calls you and idiot in one way or the other. Like today when somone joined our portage IRC channel, asked how to test a package on a arch it wasn’t keyworded for and then refused to understand how the keyword system works. He even called using package.keywords for anything other than ~arch a misuse of that feature (which is funny as I wrote that feature initially).
And after trying to explain it three times he still insisted that we should implement another way because the current one (with ACCEPT_KEYWORDS and package.keywords) wasn’t “logical”.
Instead he insisted that we add a feature to allow users to change package metadata (like KEYWORDS) with a simple config file, which isn’t just redundant but as any dev will assure you quite stupid and possibly harmful.
In the end he left after some nasty remarks, without having accomplished anything other than to upset a couple of devs due to simple ignorance. Now I assume he probably feels the same about us, but sometimes you just have to accept that the other party is right, and in this case we have >99% of the userbase and several years of experience backing our way up.

Now I know that such incidents are the rare exception and in most cases dealing with users is a nice experience, but they can make you pretty upset for a while sometimes.
So what’s the moral of the story? If you’re in (heated) discussion, always consider that you may be wrong, try to look at the other parties arguments from a different angle. If you notice that you’re hitting a wall go away for a while so everyone can cool down (and try the first advice again), and maybe try to resume the discussion at a later date. And if you’re talking with someone who’s an expert in a domain while you’re not, don’t try to beat him in that domain (e.g. don’t say that you change package metadata with package.keywords when you aren’t sure what package metadata is in the first place). That doesn’t mean that you can’t talk about it, but realize that the other person likely knows a lot more about the topic (and maybe doesn’t want to explain every little detail to you when rejecting an idea).

In the end it’s just for your own benefit (and nobody likes grumpy devs ;))

more elog goodness

After venting about annoying users last week I’ll try to post something a bit more useful today, maybe this will even evolve into a series about what’s new in portage land.

Well, today I added a little extension to the elog subsystem to make multi-target logging a bit more useful by extending the PORTAGE_ELOG_SYSTEM syntax a bit. Now you can override PORTAGE_ELOG_CLASSES per module, so for example one might send all messages into a file (using the save-summary module added in 2.1.2) and additionally send the important ones also by mail. Another related extension is that you can now use a * wildcard whereever a loglevel is wanted to include all loglevels.
So using the example above you would put the following in your make.conf:
PORTAGE_ELOG_SYSTEM="save-summary:* mail:log,warn,error"

what to do with deleted ebuilds

So today I wrote a little script to store the ebuilds and associated files of installed packages into a separate overlay as a first measure to solve bug #126059. It’s still far from perfect as it only adds to the overlay, isn’t limited to ebuilds deleted by an `emerge –sync` (which can be seen as a benefit as well) and most importantly doesn’t deal with Manifests yet.
The last point makes it rather useless for general usage, but it’s just a prototype script to see if this is a viable solution to the problem of disappearing ebuilds.
So any feedback about this would be appreciated.