Hi, Some questions/remarks about the OpenWRT package build philospophy, from someone looking at it from the rpm/mock "world":
>From what I see, after compiling a package and installing it in the 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. Regards, -- -- Jos Vos <[email protected]> -- X/OS Experts in Open Systems BV | Phone: +31 20 6938364 -- Amsterdam, The Netherlands | Fax: +31 20 6948204 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
