WhoopInc / mkwheelhouse

amazon s3 wheelhouse generator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ARM support

timcoote opened this issue · comments

More a comment than an issue. This repo/approach also works well for producing ARM binaries. The particular usecase that I've got is packaging python wrappers for various Raspberry Pi devices, specifically openzwave. The process is slow and fiddly on real pi's.

Happy to contribute the extra bits, but I don't think that they fit into the existing structure well and would clutter it up.

Glad you found it useful, and happy to entertain a PR! At the very least curious what modifications you needed to make.

I initially got this working with the RPi repo (http://bit.ly/2uelq0D). However, I found that too cumbersome to work with. So I used resin.io's Docker image (http://bit.ly/2Ark1KI) in a vagrant controlled vm, and then using this repo (ie mkwheelhouse) as a subtree. The resin.io approach runs qemu user emulation within the docker container. It means that I did not need to modify the mkwheelhouse code at all: it just picked up the new architecture as armhf from within the container. I plan on putting this into a packer created ami.

Unfortunately, there are a few gotchas with the resin.io approach as-is, that meant that I had to run a container based on the Dockerfile created image, and then exec some code to execute the mkwheelhouse stuff inside the same container.

Annoyingly, I also had to fix the debian/contrib-stretch64 vagrantbox as it doesn't seem to come with a working vboxguest service - I wanted to use the current Pi build, which is based on Stretch. This is not relevant for cloud use, but the workflow cycle is too slow with cloud based provisioning.

I suggest that I drop my stuff into a new repo - it pulls in mkwheelhouse to work - and you can cross reference it if you feel it adds value. Alternatively, I could create a PR, but I'm not clear how it would make sense to structure it in the context of you repo.

One RPi gotcha for me is that I'd like to use Python3 (to reduce the 'instant legacy'). Unfortunately, for Debian, I cannot see an easy way to force python3 + pip3 without modifying the code in this repo for mkwheelhouse.py and for the tests.