Difference between revisions of "Building a component in OE"

From WebOS-Ports
Jump to navigation Jump to search
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
+
For a core system developer it will be required to rebuild some of the system components for the target device. This page describes all necessary steps.
  
 
==Setup==
 
==Setup==
Line 5: Line 5:
 
'''Assumptions'''
 
'''Assumptions'''
  
* You have a local copy of the component repo in path/to/<component name>
+
* You have a local copy of the component repo in path/to/<component name> (only required in case we have an own repo and not following upstream directly!)
* You have a working OE build dir in /srv/webos-ports (To set this up, start here: [http://www.webos-ports.org/wiki/Galaxy_Nexus_Build_Setup])
+
* You have a working OE build dir in /srv/webos-ports (To set this up, start here: [http://webos-ports.org/wiki/Build_for_Maguro])
 
* You have a working knowledge of linux
 
* You have a working knowledge of linux
 
* You have the Android SDK Setup
 
* You have the Android SDK Setup
  
 
'''Configuration'''
 
'''Configuration'''
 
+
When it's a component for which we have our own repo:
 
Add the following to the bottom of conf/local.conf
 
Add the following to the bottom of conf/local.conf
  
 
<pre>
 
<pre>
S_pn-luna-<component name> = "path/to/<component name>"
+
S_pn-<component name> = "path/to/<component name>"
 
</pre>
 
</pre>
  
 +
Otherwise you can just update the recipe directly.
 
==Building==
 
==Building==
  
Line 38: Line 39:
 
</pre>
 
</pre>
  
for the binary you have build and transfer it to the device
+
for the binary you have built and transfer it to the device to the right location. For example use adb
 +
 
 +
<pre>
 +
$ adb push tmp-glibc/work/armv7a-vfp-neon-webos-linux-gnueabi/luna-webappmanager/0.2.0-8+gitAUTOINC+5344f19613-r0/build/src/LunaWebAppManager /usr/sbin/
 +
</pre>

Latest revision as of 14:15, 28 February 2016

For a core system developer it will be required to rebuild some of the system components for the target device. This page describes all necessary steps.

Setup

Assumptions

  • You have a local copy of the component repo in path/to/<component name> (only required in case we have an own repo and not following upstream directly!)
  • You have a working OE build dir in /srv/webos-ports (To set this up, start here: [1])
  • You have a working knowledge of linux
  • You have the Android SDK Setup

Configuration When it's a component for which we have our own repo: Add the following to the bottom of conf/local.conf

S_pn-<component name> = "path/to/<component name>"

Otherwise you can just update the recipe directly.

Building

Now you can build the component from your OE environment by

$ MACHINE=<machine name> bb -c compile -f <component name>

The output is hidden inside the build tree. Look into the path

tmp-glibc/work/armv7a-vfp-neon-webos-linux-gnueabi/<component name>/<version>/build

or

tmp-glibc/work/<machine name>-webos-linux-gnueabi/<component name>/<version>/build

for the binary you have built and transfer it to the device to the right location. For example use adb

$ adb push tmp-glibc/work/armv7a-vfp-neon-webos-linux-gnueabi/luna-webappmanager/0.2.0-8+gitAUTOINC+5344f19613-r0/build/src/LunaWebAppManager /usr/sbin/