Key Information

Register
Submit
The challenge is finished.

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:

https://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git/

Your patch file should include a document for Yocto building (in Markdown format), as well as a Makefile that we can use for the Yocto build environment.

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
Code

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.

     

 
 


Final Submission Guidelines

Please see above.

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30055560