Challenge Overview
Describe what you want to accomplish.
The Fog recorder application is a C++ application that allows a user to schedule recordings for TV shows and record live TV. We use this project to test certain functionality of client applications, which are external to just the recorder.
The recorder is a Mac application that can be opened and run in XCode, and it includes Makefiles that can be used on Linux, and there are also ways to build for Windows.
The Fog application exposes a set of REST API calls that can be found here:
http://docs.fogrecorder.apiary.io
The final code will be deployed into an embedded device running a Yocto base: https://www.yoctoproject.org/
This challenge will build out the necessary documentation and build instructions to build the Fog recorder version 2.0 (new_build) for Yocto.
VERSION
The code version we are going to use is *different* than what's in the master branch. In the "new_build" branch is a "version 2.0" of the app. This is the target for the Yocto build setup.
CODE
The existing code is here:
https://gitlab.com/hercules-fog/Fog-CLI/
A link will be provided in the forum where you will be able to get access.
Make sure to use the "new_build" branch, NOT the master branch!
Submission
Your submission to OR should be a Git patch file that can be applied to see the fixes. Here is documentation on how to generate a Git patch file:
Requirements
Yocto is the base we are targeting, specifically Yocto Daisy (version 1.6). This version is older, but that's what we currently run the existing 1.0 Fog on.You can install meta-qt5 for QT compatibility (https://github.com/meta-qt5/meta-qt5/), and these repos can be used for the dependencies:
URI: git://github.com/openembedded/oe-core.git
branch: daisy
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
layers: meta-ruby
branch: daisy
revision: HEAD
Helpful links:
https://www.yoctoproject.org/
https://blog.qt.io/blog/2016/07/01/aligning-with-the-yocto-project/
https://wiki.yoctoproject.org/wiki/Creating_a_recipe_for_a_Qt_application
http://wiki.hioproject.org/index.php?title=HIO_Wiki:Set_Up_Qt_Creator_for_Yocto_Device
Bitbake
The Fog build must be done using bitbake. This is the current way we build Fog on the customer's heavily modified Yocto setup:
bitbake -c clean -f fog
bitbake -c compile -f fog
The current Makefile for version 1.0 will be provided in the forum for you to base your changes off of, but note that the new_build branch has more dependencies than the version 1.0, so it will likely need modifications
Please keep code changes to a minimum - we're more focused on the build, so only change the code if you have to to support the Yocto build.