This one time, at band camp, higuita said:
> Hi
>
> tested in debian mips, works fine in my machines
>
> replaced all (but one already commented) dpkg call with plain and old
> if tests
>
> in the end, checking if the machine is running the correct architecture
> is hard to check and should be extremely rare, so i tweak it up and
> comment it
I think your logic in the checks is off. Imagine this:
ver=2.6.14
if [ ${K_MAJOR} -lt 2 ] || [ ${K_MINOR} -lt 4 ] || [ ${K_REV} -lt 19 ] || [ "${ver[4]}" == "-pa17" ]
false false true false
evaluates to true, I would think.
This particular test is a little difficult6 to rewrite so
straightforwardly (evaluating the string bit at the end is not trivial)
The other tests are fairly straightforward and could be replaced things
like:
if [ ${K_MAJOR} -le 2 ] && [ ${K_MINOR} -le 4 ] && [ ${K_REV} -lt 19 ]
This tests pretty accurately that the numeric part is less than 2.4.19.
Once you start also testing for extensions like -pa17, it will get much
harder to handle. Additionally, the == construct is a bashism. Better
to use = for string tests or -eq for integer tests.
Take care,
--
-----------------------------------------------------------------
| ,''`. Stephen Gran |
| : :' : sgran@debian.org |
| `. `' Debian user, admin, and developer |
| `- http://www.debian.org |
-----------------------------------------------------------------
Attachment:
signature.asc
Description: Digital signature