Allright, here's a doozy of a bug for you. Two, actually. I've spent a couple of hours now trying to figure out why the apache ipk refuses to install properly on Cakco3k. (And presumably on default Sharp roms for 1k and 3k)
1) Cacko 1.22 has bash v3.0. Cacko3k and the Sharp rom have bash v2.05. Among other things, v2.05 doesn't allow stdout redirection in a script (used to eliminate output from the individual commands. The two syntax I've seen tried for this are <command> &> /dev/null, and <command> 2> /dev/null. Hmm. Is that stdout or stderr redirection? I can't remember... In either case, any command that tries to make use of this fails. ) This causes the postinst script for apache to miss a number of commands and fail. If I elimitnate the redirection ( 2> /dev/null), it seems to work. I noticed this when writing my own bash preinst scripts, but didn't think much of it.
Edit: Nope. Scratch that. /bin/sh is linked to ash on the Z's. The redirection works in bash. The script worked under ash on cacko 1.22, but not under ash on cacko3k. Ash on both systems is the same size, built 2 years apart. I haven't found an easy way to get it to spit out version info. My head hurts.
2) Cacko 1.22 has tinylogin 1.2. Cacko3k and the Sharp rom have tinylogin 1.4. The "addgroup" functionality in 1.4 seems to have a bug wherein you must manually specify the GID. (addgroup -g <number> <groupname>). The proper functionality, and how it works on Cacko 1.22, is to use the next available GID if none is specified. This also breaks the Apache install script on Cacko3k.
Annoyingly enough, both of these bugs are present in the 1000 v1.01jp Sharp ROM, which will make the apache from the Cacko feed un-installable on the default roms. No wonder people have been having trouble with the damn things.
Edit: It's even worse, actually. Using addgroup -g <gid> <groupname>, which is the correct syntax according to the tinylogin homepage (
http://tinylogin.busybox.net/TinyLogin.html) results in an incorrect group entry of <gid>:x:<gid>:<goupname> instead of <groupname>:x:<gid>:
Doing addgroup -g <groupname> works, though. It acts like addgroup <groupname> is supposed to. Notably addgroup -g <groupname> fails on Cacko 1.22.
Aaaaargh.
Now the $1,000,000 question. Do I work around it? If I do and we don't fix the bug, then I can make an IPK that will install on all clamshells. However, people who don't know about the bug will make ipks that don't work.
If we fix the bug then our ipkgs will install on Cxx0's, and Cacko on the 1k/3k, but not the default Sharp rom for 1k/3k. People who don't know about the bug will make ipks that work on Cacko, but not the Sharp rom for the 1k/3k.
You know what? If I didn't own three of these things, and run linux on my desktop, I'd never be able to figure what the heck is going on. I actually wish I had a 4th clamshell so I could compare to Sharp 1.4jp as well...