Archive for the ‘Gentoo’ Category

Gentoo: bad for the environmentalist, good for the developer

Sunday, June 15th, 2008

Gentoo is a source based distro: usually, every software you need will be downloaded in source code form and compiled right on your box.
This opens up a whole set of optimizations, making Gentoo usually a bit faster than other distros, as it is more specialized and can take advantage of your own CPU instruction sets (think about MMX, SSE and 3DNow!).

These optimizations make some guy see Gentoo as an environment friendly distro: software is optimized, therefore less energy is required to accomplish the same task.

But even the less intuitive can understand that having a computer stuck at 100%, compiling for hours, it’s not really good for the environment.

Nonetheless, I still use Gentoo and I suggest using it to my coworkers. To me Gentoo is the perfect distro for every developer as it helps you understanding your box (and even the differences with other’s boxes, if you start contributing your ebuilds)
Understanding the main tool you (as a developer) use, will make you more efficient: you’ll start having answers to others questions, because you have seen your installation growing up, step by step.

That’s my point in using Gentoo: my box is in the palm of my hand. I know almost anything of it. I usually know why things happen, on the contrary of my coworkers, that waste time and productivity finding workarounds to things they don’t know.

Something that reflects the quality of their job, as they produce software that sometimes misbehaves.

If you want to be a good developer, start understanding your box now. Whatever operating system you use, shit is unlikely to happen: everything happens for a reason. If you think your OS makes it hard to understand, try another.

VirtualBox and Host interface

Friday, April 25th, 2008

I’ve run into this problem two times so I need to take note of the solution for further reference.

If you are trying to host a virtual machine with a public IP address and you are experiencing the
-3100 (VERR_HOSTIF_INIT_FAILED)
error message, then all you need to do is running the following command as root
tunctl -t vbox0 -u YOUR_NON_ROOT_USERNAME

vbox0 is the name of your tap interface. If you follow the almighty gentoo-wiki instructions, it will be vbox0.

My script for having everything set up on demand is

modprobe vboxdrv
chown root:vboxusers /dev/net/tun
chmod g+rw /dev/net/tun
tunctl -t vbox0 -u federico

I run it whenever I need to work with VirtualBox.

VirtualBox: a fast alternative to Qemu and VMWare

Monday, June 11th, 2007

Past week I needed a Windows box (sad but true) and my linux boxes stared at me praying not to coexist with the Evil. I pleased them looking for an emulator.

I tried setting up VMWare player but the screen color depth is limited to 8 bit.
I find it amazing that windows people have to deal with these graphical installers that refuse to run if your resolution is too low. I’m installing a server! Why the hell do you complain about the screen color depth!?
Anyway, that was an issue and VMWare didn’t solve it.

I tried QEmu: good and fast enough. Too bad I’m not a sysadmin and I wasn’t able to set up the network interfaces properly so I couldn’t connect to the server running in the virtualized Windows from my Gentoo box, acting as the container.

Then I tried VirtualBox and everything went fine: it is a fast emulator, its GPL version is almost feature complete and it is developed by the german firm Innotek.
I’ve found instructions on how to properly set the network up on gentoo-wiki. Here is my /etc/conf.d/net file

config_eth1=( “null” )
tuntap_vbox0=”tap”
config_vbox0=( “null” )
config_br0=( “dhcp” )
bridge_br0=”eth1 vbox0″
depend_br0() {
	need net.eth1 net.vbox0
}
brctl_br0=( “setfd 0″ )

The only oddity is that I need to run some commands as root: so I’ve created the following script

modprobe vboxdrv
chown root:vboxusers /dev/net/tun
chmod g+rw /dev/net/tun

November 2006 Gentoo Java Meeting Summary

Monday, November 13th, 2006

On November the 11th, the Java team held a meeting.

References:

Present developers

  • betelgeuse (Petteri Räty)
  • karltk (Karl Trygve Kalleberg)
  • nichoj (Joshua Nichols)
  • sanchan (Sandro Bonazzola)
  • wltjr (William Thomson)

Present contributor

  • ali_bush (Alistair Bush)
  • fordfrog (Miroslav Šulc)
  • fridrik (Federico Fissore)

Announcements
Most of you already knew that: the new java system is gone stable on all the archictures supported by the java team, ie x86, ppc, ppc64, amd64, and ia64

This year will probably end with two big news: Sun JDK 1.6 (ETA: December) and ANT 1.7.
Sun JDK is already packaged and available from the migrated-java-experimental-overlay. We have been using it for a couple of months and the transition from 5 to 6 is going to be smooth.
ANT 1.7 is currently managed by Caster (Vlastimil Babka), who set up the split-ant-overlay. Developers and contributors are invited to use it for testing purposes, particularly regarding

  • how ant is now handling “source” and “target” attributes from javac task
  • DEPEND, as new ebuild will depend on single needed tasks instead of ant-tasks

New contributors: ali_bush, fordfrog and fridrik recently joined the java team

The main portage tree is available for reading to anonymous users. The point here is the ability to create a patch against the tree (like bumping a package or adding a patch) and then send it to the appropriate herd, that will review and apply it. Get more info here.

Non-bin Azureus is gone stable on x86 and amd64. Thx to Betelgeuse

Topics
Migration and stabilization
There are about 195 packages that still need to be migrated to the new java system. While reminding everyone not to forget ARCH users, we agreed in filing a stabilization bug for every version bump we do. After a period of about 30 days, if no bugs are filed, the stabilization bug is filed and eventually the bumped package will be promoted to stable.

Staffing needs
Contributors were told by devs how to step up. This is summarized in the following steps:

  1. start contributing
  2. be asked to become a developer
  3. be mentored by a developer
  4. take quizzes
  5. collaborate with the mentor to correct/improve/learn the answers to the quiz
  6. submit the quizzes to the recruiter
  7. have an irc meeting with him/her to elaborate
  8. if you pass, start working as a developer

More info can be found here.

Plus, more contributors are welcome. So if you see people consistently contributing (bugs, irc, mailing list), report to nichoj.

QA
Many thoughts were said about QA. Starting from the idea of improving current tools, we ended by admitting it will require a full-time effort and by postponing the issue to the next summer, wrt the GSOC.

Also, wltjr proposed to throw away the “java” use flag and use a more generic “jni” use flag. Java packages with jni use flag set will compile even non-java code, while non-java packages will build java code, ie bindings.

Builds that auto detect the version of the JDK
Packages that “suffer” of this feature (particularly jdbc drivers) should build every single version they can: one mega-ebuild is currently the preferred way wrt to maintainability. wltjr will take an initial look at it.

More effective overlay
In order to improve the way we use overlays and contributors work, these steps have been set up:

  1. open a bug for each ebuild/package in overlay by contributors with “InOverlay” in the keywords
  2. update the Status Whiteboard field with the keywords “InProgress”, “NeedsReview”, “ReadyForPortage” accordingly

These steps will apply until the java-experimental-overlay will be completely migrated and therefor deleted. Then two new overlays will be created, java-experimental-overlay for things that are actually experimental and java-overlay for things ready to go into portage. The steps will then become:

  1. work the ebuild/package into java-experimental-overlay
  2. previous step 1
  3. previous step 2
  4. move the ebuild/package to the java-overlay when it’s ReadyForPortage

Plus, contributors are invited creating ChangeLog entries and metadata.xml files. ChangeLog entries could be managed by echangelog or by sunrise-commit

Project page lifting and project documentation
Project page should be lifted. Some ideas regards a “contributors” section, and sub projects sections like “J2EE”, “Netbeans”, “Eclipse” and “Tomcat”.
Having anonymous access to main cvs, contributors could send devs the patches related to the section they want added.

Fixing incongruities between actual eclasses APIs and related documentation should also be managed.

2007.0
New Gentoo release is going to see the light in February: next meeting agenda will have the apps we want to mark stable and to include onto the livecd.

Bugs
Java team has more than 200 bugs assigned. Devs and contributors are invited in keeping an eye open on them. Contributors can add java@g.o to “users to watch” field on bugzilla.

A new eclipse is coming

Wednesday, November 1st, 2006

I’ve just committed the latest eclipse ebuild into Gentoo Java overlay.

It’s a revbump: not a new eclipse release actually but some days of work trying to get a complete and readable ebuild.

Check what’s changed on the overlay’s wiki.

You may update it by getting the ebuild here or by adding the migrated-java-experimental-overlay to your PORTDIR_OVERLAY variable.

Uhmm, this post is boring…

I’m onto the Gentoo train

Sunday, October 22nd, 2006

With the struts-1.3.5 ebuild, nichoj offered me access to the Gentoo java overlay.

An overlay is an alternative branch of the official portage tree, where experimental ebuilds are made available to testers and people in a hurry to use an application or have a library.

Of course, “happy” is not a word worth describing my pride.

There are still a LOT of things I have to learn. But I got the patience: hope my team mates have enough of it, too.

The long trip to struts 1.3.5

Saturday, October 21st, 2006

Some version bumps and new ebuilds are required to get to struts-1.3.5 on Gentoo.

It will take more time than initially guessed, damn…

Current stages are:

I hope to get to struts in the next few days.

Linuxwacom drivers 0.7.6 stable

Wednesday, October 18th, 2006

Linuxwacom project has just released the stable 0.7.6-1 version.

They finally made it compatible with Xorg 7.1, so you, gentoo users, won’t have to apply any patch from now on.

And of course, we got the ebuild :)

Eclipse-3.2.1 ebuild was here!

Saturday, September 30th, 2006

And it took me hours!! I have to give more value to my time….

Anyway: that’s the biggest software I’ve touched on Gentoo, the huge Eclipse! Almost six hour of work!

I think the ebuild is fine enough, even if it will surely need some more fine tuning by nichoj.

Thanks to Caster at #gentoo-java for the support.

Whoops, the ebuild, yes…

UPDATE: now that’s in Portage!! :) Feels good… yeah!…

pgAdmin3-1.6.0 and wxWidgets-2.7

Saturday, September 23rd, 2006

As pgAdmin team recently released the 1.6.0-beta1 of their tool, I’ve modified one of the ebuilds from Gentoo tree.

Latest pgAdmin requires wxGTK 2.7: lucky enough, wxWidgets team has released a package with the beta of their library.

Here are the links to Gentoo bugzilla with the ebuilds

If you want them, compile them, test them and report feedback!