Roy's Blog

A Hacker's musings on Code | Tech | Life

After watching a program about teenagers twice their recommended body weight and myself being a stone or two overweight I've decided that if they can run a mile run every morning before breakfast then so can I! :jawdrop:OK, it's probably not a mile as it only took 10 minutes to run around the block but it's a good start. Especially seeing as by the end of it my lungs where searing with pain, I was feeling faint and my feet were like two bricks :barf: Which is the price you pay for being an overweight smoker who doesn't like excercise!Mission - to run around the block every weekday morning before work and see how much weight I loose :O

Continue reading...

baselayout-1.12.0_pre6 will now feature resolv.conf merging - basically taking the best information from active interfaces that we or dhcp has setup and merging it into one. For example

eth0 has

nameserver 1.2.3.4 nameserver 1.2.3.5 domain foo

eth1 has

nameserver 4.3.2.1 nameserver 4.3.2.2 search wibble wobble

This turns into a merged resolv.conf of

nameserver 1.2.3.4 nameserver 4.3.2.1 nameserver 1.2.3.5 search foo wibble wobble

However, if eth1 has a lower metric than eth0 (eth0 wireless, eth1 wired for example) then it becomes

nameserver 4.3.2.1 nameserver 1.2.3.4 nameserver 4.3.2.2 search wibble wobble foo

Duplicates are also removed :) Incase you're wondering why not all the information was taken across, well the answer is due to libc limitations. If you consult the resolv.conf man page then you'll discover that you're limited to 3 nameservers and 6 search domains. Great!

It's a trivial excercise to change the numbers we limit too, but they'll have no effect with current libc. But if anyone uses a libc/resolver with greater limits I'm happy to accept patches :P

As it took a lot less time todo than I first thought, I'll merge ntp.conf information too - hopefully in time for pre6 8) EDIT: ntp.conf merging took 10 minutes and it is in :D

If anyone used the resolvconf package which Debian uses, then this does a similar thing but transparently and without the need for a daemon.

Fans of the baselayout-1.12.0_pre releases so far will be pleased to know that we now default RC_AUTO_INTERFACE to no ;)

Continue reading...

baselayout-1.12.0_pre4 hit portage today. The trace_dependencies() function in /lib/rcscripts/sh/rc-services.sh has caused a few headaches for many people. Symptoms include hanging, getting things in the wrong order and other such nasty voodoo. :O

So I hacked in a toposort function which is faster then the "sort until nothing" approach we used previously. We can't use tsort (C toposort program) as that's in /usr/bin and isn't available at boot time, so it's in bash! The toposort function is also non-infinite by definition, so circular deps should be a thing of the past - well, for that function anyway! ;)

Here's a good reference to toposort.

I've also been chastised for my non-use of tabs (blame my vim settings :P ), so I've now been a good boy and added # vim:ts=4 to all my stuff in baselayout and re-indented with proper tabs.

Lastly, I've removed all the

e=$( iwconfig ${some_command} 2>&1) [-n ${e} ]([)] && eerror "dufus"

and replaced it with

if ! iwconfig ${some_command} ; then eerror "dufus"; fi

which is much nicer and should now work as the affected wireless-tools isn't in portage anymore. Or was it a driver problem? Either way, it's cleaner, better and here to stay. It works on my madwifi and prism54 so if it doesn't work for you then isn't that just teh sux0r! Bitch about it to the driver maintainers for your hardware }:)

Continue reading...

OK, so the last baselayout-1.12.0-pre1 and pre2 was a bit of a mess. It borked many peoples systems :barf:The reason was trying to integrate a user submitted patch for improved parallel startup with our new code that introduced starting, stopping and inactive statuses. The odd thing is that not one of the baselayout devs noticed this - but then, I don't suppose we have many failing services either!We think we've fixed it in pre3, so it's been removed from package.mask today 8)Hopefully pre3 will resolve all those issues as we try and move it towards stable!

Continue reading...

OK. I am really really stiff all over. This gardening lark is the way to a trimmer bod all right ;) The key is to get going - sometimes I need a kick up the back side, but once I'm going I'm like the Duracel Bunny :PSo the back garden is pretty bare now. The grass has been taken up, another tree stump removed and some digging and weeding done. Even though it now looks very bare, it also looks very good as we can finally see some real progress! :) Abbey and I knocked up a rough guide to how we want our new garden too look, although the more exotic features will have to wait for a while :(Garden TODO List:Remove 3 tree stumps (1 is from a really really big fur tree - not going to be easy)Dig, weed, level, compress, level, compress, level, compress, level, compress back mudLay new turf on mudRelax :)

Continue reading...