[suggestion] List package contents before installing

hi... in fedora, i use this command extensively dnf repoquery -l <remotePkg> to view and compare packages files (size, similar files, conf files, etc) before installing

in openwrt i need a specific functionality, i found like 3-4 packages that could serve me but i want to compare their contents BEFORE choose someone to install

since opkg files <remotePkg> seem to work just with already installed packages (like fedora rpm -ql <remotePkg>), after reading opkg help page, i tried opkg -A files <remotePkg> but with same result

i know i could install packages temporarily to view files, but i won't install all packages just to view their contents and then uninstall, is boring and could be dirty and risky... the opkg help page is not so clear about it either

any suggestion?... thanks


(seem fedora/redhat/etc have package contents indexed in a file in remote repos)

Why not check the sourcd code? And/or compile everything yourself locally?


You can download the .ipk files and manually see the contents. They are basically just tar.gz files containing deeper tar.gz files containing the actual files.

(I sometimes use winrar in PC to open them)

1 Like

Keep in mind that the only reason for opkg is being small, it won't ever be feature complete compared to apt, yum, dnf, etc. (if it were, it wouldn't have any reason to exist, as OpenWrt could then just switch to dpkg+apt and be done with it).

@Ramon: have you seen the source code online? ... maybe i had bad luck, but the online source code i seen are just scripts to download and build .ipkg files locally, very criptic (and small, as @slh said)

@hnyman: do you mean with opkg download <pkg>?, i thought is possible, but still a little laborious ... imagine the process with many large files... i am really asking for a method to skip having to download whole files just to view the content list, and just get the list instead if available :slight_smile: ... many devices have not even enough space to do it

anyway, IF this package content list were generated at compile time (maybe you have some automated online package build task on the git repo) that will relieve the devices to have to download packages and do it locally (as @hnyman say) anytime opkg -A files <pkg> is run, for example

I meant downloading them with browser (or whatever) to your PC.

It isn't available anywhere...
...except in the package file itself.

there is no .ipkg package files to download... just Makefile 's to build them locally inside running instances of opkg .... see some examples:

.... additionally, i found there are many msmtp packages, but just one Makefile to build all of them.. so, how the heck if i type opkg install msmtp-queue the system knows how to download and build the package?, because there is not even any msmtp-queue source directory tree... how opkg is able to locate and run the right makefile?, is by the package name prefix?

... but anyway, how opkg guess the source tree category?, i still think there must be an online package index... why not to complement that already existing online package index?.. i will change the post title to present as a suggestion

Yeah, not in the source repo, but in the download site...


msmtp-mta_1.8.19-1_mips_24kc.ipk	1.1 KB	Fri Jul 14 13:41:58 2023
msmtp-nossl_1.8.19-1_mips_24kc.ipk	36.0 KB	Fri Jul 14 13:42:19 2023
msmtp-queue_1.8.19-1_mips_24kc.ipk	9.5 KB	Fri Jul 14 13:41:56 2023
msmtp_1.8.19-1_mips_24kc.ipk	39.5 KB	Fri Jul 14 13:41:54 2023

you got me! ... thanks

but still i think to make and online package contents index would be very useful

Your firmware build has an opkg config file that points to the correct download site & directories. The package index is in the download site, and contains the package list and dependency info, but not detailed contents of the (thousands of) packages.