OpenWrt Forum Archive

Topic: adding LuCI to the custom built image

The content of this topic has been archived on 14 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I am currently trying to add LuCI to my custom build. Normally I build OpenBuilder configuration with all packages. Wiki suggests to use metapackage "luci" or "luci-ssl". When looking at luci.index in feeds for luci-ssl it says:

Package: luci-ssl
Submenu: Collections
Version: 1
Depends: +uhttpd +uhttpd-mod-tls +px5g +luci-mod-admin-full +luci-theme-openwrt +luci-app-firewall +libiwinfo
Menu-Depends:
Provides:
Build-Depends: lua/host
Section: luci
Category: LuCI
Title: Standard OpenWrt set with HTTPS support
Maintainer: LuCI Development Team <luci@lists.subsignal.org>
Source: luci-.tar.gz
Type: ipkg
Description: Standard OpenWrt set with HTTPS support
http://luci.subsignal.org/
LuCI Development Team <luci@lists.subsignal.org>
@@

but when I try to install it (for build)

risa@core-i3 ~/openwrt/openwrt $ scripts/feeds install luci-ssl
Installing package 'luci'
Installing package 'olsrd'
Installing package 'freifunk-watchdog'
Installing package 'freifunk-gwcheck'
Installing package 'freifunk-mapupdate'
Installing package 'freifunk-firewall'
Installing package 'freifunk-common'
Installing package 'community-profiles'
Installing package 'freifunk-policyrouting'
Installing package 'meshwizard'
Installing package 'collectd'
Installing package 'curl'
Installing package 'gettext'
Installing package 'libiconv'
Installing package 'libxml2'
Installing package 'libdbi'
Installing package 'mysql'
Installing package 'uclibc++'
Installing package 'libmodbus'
Installing package 'owfs'
Installing package 'libusb'
Installing package 'liboping'
Installing package 'postgresql'
Installing package 'coreutils'
Installing package 'rrdtool-1.0.x'
Installing package 'lm-sensors'
Installing package 'sysfsutils'
Installing package 'perl'
Installing package 'db47'
Installing package 'gdbm'
Installing package 'net-snmp'
Installing package 'libelf'
Installing package 'smap'
Installing package 'netdiscover'
Installing package 'libnet-1.1.x'
Installing package 'mac-to-devinfo'
Installing package 'httping'
Installing package 'miniupnpd'
Installing package 'ntpclient'
Installing package 'ddns-scripts'
Installing package 'samba3'
Installing package 'p910nd'
Installing package 'ushare'
Installing package 'libdlna'
Installing package 'ffmpeg'
Installing package 'libupnp'
Installing package 'hd-idle'
Installing package 'tinyproxy'
Installing package 'polipo'
Installing package 'openvpn'
Installing package 'lzo'
Installing package 'freifunk-p2pblock'
Installing package 'xtables-addons'
Installing package 'l7-protocols'
Installing package 'multiwan'
WARNING: No feed for package 'iptables-utils' found, maybe it's already part of the standard packages?
Installing package 'etherwake'
Installing package 'vnstat'
Installing package 'gd'
Installing package 'jpeg'
Installing package 'libpng'
Installing package 'radvd'
Installing package 'ahcpd'
Installing package 'iwinfo'

which is scary and basically useless, because most of it I do not want/need (and even cannot build).
I wonder, what is the best method to add LuCI to build, so it uses only "standard" OpenWRT apps and packages?

Above you are installing the feeds, BEFORE compilation, you are not installing packages onto the image file.

Read all three articles about OpenWrt Buildroot - About.

How is this a developer issue? This is the wrong sub-forum.

Yes, I am installing feeds. I did not claim anything else.
Why did I post here and not into General Forum? Because it asks about feeds and package dependency in them, something I think is related more to development than to general configuration.
What is the problem?
Maybe there is no problem, maybe it is just me not knowing how to do it.

Wiki page here: http://wiki.openwrt.org/doc/howto/luci.essentials explicitly names luci packages which are used in OpenWRT build.
I assumed there might be then some mechanism to include those (and only those) packages into build.
But whenever I try to "install" luci, luci-ssl, or even some specific package (e.g. luci-mod-admin-full) it automatically installs all the packages I already mentioned above, like mysql, postgres, radvd, etc.

So I am asking, if there is possibility to install feeds only for packages which are mentioned on the wiki page, without the additional stuff. If not and I need to install manually individual packages, then I wonder which ones, because for example already mentioned luci-mod-admin-full imports everything.

(Last edited by risa2000 on 2 Oct 2011, 11:29)

Those are build dependencies, they're always installed because they might be needed by a component. That does not mean that thy must be built though, but the buildroot cannot figure it out in advance, therfore it installs all referenced feed packages regardless of whether they're needed or not.

OK, lets imagine I want to build LuCI with only packages described on wiki (http://wiki.openwrt.org/doc/howto/luci.essentials).
Which feeds should I install?
Taking into account I do not want to install feeds for mysql, postgres, radvd, etc., because I do not need them. In fact I do not need most of the packages which are imported with luci or luci-ssl. For the others, I do not even know what they do, so I would rather stick to the documented list. The reason why I do not want them install is that I do not want them to be shown in config file, so I do not have to manage them there.

Thats not possible without patching LuCI. All those single packages are really just one big Makefile which defines a few dozens of components. The buildroot aggregates all build dependencies of all packages defined within a single source package. So your only choice here is to patch the LuCI Makefile to strip out all unneeded components.

jow, thanks for the explanation. I was afraid it might be the case smile. So it seems, I need to dig into config file and deselect all the abundant stuff.

Might I ask, why you want to do that? Don't you have enough hard disc space?

Orca, have you tried it yourself? I have tried to add luci-ssl and then configure it in config file, but gave up. There are too many things added by this metapackage (libraries, applications, etc.) and I had no idea which I could remove and which I should not, because the dependency is difficult to track.
I cannot build all the packages (some of them are pretty big, like perl, mysql, postgres, samba) just for the sake of building them. It takes quite a lot of time and some of them do not build at all.

I have no idea how do you manage.

Orca, if you build luci (or luci-ssl) with ImageBuilder, which feeds do you install?

risa2000 wrote:

Orca, if you build luci (or luci-ssl) with ImageBuilder, which feeds do you install?

The ImageBuilder is now called ImageGenerator and it does not build (=compile!) anything. The ImageGenerator merely creates an OpenWrt image file out of the precompiled and then pre-packeted opkg packages. These opkg-packages are the same as those in the repository, but because you utilize the ImageGenerator, you put them onto the SquashFS-partition instead if installing them onto the JFFS2-partition. That is what you want, right?

FEEDS have to do with the source code. One feed comprises of the source code for one or for several packages, that are (not necessarily) maintained at OpenWrt!
http://wiki.openwrt.org/doc/devel/feeds

And please read the rest of the wiki.

Orca, I believe you misunderstood what I need. I am actually building ImageBuilder with my (custom) build. By ImageBuilder I mean file 'OpenWrt-ImageBuilder-ar71xx-for-Linux-x86_64.tar.bz2' . I have been doing it for years. Now I wanted to add luci to this build, which means installing additional packages from feeds.

When I run what is suggested in wiki (you posted) http://wiki.openwrt.org/doc/devel/feeds, I got exactly same result as I already mentioned in my original post - all packages are installed.

nice topic

risa2000 wrote:

Orca, I believe you misunderstood what I need. I am actually building ImageBuilder with my (custom) build. By ImageBuilder I mean file 'OpenWrt-ImageBuilder-ar71xx-for-Linux-x86_64.tar.bz2' . I have been doing it for years. Now I wanted to add luci to this build, which means installing additional packages from feeds.

When I run what is suggested in wiki (you posted) http://wiki.openwrt.org/doc/devel/feeds, I got exactly same result as I already mentioned in my original post - all packages are installed.

Ahhhhh, I truly did misunderstand you! Well then, no idea.

Doesn't jow's posting answer your question: https://forum.openwrt.org/viewtopic.php … 50#p144950

The discussion might have continued from here.