Feature request: in LuCI package manager, distinguish between base distro packages and user installed packages

Often there is a need to quickly find which packages have been installed by the user.
Especially when one package installs a whole bunch of dependencies.

At minimum, it should be possible to quickly distinguish between packages installed in the factory image and those added by the user.

Secondly, it would be to be able to list package in order of date of installation.

This is most pressing when one recently installed package is causing trouble but you're not sure which. It can be easier to just uninstall any recently installed package in reverse order of the date of installation.

1 Like

luci and opkg can't (and shouldn't) know about that, with imagebuilder, asu/ online-imagebuilder or self built images the contents do differ.

I don't see why the system can't write a text file containing the list of package installed on first boot ?

Something like

opkg list-installed | cut -f 1 -d " " > /etc/factory-installed-packages

then luci-app-opkg can refer to this file to distinguish between factory installed and post-install installed packages

I just found this command line from this other thread

This command

ls /overlay/upper/usr/lib/opkg/info/*.list | sed -e 's/.*\///' | sed -e 's/\.list//'

appears to list, at least some of the post-factory installed packages

but it doesn't work on my other openwrt device

I think it really is a basic quality of life feature for a package manage to be able to tell you date of installation of each package and the ability to differentiate for distro packages and user packages

It is a very basic debugging step to "try uninstalling the last couple things you've installed" when a problem arises and I think the package manager should help with that.

The dates don't tell you anything. Try this:

$ opkg install a bunch of stuff
$ auc -y

After the reboot, look in overlay and note there's nothing there, yet you still have all of your "user installed" packages. If you check the install dates on a bunch of stuff, you'll see they are identical to all the base installation files.

There's real difference between packages that just happen to be in an arbitrary .img and ones you opkg install at some later date.

For example, do a fresh install using current SNAPSHOT, which does not contain LuCI. If you opkg install luci, does that make LuCI a user-installed package, or is it part of "base OpenWrt"?