Bug 3003 - Package information should always be available in the image details screen, and packages screen should always be accessible via an 'edit packages' option
Summary: Package information should always be available in the image details screen, a...
Status: RESOLVED WONTFIX
Alias: None
Product: Hob
Classification: Build System, Metadata & Runtime
Component: hob (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: Medium normal
Target Milestone: Future
Assignee: Cristiana Voicu
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2012-08-23 13:47 UTC by Belen Barros Pena
Modified: 2014-05-14 16:33 UTC (History)
11 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments
take-out-packages-line.png (39.91 KB, image/png)
2012-08-23 13:47 UTC, Belen Barros Pena
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Belen Barros Pena 2012-08-23 13:47:58 UTC
Created attachment 726 [details]
take-out-packages-line.png

If we cannot provide some information, we should not display the label for that information. In the image details screen, we cannot provide the packages information when you open the image using the 'Images' button. Therefore, we should not display the "Packages included: N/A" line. See the attached screenshot to see how it should look like.
Comment 1 Darren Hart 2012-08-24 02:54:50 UTC
Unlike the kernel version of this bug (3002), I don't see any workarounds for this as even if we dug into the image, some images fon't include information about installed packages.

That said, rather than removing the label, I would prefer to see a message as to why the information is not being displayed. Removing UI elements (rather than disabling them or somehow indicating why they are not applicable) can be very disorienting in my experience strictly as a user of graphical interfaces.
Comment 2 Belen Barros Pena 2012-08-24 09:05:10 UTC
Hi Darren: I agree that explaining why the information is not available is a better approach. Would you like to suggest something? Then we can get Scott to have a look at it.

Thanks!

Belen
Comment 3 Jessica 2012-09-11 22:22:21 UTC
Scott,

Can you provide a message so we can make the change?

Thanks.
Comment 4 Scott Rifenbark 2012-09-18 20:27:40 UTC
Hmmm.... From the comments it is not really apparent why package information cannot be displayed other than the fact that we simply don't have access to the information.  Supposing a user clicks and expects to see package information then maybe some of the following might work?

* Unable to determine package information for this image.
* Package information unavailable for this image.
* We cannot provide package information for this image.
* We are unable to display package information for this image.

If there is a solid technical reason we can give then I would suggest providing that.  I don't know the reason though.

Scott
Comment 5 Belen Barros Pena 2012-09-19 08:41:35 UTC
Scott, I think you are right. Darren's suggestion was about explaining why the information is not available. If we can only provide a generic message, I rather not display it. 

Jessica or Darren: would you be able to explain to us the reason why the package information for an image built in the past cannot be determined? 

Thanks!

Belen

(In reply to comment #4)
> Hmmm.... From the comments it is not really apparent why package information
> cannot be displayed other than the fact that we simply don't have access to
> the information.  Supposing a user clicks and expects to see package
> information then maybe some of the following might work?
> 
> * Unable to determine package information for this image.
> * Package information unavailable for this image.
> * We cannot provide package information for this image.
> * We are unable to display package information for this image.
> 
> If there is a solid technical reason we can give then I would suggest
> providing that.  I don't know the reason though.
> 
> Scott
Comment 6 Darren Hart 2012-09-19 20:47:37 UTC
I'm really not familiar with the Hob codebase. Where does it get the package information to display when it can display it? I presume from the work dir where the packages are stored?

If that is the case, when selecting an image that we don't have the work dir for, we can't display package information.

Assuming the above is accurate (someone that knows this code should confirm), then perhaps something like:

"No packaging information available for images without the underlying work directory."
Comment 7 Belen Barros Pena 2012-09-20 10:17:13 UTC
Hi Cristian,

Could you help us check if Darren's assumption is correct, i.e., we can only display the package information for those images for which we can access the work directory?

Having said that, providing a mechanism to retrieve the full image details independently of when it was built or if the work directory is accessible, and populate the packages table from it, would be a significant workflow improvement. I could build an image today, come back tomorrow, retrieve it from my list of images, select to edit the packages and tweak it / change it without having to go through the process of selecting my machine, base image and recipes again. I am guessing this is what the templates do, but not everybody will create a template, so doing it by default should be a real win.

Belen

(In reply to comment #6)
> I'm really not familiar with the Hob codebase. Where does it get the package
> information to display when it can display it? I presume from the work dir
> where the packages are stored?
> 
> If that is the case, when selecting an image that we don't have the work dir
> for, we can't display package information.
> 
> Assuming the above is accurate (someone that knows this code should
> confirm), then perhaps something like:
> 
> "No packaging information available for images without the underlying work
> directory."
Comment 8 Ioana Grigoropol 2012-09-28 15:59:08 UTC
I have investigated a bit in this area and found that the Package details that are shown after an image is built is received as a package model (that include all the packages that were included at image build time) from bitbake after sending a request event. 
The fact is that I not exactly sure how this information can be retrieved for older images, if it is stored in any place.
I have seen that there is do_rootfs log where there is a list of packages (maybe we can use this to retrieve package details ?) that looks like this for core-image-minimal on qemux86:


~/git-repos/poky-master/build/tmp/work/qemux86-poky-linux/core-image-minimal-1.0-r0/temp [package_included] $ cat log.do_rootfs|grep "#####"
Preparing...                ##################################################
ncurses-terminfo-base       ##################################################
base-files                  ##################################################
libc6                       ##################################################
bash                        ##################################################
base-passwd                 ##################################################
libtinfo5                   ##################################################
Preparing...                ##################################################
udev-utils                  ##################################################
usbutils-ids                ##################################################
pciutils-ids                ##################################################
packagegroup-core-boot      ##################################################
busybox-udhcpc              ##################################################
busybox                     ##################################################
busybox-syslog              ##################################################
kernel-module-uvesafb       ##################################################
udev-extraconf              ##################################################
libusb-1.0-0                ##################################################
libkmod2                    ##################################################
modutils-initscripts        ##################################################
busybox-hwclock             ##################################################
initscripts                 ##################################################
update-alternatives-cworth  ##################################################
netbase                     ##################################################
update-rc.d                 ##################################################
sysvinit-inittab            ##################################################
update-modules              ##################################################
kernel-module-cfbfillrect   ##################################################
kernel-3.4.11-yocto-standard##################################################
kernel-module-cfbimgblt     ##################################################
kernel-module-cfbcopyarea   ##################################################
tinylogin                   ##################################################
sysvinit                    ##################################################
sysvinit-pidof              ##################################################
v86d                        ##################################################
libusb-0.1-4                ##################################################
udev                        ##################################################
kmod                        ##################################################

Is there any other place that bitbake saves this information for built images ?
Comment 9 Belen Barros Pena 2012-10-01 09:32:09 UTC
Any chance Jessica, Paul or Darren know the answer to Ioana's question? Thanks!
Comment 10 Paul Eggleton 2012-10-01 09:36:04 UTC
No, we don't store this anywhere else. In order to make this work we will have to explicitly write a file alongside the image file which lists the configuration selected by the user for the image so we can reload it the next time (and this is not just the package selections). Fortunately we already have code to do this.

BTW, surely the "packages included" count is just the count of packages selected within Hob? This will be less than the number of packages actually installed (as seen in the log above).
Comment 11 Ioana Grigoropol 2012-10-01 11:21:51 UTC
I did some tests, and it seems that the number of packages in 'Image details' shows the packages included within Hob. And indeed, the packages listed in the log are the ones actually installed, which are more than the ones selected by the user.

The code that you are reffering to already writes a file for packages selected, or just collects this information and if the first should we use it for this bug on 1.3M5 ?
Comment 12 Paul Eggleton 2012-10-01 11:28:33 UTC
I think it's too late to fix this for 1.3.

The code I'm referring to is the code that is used for saving templates - it should also be usable for saving the configuration that went into the image alongside it.
Comment 13 Belen Barros Pena 2012-10-01 11:30:52 UTC
Let's move to the next release then.

Thanks!

(In reply to comment #12)
> I think it's too late to fix this for 1.3.
> 
> The code I'm referring to is the code that is used for saving templates - it
> should also be usable for saving the configuration that went into the image
> alongside it.
Comment 14 Stoicescu Cornel 2013-02-27 15:15:17 UTC
Ioana, do you need any more information for this issue?
Comment 15 Jessica 2013-02-27 15:38:02 UTC
reassign to critiana
Comment 16 Belen Barros Pena 2013-05-22 11:21:11 UTC
After a technical assessment with Ross B and Richard P we have concluded that implementing this feature requires substantial engineering effort and we don't have available resources to deliver it in 1.5

Changing target milestone to 'future'.
Comment 17 Belen Barros Pena 2014-05-14 16:33:54 UTC
At this point, work will take place on toaster, not hob, so marking as won't fix.