On Wed, Jul 17, 2019 at 05:17:30PM +0300, Adrian Ratiu wrote: > On Wed, 17 Jul 2019, Martin Jansa <martin.ja...@gmail.com> wrote: > > On Wed, Jul 17, 2019 at 02:52:21PM +0300, Adrian Ratiu wrote: > >> Hi On Wed, 17 Jul 2019, Martin Jansa <martin.ja...@gmail.com> > >> wrote: > >> > Why don't you overwrite it with an override? We're doing that > >> > for years without any issues. > >> You mean a distro-wide override in a .conf? > > > > yes > > > >> Can you please point to an example? > > > > https://github.com/webosose/meta-webosose/blob/master/meta-webos/conf/distro/include/webos.inc#L256 > > > > Thanks, I didn't know about the _forcevariable override. > > Is using _forcevariable the preferred method to do this though > instead of using ??= ? > > The reference manual says it's not recommended and a "worst case" > solution...
You can use any other override from OVERRIDES variables which covers all cases you want to cover. I was using ${DISTRO} before, but switched to forcevariable later, because I needed to cover more DISTROs at the same time. https://github.com/openwebos/meta-webos/commit/8c79f89fac09364e5ce494ee5fab133e7734583f#diff-e2b7938279c801074fb285c60acf2228 forcevariable is OK as long as you know what you're doing, if your distro really enforces different OPKGLIBDIR for good reason, then the users probably won't ever need to override it again locally. Using ??= for every variable, just because someone somewhere might prefer different value doesn't look much better IMHO. Cheers, > > > >> > On Wed, Jul 17, 2019 at 12:01 AM Adrian Ratiu > >> > <adrian.ra...@collabora.com> > >> > wrote: > >> > > >> >> Some distributions for various reasons (like for example mounting a > >> >> tmpfs over /var at runtime) can't use /var/lib to store the opkg > >> >> metadata, so a different path is required to have a functioning > >> >> package manager. > >> >> > >> >> ${localstatedir} can't be modified to something other than the > >> >> hardcoded value in bitbake.conf because other recipes depending on it > >> >> will fail to install. > >> >> > >> >> So the only recourse, which is also the least invasive, is to allow > >> >> distros to overwrite the OPKGLIBDIR variable just like they are also > >> >> allowed to overwrite OPKGBUILDCMD. > >> >> > >> >> Signed-off-by: Adrian Ratiu <adrian.ra...@collabora.com> > >> >> --- > >> >> meta/classes/package_ipk.bbclass | 2 +- > >> >> meta/classes/rootfs_ipk.bbclass | 2 +- > >> >> meta/recipes-devtools/opkg/opkg_0.4.1.bb | 2 +- > >> >> 3 files changed, 3 insertions(+), 3 deletions(-) > >> >> > >> >> diff --git a/meta/classes/package_ipk.bbclass > >> >> b/meta/classes/package_ipk.bbclass > >> >> index d1b317b42b..9f9da2f91d 100644 > >> >> --- a/meta/classes/package_ipk.bbclass > >> >> +++ b/meta/classes/package_ipk.bbclass > >> >> @@ -14,7 +14,7 @@ OPKG_ARGS += "--force_postinstall > >> >> --prefer-arch-to-version" > >> >> OPKG_ARGS += "${@['', > >> >> '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS") == "1"]}" > >> >> OPKG_ARGS += "${@['', '--add-exclude ' + ' --add-exclude > >> >> '.join((d.getVar('PACKAGE_EXCLUDE') or > >> >> "").split())][(d.getVar("PACKAGE_EXCLUDE") or "").strip() != ""]}" > >> >> > >> >> -OPKGLIBDIR = "${localstatedir}/lib" > >> >> +OPKGLIBDIR ??= "${localstatedir}/lib" > >> >> > >> >> python do_package_ipk () { > >> >> workdir = d.getVar('WORKDIR') > >> >> diff --git a/meta/classes/rootfs_ipk.bbclass > >> >> b/meta/classes/rootfs_ipk.bbclass > >> >> index aabc370cfc..e73d2bfdae 100644 > >> >> --- a/meta/classes/rootfs_ipk.bbclass > >> >> +++ b/meta/classes/rootfs_ipk.bbclass > >> >> @@ -21,7 +21,7 @@ OPKG_PREPROCESS_COMMANDS = "" > >> >> > >> >> OPKG_POSTPROCESS_COMMANDS = "" > >> >> > >> >> -OPKGLIBDIR = "${localstatedir}/lib" > >> >> +OPKGLIBDIR ??= "${localstatedir}/lib" > >> >> > >> >> MULTILIBRE_ALLOW_REP = "${OPKGLIBDIR}/opkg|/usr/lib/opkg" > >> >> > >> >> diff --git a/meta/recipes-devtools/opkg/opkg_0.4.1.bb > >> >> b/meta/recipes-devtools/opkg/opkg_0.4.1.bb > >> >> index 8c48d3097c..c663eff13b 100644 > >> >> --- a/meta/recipes-devtools/opkg/opkg_0.4.1.bb > >> >> +++ b/meta/recipes-devtools/opkg/opkg_0.4.1.bb > >> >> @@ -28,7 +28,7 @@ PACKAGES =+ "libopkg" > >> >> inherit autotools pkgconfig systemd ptest > >> >> > >> >> target_localstatedir := "${localstatedir}" > >> >> -OPKGLIBDIR = "${target_localstatedir}/lib" > >> >> +OPKGLIBDIR ??= "${target_localstatedir}/lib" > >> >> > >> >> PACKAGECONFIG ??= "libsolv" > >> >> > >> >> -- > >> >> 2.22.0 > >> >> > >> >> -- > >> >> _______________________________________________ > >> >> Openembedded-core mailing list > >> >> Openembedded-core@lists.openembedded.org > >> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core > >> >> > > > > -- > > Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com
signature.asc
Description: Digital signature
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core