package_manager.py: respect OPKGLIBDIR
* respect it for incremental rootfs generation * add lists_dir option to opkg.conf * also fix setting info_dir and status_file when they use default value, the problem is that self.opkg_dir is already prefixed with rootfs directory, comparing it with /var/lib/opkg always returned false and the options were appended to config file unnecessary * with opkg 0.3.4 we can use VARDIR prefix added in: commit d2a8e23dc669adc398f4bb8bcfcabfcf925708f7 Author: Florin Gherendi <floring2502@gmail.com> Date: Mon Dec 19 12:25:38 2016 +0200 libopkg: make the /var and /etc directories configurable at compile time. (From OE-Core rev: b14c11d062872c3dcf95e03b61017005dea5b754) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
da8369b670
commit
fcbad38193
|
@ -946,13 +946,15 @@ class OpkgPM(OpkgDpkgPM):
|
|||
self.d.getVar('FEED_DEPLOYDIR_BASE_URI'),
|
||||
arch))
|
||||
|
||||
if self.opkg_dir != '/var/lib/opkg':
|
||||
if self.d.getVar('OPKGLIBDIR') != '/var/lib':
|
||||
# There is no command line option for this anymore, we need to add
|
||||
# info_dir and status_file to config file, if OPKGLIBDIR doesn't have
|
||||
# the default value of "/var/lib" as defined in opkg:
|
||||
# libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_INFO_DIR "/var/lib/opkg/info"
|
||||
# libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_STATUS_FILE "/var/lib/opkg/status"
|
||||
# libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_LISTS_DIR VARDIR "/lib/opkg/lists"
|
||||
# libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_INFO_DIR VARDIR "/lib/opkg/info"
|
||||
# libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_STATUS_FILE VARDIR "/lib/opkg/status"
|
||||
cfg_file.write("option info_dir %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'info'))
|
||||
cfg_file.write("option lists_dir %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'lists'))
|
||||
cfg_file.write("option status_file %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'status'))
|
||||
|
||||
|
||||
|
@ -971,13 +973,15 @@ class OpkgPM(OpkgDpkgPM):
|
|||
config_file.write("src oe-%s file:%s\n" %
|
||||
(arch, pkgs_dir))
|
||||
|
||||
if self.opkg_dir != '/var/lib/opkg':
|
||||
if self.d.getVar('OPKGLIBDIR') != '/var/lib':
|
||||
# There is no command line option for this anymore, we need to add
|
||||
# info_dir and status_file to config file, if OPKGLIBDIR doesn't have
|
||||
# the default value of "/var/lib" as defined in opkg:
|
||||
# libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_INFO_DIR "/var/lib/opkg/info"
|
||||
# libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_STATUS_FILE "/var/lib/opkg/status"
|
||||
# libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_LISTS_DIR VARDIR "/lib/opkg/lists"
|
||||
# libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_INFO_DIR VARDIR "/lib/opkg/info"
|
||||
# libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_STATUS_FILE VARDIR "/lib/opkg/status"
|
||||
config_file.write("option info_dir %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'info'))
|
||||
config_file.write("option lists_dir %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'lists'))
|
||||
config_file.write("option status_file %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'status'))
|
||||
|
||||
def insert_feeds_uris(self, feed_uris, feed_base_paths, feed_archs):
|
||||
|
@ -1133,7 +1137,10 @@ class OpkgPM(OpkgDpkgPM):
|
|||
|
||||
# Create an temp dir as opkg root for dummy installation
|
||||
temp_rootfs = self.d.expand('${T}/opkg')
|
||||
temp_opkg_dir = os.path.join(temp_rootfs, 'var/lib/opkg')
|
||||
opkg_lib_dir = self.d.getVar('OPKGLIBDIR', True)
|
||||
if opkg_lib_dir[0] == "/":
|
||||
opkg_lib_dir = opkg_lib_dir[1:]
|
||||
temp_opkg_dir = os.path.join(temp_rootfs, opkg_lib_dir, 'opkg')
|
||||
bb.utils.mkdirhier(temp_opkg_dir)
|
||||
|
||||
opkg_args = "-f %s -o %s " % (self.config_file, temp_rootfs)
|
||||
|
|
Loading…
Reference in New Issue