瀏覽代碼

opkg/package/rootfs_ipk: allow overwriting OPKGLIBDIR

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.ratiu@collabora.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adrian Ratiu 4 年之前
父節點
當前提交
81eae383c2
共有 3 個文件被更改,包括 3 次插入3 次删除
  1. 1 1
      meta/classes/package_ipk.bbclass
  2. 1 1
      meta/classes/rootfs_ipk.bbclass
  3. 1 1
      meta/recipes-devtools/opkg/opkg_0.4.1.bb

+ 1 - 1
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')

+ 1 - 1
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"
 

+ 1 - 1
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"