Bug 7175

Summary: AUH needs buildhistory support
Product: [Yocto Project Subprojects] Automated Update Handler Reporter: Paul Eggleton <bluelightning>
Component: Automatic Update HandlerAssignee: Aníbal Limón <anibal.limon>
Status: VERIFIED FIXED QA Contact: Costin <costin.c.constantin>
Severity: enhancement    
Priority: Medium+ CC: richard.purdie, sgw
Version: unspecified   
Target Milestone: 2.0   
Hardware: All   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know
Bug Depends on:    
Bug Blocks: 7490    

Description Paul Eggleton 2015-01-16 16:28:14 UTC
When the automatic upgrade helper does a recipe upgrade it should ensure it does a build of the existing version first and then the new version so that it can look at the buildhistory output.

I asked for this functionality to be added earlier, and some code was added but it looks like it was never completed; it doesn't appear to be called anywhere from what I can see.
Comment 3 Costin 2015-09-07 20:25:18 UTC
Hello,

Tested this feature and here are the findings:

AUH commit: b0cc63b862be4c4c33893a1eb90b2079fea2ecb1

Testing steps performed:

1) find a recipe that recently got updated upstream; two candidates were used (bind and mesa):

mesa that got upgraded  with commit 34b59db3e64c07b393cef2a128cf301683758b67
...
    mesa: upgrade 10.5.8 -> 10.6.3
...

2) checkout to a previous commit. 
for mesa: 661734759e73abd86d8184ae1dc4e91ba9cac83d

3) add in local.conf:
INHERIT += "buildhistory" 
BUILDHISTORY_COMMIT = "1"

4) bitbake mesa
and check built version:
build/buildhistory/packages$ cat ./i586-poky-linux/mesa/libgles2-mesa/latest
PE = 2
PV = 10.5.8
...

5) try to upgrade to the known version:
build/auto-upgrade-helper$ ./upgradehelper.py mesa --to_version 10.6.3
ERROR: smtp host not set! Sending emails disabled!
ERROR: 'From' address not set! Sending emails disabled!
INFO: ATTEMPT PACKAGE 1/1
INFO: mesa: Upgrading to 10.6.3
INFO: mesa: Loading environment ...
INFO: mesa: Detecting git repository location ...
WARNING: mesa: git repository has uncommited work which will be dropped! Proceed? (y/N)
y
WARNING: mesa: Dropping uncommited work!
INFO: mesa: Cleaning git repository of temporary branch ...
INFO: mesa: Initial buildhistory for ['qemux86', 'qemux86-64', 'qemuarm', 'qemumips', 'qemuppc'] ...
ERROR: mesa: The following git command failed: log --pretty=format:"%H" -1master
ERROR: mesa: Upgrade FAILED! Logs and/or file diffs are available in /media/yp_builds/poky/build/upgrade-helper/work/mesa
INFO: mesa: Auto commit changes ...
Traceback (most recent call last):
  File "./upgradehelper.py", line 758, in <module>
    updater.run(pkg_list)
  File "./upgradehelper.py", line 507, in run
    self._commit_changes()
  File "./upgradehelper.py", line 430, in _commit_changes
    raise e
errors.Error: Failed(other errors)

For bind the situation is the same when trying to upgrade from 9.10.2-p2 (eg. 309982f60aa3226d006cf7748dfce1fb54b32333)  
to 9.10.2.p3 (9527cd040d9dbbbcf8da49f8c86158b7f4bfbcb0)

As per the above, re-opening the feature.
Comment 4 Costin 2015-09-08 07:12:27 UTC
Hello,

I forgot to add that the machine i tested on with an Ubuntu 15.04
Comment 5 Aníbal Limón 2015-09-08 15:22:18 UTC
(In reply to comment #4)
> Hello,
> 
> I forgot to add that the machine i tested on with an Ubuntu 15.04

I didn't test with Ubuntu 15.04, i used debian 8 and ubuntu 14.04.
Comment 6 Aníbal Limón 2015-09-21 20:18:03 UTC
(In reply to comment #4)
> Hello,
> 
> I forgot to add that the machine i tested on with an Ubuntu 15.04

Hi Costin, seems to be git user/email setup,

Can you configure git and test again?

$ git config --global user.name "Costin"
$ git config --global user.email ""

If it works i'll close this ticket and #7488 and you can add a ticket
for add this setup into README also a validation into the code.
Comment 7 Aníbal Limón 2015-09-24 17:08:43 UTC
(In reply to comment #6)
> (In reply to comment #4)
> > Hello,
> > 
> > I forgot to add that the machine i tested on with an Ubuntu 15.04
> 
> Hi Costin, seems to be git user/email setup,
> 
> Can you configure git and test again?
> 
> $ git config --global user.name "Costin"
> $ git config --global user.email ""
> 
> If it works i'll close this ticket and #7488 and you can add a ticket
> for add this setup into README also a validation into the code.

Hi Costin,

I confirmed that is git setup problem, i loaded a ticket for it #8390.

You can continue with your tests configuring git.

Cheers,
    alimon
Comment 8 Aníbal Limón 2015-09-24 17:09:58 UTC
Problem identified don't block test see #8390.
Comment 9 Costin 2015-10-23 08:21:18 UTC
Hello,

I tested this feature on latest master of poky: 661734759e73abd86d8184ae1dc4e91ba9cac83d
and AUH: 34ae735ed811049f3f4a6a7a82a14de81f097f37
on an Ubuntu machine.

Steps performed as on comment #3.

Marking as verified