Lots of miscellaneous poking at things today, not a whole lot of code written.
Ended up being unable to sleep last night, so made a first pass at getting a way to shutdown/poweroff from the install. Should be pretty nice for a few cases, but most people will probably not care. It could be useful if you have to change your machine to not boot from the network or remove a CD or something after a kickstart install.
gcc 3.4 rebuilds chugged along and Elliot moved a whole pile of packages. Things should be mostly complete, now we're to cleaning up the failures and getting things sane again. This'll probably take a few days to get to the majority and then I'm sure there will be some stragglers for a while. Some of my failures had clean fixes in new upstream versions, so I went ahead and bumped the versions on them. Otherwise, I had a pile of small failures.
Most of them were related to the change in gcc 3.4 to require a ; (semi-colon) in compound statements, ie
/* do some stuff */
will no longer work. Instead, you have to have
Now, I'm sure there's a perfectly valid reason for this, but it's still kind of annoying. It's pretty trivial to fix, though, and is pretty zero-risk. So if you have code like this, fix it. If you find code like this, fix it and send a patch to the maintainer. There's no good reason to not take it as it won't break old compilers or anything like that.
The other thing which is causing a little bit of churn is that you can't do a cast on the lvalue of an assignment anymore. ie,
void * p;
(char *) p = strdup(“some string”);
That was a gcc extension that's been deprecated for a while, though (even if people were continuing to use it). In this case, just drop the cast. If you need to do a cast, you should do it on the value on the right hand side of the assignment as opposed to on the lvalue. Again, fix your code 🙂