Lifecycle needs to track cross compilation

Bug #1564192 reported by Sergio Schvezov on 2016-03-31
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Snapcraft
High
Kyle Fazzari
snapcraft (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Unassigned
Yakkety
Undecided
Unassigned

Bug Description

[Impact]

 * If a snap is built using a specific target architecture, and one tries to build it again for a different architecture, Snapcraft says the snap is already built.

[Test Case]

 1. Build the 96boards-kernel example with `snapcraft --target-arch arm64`.
 2. Build the 96boards-kernel example with `snapcraft --target-arch armhf`.
 3. Note that Snapcraft doesn't try to rebuild the kernel for the new architecture, it says it's already done.
 4. Apply the fix for this bug.
 5. Build the 96boards-kernel example with `snapcraft --target-arch armhf`.
 6. Note that Snapcraft now tries to rebuild the kernel using the new target architecture (which should fail-- all we care about is that it tries).

[Regression Potential]

 * Dirty state tracking (rerunning steps if YAML sections change, bug #1477904) may not work correctly.

Changed in snapcraft:
assignee: Sergio Schvezov (sergiusens) → Kyle Fazzari (kyrofa)
Changed in snapcraft:
importance: Critical → High
milestone: 2.7 → none
Kyle Fazzari (kyrofa) wrote :
Changed in snapcraft:
status: Confirmed → In Progress
Kyle Fazzari (kyrofa) on 2016-04-14
Changed in snapcraft:
milestone: none → 2.8.1
Changed in snapcraft:
milestone: 2.8.1 → none
Changed in snapcraft:
milestone: none → 2.9
Kyle Fazzari (kyrofa) on 2016-05-11
description: updated
Changed in snapcraft:
status: In Progress → Fix Committed
Changed in snapcraft (Ubuntu Xenial):
milestone: none → xenial-updates
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package snapcraft - 2.9+16.10

---------------
snapcraft (2.9+16.10) yakkety; urgency=medium

  [ Leo Arias ]
  * autopkgtests: run the install examples tests in classic. (#481)
    (LP: #1572764)

  [ Matteo Bertini ]
  * Fix typo in description of the python3 example. (#504)

  [ Jamie Bennett ]
  * Documentation: Use plugs instead of caps. (#507)

  [ Chris Wayne ]
  * Add in bash completion. (#453) (LP: #1570506)

  [ Sergio Schvezov ]
  * Fail validation if plugs or slots are declared at the part level (#514)
    (LP: #1581166)

  [ Kyle Fazzari ]
  * Make pull and build steps dirty if target arch changes. (#450)
    (LP: #1564192)
  * Add support for the confinement property. (#501) (LP: #1580819)
  * Add support for the epoch property. (#502) (LP: #1581113)

 -- Sergio Schvezov <email address hidden> Tue, 24 May 2016 23:32:11 -0300

Changed in snapcraft (Ubuntu Yakkety):
status: New → Fix Released

Hello Sergio, or anyone else affected,

Accepted snapcraft into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/snapcraft/2.9 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in snapcraft (Ubuntu Xenial):
status: New → Fix Committed
tags: added: verification-needed
Leo Arias (elopio) wrote :

Tested in an up-to-date xenial system:
- Enabled the proposed archive
- updated snapcraft to 2.9
- installed snapcraft-examples, copied the 96boards example to /tmp and cd there.
- snapcraft login
- downloaded the firmware.tar from qualcomm.
- installed libssl-dev*.
- snapcraft --target-arch arm64
(it builds)
- snapcraft --target-arch armhf
It says that the pull step is out of date and it has to be cleaned. Ideally it would clean automatically, but this shows the bug was solved anyway.

I'm marking the verification as done. Thanks Chris!

This is a new bug, thanks to kyrofa for helping me with this. Reported in https://bugs.launchpad.net/snapcraft/+bug/1585813

tags: added: verification-done
removed: verification-needed
Changed in snapcraft:
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package snapcraft - 2.9

---------------
snapcraft (2.9) xenial; urgency=medium

  [ Leo Arias ]
  * autopkgtests: run the install examples tests in classic. (#481)
    (LP: #1572764)

  [ Matteo Bertini ]
  * Fix typo in description of the python3 example. (#504)

  [ Jamie Bennett ]
  * Documentation: Use plugs instead of caps. (#507)

  [ Chris Wayne ]
  * Add in bash completion. (#453) (LP: #1570506)

  [ Sergio Schvezov ]
  * Fail validation if plugs or slots are declared at the part level (#514)
    (LP: #1581166)

  [ Kyle Fazzari ]
  * Make pull and build steps dirty if target arch changes. (#450)
    (LP: #1564192)
  * Add support for the confinement property. (#501) (LP: #1580819)
  * Add support for the epoch property. (#502) (LP: #1581113)

 -- Sergio Schvezov <email address hidden> Tue, 24 May 2016 23:32:11 -0300

Changed in snapcraft (Ubuntu Xenial):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for snapcraft has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers