No subject

Thu Jun 25 05:52:11 EDT 2020

staging tree, only the files that are needed at runtime on the
target system are bundled in a package (.ipk file).

Files needed to build other packages (e.g. include files and/or
libraries, in case of a library package) are not bundled in some
kind of "devel" package, like in some other packaging/build systems,
but have to be used directly from the staging tree.  Is this correct?

This means that, in order to compile a package X (either a new package
or an update of an existing package), all the build dependencies of X
(say Y and Z) first have to be compiled (and thus will be installed in
the staging tree), so that the X finds the necessary files of Y and Z
during its compilation.

Wouldn't it be a better idea to bundle all files of a package (if any)
needed to build other packages in some extra "devel" package, that
will be (automatically) installed in (a copy of) the staging tree when
needed (i.e. when listed as build depedency)?  In that case there is
no need to recompile any dependency packages, which may also cause
differences in the resulting binaries, due to the exact contents of
the staging tree, the used build tools/environment etc.

Due to the cross-compile environment, it is a more difficult problem
than the mock/chroot solution in the rpm-world, but even this could
maybe be covered by providing something like a Docker SDK container?

I'm interested in the opinions of the OpenWRT developers about this.


--    Jos Vos <jos at>
--    X/OS Experts in Open Systems BV   |   Phone: +31 20 6938364
--    Amsterdam, The Netherlands        |     Fax: +31 20 6948204
openwrt-devel mailing list
openwrt-devel at

More information about the openwrt-devel mailing list