boydm / scenic_driver_nerves_rpi

Scenic render-only driver for the Raspberry Pi under Nerves
Apache License 2.0
22 stars 12 forks source link

Build scenic_driver_nerves_rpi under _build #11

Closed fhunleth closed 5 years ago

fhunleth commented 5 years ago

Move the build products out of the source tree and under _build. This lets you build for different environments (dev, prod, test) and different target hardware without cleaning.

This also copies the fonts to the _build directory. This avoids confusion between the _build/.../priv and the source priv directories and who's responsible for managing them (elixir_make or this Makefile).

Since nothing should be in the source priv directory, this commit also removes it from the .gitignore.

Finally, the elixir_make dependency is bumped to "~> 0.6" to make sure that the environment variables needed by the Makefile are set.

boydm commented 5 years ago

Thank you @fhunleth. I've merged it in, but am hesitating to push it to hex. I ran through a full test through scenic.new.nerves and it is failing to boot. Something about can't find the filesystem.

Nerves itself has updated the the last scenic was pushed and the rel/args have changed. Could you take a look at that and let me know what needs to change?

Will push this out as soon as we have a confirmed working version through new.

Thanks!

--Boyd

fhunleth commented 5 years ago

The issue with scenic.new isn't due to this. I could have sworn that I saw a PR to update to Nerves 1.5, but I don't see it now. Pretty much the only update in Nerves 1.5 is to support Elixir 1.9 releases. Here's how to do it: https://hexdocs.pm/nerves/updating-projects.html#update-elixir-1-9

Also, I realize this isn't ideal and you'd like to see everything working. Not sure what your time availability is to work on scenic stuff, but it would be super nice if the change in this PR could be pushed to hex sooner rather than later. I think I've traced some weird issues that cause "dirty close" to be logged to this. Here's one example: https://github.com/pappersverk/scenic_driver_inky/issues/3. I've also seen this when experimenting with the Nerves training materials.

Thanks!

axelson commented 5 years ago

@fhunleth you might be thinking of this issue that I raised on scenic_new https://github.com/boydm/scenic_new/issues/38 However it currently doesn't have any code associated with it :sweat_smile:

I do have some time this morning, so I'll try and put something together.

axelson commented 5 years ago

FYI https://github.com/boydm/scenic_new/pull/40 is now up :tada:

fhunleth commented 5 years ago

@axelson You are the best!!!! Thank you so much!

boydm commented 5 years ago

@fhunleth I'm willing to push the driver update to hex if it is good enough for you. I'm still not able to boot all the way through after a new, but that should be a different issue.

Mostly I don't want to create extra headache for either of us...

boydm commented 5 years ago

@fhunleth And yeah, my time has been super split between projects lately. Don't want to let Scenic languish tho!

fhunleth commented 5 years ago

Thanks! Yes, my time is getting split all over the place right now. Jason and I both have Scenic working with this change and Nerves 1.5 and Elixir 1.9. My focus has been buttoning all known problems up so that they don't affect ElixirConf training and live demos.

I haven't had a chance to try the scenic new project generator from scratch.

I don't know what the issue is with your rpi build. In fact, I'm kind of curious, since it's not an error that you normally should be getting unless I'm misunderstanding. If you can share your .fw file with me, I'll take a look.

boydm commented 5 years ago

v0.10.1 is pushed to hex. I'm still having trouble with scenic.new.nerves, so if @fhunleth could please verify this does what he needs, that would be cool.