<?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>1592</bug_id>
          
          <creation_ts>2011-10-04 07:18:23 +0000</creation_ts>
          <short_desc>binary package install class</short_desc>
          <delta_ts>2012-09-19 07:13:43 +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>core</component>
          <version>1.3</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.yoctoproject.org/show_bug.cgi?id=2948</see_also>
    
    <see_also>https://bugzilla.yoctoproject.org/show_bug.cgi?id=2949</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>(Patch Review)</status_whiteboard>
          <keywords></keywords>
          <priority>Low</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>1.3 M4</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Richard Purdie">richard.purdie</reporter>
          <assigned_to name="Robert Yang">liezhi.yang</assigned_to>
          <cc>jessica.zhang</cc>
    
    <cc>liang.li2</cc>
    
    <cc>liezhi.yang</cc>
    
    <cc>mark.hatle</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>sgw</cc>
    
    <cc>song.liu</cc>
    
    <cc>zhenfeng.zhao</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>---</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>16648</commentid>
    <comment_count>0</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2011-10-04 07:18:23 +0000</bug_when>
    <thetext>It&apos;s been suggested that it would be a useful feature to be able to easily take an RPM or similar containing a software binary from a 3rd party software vendor and integrate it into an image created by the build system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17054</commentid>
    <comment_count>1</comment_count>
    <who name="Kai Kang">kai.kang</who>
    <bug_when>2011-11-02 20:02:43 +0000</bug_when>
    <thetext>After accept the POSIX test feature, I don&apos;t have time to finish this feature, and Robert has send the letter to declare this about 2 weeks ago.
Transfer to Song. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23912</commentid>
    <comment_count>2</comment_count>
    <who name="Robert Yang">liezhi.yang</who>
    <bug_when>2012-08-09 14:00:14 +0000</bug_when>
    <thetext>Here is the draft design, please feel free to give your comments.

1) User interfaces (Usage)
   Provide 2 variables in the conf files:
   # Specify where are the external binary pkgs:
   EXTERNAL_PACKAGE_DIRS = &quot;dir1 dir2 ...&quot;
   # Specify which pkgs will be installed
   EXTERNAL_INSTALL_PKGS = &quot;pkg1 pkg2 ...&quot;

2) Implementation summary:
   I think that we don&apos;t need a bbclass, modify package_xxx.bbclass and rootfs_xxx.bbclass (xxx is rpm, deb, or ipk) might be better: (Take rpm as an example)
   - Add the directory ${DEPLOY_DIR_RPM}/external, we use an &quot;external&quot; directory since we don&apos;t want the internal pkgs to be mixed, and it would be easy to remove it from the repo.
   - Copy the binary pkgs from ${EXTERNAL_PACKAGE_DIRS} to ${DEPLOY_DIR_RPM}/external, and put the pkgs in the correct arch directory.
   - Modify the package_update_index_rpm_common (and others) to create the repo for the pkgs in the external directory.
   - Add the ${EXTERNAL_INSTALL_PKGS} to INSTALL_PACKAGES_RPM, let the package manager resolve the dependencies and decide how to install it.
   - Do the similar steps to the sdk installation.

I think that split this feature into 3 ones would be better, this one is for rpm, the other 2 are for deb and ipk, each of them needs 5 days (estimation) will finish them in M4. I will split it if you are OK with it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24053</commentid>
    <comment_count>3</comment_count>
    <who name="Robert Yang">liezhi.yang</who>
    <bug_when>2012-08-15 07:47:54 +0000</bug_when>
    <thetext>I&apos;ve changed the design a little:

1) User interfaces (Usage)
# Specify where is the external binary pkg dir
#EXTERNAL_PACKAGE_DIR = &quot;&lt;path1&gt; &lt;path2&gt; ...&quot;
# Specify which pkg will be installed
#EXTERNAL_INSTALL_PACKAGE = &quot;&lt;pkg1&gt; &lt;pkg2&gt; ...&quot;

2) Implementation summary:
   - Add an external_package.bbclass which is used for adding the external pkgs to the repo.
   - Add the directory ${DEPLOY_DIR_RPM}/external, we use an &quot;external&quot; directory since we don&apos;t want the internal pkgs to be mixed, and it would be easy to remove it from the repo.
   - Add the ${EXTERNAL_INSTALL_PACKAGE} to INSTALL_PACKAGES_RPM, let the package manager resolve the dependencies and decide how to install it.
   - Do the similar steps to the sdk installation.

I have split this into 3, this one is for rpm, the other 2 (2948, 2949) are for ipk and deb, the patches for all the 3 will be sent later today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24723</commentid>
    <comment_count>4</comment_count>
    <who name="Robert Yang">liezhi.yang</who>
    <bug_when>2012-09-02 07:40:09 +0000</bug_when>
    <thetext>*** Bug 2948 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24725</commentid>
    <comment_count>5</comment_count>
    <who name="Robert Yang">liezhi.yang</who>
    <bug_when>2012-09-02 07:40:24 +0000</bug_when>
    <thetext>*** Bug 2949 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25007</commentid>
    <comment_count>6</comment_count>
    <who name="Robert Yang">liezhi.yang</who>
    <bug_when>2012-09-11 01:36:52 +0000</bug_when>
    <thetext>Merged into master:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=208ff62db4cf977828f16a906429f857e025a789

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=7d8b49cfe478e82ca0a06095a5b3699c50b34080</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25389</commentid>
    <comment_count>7</comment_count>
    <who name="liang li">liang.li2</who>
    <bug_when>2012-09-19 07:13:43 +0000</bug_when>
    <thetext>Verified on master branch 913944d904266bf90af0cad94b4f0fb3652bd29d</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>