There seems to be an issue with opkg (tested with 0.4.2) when installing ipk packages.
I’ve noticed that “opkg install” will downgrade/overwrite packages if the new ipk version is lower than the installed version, however it will not install the same version and it does mention an upgrade when installing a newer version.
The packages were built using a yocto recipe “upgrade-test_1.3.2.bb” which I then renamed to “upgrade-test_1.3.3.bb”, then I tried to install 1.3.2 > 1.3.3 > 1.3.2 > 1.3.2 giving the following result:
# opkg install /tmp/packages/upgrade-test_1.3.2-r1_arch.ipk
Installing upgrade-test (1.3.2) on root
Configuring upgrade-test.
# opkg install /tmp/packages/upgrade-test_1.3.3-r1_arch.ipk
Upgrading upgrade-test from 1.3.2-r1 to 1.3.3 on root
Configuring upgrade-test.
# opkg install /tmp/packages/upgrade-test_1.3.2-r1_arch.ipk
Installing upgrade-test (1.3.2) on root
Configuring upgrade-test.
# opkg install /tmp/packages/upgrade-test_1.3.2-r1_arch.ipk
Collected errors:
* opkg_prepare_file_for_install: Refusing to load file '/tmp/packages/upgrade-test_1.3.2-r1_arch.ipk' as it matches the installed version of upgrade-test (1.3.2-r1).
To me this seems unintended behaviour, especially since the option “—force-downgrade” exists, unless I’m missing something.
Sincerely,
Jermain Horsman