Saturday, December 11, 2010

Just do it. emerge =sys-devel/bin-86-0.16.18

Good day everyone. Today is the weekend. No homework ;) Just play.

In Gentoo there is a new minor version bump of bin86. (Yes it still lives even on x86_64) This version includes some system headers that were missing in dumps.c, objchop.c and catimage.c Patch submitted by yours truly. It should have test and stable requests soon I've also submitted a patch to Gnome screensaver that fixes a missing system header and mplayer that fixes another. Hoping they will get added soon since they have been around a while.

Edit note: The mplayer bug was closed but it does seem fixed now. A peek at the patch upstream shows that bin86 recieved a good deal of fixes and my minor patch applies to the 0.16.17.ebuild that existed

Gnome 2.32.x is out and I have been submitting bug reports where they are supposed to go. Gentoo doesn't accept all bugs on all software installed via portage at present. QA will change this soon hopefully. It is clear that Gnome and Gentoo could work better in some way. There is a large upstream here and Gnome should be well supported. If perhaps upstream would work with our development team we have the capability to significantly improve Gnome through Gentoo QA.

Ahh yes I said 'play' didn't I? Well how about let's rescue a princess. In Gentoo this is almost as easy as 'emerge -vp supertux'. I set the following in /etc/portage/profiles/package.use to resolve dependencies for this game.

# below added for supertux
media-libs/sdl-mixer mikmod vorbis mad flac mp3
media-libs/sdl-image png gif tiff
games-arcade/supertux opengl

It does pull in a few more dpendencies than are actually required but since they are already in they should hopefully satisfy other games based on media-libs/sdl Happy gaming.

Friday, December 3, 2010

Making a better distribution of Gentoo

G'day mate! Today we advocate not only mental but physical stimulation and your homework assignment is to master the boomerang.

My Gentoo installation on the Dell Inspiron 8000 (nee tuxmobl) shows some progress now since I have managed to successfully start X and obtain an LXDE desktop. Network access is currently through the PCMCIA card and I have yet to try the laptops built in NIC jack that would not work under M$. I can ssh in and set it building while working from 'random' host; which I did yesterday. Once set to a task I checked on some of my open bugs and posted a new blog. Flameeyes has hardware issues and reported he is not able to do tinderbox runs at least where it concerns the packages I use I can try to pick up some small portion of the work.Since updating to gcc-4.5.1 I am currently running 'emerge -e world' on the the 'random' host At 12:00 pm EST there are 290 of 856 packages done.

As the laptop installation proceeds I am forced to make choices concerning hal and udev. Since hal is going away but the documentation still outlines hal and until Gentoo migrates to openrc and baselayout2 hal is still used on Gentoo stable AFAIK With laptops there is the whole battery runlevel and issues of power management as I progress through the problems I intend to post updates here. Further there was discussion I recall on using i2c versus lm_sensors.

The 'random' host has already been migrated to openrc and baselayout2 and seem to be fine running udev without hal. The only thing that at last check actually still required hal on that system was the gnome-gvfs IIRC I chose gnome for a desktop on it since it seemed the easiest way to manage a working install without hal.

I must also keep in mind some kind of solution where integrating the other boxes into the network better yields access to what the linux and windows boxes here can do. Like shared printing and a shared rsync solution between hosts random and tuxmobl Then there is a little router project I have in mind as well.

Good luck with your own tasks. And enjoy a sunset near you with a friend. I'm off the weekend and hope to make some progress then so keep checking back.

Thursday, December 2, 2010

How to use USE in Gentoo and dependencies

Good morning ladies and Gentoo-men. For today's mental exercise you are instructed to prove the Pythagorean Theorom

At one of the last LUG meetings I attended a discussion with one user of Slackware turned up the topic of dependencies. In Slackware AFAIK since I have not used it in several years you get what Patrick Volkerding gives you.
I have not seen a way to do this with Debian or other distributions and it is one of the ways Gentoo is unique.

In Gentoo dependencies are pulled in by USE flags several ways. In /etc/make.conf they are enabled on a global basis. This means when they are defined here every package on the box that can support that flag will be compiled with support in your application. Let's take some real world examples.

The pam USE flag adds support for pluggable authentication modules and I suspect that it is enabled on every Gentoo profile. ipv6 since it is all the rage and brings many new features to networking as well. However there have been some issues with ipv6 and my router (the communications point for the home network) does not support it. So making use of the global properties as in the following line removes support system wide without having to do it on a package by package basis which is currently done by hand. Instead just add this to /etc/make.conf

USE="-ipv6"

Initial system flags on Gentoo installations are determined by the system profile which is set through 'eselect' To view or set your profile is as easy as running the following command in your shell

random david # eselect profile list
Available profile symlink targets:
[1] default/linux/amd64/10.0 *
[2] default/linux/amd64/10.0/desktop
[3] default/linux/amd64/10.0/desktop/gnome
[4] default/linux/amd64/10.0/desktop/kde
[5] default/linux/amd64/10.0/developer
[6] default/linux/amd64/10.0/no-multilib
[7] default/linux/amd64/10.0/server
[8] hardened/linux/amd64
[9] hardened/linux/amd64/no-multilib
[10] selinux/2007.0/amd64
[11] selinux/2007.0/amd64/hardened
[12] selinux/v2refpolicy/amd64
[13] selinux/v2refpolicy/amd64/desktop
[14] selinux/v2refpolicy/amd64/developer
[15] selinux/v2refpolicy/amd64/hardened
[16] selinux/v2refpolicy/amd64/server

Changing your profile greatly affects the packages installed on your system and should be done likely only once.

In order to tailor a system and only install the applications you want you can specify USE flags on a per package basis
Create the directory /etc/portage/profile if it is not there already and add your Use flags to package.use Here is mine so far from the tuxmobl host I am currently building.

Last login: Thu Dec 2 00:18:11 EST 2010 on tty1
tuxmobl ~ # cat /etc/portage/profile/package.use
## This is the place to install package specific USE flags which avoids
## setting flags globally Set global flags in /etc/make.conf
## Global flags are set by the profile too
# For courier-imap support
net-mail/courier-imap -ipv6 gnutls
net-libs/courier-authlib vpopmail
# To satisfy lxde-meta
x11-libs/cairo X
x11-libs/pango X
sys-fs/udev extras
# add gnome-keyring support to gnome-base/gvfs
gnome-base/gvfs gnome-keyring
# X for freetype
media-libs/freetype X
#and I add what I want to satisfy dependencies
gnome-base/gconf policykit
sys-auth/consolekit policykit
#This one will go away soon but as long as it shows a dep use helpful support
sys-apps/hal laptop
sys-power/pm-utils ntp

At present I can ssh in from the random host so progress ;-) and the pcmcia card is working (I also noticed the Intel driver loading as e100 Hmmm I may have to try that port and see if it works in linux.)

As to the topic by manipulating the file package.use and editing the USE line in /etc/make.conf you can tailor your Gentoo install. Running emerge -vp world or system will show you how dependencies are set on your system now and you can tailor your system and achieve a more stable host since by eliminating unneeded dependencies one can eliminate bugs that might be pulled in by them.

You may wish to run eselect profile set $ where $ is the value your system supports and see what emerge -vp world will show on different profiles but remember where you started so you can set it back if you don't wish to change anything. Proper building steps would include first choosing a profile then editing USE in /etc/make.conf and package.use to achieve fine grained control over dependencies on Gentoo linux.

Wednesday, December 1, 2010

From 'tuxmobl' to asparagus

Greetings fellow penguins and good day. I've edited the ticker above to add interesting articles about linux and embedded news. Breadboarding has come so far these last 30 years ;-) For today's mental exercise you are instructed to build a 4 bit binary counter from NOR gates.

I came by some older hardware in trade for labor. A Dell Inspiron 8000 with a fair battery, 1GHz Coppermine CPU and 256 MB of ram. It also had a 10GB hard drive and Windows XP installed. A 'hwoarang' version that seemed quite nice and incorporated some of the look of Windows 7.

I upgraded the memory to 512 MB and changed the hard drive out for a 40GB drive and booted a Knoppix 6 cd and used the 'alternate-install' method to chroot and install Gentoo. Along the way I found the onboard NIC seems to be bad but I have a Xircom PCMCIA card that provides 10/100 MB ethernet, a modem and 1394 and used that. The system came with an internal CDRW and the 2 bays can use 2 batteries or a DVD player and a floppy drive in some combination all of which came with it. So I thought all this worth salvage since it has a nice keyboard and screen as well even if the hardware is rather dated and everything worked in Windows.

The install went well till ready to boot the new kernel. Then issues with the graphics driver and the aty128fb driver it should have worked with yielded a blank screen. I chrooted back into the system and took all reference to any framebuffer except the default kernel framebuffer out and rebooted and have since rebuilt the system with -march=native Choosing a GUI of LXDE for a lightweight graphical display yields

tuxmobl runlevels # emerge -vp lxde-meta

These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds built with USE flags to satisfy ">=x11-libs/cairo-1.6[X,svg]".
!!! One of the following packages is required to complete your request:
- x11-libs/cairo-1.8.10 (Change USE: +X)
(dependency required by "x11-libs/gtk+-2.20.1-r1" [ebuild])
(dependency required by "lxde-base/lxsession-edit-0.1.1" [ebuild])
(dependency required by "lxde-base/lxde-meta-0.5.0-r1" [ebuild])
(dependency required by "lxde-meta" [argument])

Seems like this USE flag should have been provided and I'll need to look into how the ebuild sets it and maybe others won't see the issue as soon as I get the system doing something useful and get something to eat.

Thinking mushroom and cheese omelets and some asparagus with toast sounds good Even a bit of a splurge since asparagus is something I don't treat myself to much. I had some under a dripping air conditioner once that sprouted some nice ones years ago. On that note as soon as I can change the layout here there will be some other topics including food. Hmmm hope blogger has the features I want. ;-) since I want to be able to have this be kind of a meta-blog with the subs having their own RSS