<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">&lt;<a href="mailto:obi@opendreambox.org" target="_blank">obi@opendreambox.org</a>&gt;</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 &lt;<a href="mailto:obi@opendreambox.org">obi@opendreambox.org</a>&gt;<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>
-    &quot;&quot;&quot;<br>
-    This function will change a package&#39;s status in /var/lib/dpkg/status file.<br>
-    If &#39;packages&#39; is None then the new_status will be applied to all<br>
-    packages<br>
-    &quot;&quot;&quot;<br>
-    def mark_packages(self, status_tag, packages=None):<br>
-        status_file = self.target_rootfs + &quot;/var/lib/dpkg/status&quot;<br>
-<br>
-        with open(status_file, &quot;r&quot;) as sf:<br>
-            with open(status_file + &quot;.tmp&quot;, &quot;w+&quot;) as tmp_sf:<br>
-                if packages is None:<br>
-                    tmp_sf.write(re.sub(r&quot;Package: (.*?)\n((?:[^\n]+\n)*?)Status: (.*)(?:unpacked|installed)&quot;,<br>
-                                        r&quot;Package: \1\n\2Status: \3%s&quot; % status_tag,<br>
-                                        sf.read()))<br>
-                else:<br>
-                    if type(packages).__name__ != &quot;list&quot;:<br>
-                        raise TypeError(&quot;&#39;packages&#39; should be a list object&quot;)<br>
-<br>
-                    status = sf.read()<br>
-                    for pkg in packages:<br>
-                        status = re.sub(r&quot;Package: %s\n((?:[^\n]+\n)*?)Status: (.*)(?:unpacked|installed)&quot; % pkg,<br>
-                                        r&quot;Package: %s\n\1Status: \2%s&quot; % (pkg, status_tag),<br>
-                                        status)<br>
-<br>
-                    tmp_sf.write(status)<br>
-<br>
-        os.rename(status_file + &quot;.tmp&quot;, status_file)<br>
-<br>
-    &quot;&quot;&quot;<br>
-    Run the pre/post installs for package &quot;package_name&quot;. If package_name is<br>
-    None, then run all pre/post install scriptlets.<br>
-    &quot;&quot;&quot;<br>
-    def run_pre_post_installs(self, package_name=None):<br>
-        info_dir = self.target_rootfs + &quot;/var/lib/dpkg/info&quot;<br>
-        ControlScript = collections.namedtuple(&quot;<wbr>ControlScript&quot;, [&quot;suffix&quot;, &quot;name&quot;, &quot;argument&quot;])<br>
-        control_scripts = [<br>
-                ControlScript(&quot;.preinst&quot;, &quot;Preinstall&quot;, &quot;install&quot;),<br>
-                ControlScript(&quot;.postinst&quot;, &quot;Postinstall&quot;, &quot;configure&quot;)]<br>
-        status_file = self.target_rootfs + &quot;/var/lib/dpkg/status&quot;<br>
-        installed_pkgs = []<br>
-<br>
-        with open(status_file, &quot;r&quot;) as status:<br>
-            for line in status.read().split(&#39;\n&#39;):<br>
-                m = re.match(&quot;^Package: (.*)&quot;, 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[&#39;D&#39;] = self.target_rootfs<br>
-        os.environ[&#39;OFFLINE_ROOT&#39;] = self.target_rootfs<br>
-        os.environ[&#39;IPKG_OFFLINE_ROOT&#39;<wbr>] = self.target_rootfs<br>
-        os.environ[&#39;OPKG_OFFLINE_ROOT&#39;<wbr>] = self.target_rootfs<br>
-        os.environ[&#39;INTERCEPT_DIR&#39;] = os.path.join(self.d.getVar(&#39;<wbr>WORKDIR&#39;, True),<br>
-                                                   &quot;intercept_scripts&quot;)<br>
-        os.environ[&#39;NATIVE_ROOT&#39;] = self.d.getVar(&#39;STAGING_DIR_<wbr>NATIVE&#39;, 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(&quot;Executing %s for package: %s ...&quot; %<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(&quot;%s for package %s failed with %d:\n%s&quot; %<br>
-                                (<a href="http://control_script.name" rel="noreferrer" target="_blank">control_script.name</a>, pkg_name, e.returncode,<br>
-                                    e.output.decode(&quot;utf-8&quot;)))<br>
-                        failed_pkgs.append(pkg_name)<br>
-                        break<br>
-<br>
-        if len(failed_pkgs):<br>
-            self.mark_packages(&quot;unpacked&quot;, failed_pkgs)<br>
-<br>
     def update(self):<br>
         os.environ[&#39;APT_CONFIG&#39;] = self.apt_conf_file<br>
<br>
@@ -2058,6 +1980,14 @@ class DpkgPM(OpkgDpkgPM):<br>
<br>
         os.environ[&#39;APT_CONFIG&#39;] = self.apt_conf_file<br>
<br>
+        os.environ[&#39;D&#39;] = self.target_rootfs<br>
+        os.environ[&#39;OFFLINE_ROOT&#39;] = self.target_rootfs<br>
+        os.environ[&#39;IPKG_OFFLINE_ROOT&#39;<wbr>] = self.target_rootfs<br>
+        os.environ[&#39;OPKG_OFFLINE_ROOT&#39;<wbr>] = self.target_rootfs<br>
+        os.environ[&#39;INTERCEPT_DIR&#39;] = os.path.join(self.d.getVar(&#39;<wbr>WORKDIR&#39;, True),<br>
+                                                   &quot;intercept_scripts&quot;)<br>
+        os.environ[&#39;NATIVE_ROOT&#39;] = self.d.getVar(&#39;STAGING_DIR_<wbr>NATIVE&#39;, True)<br>
+<br>
         cmd = &quot;%s %s install --force-yes --allow-unauthenticated %s&quot; % \<br>
               (self.apt_get_cmd, self.apt_args, &#39; &#39;.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(&quot;<wbr>installed&quot;)<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(&quot;<wbr>unpacked&quot;, 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>