Occasionally I’ll detract a bit here and post something that is pretty techie for the some readers just looking for a good funny. Sometimes I’ll run into a software/hardware problem that I’m only able to Google and find other people seeking the same answers, yet not really getting any. I figure if I put this sort of stuff up, it might help someone out.
Anyway, if you have a Sharp Zaurus running OpenZaurus, you may occasionally run into an error when trying to install a package that says “Package packagename_1.0 no Architecture defined”. Specifically, I saw this when trying to install the latest beta of tkcMail (I’m not linking to the makers of the product because they’ve been a source of grief for me for a while).
This error will typically occur when a plaintext file within the package called “control” lacks a line that defines the architecture, like this:
Architecture: arm
In the case of OpenZaurus, I’ve discovered that this error will also occur if there’s a blank line after that line in the file. Instead of simply getting rid of that blank line in the control file, the tkc folks will just tell you that they “clearly state we don’t support OpenZaurus.” Asses.
Anyway, what you need to do is unpack the package file, fix the control file, then repackage it up. It’s actually pretty simple:
- Grab the latest ipkg-utils utilities from ftp://ftp.handhelds.org/packages/ipkg-utils. These are intended to be run on a Linux workstation, not your Zaurus.
- Once you have the utilities unpacked somewhere, make sure you have a copy of the damaged package on the workstation and run ipkg-unbuild on it:
ipkg-unbuild packagename_1.0.ipkThis will unpack the package contents into a new directory.
- Edit packagename_1.0/CONTROL/control and if the “Architecture: arm” line is missing, add it. If it has a blank line under it, remove it. Add a “-1″ suffix to the end of the “Version:” line (just to make sure you don’t overwrite the old file). I’ve also noticed in the case of the tkcMail problem, the control file lacked a “Source:” line and had an illegal “Filename:” line. Delete the “Filename:” line and add a line:
Source: http://package.download.location.comthen save the file.
- Now go to the directory above the unpacked packagename_1.0 directory and rebuild the package:
ipkg-build -o root -g root packagename_1.0 - Copy the newly created package (in this example, packagename_1.0-1.ipk) to the Zaurus and it should install!
Anyway, I hope that helps someone out.
June 23, 2004
Sorry, comments are closed.