Build multi-architecture snap package
This is part of a series describing how I got Transmission compiled and running for Snappy Ubuntu Core.
Snap packaging, updated
Since we have a new set of binaries for ARM (for Transmission and its dependencies), we will need to update the snap package. The process will be based on what I described in the third part of this series.
We need to include the ARM binaries in the package:
armv7l/
lib/* # compiled ARM dependencies/libraries (copied from the deps build)
transmission-daemon # ARM binary for the daemon (copied from the transmission build)
meta/*
web/*
x86_64/*
settings.json
transmission-daemon # custom script to run the daemon in snappy
Note the above is the same files we had, plus the armv7l
directory (armv7l is the value returned by the uname
command below) containing the ARM compiled binaries and deps.
The wrapper script to run the daemon from our initial package already detected the architecture and chose the right binary to run, so there is nothing to change there:
Back to snap packaging, we need to list the new supported architecture:
Finally, we just need to rebuild our package:
Coming next
And that’s it, we have a multi-architecture Transmission snap package! You can install this same package in amd64 and ARM architectures, indistinctly.
Next steps will be:
- Build Transmission using snapcraft
Comments