<div dir="ltr">Can you elaborate on why the old code can be deleted?<div><br></div><div>Ross</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 6 December 2016 at 11:49, Andreas Oberritter <span dir="ltr"><<a href="mailto:obi@opendreambox.org" target="_blank">obi@opendreambox.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Signed-off-by: Andreas Oberritter <<a href="mailto:obi@opendreambox.org">obi@opendreambox.org</a>><br>
---<br>
meta/lib/oe/package_manager.py | 86 ++++--------------------------<wbr>------------<br>
meta/lib/oe/rootfs.py | 6 +--<br>
2 files changed, 9 insertions(+), 83 deletions(-)<br>
<br>
diff --git a/meta/lib/oe/package_manager.<wbr>py b/meta/lib/oe/package_manager.<wbr>py<br>
index 4ef4f6d..12dff20 100644<br>
--- a/meta/lib/oe/package_manager.<wbr>py<br>
+++ b/meta/lib/oe/package_manager.<wbr>py<br>
@@ -1959,84 +1959,6 @@ class DpkgPM(OpkgDpkgPM):<br>
<br>
self.indexer = DpkgIndexer(self.d, self.deploy_dir)<br>
<br>
- """<br>
- This function will change a package's status in /var/lib/dpkg/status file.<br>
- If 'packages' is None then the new_status will be applied to all<br>
- packages<br>
- """<br>
- def mark_packages(self, status_tag, packages=None):<br>
- status_file = self.target_rootfs + "/var/lib/dpkg/status"<br>
-<br>
- with open(status_file, "r") as sf:<br>
- with open(status_file + ".tmp", "w+") as tmp_sf:<br>
- if packages is None:<br>
- tmp_sf.write(re.sub(r"Package: (.*?)\n((?:[^\n]+\n)*?)Status: (.*)(?:unpacked|installed)",<br>
- r"Package: \1\n\2Status: \3%s" % status_tag,<br>
- sf.read()))<br>
- else:<br>
- if type(packages).__name__ != "list":<br>
- raise TypeError("'packages' should be a list object")<br>
-<br>
- status = sf.read()<br>
- for pkg in packages:<br>
- status = re.sub(r"Package: %s\n((?:[^\n]+\n)*?)Status: (.*)(?:unpacked|installed)" % pkg,<br>
- r"Package: %s\n\1Status: \2%s" % (pkg, status_tag),<br>
- status)<br>
-<br>
- tmp_sf.write(status)<br>
-<br>
- os.rename(status_file + ".tmp", status_file)<br>
-<br>
- """<br>
- Run the pre/post installs for package "package_name". If package_name is<br>
- None, then run all pre/post install scriptlets.<br>
- """<br>
- def run_pre_post_installs(self, package_name=None):<br>
- info_dir = self.target_rootfs + "/var/lib/dpkg/info"<br>
- ControlScript = collections.namedtuple("<wbr>ControlScript", ["suffix", "name", "argument"])<br>
- control_scripts = [<br>
- ControlScript(".preinst", "Preinstall", "install"),<br>
- ControlScript(".postinst", "Postinstall", "configure")]<br>
- status_file = self.target_rootfs + "/var/lib/dpkg/status"<br>
- installed_pkgs = []<br>
-<br>
- with open(status_file, "r") as status:<br>
- for line in status.read().split('\n'):<br>
- m = re.match("^Package: (.*)", line)<br>
- if m is not None:<br>
- installed_pkgs.append(m.group(<wbr>1))<br>
-<br>
- if package_name is not None and not package_name in installed_pkgs:<br>
- return<br>
-<br>
- os.environ['D'] = self.target_rootfs<br>
- os.environ['OFFLINE_ROOT'] = self.target_rootfs<br>
- os.environ['IPKG_OFFLINE_ROOT'<wbr>] = self.target_rootfs<br>
- os.environ['OPKG_OFFLINE_ROOT'<wbr>] = self.target_rootfs<br>
- os.environ['INTERCEPT_DIR'] = os.path.join(self.d.getVar('<wbr>WORKDIR', True),<br>
- "intercept_scripts")<br>
- os.environ['NATIVE_ROOT'] = self.d.getVar('STAGING_DIR_<wbr>NATIVE', True)<br>
-<br>
- failed_pkgs = []<br>
- for pkg_name in installed_pkgs:<br>
- for control_script in control_scripts:<br>
- p_full = os.path.join(info_dir, pkg_name + control_script.suffix)<br>
- if os.path.exists(p_full):<br>
- try:<br>
- bb.note("Executing %s for package: %s ..." %<br>
- (control_script.name.lower(), pkg_name))<br>
- subprocess.check_output([p_<wbr>full, control_script.argument],<br>
- stderr=subprocess.STDOUT)<br>
- except subprocess.CalledProcessError as e:<br>
- bb.note("%s for package %s failed with %d:\n%s" %<br>
- (<a href="http://control_script.name" rel="noreferrer" target="_blank">control_script.name</a>, pkg_name, e.returncode,<br>
- e.output.decode("utf-8")))<br>
- failed_pkgs.append(pkg_name)<br>
- break<br>
-<br>
- if len(failed_pkgs):<br>
- self.mark_packages("unpacked", failed_pkgs)<br>
-<br>
def update(self):<br>
os.environ['APT_CONFIG'] = self.apt_conf_file<br>
<br>
@@ -2058,6 +1980,14 @@ class DpkgPM(OpkgDpkgPM):<br>
<br>
os.environ['APT_CONFIG'] = self.apt_conf_file<br>
<br>
+ os.environ['D'] = self.target_rootfs<br>
+ os.environ['OFFLINE_ROOT'] = self.target_rootfs<br>
+ os.environ['IPKG_OFFLINE_ROOT'<wbr>] = self.target_rootfs<br>
+ os.environ['OPKG_OFFLINE_ROOT'<wbr>] = self.target_rootfs<br>
+ os.environ['INTERCEPT_DIR'] = os.path.join(self.d.getVar('<wbr>WORKDIR', True),<br>
+ "intercept_scripts")<br>
+ os.environ['NATIVE_ROOT'] = self.d.getVar('STAGING_DIR_<wbr>NATIVE', True)<br>
+<br>
cmd = "%s %s install --force-yes --allow-unauthenticated %s" % \<br>
(self.apt_get_cmd, self.apt_args, ' '.join(pkgs))<br>
<br>
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py<br>
index a348b97..4c82456 100644<br>
--- a/meta/lib/oe/rootfs.py<br>
+++ b/meta/lib/oe/rootfs.py<br>
@@ -685,10 +685,6 @@ class DpkgRootfs(DpkgOpkgRootfs):<br>
<br>
self.pm.fix_broken_<wbr>dependencies()<br>
<br>
- self.pm.mark_packages("<wbr>installed")<br>
-<br>
- self.pm.run_pre_post_installs(<wbr>)<br>
-<br>
execute_pre_post_process(self.<wbr>d, deb_post_process_cmds)<br>
<br>
if self.progress_reporter:<br>
@@ -708,7 +704,7 @@ class DpkgRootfs(DpkgOpkgRootfs):<br>
return self._save_postinsts_common(<wbr>dst_postinst_dir, src_postinst_dir)<br>
<br>
def _handle_intercept_failure(<wbr>self, registered_pkgs):<br>
- self.pm.mark_packages("<wbr>unpacked", registered_pkgs.split())<br>
+ pass<br>
<br>
def _log_check(self):<br>
self._log_check_warn()<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.7.4<br>
<br>
--<br>
______________________________<wbr>_________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.<wbr>openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
</font></span></blockquote></div><br></div>