diff options
| author | Andreas Oberritter <obi@opendreambox.org> | 2015-03-24 09:50:08 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-03-25 12:39:45 +0000 |
| commit | 14098e37c8e5dcd2e22c067706638ed9c530a3b0 (patch) | |
| tree | eee3391782deea89b6cc92cab0d58ce377e68a1e | |
| parent | d2690754febcaff134de2085294af4561c1d9214 (diff) | |
| download | poky-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>
| -rw-r--r-- | meta/lib/oe/package_manager.py | 28 |
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 | ||
| 171 | class DpkgIndexer(Indexer): | 171 | class 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() |
