summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
authorAndreas Oberritter <obi@opendreambox.org>2015-03-24 09:50:08 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-03-25 12:39:45 +0000
commit14098e37c8e5dcd2e22c067706638ed9c530a3b0 (patch)
treeeee3391782deea89b6cc92cab0d58ce377e68a1e /meta/lib
parentd2690754febcaff134de2085294af4561c1d9214 (diff)
downloadpoky-14098e37c8e5dcd2e22c067706638ed9c530a3b0.tar.gz
package_deb: DpkgIndexer use apt-ftparchive that needs a valid config
Since we have support of log checking in deb/ipk [1] rootfs generation in non Debian-based hosts fails because apt-ftparchive generates a Warning when not find /etc/apt/apt.conf.d/ (available in Debian-based hosts). package_manager.py: DpkgPMIndexer add support for generate and export apt configuration. [1] http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=86aec93902af2e2d7d73ca9a643707fcca45055c (From OE-Core rev: 331a7bbb1cd6781c93644a378d340deddcdb8bd2) Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oe/package_manager.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index c9a8084bf2..743c7cb496 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -169,7 +169,35 @@ class OpkgIndexer(Indexer):
169 169
170 170
171class DpkgIndexer(Indexer): 171class DpkgIndexer(Indexer):
172 def _create_configs(self):
173 bb.utils.mkdirhier(self.apt_conf_dir)
174 bb.utils.mkdirhier(os.path.join(self.apt_conf_dir, "lists", "partial"))
175 bb.utils.mkdirhier(os.path.join(self.apt_conf_dir, "apt.conf.d"))
176 bb.utils.mkdirhier(os.path.join(self.apt_conf_dir, "preferences.d"))
177
178 with open(os.path.join(self.apt_conf_dir, "preferences"),
179 "w") as prefs_file:
180 pass
181 with open(os.path.join(self.apt_conf_dir, "sources.list"),
182 "w+") as sources_file:
183 pass
184
185 with open(self.apt_conf_file, "w") as apt_conf:
186 with open(os.path.join(self.d.expand("${STAGING_ETCDIR_NATIVE}"),
187 "apt", "apt.conf.sample")) as apt_conf_sample:
188 for line in apt_conf_sample.read().split("\n"):
189 line = re.sub("#ROOTFS#", "/dev/null", line)
190 line = re.sub("#APTCONF#", self.apt_conf_dir, line)
191 apt_conf.write(line + "\n")
192
172 def write_index(self): 193 def write_index(self):
194 self.apt_conf_dir = os.path.join(self.d.expand("${APTCONF_TARGET}"),
195 "apt-ftparchive")
196 self.apt_conf_file = os.path.join(self.apt_conf_dir, "apt.conf")
197 self._create_configs()
198
199 os.environ['APT_CONFIG'] = self.apt_conf_file
200
173 pkg_archs = self.d.getVar('PACKAGE_ARCHS', True) 201 pkg_archs = self.d.getVar('PACKAGE_ARCHS', True)
174 if pkg_archs is not None: 202 if pkg_archs is not None:
175 arch_list = pkg_archs.split() 203 arch_list = pkg_archs.split()