<?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>4079</bug_id>
          
          <creation_ts>2013-03-21 18:56:39 +0000</creation_ts>
          <short_desc>Ability to ignore a package (don&apos;t install a package)</short_desc>
          <delta_ts>2013-10-28 17:19:42 +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>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://git.yoctoproject.org/cgit/cgit.cgi/yocto-docs/commit/?id=a7e2097c43955db99ec068068d4291fc4e1deaf8</bug_file_loc>
          <status_whiteboard>10 Sept 2013: RESOLVED (with doc change)</status_whiteboard>
          <keywords></keywords>
          <priority>High</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>1.5 M4</target_milestone>
          <dependson>5288</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hatle">mark.hatle</reporter>
          <assigned_to name="Mark Hatle">mark.hatle</assigned_to>
          <cc>alexandru.c.georgescu</cc>
    
    <cc>jeff.polk</cc>
    
    <cc>jessica.zhang</cc>
    
    <cc>mark.hatle</cc>
    
    <cc>mark.morton</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>Qi.Chen</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>sgw</cc>
    
    <cc>srifenbark</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Done (doc changes complete)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>31005</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2013-03-21 18:56:39 +0000</bug_when>
    <thetext>I&apos;ve had numerous requests for a simple mechanism to remove a package.

From initial investigation there seem to be two types of packages people want removed:

* ones added explicitly to the system to install, such as via IMAGE_INSTALL.

* ones added by dependencies during the final image install


The solution should be able to address either case, as well be package type independent.

If it&apos;s not possible to remove a package a warning or error should be generated with an explanation of the problem and how a user can resolve that issue.

It might also be useful to &quot;force&quot; remove a package (in the dependency case), ignoring dependencies -- even if this results in a potentially broken filesystem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34186</commentid>
    <comment_count>1</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2013-06-27 14:37:45 +0000</bug_when>
    <thetext>*** Bug 4184 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34187</commentid>
    <comment_count>2</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2013-06-27 14:39:36 +0000</bug_when>
    <thetext>Paul,

Please help with the design so WR PRC team help on the impl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34188</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2013-06-27 14:47:23 +0000</bug_when>
    <thetext>Jeff Polk will be leading the development effort inside of Wind River.  We have some preliminary thoughts on design, but we&apos;re still trying to figure out if any of the items are reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34618</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2013-07-16 17:29:47 +0000</bug_when>
    <thetext>This is not deployment, but image generation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35512</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2013-08-08 17:41:21 +0000</bug_when>
    <thetext>Changing the title to better reflect what is being requested.

We really want to avoid installing a package (and anything that depends on that package -- within reason.)

For instance, someone should be able to say ignore &apos;perl&apos;, and avoid perl and it&apos;s who subsystem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35675</commentid>
    <comment_count>6</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2013-08-15 14:52:13 +0000</bug_when>
    <thetext>Mark and I have been discussing this, and that will almost certainly continue, but the implementation work so far has been done by him, so assigning to him - hope that&apos;s OK Mark :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35678</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2013-08-15 15:58:13 +0000</bug_when>
    <thetext>Paul -- fine with me.  :)

Code sent to oe-core for review/pull.

http://lists.openembedded.org/pipermail/openembedded-core/2013-August/082683.html



Note, the above implements the ability to prevent specify packages from ending up in the resulting filesystem.  In the case where someone may want to remove a package that was installed.  Using a suitable post-install script is the best answer and is NOT part of the implementation of this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36054</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2013-08-29 17:18:54 +0000</bug_when>
    <thetext>oe-core commits:

6d7f5581bbfaf174edb77d92846e720e8057481c
63c61b7c0c8aeb89661e3bb85e281dd1ef5b618c
e36c9947c82be034133a27db6e0f7a769daeb185
86a30a88cf89ed97c372c391169f4ae243c89fd2
42b115b6d65c8205acb77b96db481f3e5172266b
2db14eaa0fcc080bc20fa9da985ffc05c3b21e2a
0341bfa886ea851f5a394051545b4e624d8003dd
6fd8141bbdcd84c591149d84ad84effc2357de72
238c46c03d0d9c35523c78b94bfebb57904bac5a
87660d636c2ebe76cd9dff2a334f135def9a0cf3
208d4d5ef7c5ead35dc27b7808f92ed377377aa4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36506</commentid>
    <comment_count>9</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2013-09-10 22:19:56 +0000</bug_when>
    <thetext>Hi, 

I have added stuff to the documentation to cover the &quot;Yes (doc changes required)&quot; aspect of this feature.  The bug was already marked &quot;RESOLVED&quot; and is assigned to Mark so I am not sure how to handle the flow of the bug now.  So, I am keeping it marked as &quot;RESOLVED&quot; but changing the &quot;Documentation change&quot; field to say &quot;Done (doc changes complete).  This flow doesn&apos;t really account for a chance to review the doc changes that I have put in to complete work.

Here are the sections added or changed in the manual:

http://www.yoctoproject.org/docs/1.5/dev-manual/dev-manual.html#excluding-packages-from-an-image - A new section in the dev-manual overviewing how to exclude installation of a package.

http://www.yoctoproject.org/docs/1.5/ref-manual/ref-manual.html#var-BAD_RECOMMENDATIONS - Updated the description of this existing documented variable.

http://www.yoctoproject.org/docs/1.5/ref-manual/ref-manual.html#var-NO_RECOMMENDATAIONS - A new variable description.

http://www.yoctoproject.org/docs/1.5/ref-manual/ref-manual.html#var-PACKAGE_EXCLUDE - A new variable description.

Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37386</commentid>
    <comment_count>10</comment_count>
    <who name="Alexandru Georgescu">alexandru.c.georgescu</who>
    <bug_when>2013-10-01 10:40:51 +0000</bug_when>
    <thetext>Cannot verify due to this bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=5288

My scenario:
make the following changes in local.conf:

MACHINE ??= &quot;qemux86-64&quot;
IMAGE_INSTALL_append = &quot; man&quot;
PACKAGE_EXCLUDE = &quot;man&quot;
PACKAGE_CLASSES ?= &quot;package_ipk&quot;

NOTE: using package_rpm as PACKAGE_CLASSES does works without any error.

Errors I have:

| Running intercept scripts:
| log_check: Using /media/ubu/240/poky/build/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0-r0/temp/log.do_rootfs.20945 as logfile
| Logfile is clean
| makedevs: No entry for root in search list
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_rootfs (log file is located at /media/ubu/240/poky/build/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0-r0/temp/log.do_rootfs.20945)
ERROR: Task 7 (/media/ubu/240/poky/meta/recipes-sato/images/core-image-sato.bb, do_rootfs) failed with exit code &apos;1&apos;
NOTE: Tasks Summary: Attempted 5327 tasks of which 5325 didn&apos;t need to be rerun and 1 failed.
No currently running tasks (5326 of 5328)

Summary: 1 task failed:
  /media/ubu/240/poky/meta/recipes-sato/images/core-image-sato.bb, do_rootfs
Summary: There was 1 WARNING message shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
ubu@ubu-v:/media/ubu/240/poky/build$</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37418</commentid>
    <comment_count>11</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2013-10-01 14:22:58 +0000</bug_when>
    <thetext>| makedevs: No entry for root in search list

The above error indicates that you do not have an /etc/passwd or /etc/group installed into your filesystem.  So the &apos;root&apos; user account can not be looked up and translated to uid 0.

Check the system and figure out why passwd/group was not installed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37463</commentid>
    <comment_count>12</comment_count>
    <who name="Alexandru Georgescu">alexandru.c.georgescu</who>
    <bug_when>2013-10-02 10:23:49 +0000</bug_when>
    <thetext>(In reply to comment #11)
&gt; | makedevs: No entry for root in search list
&gt; 
&gt; The above error indicates that you do not have an /etc/passwd or /etc/group
&gt; installed into your filesystem.  So the &apos;root&apos; user account can not be
&gt; looked up and translated to uid 0.
&gt; 
&gt; Check the system and figure out why passwd/group was not installed.

Hi Mark,
I am not sure if you are referring to the host machine or into the image that is being built. For the image that is being build, I don&apos;t have an etc/passwd or etc/group files created after the failure: 
[yocto@localhost build]$ ls -la /mnt/ssd/poky/build/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0-r0/rootfs/etc/


In the case you are referring to the files in my machine, I have the following:

[yocto@localhost build]$ cat /etc/group | grep root                                                                    
root:x:0:

[yocto@localhost build]$ cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[yocto@localhost build]$


I also tested in other machines, and I have the same failure.

Regards,
Alex.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37487</commentid>
    <comment_count>13</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2013-10-02 14:12:41 +0000</bug_when>
    <thetext>The error from makedev indicates that /etc/passwd and /etc/group are not available within the image that is being generated.  This is a fatal error to say the least.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37554</commentid>
    <comment_count>14</comment_count>
    <who name="Alexandru Georgescu">alexandru.c.georgescu</who>
    <bug_when>2013-10-03 13:14:25 +0000</bug_when>
    <thetext>(In reply to comment #13)
&gt; The error from makedev indicates that /etc/passwd and /etc/group are not
&gt; available within the image that is being generated.  This is a fatal error
&gt; to say the least.

I&apos;ll open a separate bug for my error, since I don&apos;t think it&apos;s really related to #5288 as I mentioned in an above comment. The bug has been fixed and verified, but for me it doesn&apos;t work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37557</commentid>
    <comment_count>15</comment_count>
    <who name="Alexandru Georgescu">alexandru.c.georgescu</who>
    <bug_when>2013-10-03 13:43:04 +0000</bug_when>
    <thetext>Submitted this: https://bugzilla.yoctoproject.org/show_bug.cgi?id=5311</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37738</commentid>
    <comment_count>16</comment_count>
    <who name="Alexandru Georgescu">alexandru.c.georgescu</who>
    <bug_when>2013-10-08 11:42:38 +0000</bug_when>
    <thetext>Ok,
so I have tested all parameters involved: BAD_RECOMMENDATIONS, NO_RECOMMENDATIONS, PACKAGE_EXCLUDE.


I can mention that with NO_RECOMMENDATIONS set to 1, a core-image-sato boots, but X failed to start. I don&apos;t know if this is a problem but I can confirm that the feature works.

Still I can&apos;t mark it as verified until https://bugzilla.yoctoproject.org/show_bug.cgi?id=5311 is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37977</commentid>
    <comment_count>17</comment_count>
    <who name="Alexandru Georgescu">alexandru.c.georgescu</who>
    <bug_when>2013-10-16 11:00:39 +0000</bug_when>
    <thetext>Reopened since the issue  https://bugzilla.yoctoproject.org/show_bug.cgi?id=5311  is present, and the feature doesn&apos;t work entirely</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38051</commentid>
    <comment_count>18</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2013-10-18 15:43:43 +0000</bug_when>
    <thetext>Setting to Resolved Fixed, as the primary functionality is implemented.

Verification depends on Bug 5311 being complete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38076</commentid>
    <comment_count>19</comment_count>
    <who name="Alexandru Georgescu">alexandru.c.georgescu</who>
    <bug_when>2013-10-21 08:12:20 +0000</bug_when>
    <thetext>(In reply to comment #18)
&gt; Setting to Resolved Fixed, as the primary functionality is implemented.
&gt; 
&gt; Verification depends on Bug 5311 being complete.

Hi Mark,
Can you elaborate a little bit? 
Is the feature ready and the 5311 isn&apos;t related to it&apos;s implementation but still blocks its verification?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38230</commentid>
    <comment_count>20</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2013-10-28 17:19:42 +0000</bug_when>
    <thetext>The work planned for this enhancement was to add the mechanisms wherever it was possible to.

The mechanism was added to opkg (subject of the 5311 bug), and works in some cases, just not in the specific case from 5311.

In the bug triage meeting, it was decided that we have shown that the functionality is implemented, but there are bugs in other parts of opkg that are preventing it from working as expected.  So we want to make sure 5311 stays open to track the &quot;new&quot; defect and hopefully fix when it comes.  And this item stays in the resolved state.

Once 5311 is complete, this bug should be set to verified.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>