Optware / Optware-ng

279 stars 52 forks source link

busybox 1.25.0-3 upgrade issue #198

Closed ElTopo closed 7 years ago

ElTopo commented 7 years ago

I have issue to upgrade busybox to the latest:

$ uname -a
Linux axentraserver 2.6.22.18 #14 Wed Oct 27 15:41:03 EDT 2010 armv5tejl armv5tejl armv5tejl GNU/Linux

$ sudo ipkg update && sudo ipkg upgrade
Downloading http://ipkg.nslu2-linux.org/optware-ng/buildroot-armv5eabi-ng-legacy/Packages.gz.
Inflating http://ipkg.nslu2-linux.org/optware-ng/buildroot-armv5eabi-ng-legacy/Packages.gz.
Updated list of available packages in /opt/lib/ipkg/lists/optware-ng.
Upgrading busybox from 1.25.0-2 to 1.25.0-3 on /opt/.
Downloading http://ipkg.nslu2-linux.org/optware-ng/buildroot-armv5eabi-ng-legacy/busybox_1.25.0-3_arm.ipk.
Not selecting busybox-base 1.25.0 as installing it would break existing dependencies.
Not selecting busybox-base 1.25.0 as installing it would break existing dependencies.
Not selecting busybox-links 1.25.0 as installing it would break existing dependencies.
Not selecting busybox-base 1.25.0 as installing it would break existing dependencies.
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for busybox:
 *      busybox-base (= 1.25.0-3) *     busybox-base (= 1.25.0-3) *

I am not sure if I should force install busybox-base...

$ sudo ipkg list busybox
busybox - 1.25.0-3 - A userland replacement for embedded systems.
busybox - 1.25.0-2

$ sudo ipkg list busybox-base
busybox-base - 1.25.0-2
busybox-base - 1.25.0-3 - A userland replacement for embedded systems.

Any advice? Thanks.

satfreak commented 7 years ago

Yesterday same problem, today it works. And to my suprise, now the command pgrep included. Great thanks. :-)

alllexx88 commented 7 years ago

I have issue to upgrade busybox to the latest:

Yeah, that's a known issue. The simple workaround is:

ipkg -force-depends remove busybox-base busybox
ipkg install busybox

Now a little explanation for why such error occurs. busybox package creates symlinks (using update-alternatives) to busybox binary for all built applets. The binary self is provided by busybox-base package, and hence busybox is set to depend on busybox-base of the same version. Unfortunately, when it comes to upgrading busybox packages, opkg (ipkg binary is opkg) isn't smart enough to update two packages at a time, thus tries to do it one by one, which leads to broken dependencies.

ElTopo commented 7 years ago

@alllexx88 I found out the issue was caused by busybox-links package, so I also have to use

ipkg -force-depends remove busybox-links 

before re-install the new busybox package, now it's all sorted out.

Thanks.