Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Is there a working version of opkg?
@ 2025-04-01 19:50 Grant Edwards
  2025-04-01 20:18 ` Grant Edwards
  0 siblings, 1 reply; 2+ messages in thread
From: Grant Edwards @ 2025-04-01 19:50 UTC (permalink / raw)
  To: buildroot

Does anybody know of a working verison of opkg?  I've tried 0.6.2 and
0.7.0, and both versions have a file-locking bug. The basic 'opkg'
utility appears to fork off multiple children (WHY?!?!?) which then
collide with each other when trying to lock /var/log/opkg.lock.

It can be plainly seen using strace, but to make it a little more
obvious, I added fprintf() calls to opkg_lock/unlock:

    # opkg install --force-reinstall --force-downgrade <foo>.opk
    
    PID 843 PPID 696 opkg_lock()
    Installing <foo> on apps.
    beginning preinst...
    PID 846 PPID 844 opkg_lock()
    error: opkg_lock: Could not lock /var/run/opkg.lock: Resource temporarily unavailable.
    error: opkg_cmd_exec: Command failed to capture privilege lock: Resource temporarily unavailable.
    ending preinst.....
    Configuring web-server.
    beginning postinst...
    starting /apps/webserver...
    ending postinst...
    PID 843 PPID 696 opkg_unlock()

If found some old threads discussing the addition of waits/retries
when acquiring that lock but that "solution" was apparently rejected
in favor of just leaving it broken.

--
Grant

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-04-01 20:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-01 19:50 [Buildroot] Is there a working version of opkg? Grant Edwards
2025-04-01 20:18 ` Grant Edwards

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox