<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>11510</bug_id>
          
          <creation_ts>2017-05-12 18:06:08 +0000</creation_ts>
          <short_desc>Improve the way we handle python&apos;s packaging (autopackaging)</short_desc>
          <delta_ts>2018-01-22 14:16:50 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>devtools / tool chain</component>
          <version>2.4</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>LET</status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>2.5 M2</target_milestone>
          
          <blocked>11694</blocked>
    
    <blocked>11695</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alejandro Hernandez">alejandro.hernandez</reporter>
          <assigned_to name="Ross Burton">ross.burton</assigned_to>
          <cc>jose.perez.carranza</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>73244</commentid>
    <comment_count>0</comment_count>
    <who name="Alejandro Hernandez">alejandro.hernandez</who>
    <bug_when>2017-05-12 18:06:08 +0000</bug_when>
    <thetext>Improve the way we handle python packaging:

Manifest file is created by a script, on which we specify the &quot;parts&quot; or files from upstream python that should be installed for a certain python package.

Problems:
   - Unorganized (Hard to read)
   - Lots of new bugs
   - Impossible to know if the required files for a certain package have changed (more or less dependencies), or for new packages unless we install and test them all one by one, and even then we wouldn&apos;t know if they require less dependencies.

Goals:
   - New format for manifest file (JSON)
   - Make it work on top of “testimage” so its created correctly and automagically</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74422</commentid>
    <comment_count>1</comment_count>
    <who name="Alejandro Hernandez">alejandro.hernandez</who>
    <bug_when>2017-06-20 23:16:45 +0000</bug_when>
    <thetext>This will broken up into three bugs:

This one:
Will create a new manifest file (JSON), on which all packages specify what modules and files they require, this is basically just a replacement of the manifest we use at the moment with a more organized one, since it will include a script to &quot;convert&quot; the new manifest to the old one so bitbake can still parse it the same way.

Second bug/enchancement:
This one will handle the part on which packages are parsed, this should be done via python, by reading the JSON manifest file directly, and modifying bitbake&apos;s dictionary on the go.

Up to this point, the manifest replacement will be complete, but other than it being more organized and having got rid of the script to create it (confusing), it will still have the same other problems stated above.

Third bug/enhancement:
This one will create a test which may be run on top of testimage, that will check every python package to see specifically which modules it needs, and will create a manifest file (JSON) automatically which can be used to replace the current file, this can be run either on every release or when adding a new package if one is lazy enough to not check the modules the new package needs to work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76215</commentid>
    <comment_count>2</comment_count>
    <who name="Alejandro Hernandez">alejandro.hernandez</who>
    <bug_when>2017-08-28 21:45:34 +0000</bug_when>
    <thetext>Done, but moving to 2.5 per Richard&apos;s request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79179</commentid>
    <comment_count>3</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2018-01-22 14:16:50 +0000</bug_when>
    <thetext>Fixed in oe-core 3328211afdef8ffb00dd4dff1143959d5412b075.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>