Ticket #4626 (closed enhancement: fixed)

Opened 2 days ago

Last modified 4 hours ago

mc.ext.ini: support OpenEmbedded ipk archives

Reported by: ad Owned by: andrew_b
Priority: major Milestone: 4.8.33
Component: mc-core Version: master
Keywords: Cc:
Blocked By: Blocking:
Branch state: merged Votes for changeset: committed-master

Description

Two types of ipk archives appear to exist:

  • OpenWRT
  • Openembedded / Yocto

The former is a (gzip-compressed) tar archive, which appears to be
modelled after the Debian package format (but not matching it
exactly!), containing the three files debian-binary, data.tar, and
control.tar (the latter two may be compressed).

The latter is a proper Debian archive, which means it's an ar archive,
with the files debian-binary, control.tar, and data.tar in exactly this
order. control and data may also be compressed.

While modelled after the Debian package format [1], OpenWRT ipk
archives don't strictly adhere to it: Debian packages should be ar
archives (not tar) and the order of files inside the archive matters
(OpenWRT doesn't follow this).

Midnight Commander is currently unable to display the Openembedded ipk
archives as both use the .ipk suffix, and because one is a tar- and one
is an ar archive, and because the ipk suffix is hooked up to
Include=tar.gz, which (obviously) doesn't support ar archives.

Update mc.ext.ini to also handle OpenEmbedded? ipk packages by also
inspecting the type, in addition to the suffix. Note that we can not
unconditionally use the deb rule for both types because the OpenWRT
package don't strictly conform to the Debian package format and
dpkg-deb and friends complain.

Link: https://manpages.debian.org/bookworm/dpkg-dev/deb.5.en.html [1]
Signed-off-by: André Draszik <andre.draszik@…>

Attachments

0001-mc.ext.ini-support-OpenEmbedded-ipk-archives.patch (2.5 KB) - added by ad 2 days ago.

Change History

comment:1 Changed 35 hours ago by andrew_b

  • Status changed from new to accepted
  • Owner set to andrew_b
  • Votes for changeset set to andrew_b
  • Branch state changed from no branch to on review
  • Milestone changed from Future Releases to 4.8.33

comment:2 follow-up: ↓ 3 Changed 23 hours ago by zaytsev

  • Votes for changeset changed from andrew_b to andrew_b zaytsev
  • Branch state changed from on review to approved

Maybe better call it ipk-openwrt instead of ipk-targz ? Not sure about it.

comment:3 in reply to: ↑ 2 Changed 4 hours ago by andrew_b

  • Status changed from accepted to testing
  • Votes for changeset changed from andrew_b zaytsev to committed-master
  • Resolution set to fixed
  • Branch state changed from approved to merged

Replying to zaytsev:

Maybe better call it ipk-openwrt instead of ipk-targz ?

Done.

Merged to master: [da12b1a73f8651b20a72e3a1c1a5cd53d654af9e].

comment:4 Changed 4 hours ago by andrew_b

  • Status changed from testing to closed
Note: See TracTickets for help on using tickets.