9

When I request builds in this recipe it only creates 32 bit and 64 bit packages. How to create packages for armhf, arm64, or PowerPC?

2 Answers 2

16

Python packages

There is no need to enable arm builds for packages built with python, as python source is interpreted, and is architecture independent. The architecture in debian/control should be all, and the PPA package will automatically work in all architectures (although Launchpad will only show it for amd64 or i386).


Other packages

For other packages, the entry for architecture in debian/control should be any.

To enable ARM builds

As of 8 November 2016, enabling ARM builds is self-service: you can change an option in the PPA settings to get it to build for any of the following architectures automatically (documentation link):

  • AMD x86-64 (amd64)
  • ARM ARMv8 (arm64)
  • ARM ARMv7 Soft Float (armel)
  • ARM ARMv7 Hard Float (armhf)
  • Intel x86 (i386)
  • PowerPC64 Little-Endian (ppc64el)
  • PowerPC
  • IBM System z

Launchpad PPA settings

Log in and select "Change details" in the upper right corner of your PPA page. At the bottom of the page that follows, you'll see the above options that can be enabled.

Change details settings

To rebuild already published packages for ARM

Once you have enabled ARM in the Launchpad PPA settings, click "copy packages", and copy the packages to the same PPA (click on "copy existing binaries", so that Launchpad will simply copy the already built packages for amd64 or i386, and will only build new packages for ARM). When the next version of your package is released, you won't have to repeat this procedure, Launchpad will automatically build it for all architectures you had selected.


The following entries are ones that only an administrator of Launchpad can enable for your account.

  • Risk-V 64 bit

For it, you still request access on the forums, although searching the forum indicates that Canonical previously only did this under special circumstances (only if you're a Canonical employee or have a contract in place with Canonical). Another forum post suggests that powerpc and s390x builds should be available to all users by now, but I'm not sure if the security concerns of building your (possibly malicious) package on non-virtualized Canonical hardware have been resolved.

2
  • I am just curious, "Some architectures are restricted and may only be enabled or disabled by administrators." What about these? Apr 30, 2016 at 4:13
  • I added an update addressing this. In short, powerpc and s390x builds still require an admin to enable, and you still do this by asking on the forums / "launchpad itself".
    – rajb245
    May 1, 2016 at 0:15
1

As of November 2016, this answer is not applicable anymore. See the other answer by rajb245 for the current procedure to enable ARM builds.

The process and requirements for ARM builds are here.

In short, if you:

  1. have builds that are 4 hours or less, and

  2. have 10 or less builds per week,

you can request ARM builds for your PPA here.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .