Gentoo News

Interview with Chris Reffett (creffett)

1. Hi Chris, tell us about yourself.

I’m a Computer Science student studying at George Mason University in Fairfax, Virginia, USA, and I’m currently finishing my junior year. In my free time I read science fiction and play video games. I’m also a member of the student-run computing club and Linux user group on campus.

2. Bring us back to your start with electronics and computers.

Not all that much to say here; I’ve been playing with (and breaking) computers since I was about three years old. As my parents can attest, I managed to mess up my first computer within a few days of getting access to it, to the point of needing a complete reinstall.

3. How did you get involved with open source, and what path did you take to become a Gentoo developer?

I became involved in open source in high school; the school had a student-run Linux computer lab, and I joined the team in my second year. We used Gentoo heavily in the lab, and I ended up getting a lot of experience maintaining it there (and installing it—I made a point of grabbing any old odd-architecture hardware that came through the lab and putting Gentoo on it). I filed a few bugs and wrote a few in-lab ebuilds during my time there, but nothing too major.

Once I left and went to college, I decided I wanted to start actually contributing to Gentoo. The recruiters suggested a few different ways to contribute, and I ended up working with the KDE team, which put me on the road to becoming a dev.

4. Hows your programming skills and are they important in becoming a developer?

My programming skills aren’t anything special, enough to get through my classes and all that. I would say that the average developer needs to know enough programming to decipher error messages, do basic bash scripting, and understand how to read most code (to find and fix basic errors in packages). Entry-level knowledge, you don’t have to be a coding wizard.

5. Tell us about your mentor and the process to become a developer?

My mentor was tampakrap, the KDE team lead at the time, who has since ventured forth into the forbidden realms of the Infra team. After I had been contributing to the KDE team on bugzilla for a couple months, he asked if I was being recruited yet, and then if I wanted to become a dev. After that, I spent some time contributing to the KDE team repo, and was assigned tommy as my recruiter.

6. How can Gentoo improve?

One aspect of Gentoo that I think is both one of our biggest strengths and weaknesses is the very independent-minded culture among our developers. While this is not in itself a bad thing, it leads to a lot of instances where people refuse to cooperate or communicate, get very territorial about their packages, flamewars on gentoo-dev@, and so on. I think the project as a whole would be improved if developers were a little more civil and cooperative and a little less quick to shout at each other.

7. Tell us about some of the projects you are involved in.

I started out as a KDE team member, and am still a member (though recently I’m a lot less active there than I should be). Also, I am currently the sole developer in the theology team, though that isn’t so bad since it’s a small set of packages and the release schedules are pretty slow. I’m also one of the more recent inductees to the Security project (along with Pinkbyte and zlogene), a GLEP editor, and of course, I am a member of the QA team.

8. The QA project just made a overhaul, what does the project do, who is involved, where would you like to see it in 3 years?

The purpose of the Quality Assurance project is to help maintain consistency throughout the Portage tree and prevent things breaking. The project is also tasked with keeping documentation up to date. The current membership is available on the wiki, but every developer should be doing their part to minimize tree breakage (and this can be as simple as always running repoman when committing!).

Right now we are having a lot of growing pains, since we were handed a vague mandate of “maintain quality in the tree” (not particularly well defined in GLEP 48), had basically no notes or direction from the remains of the previous team, and as I’m sure you’ve noticed, have had our share of missteps as we figured everything out. I am listening to the complaints, though, and we will improve. In three years, I hope to see QA as a respected and reasonably non-controversial group of developers serving as the technical counterpart to the ComRel team. It’s a long way between where we are right now and that ideal role, though.

9. I see you as very organized and able to stay calm in flame wars, how do you do it?

Contrary to appearances, I am not all that calm when I’m in the middle of a flamewar, I just don’t show it. I do my venting outside of Gentoo channels, as several of my friends can attest, since I make a point of trying to be professional and calm when dealing with Gentoo matters. I also have gotten better at knowing when an argument is going nowhere and it’s most productive to just step away from the computer.

10. What are you learning from being a team lead?

Two things. First, that there are some decisions where no matter what you choose, somebody will be upset. Second, that people’s perception of you and your team is everything when you want people to cooperate.

11. What are your favorite programs?

Firefox for web browsing, Thunderbird for mail, Pidgin for IM/IRC.

12. Age old question for Gentoo, how can we get more help?

Proxy-maint is probably the first place I’d want to expand in order to get more help. My impression is that there are a lot of users out there who want their specific package in Portage and are willing to help out to that end, and so we should be welcoming them and helping them to maintain their ebuild (and hopefully, stepping up further and becoming devs).

13. Describe your desktop setup (WM/DE)?

KDE, of course, though for a long time now I’ve only really been using the WM and the terminal app, since most of the work I do is done on the command line.

14. Tell us about you boxes and home network setup?

Since I’m at college, there isn’t much of interest here. My main computer is a three-year-old laptop which dual-boots Windows (for games) and Linux. I also have a Pandaboard ES which I occasionally fiddle around with.

15. What gives you the most enjoyment within the Gentoo community?

Closing bugs. It’s always satisfying to be able to say that you’ve figured out an issue and fixed it.

16. What gives you the most enjoyment outside the Gentoo community?

Video games. I like games that involve building things, games that involve space, and strategy/tactics games.

17. What are your plans for the future, where do you see yourself 5 years from now?

I hope that in 5 years, I will still be doing Gentoo work. I also hope to be employed. That would be nice.

Google Summer of Code 2014

GSoC 2014 is going to start soon! We are right now in the middle of the community bonding period. Students and mentors are getting to know each others before projects start for real on May 20th. This is also the perfect time for them to review documentation and polish their plan for the entire project duration.

You are welcome to follow developments in the mailing list at gentoo-soc at gentoo.org or on Freenode in the #gentoo-soc channel. There you can interact with students, mentors, and offer suggestions.

We are excited about the four projects students will work on this year. Here they are:

netifrc on systemd

Student: Rabi Shanker Guha

Mentor: Robin Johnson

Short description: The goal of this project is to abstract away the tight dependence of netifrc on OpenRC and write a compatibility layer for netifrc to work with other init systems like Systemd

Gentoo Keys: Expansion and improvements

Student: Pavlos Ratis

Mentor: Brian Dolbec

Short description: I am interested in improving and expanding the capabilities of Gentoo Keys. Gentoo Keys is a Python based project that aims to manage the GPG keys used for validation on users and Gentoo’s infra servers. Gentoo Keys will be able to verify GPG keys used for Gentoo’s release media, such as installation CD’s, Live DVD’s, packages and other GPG signed documents. It will also be used by Gentoo infrastructure to achieve GPG signed git commits in the forthcoming git migration of the main CVS tree.

Layman Improvements

Student: Devan Franchini

Mentor: Matthew Summers

Short description: This project is aimed at adding python3 support to Layman while maintaining backwards compatibility with python2.7, as well as adding new features to the codebase.

Micro Gentoo

Student: Yiyong Chen

Mentor: Sébastien Fabbro

Short description: The Micro Gentoo project goal is to create an extremely minimal Gentoo VM and fetch compiled files on-demand. These files are initially on a remote server. Meanwhile, the project also considers the smooth-secure OS updates and remote repositories selection. I would comprehensively base my work on the technologies of uCernVM, Chromeos and CoreOS, and then adapt them to Gentoo. The deliverables include Micro-Gentoo building scripts, updaters, eselect module and patches to genkernel, etc.

See you in #gentoo-soc!

Council News

(by Andreas K. Huettel)

We’ve got to catch up one council meeting, so some things have accumulated by now and I’m summarizing a bit more than usual…

First of all, “GLEP 63: Gentoo GPG key policies” is finally finalized. Yay! You can find the approved text version here [1]. Most important part, if you want to follow the best practices you need a RSA (v4) 4096bit main key with expiry time of at most 3 years. Hard requirement for the main key is either DSA 2048bit or RSA (v4) >=2048bit and maximum 5 years expiry time. Anyway, this means we can actually start thinking about some marginally more advanced topics such as, say, even maybe sometime in the future signature verification!

Then… regarding the Filesystem Hierarchy Standard. Some debate had come up whether packages (i.e. udev, eudev, systemd) storing default config files in /usr/lib violate existing policies. End result of debate and motion was that this is OK and that no additional policy is required.

On the subject of base-2 (2^10) versus base-10 (10^3), kB versus KiB. Given that the council is heavily dominated by those SI-indoctrinated “scientists”, it didn’t really come as a big surprise that at least clear and unambiguous unit prefixes should be used. So here’s the adopted motion: “Whenever practical, developers are required to use unit prefixes defined in IEC 80000-13 (kB, KiB, etc) so that output is unambiguous. This does not require maintainers to patch upstream code to change its behavior, but they should be applied with code that originates in Gentoo.”

Next, we discussed some recent commits around virtual/libudev and the sequence of events that followed them. The feeling was that no additional policy is required at the moment, but that it would be useful to state the opinion of the council regarding these events. So, we wrote it up and sent an e-mail [2], please read it and keep it close to your heart.

Finally we would like to remind Petteri to upload the council meeting summary of June 2013! 🙂

[1] https://wiki.gentoo.org/wiki/GLEP:63

[2] http://thread.gmane.org/gmane.linux.gentoo.project/3549

Gentoo Developer Moves

Summary

Gentoo is made up of 232 active developers, of which 32 are currently away.

Gentoo has recruited a total of 794 developers since its inception.

Changes

The following developers have recently changed roles:

Jonathan Callen (jcallen) has joined the multilib project

Jason A. Donenfeld (zx2c4) has joined the radio herd

The entire mobile-phone herd has been removed due to lack of maintainers and interest

Additions

No new developers have joined the project this month.

Moves

The following developers left the project (pending retirements since 2013)

Stephanie J. Lockwood-Childs (wormo)

Paul de Vrieze (pauldv)

Torsten Veller (tove)

Constanze Hausner (constanze)

Dane Smith (c1pher)

Robert Piasek (dagger)

Zhang Le (r0bertz)

Christian Parpart (trapni)

Rajiv Aaron Manglani (rajiv)

Mu Qiao (qiaomuf)

Lukasz Damentko (rane)

Olivier Crête (tester)

Tim Sammut (underling)

Serkan Kaba (serkan)

Benedikt Boehm (hollow)

Ron Gemeinhardt (timebandit)

Andrew Gaffney (agaffney)

Chris PeBenito (pebenito)

Michele Noberasco (s4t4n)

Help Wanted

The Ruby and Java projects are looking for help to keep jruby dev-java/jruby up to date and included in the portage tree. See this blog post and bug 442230 for more information. Moreover, proxy-maintainers are looking for new developers as well.

Portage

This section summarizes the current state of the portage tree.

Architectures 45 Categories 161 Packages 17380 Ebuilds 37123

Architecture Stable Testing Total % of Packages alpha 3592 538 4130 23.76% amd64 10707 6172 16879 97.12% amd64-fbsd 0 1578 1578 9.08% arm 2627 1656 4283 24.64% arm64 436 29 465 2.68% hppa 3041 489 3530 20.31% ia64 3176 596 3772 21.70% m68k 574 93 667 3.84% mips 4 2375 2379 13.69% ppc 6813 2397 9210 52.99% ppc64 4310 878 5188 29.85% s390 1476 312 1788 10.29% sh 1673 384 2057 11.84% sparc 4118 903 5021 28.89% sparc-fbsd 0 319 319 1.84% x86 11423 5196 16619 95.62% x86-fbsd 0 3235 3235 18.61%

Security

The following GLSAs have been released by the Security Team



GLSA Package Description Bug 201404-07 dev-libs/openssl OpenSSL: Information Disclosure 505278 201404-06 media-libs/mesa Mesa: Multiple vulnerabilities 432400 201404-05 net-fs/openafs OpenAFS: Multiple vulnerabilities 265538 201404-04 dev-ruby/crack Crack: Arbitrary code execution 460164 201404-03 media-gfx/optipng OptiPNG: User-assisted execution of arbitrary code 435340 201404-02 net-libs/libproxy libproxy: User-assisted execution of arbitrary code 438146 201404-01 net-print/cups CUPS: Arbitrary file read/write 442926

Package Removals/Additions

Removals

Package Developer Date app-i18n/prime naota 02 Apr 2014 app-i18n/gtkimprime naota 02 Apr 2014 app-i18n/scim-prime naota 02 Apr 2014 app-emacs/prime-el naota 02 Apr 2014 dev-libs/suikyo naota 02 Apr 2014 app-emacs/mell ulm 02 Apr 2014 dev-ruby/locale_rails mrueg 05 Apr 2014 dev-ruby/parsetree mrueg 05 Apr 2014 dev-ruby/rubymail mrueg 05 Apr 2014 net-proxy/swiftiply mrueg 05 Apr 2014 www-servers/mongrel mrueg 05 Apr 2014 app-pda/libopensync-plugin-evolution2 ssuominen 06 Apr 2014 x11-themes/gdm-themes-livecd ulm 12 Apr 2014 net-ftp/pftpfxp ulm 14 Apr 2014 kde-misc/youtube-servicemenu johu 15 Apr 2014 sys-infiniband/libsdp alexxy 16 Apr 2014 dev-ruby/oniguruma mrueg 18 Apr 2014 dev-ruby/sary-ruby mrueg 18 Apr 2014 dev-ruby/rand mrueg 18 Apr 2014 dev-ruby/system_timer mrueg 18 Apr 2014 dev-ruby/fastercsv mrueg 18 Apr 2014 dev-ruby/ruby-taglib mrueg 19 Apr 2014 dev-ruby/rubytorrent mrueg 19 Apr 2014 dev-ruby/revolution mrueg 19 Apr 2014 app-misc/alexandria mrueg 19 Apr 2014 app-misc/bins zlogene 19 Apr 2014 dev-python/certifi floppym 20 Apr 2014 dev-python/mozfile floppym 20 Apr 2014 dev-python/mozinfo floppym 20 Apr 2014 dev-python/mozprocess floppym 20 Apr 2014 dev-python/mozprofile floppym 20 Apr 2014 dev-python/mozrunner floppym 20 Apr 2014 x11-themes/faenza-xfce-icon-theme ssuominen 23 Apr 2014 media-plugins/vdr-eggtimer hd_brummy 26 Apr 2014 media-plugins/vdr-ac3mode hd_brummy 26 Apr 2014 media-plugins/vdr-bitstreamout hd_brummy 26 Apr 2014 gnome-extra/evolution-groupwise pacho 26 Apr 2014 net-analyzer/ethstatus jer 27 Apr 2014

Additions

Package Developer Date sys-apps/toybox patrick 01 Apr 2014 kde-base/zeroconf-ioslave johu 01 Apr 2014 dev-python/kivy-garden slis 02 Apr 2014 dev-python/Kivy slis 02 Apr 2014 dev-ruby/combustion mrueg 02 Apr 2014 dev-libs/double-conversion bicatali 02 Apr 2014 sci-libs/openlibm bicatali 02 Apr 2014 dev-python/cryptography-vectors radhermit 03 Apr 2014 media-libs/gstreamer-editing-services eva 06 Apr 2014 app-admin/clog tomwij 07 Apr 2014 dev-ruby/pygments_rb mrueg 07 Apr 2014 app-i18n/libcangjie naota 08 Apr 2014 sys-apps/netloc alexxy 08 Apr 2014 mate-base/caja tomwij 10 Apr 2014 dev-ruby/rkelly-remix zerochaos 11 Apr 2014 app-emulation/rex-client mduft 11 Apr 2014 xfce-extra/multiload-nandhp ssuominen 11 Apr 2014 app-backup/duply hwoarang 13 Apr 2014 dev-python/sparqlwrapper idella4 14 Apr 2014 media-video/movit patrick 15 Apr 2014 dev-python/cangjie naota 16 Apr 2014 sys-infiniband/libmlx5 alexxy 16 Apr 2014 sys-infiniband/qperf alexxy 16 Apr 2014 sys-infiniband/libocrdma alexxy 16 Apr 2014 dev-python/pyringe dastergon 16 Apr 2014 kde-base/baloo-widgets johu 16 Apr 2014 kde-base/kfilemetadata johu 16 Apr 2014 kde-base/baloo johu 16 Apr 2014 dev-python/pyroma dastergon 16 Apr 2014 dev-libs/libntru hasufell 16 Apr 2014 sys-libs/ntdb polynomial-c 17 Apr 2014 www-apps/jekyll mrueg 18 Apr 2014 dev-ruby/awesome_nested_set mrueg 18 Apr 2014 sec-policy/selinux-accountsd swift 18 Apr 2014 net-analyzer/nagios-check_openvpn-simple mjo 20 Apr 2014 dev-python/oslo-rootwrap prometheanfire 20 Apr 2014 dev-python/oslo-messaging prometheanfire 21 Apr 2014 dev-python/pycadf prometheanfire 21 Apr 2014 dev-ruby/fivemat zerochaos 21 Apr 2014 dev-python/python-saharaclient prometheanfire 22 Apr 2014 dev-ruby/charlock_holmes mrueg 22 Apr 2014 dev-ruby/forgery mrueg 22 Apr 2014 kde-base/kqtquickcharts kensington 22 Apr 2014 kde-base/artikulate kensington 22 Apr 2014 app-admin/eselect-lua mabi 22 Apr 2014 dev-python/pycollada xmw 23 Apr 2014 app-i18n/ibus-cangjie naota 24 Apr 2014 www-misc/zoneminder dilfridge 25 Apr 2014 net-libs/libosmo-abis zx2c4 26 Apr 2014 net-wireless/openbsc zx2c4 26 Apr 2014 net-wireless/osmobts zx2c4 26 Apr 2014 dev-ruby/actionview graaff 26 Apr 2014 dev-libs/uchardet maksbotan 26 Apr 2014 net-dns/dnscap wschlich 26 Apr 2014 net-libs/liba53 zx2c4 26 Apr 2014 net-firewall/fwknop tomwij 27 Apr 2014 net-misc/lcr zx2c4 27 Apr 2014 app-arch/engrampa tomwij 27 Apr 2014 app-editors/pluma tomwij 27 Apr 2014 app-text/atril tomwij 27 Apr 2014 media-libs/libmediaart eva 27 Apr 2014 net-libs/libgfbgraph eva 27 Apr 2014

Bugzilla

The Gentoo community uses Bugzilla to record and track bugs, notifications, suggestions and other interactions with the development team.

Activity

The following tables and charts summarize the activity on Bugzilla between 29 March 2014 and 28 April 2014. Not fixed means bugs that were resolved as NEEDINFO, WONTFIX, CANTFIX, INVALID or UPSTREAM.





Bug Activity Number New 1452 Closed 891 Not fixed 148 Duplicates 164 Total 5677 Blocker 4 Critical 17 Major 68

Closed bug ranking

The following table outlines the teams and developers with the most bugs resolved during this period.

Rank Team/Developer Bug Count 1 Gentoo Games 44 2 Gentoo KDE team 37 3 Python Gentoo Team 35 4 Gentoo Linux Gnome Desktop Team 34 5 Gentoo Security 30 6 Nikoli 23 7 Java team 19 8 media-video herd 18 9 Gentoo Linux MySQL bugs team 17 10 Others 633

Assigned bug ranking

The developers and teams who have been assigned the most bugs during this period are as follows.

Rank Team/Developer Bug Count 1 Gentoo Linux bug wranglers 90 2 Gentoo Security 85 3 Gentoo KDE team 55 4 Gentoo Linux Gnome Desktop Team 55 5 Nikoli 52 6 Python Gentoo Team 48 7 Gentoo's Team for Core System packages 44 8 Portage team 34 9 Gentoo Games 28 10 Others 960

Tip of the month

Portage File List

What is Portage File List?

Portage File List collects which files are installed by which ebuild on users machines. It shares this data publicly for searching/browsing.

PFL needs Portage data from your system. The more ebuilds you have installed the better. The more exotic ebuilds you have installed the better. Every Gentoo user can help!

emerge app-portage/pfl

This will install a cron job that submits new data to the PFL servers every week. Don’t worry, your privacy remains protected as we are not collecting anything else than portage data, and we don’t store who sends what.

As a bonus you get /usr/bin/e-file a command line utility to search for files installed by ebuilds. It allows a user to search for files that are not installed on their system and figure out which ebuild they need to install in order to obtain it. E-file requires internet access to obtain its information from the PFL website and database. Pfl is quicker than equery to search for files (even if not installed locally), while equery is more powerful and gives more options to search. Equery is limited to currently installed packages only.

The equery program is installed with the app-portage/gentoolkit package, a collection of administration scripts for Gentoo.

Heard in the community

Send us your favorite Gentoo script or tip at gmn@gentoo.org



Getting Involved?

Interested in helping out? The GMN relies on volunteers and members of the community for content every month. If you are interested in writing for the GMN or thinking of another way to contribute, please send an e-mail to gmn@gentoo.org.