<?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>2564</bug_id>
          
          <creation_ts>2012-06-08 21:48:18 +0000</creation_ts>
          <short_desc>[HOB] Make it obvious how to remove everything in tmp</short_desc>
          <delta_ts>2014-05-03 20:49:58 +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>Hob</product>
          <component>hob</component>
          <version>1.2</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>Future</target_milestone>
          
          <blocked>4664</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Stewart">david.c.stewart</reporter>
          <assigned_to name="Belen Barros Pena">belen.barros.pena</assigned_to>
          <cc>belen.barros.pena</cc>
    
    <cc>cristiana.voicu</cc>
    
    <cc>dvhart</cc>
    
    <cc>jessica.zhang</cc>
    
    <cc>jiajun.xu</cc>
    
    <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>Yuan.Sun2</cc>
          
          <qa_contact name="Yuan Sun">Yuan.Sun2</qa_contact>
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Yes (doc changes required)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>21948</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Stewart">david.c.stewart</who>
    <bug_when>2012-06-08 21:48:18 +0000</bug_when>
    <thetext>There are times when I would like to wipe out all my build products but keep the source downloads. I would do this with the command line with removing the tmp directory. I can&apos;t figure out how to do it in hob.  So there should be a trashcan option of some kind.

And while we&apos;re at it, can we have a way to delete targets to trigger rebuilding the image and kernel? Or is that asking for too much?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22075</commentid>
    <comment_count>1</comment_count>
    <who name="Shane Wang">shane.wang</who>
    <bug_when>2012-06-13 01:50:19 +0000</bug_when>
    <thetext>Add options to clean the tmp in Hob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22945</commentid>
    <comment_count>2</comment_count>
    <who name="Belen Barros Pena">belen.barros.pena</who>
    <bug_when>2012-07-10 12:59:34 +0000</bug_when>
    <thetext>This needs some design. To be honest, I am not sure if I&apos;ll have time within 1.3.

Cheers

Belen</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25065</commentid>
    <comment_count>3</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2012-09-11 22:20:58 +0000</bug_when>
    <thetext>Move to 1.4 per Belen&apos;s request</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>29442</commentid>
    <comment_count>4</comment_count>
    <who name="Cristiana Voicu">cristiana.voicu</who>
    <bug_when>2013-02-01 09:12:17 +0000</bug_when>
    <thetext>I will put this bug in need info, because it needs a design.
Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31036</commentid>
    <comment_count>5</comment_count>
    <who name="Belen Barros Pena">belen.barros.pena</who>
    <bug_when>2013-03-22 17:14:38 +0000</bug_when>
    <thetext>It looks like this is 2 different bugs:

Bug 1: I want to remove the /tmp directory 
Bug 2: I want to delete targets to trigger rebuilding the image and kernel

Bug 1:

This is relatively straightforward. We could add a button to the &quot;Images&quot; dialog with label &quot;Delete all build output&quot;. When you click that button, we delete the tmp directory. The question is: how do we do it? 2 options here:

Option 1: do it in the background, which basically means I will be able to start a new build while the /tmp directory is being removed. From an UI point of view, this would require adding a status bar to the Hob primary window to report progress (info on status bars here: https://developer.gnome.org/hig-book/3.5/controls-status-bars.html.en), or using a non-modal progress window (https://developer.gnome.org/hig-book/3.5/windows-progress.html.en).

Option 2: do it as a modal process, which means you cannot interact with Hob until the /tmp directory has been removed. 

Which option we implement depends on how long it takes to remove the /tmp directory and engineering effort required.

Bug 2: 

I am not sure what the use case is here. Is this about creating an interface to the clean command, so that I can remove everything related to a specific target and do a clean build for that target? If that&apos;s the case, we might have a problem here. 

The logical way of doing this would be adding a &apos;rebuild from scratch&apos; option for targets. This could be done on the information windows we have for recipes, for example, or via option menus (right click &gt; rebuild from scratch), although using option menus would force us to add a menu bar to Hob, since option menus must never be the only way of accessing a piece of functionality in a desktop application. 

The problem is: Hob displays recipes, not targets. So Hob will show &apos;quilt&apos; but not &apos;quilt-native&apos;. If what you want to clean is quilt-native, well: you can&apos;t.

That&apos;s why I think bug 2 is not going to happen: we could tackle bug 1. Let me know what you think. In the meantime, I&apos;ll set the status of the bug to &apos;need info&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31037</commentid>
    <comment_count>6</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2013-03-22 17:26:41 +0000</bug_when>
    <thetext>(In reply to comment #5)
&gt; It looks like this is 2 different bugs:
&gt; 
&gt; Bug 1: I want to remove the /tmp directory 
&gt; Bug 2: I want to delete targets to trigger rebuilding the image and kernel
&gt; 
&gt; Bug 1:
&gt; 
&gt; This is relatively straightforward. We could add a button to the &quot;Images&quot;
&gt; dialog with label &quot;Delete all build output&quot;. When you click that button, we
&gt; delete the tmp directory. The question is: how do we do it? 2 options here:
&gt; 
&gt; Option 1: do it in the background, which basically means I will be able to
&gt; start a new build while the /tmp directory is being removed. From an UI
&gt; point of view, this would require adding a status bar to the Hob primary
&gt; window to report progress (info on status bars here:
&gt; https://developer.gnome.org/hig-book/3.5/controls-status-bars.html.en), or
&gt; using a non-modal progress window
&gt; (https://developer.gnome.org/hig-book/3.5/windows-progress.html.en).
&gt; 
&gt; Option 2: do it as a modal process, which means you cannot interact with Hob
&gt; until the /tmp directory has been removed. 
&gt; 
&gt; Which option we implement depends on how long it takes to remove the /tmp
&gt; directory and engineering effort required.

We can cheat. We can rename the directory to something out the way, then delete it in a backgrounded process so the user can continue to interact with the system.


&gt; Bug 2: 
&gt; 
&gt; I am not sure what the use case is here. Is this about creating an interface
&gt; to the clean command, so that I can remove everything related to a specific
&gt; target and do a clean build for that target? If that&apos;s the case, we might
&gt; have a problem here. 
&gt; 
&gt; The logical way of doing this would be adding a &apos;rebuild from scratch&apos;
&gt; option for targets. This could be done on the information windows we have
&gt; for recipes, for example, or via option menus (right click &gt; rebuild from
&gt; scratch), although using option menus would force us to add a menu bar to
&gt; Hob, since option menus must never be the only way of accessing a piece of
&gt; functionality in a desktop application. 
&gt; 
&gt; The problem is: Hob displays recipes, not targets. So Hob will show &apos;quilt&apos;
&gt; but not &apos;quilt-native&apos;. If what you want to clean is quilt-native, well: you
&gt; can&apos;t.
&gt; 
&gt; That&apos;s why I think bug 2 is not going to happen: we could tackle bug 1. Let
&gt; me know what you think. In the meantime, I&apos;ll set the status of the bug to
&gt; &apos;need info&apos;.

This second issue is an interesting one. At least in theory, you should never need to clean and rebuild something. If there are changes, bitbake will detect them, the sstate/task checksum will change and it will rebuild. Only if the user is hacking things outside hob will this become an issue and if they&apos;re doing that, they can probably arrange for it to rebuild anyway. So I&apos;d say this is a lesser priority.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31093</commentid>
    <comment_count>7</comment_count>
    <who name="Belen Barros Pena">belen.barros.pena</who>
    <bug_when>2013-03-25 10:16:28 +0000</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; It looks like this is 2 different bugs:
&gt; &gt; 
&gt; &gt; Bug 1: I want to remove the /tmp directory 
&gt; &gt; Bug 2: I want to delete targets to trigger rebuilding the image and kernel
&gt; &gt; 
&gt; &gt; Bug 1:
&gt; &gt; 
&gt; &gt; This is relatively straightforward. We could add a button to the &quot;Images&quot;
&gt; &gt; dialog with label &quot;Delete all build output&quot;. When you click that button, we
&gt; &gt; delete the tmp directory. The question is: how do we do it? 2 options here:
&gt; &gt; 
&gt; &gt; Option 1: do it in the background, which basically means I will be able to
&gt; &gt; start a new build while the /tmp directory is being removed. From an UI
&gt; &gt; point of view, this would require adding a status bar to the Hob primary
&gt; &gt; window to report progress (info on status bars here:
&gt; &gt; https://developer.gnome.org/hig-book/3.5/controls-status-bars.html.en), or
&gt; &gt; using a non-modal progress window
&gt; &gt; (https://developer.gnome.org/hig-book/3.5/windows-progress.html.en).
&gt; &gt; 
&gt; &gt; Option 2: do it as a modal process, which means you cannot interact with Hob
&gt; &gt; until the /tmp directory has been removed. 
&gt; &gt; 
&gt; &gt; Which option we implement depends on how long it takes to remove the /tmp
&gt; &gt; directory and engineering effort required.
&gt; 
&gt; We can cheat. We can rename the directory to something out the way, then
&gt; delete it in a backgrounded process so the user can continue to interact
&gt; with the system.

Cristiana: I suspect this will be assigned to you, so what do you think about RP&apos;s suggestion? Also, do you have any thoughts on the UI widget to use (status bar or progress window)?

&gt; 
&gt; 
&gt; &gt; Bug 2: 
&gt; &gt; 
&gt; &gt; I am not sure what the use case is here. Is this about creating an interface
&gt; &gt; to the clean command, so that I can remove everything related to a specific
&gt; &gt; target and do a clean build for that target? If that&apos;s the case, we might
&gt; &gt; have a problem here. 
&gt; &gt; 
&gt; &gt; The logical way of doing this would be adding a &apos;rebuild from scratch&apos;
&gt; &gt; option for targets. This could be done on the information windows we have
&gt; &gt; for recipes, for example, or via option menus (right click &gt; rebuild from
&gt; &gt; scratch), although using option menus would force us to add a menu bar to
&gt; &gt; Hob, since option menus must never be the only way of accessing a piece of
&gt; &gt; functionality in a desktop application. 
&gt; &gt; 
&gt; &gt; The problem is: Hob displays recipes, not targets. So Hob will show &apos;quilt&apos;
&gt; &gt; but not &apos;quilt-native&apos;. If what you want to clean is quilt-native, well: you
&gt; &gt; can&apos;t.
&gt; &gt; 
&gt; &gt; That&apos;s why I think bug 2 is not going to happen: we could tackle bug 1. Let
&gt; &gt; me know what you think. In the meantime, I&apos;ll set the status of the bug to
&gt; &gt; &apos;need info&apos;.
&gt; 
&gt; This second issue is an interesting one. At least in theory, you should
&gt; never need to clean and rebuild something. If there are changes, bitbake
&gt; will detect them, the sstate/task checksum will change and it will rebuild.
&gt; Only if the user is hacking things outside hob will this become an issue and
&gt; if they&apos;re doing that, they can probably arrange for it to rebuild anyway.
&gt; So I&apos;d say this is a lesser priority.

So it looks like we agree about not doing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32905</commentid>
    <comment_count>8</comment_count>
    <who name="Cristiana Voicu">cristiana.voicu</who>
    <bug_when>2013-05-07 07:27:57 +0000</bug_when>
    <thetext>Hi Belen,

Regarding the estimation, 4 days seems ok. It depends on the design(how complicated it is), because what it is behind isn&apos;t hard to implement. 
I think that a status bar would be ok, but I don&apos;t understand where it will be placed.
Thanks,
Cristiana</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32911</commentid>
    <comment_count>9</comment_count>
    <who name="Belen Barros Pena">belen.barros.pena</who>
    <bug_when>2013-05-07 09:51:09 +0000</bug_when>
    <thetext>(In reply to comment #8)
&gt; Hi Belen,
&gt; 
&gt; Regarding the estimation, 4 days seems ok. It depends on the design(how
&gt; complicated it is), because what it is behind isn&apos;t hard to implement. 
&gt; I think that a status bar would be ok, but I don&apos;t understand where it will
&gt; be placed.
&gt; Thanks,
&gt; Cristiana

Thanks! I&apos;ll be working on the design in the next few days. We can then adjust estimate as needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43101</commentid>
    <comment_count>10</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2014-05-03 17:59:24 +0000</bug_when>
    <thetext>We&apos;re no longer going to add this feature to HOB.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43108</commentid>
    <comment_count>11</comment_count>
    <who name="Dave Stewart">david.c.stewart</who>
    <bug_when>2014-05-03 20:49:58 +0000</bug_when>
    <thetext>Boo</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>