Documentation/Maemo Eclipse Tutorial/Using ESbox

(categorize)
(wikify slightly, use ambox)
Line 1: Line 1:
-
= Using ESbox =
 
-
 
ESbox supports C, C++, Python and Qt4 projects. This chapter briefly describes how to create different types of projects and applications and how to run, test and debug applications using Maemo SDK and a Maemo device.
ESbox supports C, C++, Python and Qt4 projects. This chapter briefly describes how to create different types of projects and applications and how to run, test and debug applications using Maemo SDK and a Maemo device.
Line 7: Line 5:
Before creating your first project with ESbox, make sure that you can connect to your Maemo device from the host PC (that PC Connectivity has been properly installed and configured).
Before creating your first project with ESbox, make sure that you can connect to your Maemo device from the host PC (that PC Connectivity has been properly installed and configured).
-
= Creating C/C++ and Qt4 Projects =
+
== Creating C/C++ and Qt4 Projects ==
-
== C/C++ and Qt4 Templates ==
+
=== C/C++ and Qt4 Templates ===
Templates define the basic structure of the project. Most of the templates are examples but you can also use them as a basic structure for your project.
Templates define the basic structure of the project. Most of the templates are examples but you can also use them as a basic structure for your project.
Line 19: Line 17:
For Qt4 projects, select C++ project.
For Qt4 projects, select C++ project.
-
 
-
 
{| summary="New Project Menu"
{| summary="New Project Menu"
Line 28: Line 24:
[[Image:project-Python-new.png|Image project-Python-new]]
[[Image:project-Python-new.png|Image project-Python-new]]
|}
|}
-
 
-
 
ESbox supports simple Qt4, Makefile and Autotools projects, figure [[#fig:esbox_usage_c_01_projects|8.2]].
ESbox supports simple Qt4, Makefile and Autotools projects, figure [[#fig:esbox_usage_c_01_projects|8.2]].
-
 
-
 
{| summary="New C/C++ Project"
{| summary="New C/C++ Project"
Line 41: Line 33:
[[Image:c-01-projects.png|Image c-01-projects]]
[[Image:c-01-projects.png|Image c-01-projects]]
|}
|}
-
 
-
 
Select any of the available templates on the '''Template Project Type''' page, figure [[#fig:esbox_usage_c_02_templates|8.3]].
Select any of the available templates on the '''Template Project Type''' page, figure [[#fig:esbox_usage_c_02_templates|8.3]].
-
 
-
 
{| summary="C/C++ Project Template"
{| summary="C/C++ Project Template"
Line 55: Line 43:
|}
|}
 +
{{ambox
 +
|text='''Maemo 4''' templates are only for Diablo targets and '''Maemo 5''' templates for Fremantle. Select the correct template depending on your installation.
 +
}}
-
 
+
=== C/C++ and Qt4 Targets ===
-
{|
+
-
|-
+
-
| [[Image:dialog-information.png]]
+
-
| '''Note:'''  '''Maemo 4''' templates are only for Diablo targets and '''Maemo 5''' templates for Fremantle. Select the correct template depending on your installation.
+
-
|}
+
-
 
+
-
== C/C++ and Qt4 Targets ==
+
You can select multiple targets for a project. Optimized targets are compiled using compiler optimization while debug targets are compiled with debug options.
You can select multiple targets for a project. Optimized targets are compiled using compiler optimization while debug targets are compiled with debug options.
Line 70: Line 54:
Select all targets for a project, figure [[#fig:esbox_usage_c_03_targets|8.4]]. You can change the targets after you have created the project.
Select all targets for a project, figure [[#fig:esbox_usage_c_03_targets|8.4]]. You can change the targets after you have created the project.
-
 
-
 
{| summary="C/C++ Project Target"
{| summary="C/C++ Project Target"
Line 79: Line 61:
[[Image:c-03-targets.png|Image c-03-targets]]
[[Image:c-03-targets.png|Image c-03-targets]]
|}
|}
-
 
-
 
If you do not see any targets on the '''Project Configuration''' page, check that Maemo SDK targets are installed and install them if necessary. For more information on how to install Maemo SDK and targets for ESbox, see ESbox installation chapters.
If you do not see any targets on the '''Project Configuration''' page, check that Maemo SDK targets are installed and install them if necessary. For more information on how to install Maemo SDK and targets for ESbox, see ESbox installation chapters.
-
== C/C++ and Qt4 Metadata ==
+
=== C/C++ and Qt4 Metadata ===
Other project pages define different metadata the template uses. You can specify additional information in the fields or use the default values, figure [[#fig:esbox_usage_c_04_metadata|8.5]].
Other project pages define different metadata the template uses. You can specify additional information in the fields or use the default values, figure [[#fig:esbox_usage_c_04_metadata|8.5]].
-
 
-
 
{| summary="C/C++ Project Metadata"
{| summary="C/C++ Project Metadata"
Line 96: Line 74:
[[Image:c-04-metadata.png|Image c-04-metadata]]
[[Image:c-04-metadata.png|Image c-04-metadata]]
|}
|}
-
 
-
 
After defining the values, click '''Finish''' to create a project.
After defining the values, click '''Finish''' to create a project.
-
== Validating C/C++ and Qt4 Project Packages for Maemo SDK ==
+
=== Validating C/C++ and Qt4 Project Packages for Maemo SDK ===
When you have created a new project, ESbox suggests package validation, figure [[#fig:esbox_usage_c_05_validate|8.6]]. If you are not sure that the required development environments have been installed for your targets, click '''Yes'''.
When you have created a new project, ESbox suggests package validation, figure [[#fig:esbox_usage_c_05_validate|8.6]]. If you are not sure that the required development environments have been installed for your targets, click '''Yes'''.
-
 
-
 
{| summary="Validate Packages Dialog"
{| summary="Validate Packages Dialog"
Line 113: Line 87:
[[Image:c-05-validate.png|Image c-05-validate]]
[[Image:c-05-validate.png|Image c-05-validate]]
|}
|}
-
 
-
 
ESbox installs all the required dependencies for your project for the selected targets, if they are not installed already, figure [[#fig:esbox_usage_c_06_validate_wizard|8.7]].
ESbox installs all the required dependencies for your project for the selected targets, if they are not installed already, figure [[#fig:esbox_usage_c_06_validate_wizard|8.7]].
If ESbox asks you about changing the target, click '''Yes''' to accept. Accept and install any packages ESbox suggests, and close the package validation wizard when the installation is complete.
If ESbox asks you about changing the target, click '''Yes''' to accept. Accept and install any packages ESbox suggests, and close the package validation wizard when the installation is complete.
-
 
-
 
{| summary="Validate Packages Wizard"
{| summary="Validate Packages Wizard"
Line 128: Line 98:
[[Image:c-06-validate-wizard.png|Image c-06-validate-wizard]]
[[Image:c-06-validate-wizard.png|Image c-06-validate-wizard]]
|}
|}
-
 
-
 
You can also validate project packages afterwards. To start the validation, select '''Project > Project Menu > Validate Installed Packages'''.
You can also validate project packages afterwards. To start the validation, select '''Project > Project Menu > Validate Installed Packages'''.
Line 138: Line 106:
* Makefile projects: default metapackages for the project type and libraries detected through <code>pkg-config</code> invocations
* Makefile projects: default metapackages for the project type and libraries detected through <code>pkg-config</code> invocations
-
= Running C/C++ and Qt4 Applications on Maemo SDK =
+
== Running C/C++ and Qt4 Applications on Maemo SDK ==
First, select the build configuration. Change the build configuration to <span><font face="monospace">DIABLO_X86 (Debug)</font></span> or <span><font face="monospace">FREMANTLE_X86 (Debug)</font></span>.
First, select the build configuration. Change the build configuration to <span><font face="monospace">DIABLO_X86 (Debug)</font></span> or <span><font face="monospace">FREMANTLE_X86 (Debug)</font></span>.
To activate the selected configuration, right-click the project and select '''Build Configurations &gt; Set active''', figure [[#fig:esbox_usage_c_07_set_target|8.8]].
To activate the selected configuration, right-click the project and select '''Build Configurations &gt; Set active''', figure [[#fig:esbox_usage_c_07_set_target|8.8]].
-
 
-
 
{| summary="Set C/C++ Project Target"
{| summary="Set C/C++ Project Target"
Line 152: Line 118:
[[Image:c-07-set-target.png|Image c-07-set-target]]
[[Image:c-07-set-target.png|Image c-07-set-target]]
|}
|}
-
 
-
 
To add or remove targets, select '''Manage''' in the same menu.
To add or remove targets, select '''Manage''' in the same menu.
The project is ready to be launched on Maemo SDK. To launch it, right-click the project and select '''Run As &gt; Maemo Local Application''', figure [[#fig:esbox_usage_c_08_run_as|8.9]].
The project is ready to be launched on Maemo SDK. To launch it, right-click the project and select '''Run As &gt; Maemo Local Application''', figure [[#fig:esbox_usage_c_08_run_as|8.9]].
-
 
-
 
{| summary="Run C/C++ Project as Local Application"
{| summary="Run C/C++ Project as Local Application"
Line 167: Line 129:
[[Image:c-08-run-as.png|Image c-08-run-as]]
[[Image:c-08-run-as.png|Image c-08-run-as]]
|}
|}
-
 
-
 
If Maemo Application Framework is not running, ESbox asks you to launch it. When you have launched the Application Framework successfully, you can see the Application Framework and the program running, figure [[#fig:esbox_usage_c_09_result|8.10]].
If Maemo Application Framework is not running, ESbox asks you to launch it. When you have launched the Application Framework successfully, you can see the Application Framework and the program running, figure [[#fig:esbox_usage_c_09_result|8.10]].
-
 
-
 
{| summary="C/C++ Project Local Launch Result"
{| summary="C/C++ Project Local Launch Result"
Line 181: Line 139:
|}
|}
-
 
+
== Running C/C++ and Qt4 Applications on a Maemo Device ==
-
 
+
-
= Running C/C++ and Qt4 Applications on a Maemo Device =
+
To be able to run your application on a Maemo device, Maemo PC Connectivity must be installed on the device and Maemo Host PC Connectivity on the host PC. For more information, see ESbox installation chapters.
To be able to run your application on a Maemo device, Maemo PC Connectivity must be installed on the device and Maemo Host PC Connectivity on the host PC. For more information, see ESbox installation chapters.
Line 190: Line 146:
First, make sure that <span><font face="monospace">DIABLO_ARMEL</font></span> or <span><font face="monospace">FREMANTLE_ARMEL</font></span> target is selected by right-clicking the project and selecting '''Properties &gt; Build Configurations &gt; Manage''', figure [[#fig:esbox_usage_c_remote_01_manage|8.11]].
First, make sure that <span><font face="monospace">DIABLO_ARMEL</font></span> or <span><font face="monospace">FREMANTLE_ARMEL</font></span> target is selected by right-clicking the project and selecting '''Properties &gt; Build Configurations &gt; Manage''', figure [[#fig:esbox_usage_c_remote_01_manage|8.11]].
-
 
-
 
{| summary="C/C++ Project Manage Target Menu"
{| summary="C/C++ Project Manage Target Menu"
Line 199: Line 153:
[[Image:c-remote-01-manage.png|Image c-remote-01-manage]]
[[Image:c-remote-01-manage.png|Image c-remote-01-manage]]
|}
|}
-
 
-
 
Set the target to <span><font face="monospace">DIABLO_ARMEL</font></span> or <span><font face="monospace">FREMANTLE_ARMEL</font></span>, figure [[#fig:esbox_usage_c_remote_02_targets|8.12]].
Set the target to <span><font face="monospace">DIABLO_ARMEL</font></span> or <span><font face="monospace">FREMANTLE_ARMEL</font></span>, figure [[#fig:esbox_usage_c_remote_02_targets|8.12]].
-
 
-
 
{| summary="C/C++ Project Manage Targets"
{| summary="C/C++ Project Manage Targets"
Line 212: Line 162:
[[Image:c-remote-02-targets.png|Image c-remote-02-targets]]
[[Image:c-remote-02-targets.png|Image c-remote-02-targets]]
|}
|}
-
 
-
 
Right-click the project, select '''Build Configurations &gt; Set Active''' and activate <span><font face="monospace">DIABLO_ARMEL (Debug)</font></span> or <span><font face="monospace">FREMANTLE_ARMEL (Debug)</font></span>, figure [[#fig:esbox_usage_c_remote_03_set_target|8.13]].
Right-click the project, select '''Build Configurations &gt; Set Active''' and activate <span><font face="monospace">DIABLO_ARMEL (Debug)</font></span> or <span><font face="monospace">FREMANTLE_ARMEL (Debug)</font></span>, figure [[#fig:esbox_usage_c_remote_03_set_target|8.13]].
-
 
-
 
{| summary="Set C/C++ Project Target"
{| summary="Set C/C++ Project Target"
Line 226: Line 172:
|}
|}
-
 
+
=== Validating C/C++ and Qt4 Project Packages on a Maemo Device ===
-
 
+
-
== Validating C/C++ and Qt4 Project Packages on a Maemo Device ==
+
To be able to run your application on the Maemo device, you need to make sure that all the required runtime dependencies for your application are available on the device.
To be able to run your application on the Maemo device, you need to make sure that all the required runtime dependencies for your application are available on the device.
Select '''Project Menu &gt; Validate Installed Packages'''. On the first page, select the project to be validated, figure [[#fig:esbox_usage_c_remote_04_validate_device|8.14]].
Select '''Project Menu &gt; Validate Installed Packages'''. On the first page, select the project to be validated, figure [[#fig:esbox_usage_c_remote_04_validate_device|8.14]].
-
 
-
 
{| summary="Validate Packages Menu"
{| summary="Validate Packages Menu"
Line 242: Line 184:
[[Image:c-remote-04-validate-device.png|Image c-remote-04-validate-device]]
[[Image:c-remote-04-validate-device.png|Image c-remote-04-validate-device]]
|}
|}
-
 
-
 
On the '''Target Selection''' page, select the correct Maemo device connection and <span><font face="monospace">ARMEL</font></span> target, Figure [[#fig:esbox_usage_c_remote_05_validate_targets|8.15]].
On the '''Target Selection''' page, select the correct Maemo device connection and <span><font face="monospace">ARMEL</font></span> target, Figure [[#fig:esbox_usage_c_remote_05_validate_targets|8.15]].
-
 
-
 
{| summary="Validate Package Targets"
{| summary="Validate Package Targets"
Line 255: Line 193:
[[Image:c-remote-05-validate-targets.png|Image c-remote-05-validate-targets]]
[[Image:c-remote-05-validate-targets.png|Image c-remote-05-validate-targets]]
|}
|}
-
 
-
 
To start the validation, click '''Finish''' on the last page. This installs the required packages for the selected project on the Maemo device.
To start the validation, click '''Finish''' on the last page. This installs the required packages for the selected project on the Maemo device.
Line 262: Line 198:
You can also validate project packages afterwards. To start the validation, select '''Project &gt; Project Menu &gt; Validate Installed Packages'''.
You can also validate project packages afterwards. To start the validation, select '''Project &gt; Project Menu &gt; Validate Installed Packages'''.
-
== Running C/C++ and Qt4 Projects on a Maemo Device ==
+
=== Running C/C++ and Qt4 Projects on a Maemo Device ===
To be able to run your application on a Maemo device, Maemo PC Connectivity must be installed on the device and Maemo Host PC Connectivity on the host PC. For more information, see ESbox installation chapters.
To be able to run your application on a Maemo device, Maemo PC Connectivity must be installed on the device and Maemo Host PC Connectivity on the host PC. For more information, see ESbox installation chapters.
After you have set the target to <span><font face="monospace">ARMEL</font></span> and built your application as <span><font face="monospace">ARMEL</font></span>, you can run your application on the Maemo device. To run the application, right-click the project and select '''Run As &gt; Maemo Remote Application''', figure [[#fig:esbox_usage_c_remote_06_run|8.16]].
After you have set the target to <span><font face="monospace">ARMEL</font></span> and built your application as <span><font face="monospace">ARMEL</font></span>, you can run your application on the Maemo device. To run the application, right-click the project and select '''Run As &gt; Maemo Remote Application''', figure [[#fig:esbox_usage_c_remote_06_run|8.16]].
-
 
-
 
{| summary="Run C/C++ Project as Remote Maemo Application"
{| summary="Run C/C++ Project as Remote Maemo Application"
Line 276: Line 210:
[[Image:c-remote-06-run.png|Image c-remote-06-run]]
[[Image:c-remote-06-run.png|Image c-remote-06-run]]
|}
|}
-
 
-
 
Select SSH as the connection type (using the SBRSH connection type requires additional configuration), figure [[#fig:esbox_usage_c_remote_07_use_ssh|8.17]].
Select SSH as the connection type (using the SBRSH connection type requires additional configuration), figure [[#fig:esbox_usage_c_remote_07_use_ssh|8.17]].
-
 
-
 
{| summary="Connection Type Dialog"
{| summary="Connection Type Dialog"
Line 289: Line 219:
[[Image:c-remote-07-use-ssh.png|Image c-remote-07-use-ssh]]
[[Image:c-remote-07-use-ssh.png|Image c-remote-07-use-ssh]]
|}
|}
-
 
-
 
Select the device connection, figure [[#fig:esbox_usage_c_remote_06_run|8.16]]. Use USB connection because it is faster than Bluetooth or WLAN.
Select the device connection, figure [[#fig:esbox_usage_c_remote_06_run|8.16]]. Use USB connection because it is faster than Bluetooth or WLAN.
-
 
-
 
{| summary="Select Device Connection Dialog"
{| summary="Select Device Connection Dialog"
Line 302: Line 228:
[[Image:c-remote-08-select-connection.png|Image c-remote-08-select-connection]]
[[Image:c-remote-08-select-connection.png|Image c-remote-08-select-connection]]
|}
|}
-
 
-
 
You can now see your application running on the Maemo device.
You can now see your application running on the Maemo device.
Line 309: Line 233:
You can use VNC Viewer to control the Maemo device and your application running on it. Select '''Window &gt; Show View &gt; Other &gt; VNC Viewer'''.
You can use VNC Viewer to control the Maemo device and your application running on it. Select '''Window &gt; Show View &gt; Other &gt; VNC Viewer'''.
-
{|
+
{ambox
-
|-
+
|text=To use VNC Viewer, the <span><font face="monospace">x11vnc</font></span> service must be installed on the Maemo device either separately (apt-get install x11vnc) or as part of Maemo PC Connectivity.
-
| [[Image:dialog-information.png]]
+
}
-
| '''Note:'''  To use VNC Viewer, the <span><font face="monospace">x11vnc</font></span> service must be installed on the Maemo device either separately (apt-get install x11vnc) or as part of Maemo PC Connectivity.
+
-
|}
+
-
= Debugging C/C++ and Qt4 Applications =
+
== Debugging C/C++ and Qt4 Applications ==
To be able to debug a project, you must set at least one breakpoint into one of the source files. To add a breakpoint somewhere, open a source file, right-click on the left source side panel and select '''Add Breakpoint''', figure [[#fig:esbox_usage_c_debug_01_breakpoint|8.19]].
To be able to debug a project, you must set at least one breakpoint into one of the source files. To add a breakpoint somewhere, open a source file, right-click on the left source side panel and select '''Add Breakpoint''', figure [[#fig:esbox_usage_c_debug_01_breakpoint|8.19]].
-
 
-
 
{| summary="Adding Breakpoint to C/C++ Source File"
{| summary="Adding Breakpoint to C/C++ Source File"
Line 327: Line 247:
[[Image:c-debug-01-breakpoint.png|Image c-debug-01-breakpoint]]
[[Image:c-debug-01-breakpoint.png|Image c-debug-01-breakpoint]]
|}
|}
-
 
-
 
To launch your project in debug mode, right-click the project and select '''Debug As &gt; Maemo Local or Remote Application'''. When prompted, accept changing to the debug perspective, figure [[#fig:esbox_usage_c_debug_02_debug|8.20]].
To launch your project in debug mode, right-click the project and select '''Debug As &gt; Maemo Local or Remote Application'''. When prompted, accept changing to the debug perspective, figure [[#fig:esbox_usage_c_debug_02_debug|8.20]].
-
 
-
 
{| summary="Debug as Maemo Application Menu"
{| summary="Debug as Maemo Application Menu"
Line 340: Line 256:
[[Image:c-debug-02-debug.png|Image c-debug-02-debug]]
[[Image:c-debug-02-debug.png|Image c-debug-02-debug]]
|}
|}
-
 
-
 
In the debug perspective, you can stop and continue the execution, step lines, inspect variables, and so on. See Figures [[#fig:esbox_usage_c_debug_03_perspective|8.21]] and [[#fig:esbox_usage_c_debug_04_variables|8.22]].
In the debug perspective, you can stop and continue the execution, step lines, inspect variables, and so on. See Figures [[#fig:esbox_usage_c_debug_03_perspective|8.21]] and [[#fig:esbox_usage_c_debug_04_variables|8.22]].
-
{|
+
{{ambox
-
|-
+
|text=You can switch back and forth between perspectives by selecting from the top right corner.
-
| [[Image:dialog-information.png]]
+
}}
-
| '''Note:'''  You can switch back and forth between perspectives by selecting from the top right corner.
+
-
|}
+
-
 
+
-
 
+
{| summary="C/C++ Project Debug View"
{| summary="C/C++ Project Debug View"
Line 359: Line 269:
[[Image:c-debug-03-perspective.png|Image c-debug-03-perspective]]
[[Image:c-debug-03-perspective.png|Image c-debug-03-perspective]]
|}
|}
-
 
-
 
-
 
-
 
{| summary="Inspect C/C++ Variables"
{| summary="Inspect C/C++ Variables"
Line 371: Line 277:
|}
|}
-
 
+
== Creating Python Projects ==
-
 
+
-
= Creating Python Projects =
+
ESbox Python projects require that Python is installed on the host PC. For more information, see ESbox installation chapters.
ESbox Python projects require that Python is installed on the host PC. For more information, see ESbox installation chapters.
-
== Python Templates ==
+
=== Python Templates ===
Templates define the basic structure of the project. Most of the templates are examples but you can also use them as a basic structure for your project.
Templates define the basic structure of the project. Most of the templates are examples but you can also use them as a basic structure for your project.
To create a new Python project, select '''File &gt; New &gt; Project''' and then '''Python Maemo Project''', figure [[#fig:esbox_usage_project_python_new|8.23]].
To create a new Python project, select '''File &gt; New &gt; Project''' and then '''Python Maemo Project''', figure [[#fig:esbox_usage_project_python_new|8.23]].
-
 
-
 
{| summary="New Project Menu"
{| summary="New Project Menu"
Line 391: Line 293:
[[Image:project-Python-new.png|Image project-Python-new]]
[[Image:project-Python-new.png|Image project-Python-new]]
|}
|}
-
 
-
 
Select any of the Python example templates on the '''Template''' page, figure [[#fig:esbox_usage_python_01_template|8.24]].
Select any of the Python example templates on the '''Template''' page, figure [[#fig:esbox_usage_python_01_template|8.24]].
-
 
-
 
{| summary="Python Project Template"
{| summary="Python Project Template"
Line 405: Line 303:
|}
|}
-
 
+
=== Python Targets ===
-
 
+
-
== Python Targets ==
+
Select <span><font face="monospace">DIABLO_X86</font></span> or <span><font face="monospace">FREMANTLE_X86</font></span> as the target, figure [[#fig:esbox_usage_python_02_target|8.25]].
Select <span><font face="monospace">DIABLO_X86</font></span> or <span><font face="monospace">FREMANTLE_X86</font></span> as the target, figure [[#fig:esbox_usage_python_02_target|8.25]].
-
 
-
 
{| summary="Python Project Target"
{| summary="Python Project Target"
Line 420: Line 314:
|}
|}
-
 
+
=== Python Metadata ===
-
 
+
-
== Python Metadata ==
+
The '''Basic Settings''' page defines different metadata the selected template uses. You can specify additional information in the fields or use the default values, figure [[#fig:esbox_usage_python_03_metadata|8.26]].
The '''Basic Settings''' page defines different metadata the selected template uses. You can specify additional information in the fields or use the default values, figure [[#fig:esbox_usage_python_03_metadata|8.26]].
-
 
-
 
{| summary="Python Project Metadata"
{| summary="Python Project Metadata"
Line 435: Line 325:
|}
|}
-
 
+
=== Python Configuration ===
-
 
+
-
== Python Configuration ==
+
You can define the Python configuration settings on the last page. If the wizard cannot find an existing Python configuration, it suggests to create a new configuration.
You can define the Python configuration settings on the last page. If the wizard cannot find an existing Python configuration, it suggests to create a new configuration.
You can use the default values and click '''Finish''' to a create project, figure [[#fig:esbox_usage_python_04_grammar|8.27]].
You can use the default values and click '''Finish''' to a create project, figure [[#fig:esbox_usage_python_04_grammar|8.27]].
-
 
-
 
{| summary="Python Project Configuration"
{| summary="Python Project Configuration"
Line 451: Line 337:
[[Image:python-04-grammar.png|Image python-04-grammar]]
[[Image:python-04-grammar.png|Image python-04-grammar]]
|}
|}
-
 
-
 
If there is no previous configuration for your project, ESbox asks you to create a new configuration. To create one, click '''Yes'''.
If there is no previous configuration for your project, ESbox asks you to create a new configuration. To create one, click '''Yes'''.
For the Python interpreter configuration, you can add all the Python paths and confirm this by clicking '''OK''', figure [[#fig:esbox_usage_python_05_path|8.28]].
For the Python interpreter configuration, you can add all the Python paths and confirm this by clicking '''OK''', figure [[#fig:esbox_usage_python_05_path|8.28]].
-
 
-
 
{| summary="Python Project Interpreter Paths"
{| summary="Python Project Interpreter Paths"
Line 467: Line 349:
|}
|}
-
 
+
=== Validating Python Project Packages ===
-
 
+
-
== Validating Python Project Packages ==
+
When you have created a new project, ESbox suggests package validation. Click '''Yes''' to accept, figure [[#fig:esbox_usage_python_c_05_validate|8.29]].
When you have created a new project, ESbox suggests package validation. Click '''Yes''' to accept, figure [[#fig:esbox_usage_python_c_05_validate|8.29]].
-
 
-
 
{| summary="Validate Packages"
{| summary="Validate Packages"
Line 481: Line 359:
[[Image:c-05-validate.png|Image c-05-validate]]
[[Image:c-05-validate.png|Image c-05-validate]]
|}
|}
-
 
-
 
Click '''Finish''' on the Package Validation Wizard dialog, figure [[#fig:esbox_usage_python_c_06_validate_wizard|8.30]]. ESbox installs all the required dependencies for the selected targets.
Click '''Finish''' on the Package Validation Wizard dialog, figure [[#fig:esbox_usage_python_c_06_validate_wizard|8.30]]. ESbox installs all the required dependencies for the selected targets.
-
 
-
 
{| summary="Validate Packages Wizard"
{| summary="Validate Packages Wizard"
Line 494: Line 368:
[[Image:c-06-validate-wizard.png|Image c-06-validate-wizard]]
[[Image:c-06-validate-wizard.png|Image c-06-validate-wizard]]
|}
|}
-
 
-
 
If ESbox asks you about changing the target, click '''Yes''' to accept. Accept and install any packages ESbox suggests, and close the package validation wizard when the installation is complete.
If ESbox asks you about changing the target, click '''Yes''' to accept. Accept and install any packages ESbox suggests, and close the package validation wizard when the installation is complete.
Line 503: Line 375:
During validation, the projects are scanned for dependencies using Python package imports from the source files.
During validation, the projects are scanned for dependencies using Python package imports from the source files.
-
= Running Python Applications on Maemo SDK =
+
== Running Python Applications on Maemo SDK ==
First, select the build configuration. Change the build configuration to <span><font face="monospace">DIABLO_X86</font></span> or <span><font face="monospace">FREMANTLE_X86</font></span>.
First, select the build configuration. Change the build configuration to <span><font face="monospace">DIABLO_X86</font></span> or <span><font face="monospace">FREMANTLE_X86</font></span>.
Right-click the project and select '''Properties''', figures [[#fig:esbox_usage_python_06_properties|8.31]].
Right-click the project and select '''Properties''', figures [[#fig:esbox_usage_python_06_properties|8.31]].
-
 
-
 
{| summary="Python Project Properties"
{| summary="Python Project Properties"
Line 517: Line 387:
[[Image:python-06-properties.png|Image python-06-properties]]
[[Image:python-06-properties.png|Image python-06-properties]]
|}
|}
-
 
-
 
Select '''Maemo Build Configurations''' and activate the configuration, figures [[#fig:esbox_usage_python_07_configuration|8.32]]
Select '''Maemo Build Configurations''' and activate the configuration, figures [[#fig:esbox_usage_python_07_configuration|8.32]]
-
 
-
 
{| summary="Python Project Build Configuration"
{| summary="Python Project Build Configuration"
Line 530: Line 396:
[[Image:python-07-configuration.png|Image python-07-configuration]]
[[Image:python-07-configuration.png|Image python-07-configuration]]
|}
|}
-
 
-
 
To launch the project on Maemo SDK, right-click the project and select '''Run As &gt; Python Maemo Local Application''', figure [[#fig:esbox_usage_python_08_run_as|8.33]].
To launch the project on Maemo SDK, right-click the project and select '''Run As &gt; Python Maemo Local Application''', figure [[#fig:esbox_usage_python_08_run_as|8.33]].
-
 
-
 
{| summary="Python Project Run as Local Application"
{| summary="Python Project Run as Local Application"
Line 543: Line 405:
[[Image:python-08-run-as.png|Image python-08-run-as]]
[[Image:python-08-run-as.png|Image python-08-run-as]]
|}
|}
-
 
-
 
Select the file you want to run on Maemo SDK. Do not select setup.py because it is used only for Debian package creation, figure [[#fig:esbox_usage_python_09_run_file|8.34]].
Select the file you want to run on Maemo SDK. Do not select setup.py because it is used only for Debian package creation, figure [[#fig:esbox_usage_python_09_run_file|8.34]].
-
 
-
 
{| summary="Python Project Select File on Launch"
{| summary="Python Project Select File on Launch"
Line 556: Line 414:
[[Image:python-09-run-file.png|Image python-09-run-file]]
[[Image:python-09-run-file.png|Image python-09-run-file]]
|}
|}
-
 
-
 
If Maemo Application Framework is not running, ESbox asks you to launch it. When you have launched Maemo Application Framework successfully, you can see the Application Framework and the program running, figure [[#fig:esbox_usage_python_10_result|8.35]].
If Maemo Application Framework is not running, ESbox asks you to launch it. When you have launched Maemo Application Framework successfully, you can see the Application Framework and the program running, figure [[#fig:esbox_usage_python_10_result|8.35]].
-
 
-
 
{| summary="Python Project Local Launch Result"
{| summary="Python Project Local Launch Result"
Line 570: Line 424:
|}
|}
-
 
+
== Running Python Applications on a Maemo Device ==
-
 
+
-
= Running Python Applications on a Maemo Device =
+
To be able to run your Python application on a Maemo device, Maemo PC Connectivity must be installed on the device and Maemo Host PC Connectivity on the host PC. For more information, see ESbox installation chapters.
To be able to run your Python application on a Maemo device, Maemo PC Connectivity must be installed on the device and Maemo Host PC Connectivity on the host PC. For more information, see ESbox installation chapters.
First, make sure that <span><font face="monospace">DIABLO_ARMEL</font></span> or <span><font face="monospace">FREMANTLE_ARMEL</font></span> target is selected by right-clicking the project and selecting '''Maemo Build Configurations'''. Select <span><font face="monospace">DIABLO_ARMEL</font></span> or <span><font face="monospace">FREMANTLE_ARMEL</font></span> as the target, figure [[#fig:esbox_usage_python_remote_02_target|8.36]].
First, make sure that <span><font face="monospace">DIABLO_ARMEL</font></span> or <span><font face="monospace">FREMANTLE_ARMEL</font></span> target is selected by right-clicking the project and selecting '''Maemo Build Configurations'''. Select <span><font face="monospace">DIABLO_ARMEL</font></span> or <span><font face="monospace">FREMANTLE_ARMEL</font></span> as the target, figure [[#fig:esbox_usage_python_remote_02_target|8.36]].
-
 
-
 
{| summary="Select Python Project Target"
{| summary="Select Python Project Target"
Line 586: Line 436:
[[Image:python-remote-02-target.png|Image python-remote-02-target]]
[[Image:python-remote-02-target.png|Image python-remote-02-target]]
|}
|}
-
 
-
 
If there is no configuration for the target, ESbox asks you to create one. To configure a new target, click '''Select all'''.
If there is no configuration for the target, ESbox asks you to create one. To configure a new target, click '''Select all'''.
Line 596: Line 444:
Select '''Project Menu &gt; Validate Installed Packages'''. On the first page, select the project to be validated, figure [[#fig:esbox_usage_python_c_remote_04_validate_device|8.37]].
Select '''Project Menu &gt; Validate Installed Packages'''. On the first page, select the project to be validated, figure [[#fig:esbox_usage_python_c_remote_04_validate_device|8.37]].
-
 
-
 
{| summary="Validate Packages Menu"
{| summary="Validate Packages Menu"
Line 605: Line 451:
[[Image:c-remote-04-validate-device.png|Image c-remote-04-validate-device]]
[[Image:c-remote-04-validate-device.png|Image c-remote-04-validate-device]]
|}
|}
-
 
-
 
On the '''Target Selection''' page, select the correct Maemo device connection and <span><font face="monospace">ARMEL</font></span> target, Figure [[#fig:esbox_usage_python_c_remote_05_validate_targets|8.38]].
On the '''Target Selection''' page, select the correct Maemo device connection and <span><font face="monospace">ARMEL</font></span> target, Figure [[#fig:esbox_usage_python_c_remote_05_validate_targets|8.38]].
-
 
-
 
{| summary="Validate Package Targets"
{| summary="Validate Package Targets"
Line 618: Line 460:
[[Image:c-remote-05-validate-targets.png|Image c-remote-05-validate-targets]]
[[Image:c-remote-05-validate-targets.png|Image c-remote-05-validate-targets]]
|}
|}
-
 
-
 
To start the validation, click '''Finish''' on the last page. This installs the required packages for the selected project on the Maemo device.
To start the validation, click '''Finish''' on the last page. This installs the required packages for the selected project on the Maemo device.
Line 625: Line 465:
During validation, the projects are scanned for dependencies using Python package imports from the source files.
During validation, the projects are scanned for dependencies using Python package imports from the source files.
-
== Running Python Projects on a Maemo Device ==
+
=== Running Python Projects on a Maemo Device ===
To be able to run your application on a Maemo device, Maemo PC Connectivity must be installed on the device and Maemo Host PC Connectivity on the host PC. For more information, see ESbox installation chapters.
To be able to run your application on a Maemo device, Maemo PC Connectivity must be installed on the device and Maemo Host PC Connectivity on the host PC. For more information, see ESbox installation chapters.
After you have set the target to <span><font face="monospace">ARMEL</font></span> you can run your application on the Maemo device. To run the application, right-click the project and select '''Run As &gt; Maemo Remote Application''', figure [[#fig:esbox_usage_python_remote_03_run|8.39]].
After you have set the target to <span><font face="monospace">ARMEL</font></span> you can run your application on the Maemo device. To run the application, right-click the project and select '''Run As &gt; Maemo Remote Application''', figure [[#fig:esbox_usage_python_remote_03_run|8.39]].
-
 
-
 
{| summary="Python Project Run as Remote Application"
{| summary="Python Project Run as Remote Application"
Line 639: Line 477:
[[Image:python-remote-03-run.png|Image python-remote-03-run]]
[[Image:python-remote-03-run.png|Image python-remote-03-run]]
|}
|}
-
 
-
 
Select the Python file you want to run. Do not select setup.py because it is used only for Debian package creation. Select SSH as the connection type (using SBRSH requires additional configuration). Select the correct device connection.
Select the Python file you want to run. Do not select setup.py because it is used only for Debian package creation. Select SSH as the connection type (using SBRSH requires additional configuration). Select the correct device connection.
Line 648: Line 484:
You can use VNC Viewer to control the Maemo device and your application running on it. Select '''Window &gt; Show View &gt; Other &gt; VNC Viewer'''.
You can use VNC Viewer to control the Maemo device and your application running on it. Select '''Window &gt; Show View &gt; Other &gt; VNC Viewer'''.
-
{|
+
{{ambox
-
|-
+
|text=To be able to use VNC Viewer, the <span><font face="monospace">x11vnc</font></span> service must be installed on the Maemo device either separately (apt-get install x11vnc) or as part of Maemo PC Connectivity.
-
| [[Image:dialog-information.png]]
+
}}
-
| '''Note:'''  To be able to use VNC Viewer, the <span><font face="monospace">x11vnc</font></span> service must be installed on the Maemo device either separately (apt-get install x11vnc) or as part of Maemo PC Connectivity.
+
-
|}
+
-
= Debugging Python Applications =
+
== Debugging Python Applications ==
To be able to debug a project, you must set at least one breakpoint into one of the source files. To add a breakpoint somewhere, open a source file, right-click on the left source side panel and select '''Add Breakpoint''', figure [[#fig:esbox_usage_python_debug_01_breakpoint|8.40]].
To be able to debug a project, you must set at least one breakpoint into one of the source files. To add a breakpoint somewhere, open a source file, right-click on the left source side panel and select '''Add Breakpoint''', figure [[#fig:esbox_usage_python_debug_01_breakpoint|8.40]].
-
 
-
 
{| summary="Add Breakpoint to Python Project"
{| summary="Add Breakpoint to Python Project"
Line 666: Line 498:
[[Image:python-debug-01-breakpoint.png|Image python-debug-01-breakpoint]]
[[Image:python-debug-01-breakpoint.png|Image python-debug-01-breakpoint]]
|}
|}
-
 
-
 
To launch your project in debug mode, right-click the project and select '''Debug As &gt; Maemo Local or Remote Application'''. When prompted, accept changing to the debug perspective, figure [[#fig:esbox_usage_python_debug_02_debug|8.41]].
To launch your project in debug mode, right-click the project and select '''Debug As &gt; Maemo Local or Remote Application'''. When prompted, accept changing to the debug perspective, figure [[#fig:esbox_usage_python_debug_02_debug|8.41]].
-
 
-
 
{| summary="Debug Python Project as"
{| summary="Debug Python Project as"
Line 679: Line 507:
[[Image:python-debug-02-debug.png|Image python-debug-02-debug]]
[[Image:python-debug-02-debug.png|Image python-debug-02-debug]]
|}
|}
-
 
-
 
In the debug perspective, you can stop and continue the execution, step lines, inspect variables, and so on. See Figures [[#fig:esbox_usage_python_debug_03_perspective|8.42]] and [[#fig:esbox_usage_python_debug_04_variables|8.43]].
In the debug perspective, you can stop and continue the execution, step lines, inspect variables, and so on. See Figures [[#fig:esbox_usage_python_debug_03_perspective|8.42]] and [[#fig:esbox_usage_python_debug_04_variables|8.43]].
-
{|
+
{{ambox
-
|-
+
|text=You can switch back and forth between perspectives by selecting from the top right corner.
-
| [[Image:dialog-information.png]]
+
}}
-
| '''Note:'''  You can switch back and forth between perspectives by selecting from the top right corner.
+
-
|}
+
-
 
+
-
 
+
{| summary="Python Debug View"
{| summary="Python Debug View"
Line 698: Line 520:
[[Image:python-debug-03-perspective.png|Image python-debug-03-perspective]]
[[Image:python-debug-03-perspective.png|Image python-debug-03-perspective]]
|}
|}
-
 
-
 
-
 
-
 
{| summary="Inspect Python Variables"
{| summary="Inspect Python Variables"
Line 710: Line 528:
|}
|}
-
 
+
== Debian Packaging ESbox Project ==
-
 
+
-
= Debian Packaging ESbox Project =
+
You can create Debian installation packages for your C/C++, Qt4 and Python projects using ESbox wizards. ESbox also provides some tools to help in creating the Debian package structure, and building and installing the package.
You can create Debian installation packages for your C/C++, Qt4 and Python projects using ESbox wizards. ESbox also provides some tools to help in creating the Debian package structure, and building and installing the package.
-
== Debian Package Structure ==
+
=== Debian Package Structure ===
Debian structure is <span><font face="monospace">debian</font></span> folder under project directory. If you do not have Debian structure in your project you can create it by right clicking project and choosing '''Debian Package &gt; Create Debian Structure'''.
Debian structure is <span><font face="monospace">debian</font></span> folder under project directory. If you do not have Debian structure in your project you can create it by right clicking project and choosing '''Debian Package &gt; Create Debian Structure'''.
Line 726: Line 542:
You can find complete information on the Debian installation package structure from [http://www.debian.org/doc/maint-guide/ Debian New Maintainers' Guide]
You can find complete information on the Debian installation package structure from [http://www.debian.org/doc/maint-guide/ Debian New Maintainers' Guide]
-
== Building Debian Package ==
+
=== Building Debian Package ===
ESbox can create a Debian installation package from your project by right clicking project and choosing '''Debian Package &gt; Build Debian Package'''. If the project does not have Debian structure defined, the wizard helps you to create one. You must select the destination where the new Debian package is created.
ESbox can create a Debian installation package from your project by right clicking project and choosing '''Debian Package &gt; Build Debian Package'''. If the project does not have Debian structure defined, the wizard helps you to create one. You must select the destination where the new Debian package is created.
-
== Installing Debian Package ==
+
=== Installing Debian Package ===
After you have built a Debian installation package, you can install it inside ESbox by right-clicking project and choosing '''Debian Package &gt; Install Debian Package'''.
After you have built a Debian installation package, you can install it inside ESbox by right-clicking project and choosing '''Debian Package &gt; Install Debian Package'''.
-
= Importing Projects from Repository =
+
== Importing Projects from Repository ==
-
== Background ==
+
=== Background ===
This feature assumes you know a little bit about the workings of Debian packages. If not, the full details are in [http://www.debian.org/doc/FAQ/ch-pkg_basics.en.html The Debian GNU/Linux FAQ; Chapter 7 - Basics of the Debian package management system].
This feature assumes you know a little bit about the workings of Debian packages. If not, the full details are in [http://www.debian.org/doc/FAQ/ch-pkg_basics.en.html The Debian GNU/Linux FAQ; Chapter 7 - Basics of the Debian package management system].
-
== Repositories and package types ==
+
=== Repositories and package types ===
In the Debian package manager <span><font face="monospace">apt</font></span> (used in Scratchbox and Maemo devices), the <span><font face="monospace">sources.list</font></span> repository configuration files contain two kinds of entries: <span><font face="monospace">deb</font></span> and <span><font face="monospace">deb-src</font></span> repositories. Both point to external or local repositories of packages (called system packages here). <span><font face="monospace">deb</font></span> repositories point to binary packages while <span><font face="monospace">deb-src</font></span> repositories point to the (usually in sync) source packages for those binary packages.
In the Debian package manager <span><font face="monospace">apt</font></span> (used in Scratchbox and Maemo devices), the <span><font face="monospace">sources.list</font></span> repository configuration files contain two kinds of entries: <span><font face="monospace">deb</font></span> and <span><font face="monospace">deb-src</font></span> repositories. Both point to external or local repositories of packages (called system packages here). <span><font face="monospace">deb</font></span> repositories point to binary packages while <span><font face="monospace">deb-src</font></span> repositories point to the (usually in sync) source packages for those binary packages.
Line 748: Line 564:
In <span><font face="monospace">apt</font></span>, when fetching the sources for a binary package, you start with an interesting binary package and find its corresponding source package (for example, <span><font face="monospace">apt-get source &lt;package&gt;</font></span>).
In <span><font face="monospace">apt</font></span>, when fetching the sources for a binary package, you start with an interesting binary package and find its corresponding source package (for example, <span><font face="monospace">apt-get source &lt;package&gt;</font></span>).
-
== Source package structure ==
+
=== Source package structure ===
The sources for a package come usually in three files: a ''control file'' (<span><font face="monospace"><nowiki>*.dsc</nowiki></font></span>), an ''archive'' (<span><font face="monospace"><nowiki>*.tar.gz</nowiki></font></span> or <span><font face="monospace"><nowiki>*.tar.bz2</nowiki></font></span>), and a ''patch'' (<span><font face="monospace"><nowiki>*.diff.gz</nowiki></font></span>). <span><font face="monospace">apt-get source</font></span> command invokes the <span><font face="monospace">dpkg-source</font></span> command to expand the archive and apply the patch. The control file is used when rebuilding the binary package.
The sources for a package come usually in three files: a ''control file'' (<span><font face="monospace"><nowiki>*.dsc</nowiki></font></span>), an ''archive'' (<span><font face="monospace"><nowiki>*.tar.gz</nowiki></font></span> or <span><font face="monospace"><nowiki>*.tar.bz2</nowiki></font></span>), and a ''patch'' (<span><font face="monospace"><nowiki>*.diff.gz</nowiki></font></span>). <span><font face="monospace">apt-get source</font></span> command invokes the <span><font face="monospace">dpkg-source</font></span> command to expand the archive and apply the patch. The control file is used when rebuilding the binary package.
Line 764: Line 580:
ESbox attempts to corral this kind of diversity with its import wizard.
ESbox attempts to corral this kind of diversity with its import wizard.
-
== Using the Wizard ==
+
=== Using the Wizard ===
Find the wizard under '''File &gt; Import &gt; ESbox &gt; Project from Debian Repository''', figure [[#fig:esbox_usage_import_package_wizard|8.44]].
Find the wizard under '''File &gt; Import &gt; ESbox &gt; Project from Debian Repository''', figure [[#fig:esbox_usage_import_package_wizard|8.44]].
-
 
-
 
{| summary="Import"
{| summary="Import"
Line 776: Line 590:
[[Image:ImportPackageWizard.png|Image ImportPackageWizard]]
[[Image:ImportPackageWizard.png|Image ImportPackageWizard]]
|}
|}
-
 
-
 
Select the package to import, figure [[#fig:esbox_usage_import_package_select|8.45]].
Select the package to import, figure [[#fig:esbox_usage_import_package_select|8.45]].
-
 
-
 
{| summary="Import ESbox Project from Repository - Select Package"
{| summary="Import ESbox Project from Repository - Select Package"
Line 789: Line 599:
[[Image:ImportPackageSelect.png|Image ImportPackageSelect]]
[[Image:ImportPackageSelect.png|Image ImportPackageSelect]]
|}
|}
-
 
-
 
The target providing packages is one of the Scratchbox targets on the host PC.
The target providing packages is one of the Scratchbox targets on the host PC.
-
{|
+
{{ambox
-
|-
+
|text=The target must have the necessary <span><font face="monospace">deb-src</font></span> entries in <span><font face="monospace">sources.list</font></span>. Standard Maemo SDK configurations have such entries by default.
-
| [[Image:dialog-information.png]]
+
-
| '''Note:'''  The target must have the necessary <span><font face="monospace">deb-src</font></span> entries in <span><font face="monospace">sources.list</font></span>. Standard Maemo SDK configurations have such entries by default.
+
|}
|}
Line 809: Line 615:
Next, select the build targets for the package, figure [[#fig:esbox_usage_import_package_project|8.46]].
Next, select the build targets for the package, figure [[#fig:esbox_usage_import_package_project|8.46]].
-
 
-
 
{| summary="Import ESbox Project from Repository - Project Configuration"
{| summary="Import ESbox Project from Repository - Project Configuration"
Line 818: Line 622:
[[Image:ImportPackageProject.png|Image ImportPackageProject]]
[[Image:ImportPackageProject.png|Image ImportPackageProject]]
|}
|}
-
 
-
 
The next page prepares for the source fetch, figure [[#fig:esbox_usage_import_package_fetch0|8.47]].
The next page prepares for the source fetch, figure [[#fig:esbox_usage_import_package_fetch0|8.47]].
-
 
-
 
{|
{|
Line 831: Line 631:
[[Image:ImportPackageFetch0.png|Image ImportPackageFetch0]]
[[Image:ImportPackageFetch0.png|Image ImportPackageFetch0]]
|}
|}
-
 
-
 
Visit the link to ensure your proxy is configured, or else the download does not work.
Visit the link to ensure your proxy is configured, or else the download does not work.
Press '''Next''' to start the process, figure [[#fig:esbox_usage_import_package_fetch1|8.48]].
Press '''Next''' to start the process, figure [[#fig:esbox_usage_import_package_fetch1|8.48]].
-
 
-
 
{|
{|
Line 846: Line 642:
[[Image:ImportPackageFetch1.png|Image ImportPackageFetch1]]
[[Image:ImportPackageFetch1.png|Image ImportPackageFetch1]]
|}
|}
-
 
-
 
If the fetch fails â usually indicated by a long pause after the '''Building dependency tree''' message - press '''Cancel''' to abort the process. You can select '''View Log''' from the dialog, press '''Back''', then press '''Next''' again to retry.
If the fetch fails â usually indicated by a long pause after the '''Building dependency tree''' message - press '''Cancel''' to abort the process. You can select '''View Log''' from the dialog, press '''Back''', then press '''Next''' again to retry.
Line 854: Line 648:
This is a normal case, figure [[#fig:esbox_usage_import_package_convert1|8.49]].
This is a normal case, figure [[#fig:esbox_usage_import_package_convert1|8.49]].
-
 
-
 
{| summary="Import ESbox Project from Repository - Convert Project"
{| summary="Import ESbox Project from Repository - Convert Project"
Line 863: Line 655:
[[Image:ImportPackageConvert1.png|Image ImportPackageConvert1]]
[[Image:ImportPackageConvert1.png|Image ImportPackageConvert1]]
|}
|}
-
 
-
 
Here, the project (sysstat from earlier pages) expands into a project with a <span><font face="monospace">Makefile</font></span>. Also (off-screen) there are C sources and headers. Thus, the wizard is able to guess the project type. This page, therefore, is merely informative and you can press '''Next'''.
Here, the project (sysstat from earlier pages) expands into a project with a <span><font face="monospace">Makefile</font></span>. Also (off-screen) there are C sources and headers. Thus, the wizard is able to guess the project type. This page, therefore, is merely informative and you can press '''Next'''.
Line 871: Line 661:
The following screenshot shows the inimitable bash shell, which is packaged as an archive, figure [[#fig:esbox_usage_import_package_convert2|8.50]].
The following screenshot shows the inimitable bash shell, which is packaged as an archive, figure [[#fig:esbox_usage_import_package_convert2|8.50]].
-
 
-
 
{| summary="Import ESbox Project from Repository - Convert Project, compressed archive"
{| summary="Import ESbox Project from Repository - Convert Project, compressed archive"
Line 880: Line 668:
[[Image:ImportPackageConvert2.png|Image ImportPackageConvert2]]
[[Image:ImportPackageConvert2.png|Image ImportPackageConvert2]]
|}
|}
-
 
-
 
To handle this case, the wizard selects a build rule, which appears to be a configuration rule. This would be expected to extract the archive and apply the patches.
To handle this case, the wizard selects a build rule, which appears to be a configuration rule. This would be expected to extract the archive and apply the patches.
You can manually select the rule for configuration, if desired. For example, bash can be built in several configurations for different footprints. Here are the rules found in bash's <span><font face="monospace">debian/rules</font></span>, figure [[#fig:esbox_usage_import_package_convert3|8.51]].
You can manually select the rule for configuration, if desired. For example, bash can be built in several configurations for different footprints. Here are the rules found in bash's <span><font face="monospace">debian/rules</font></span>, figure [[#fig:esbox_usage_import_package_convert3|8.51]].
-
 
-
 
{| summary="Import ESbox Project from Repository - Convert Project, rule selection"
{| summary="Import ESbox Project from Repository - Convert Project, rule selection"
Line 895: Line 679:
[[Image:ImportPackageConvert3.png|Image ImportPackageConvert3]]
[[Image:ImportPackageConvert3.png|Image ImportPackageConvert3]]
|}
|}
-
 
-
 
Select a rule and click '''Setup project...''' to run the build for the given rule. The build results go to the Console behind the wizard.
Select a rule and click '''Setup project...''' to run the build for the given rule. The build results go to the Console behind the wizard.
For <span><font face="monospace">bash</font></span>, and probably other packages, this configure step actually proceeds to build the entire program and run its tests â you may '''Cancel''' after the archive has been extracted and the patches have been applied, then proceed with the wizard, figure [[#fig:esbox_usage_import_package_convert3b|8.52]].
For <span><font face="monospace">bash</font></span>, and probably other packages, this configure step actually proceeds to build the entire program and run its tests â you may '''Cancel''' after the archive has been extracted and the patches have been applied, then proceed with the wizard, figure [[#fig:esbox_usage_import_package_convert3b|8.52]].
-
 
-
 
{| summary="Import ESbox Project from Repository - Convert Project, building"
{| summary="Import ESbox Project from Repository - Convert Project, building"
Line 910: Line 690:
[[Image:ImportPackageConvert3b.png|Image ImportPackageConvert3b]]
[[Image:ImportPackageConvert3b.png|Image ImportPackageConvert3b]]
|}
|}
-
 
-
 
Once the configuration step has been run, the conversion page updates its guess about the project, figure [[#fig:esbox_usage_import_package_convert4|8.53]].
Once the configuration step has been run, the conversion page updates its guess about the project, figure [[#fig:esbox_usage_import_package_convert4|8.53]].
-
 
-
 
{| summary="Import ESbox Project from Repository - Convert Project, updated"
{| summary="Import ESbox Project from Repository - Convert Project, updated"
Line 923: Line 699:
[[Image:ImportPackageConvert4.png|Image ImportPackageConvert4]]
[[Image:ImportPackageConvert4.png|Image ImportPackageConvert4]]
|}
|}
-
 
-
 
Once the project type and builder type are known, you can '''Finish''' the wizard.
Once the project type and builder type are known, you can '''Finish''' the wizard.

Revision as of 14:30, 15 July 2010

ESbox supports C, C++, Python and Qt4 projects. This chapter briefly describes how to create different types of projects and applications and how to run, test and debug applications using Maemo SDK and a Maemo device.

ESbox requires that C/C++, Python and Qt4 development environments are installed on the host PC where Maemo SDK is run and on the Maemo device. For detailed instructions on how to install ESbox and the required development environments, see ESbox installation chapters. You need PC Connectivity to connect the Maemo device to the host PC and ESbox. For instructions on how to install and configure Maemo PC Connectivity on the Maemo device and Maemo Host PC Connectivity on the host PC where the ESbox Eclipse environment is run, see PC Connectivity documentation.

Before creating your first project with ESbox, make sure that you can connect to your Maemo device from the host PC (that PC Connectivity has been properly installed and configured).

Contents

Creating C/C++ and Qt4 Projects

C/C++ and Qt4 Templates

Templates define the basic structure of the project. Most of the templates are examples but you can also use them as a basic structure for your project.

To create a new C or C++ project, select File > New > Project, figure 8.1.

  • C > C Maemo Project
  • C++ > C++ Maemo Project

For Qt4 projects, select C++ project.

Figure 8.1: New Project Menu

File:Project-Python-new.png

ESbox supports simple Qt4, Makefile and Autotools projects, figure 8.2.

Figure 8.2: New C/C++ Project

File:C-01-projects.png

Select any of the available templates on the Template Project Type page, figure 8.3.

Figure 8.3: C/C++ Project Template

File:C-02-templates.png

Image:Ambox_notice.png
Maemo 4 templates are only for Diablo targets and Maemo 5 templates for Fremantle. Select the correct template depending on your installation.

C/C++ and Qt4 Targets

You can select multiple targets for a project. Optimized targets are compiled using compiler optimization while debug targets are compiled with debug options.

If you want to run a project on a Maemo device, select the ARMEL target. To run a project on the emulator, select the X86 target.

Select all targets for a project, figure 8.4. You can change the targets after you have created the project.

Figure 8.4: C/C++ Project Target

File:C-03-targets.png

If you do not see any targets on the Project Configuration page, check that Maemo SDK targets are installed and install them if necessary. For more information on how to install Maemo SDK and targets for ESbox, see ESbox installation chapters.

C/C++ and Qt4 Metadata

Other project pages define different metadata the template uses. You can specify additional information in the fields or use the default values, figure 8.5.

Figure 8.5: C/C++ Project Metadata

File:C-04-metadata.png

After defining the values, click Finish to create a project.

Validating C/C++ and Qt4 Project Packages for Maemo SDK

When you have created a new project, ESbox suggests package validation, figure 8.6. If you are not sure that the required development environments have been installed for your targets, click Yes.

Figure 8.6: Validate Packages Dialog

File:C-05-validate.png

ESbox installs all the required dependencies for your project for the selected targets, if they are not installed already, figure 8.7.

If ESbox asks you about changing the target, click Yes to accept. Accept and install any packages ESbox suggests, and close the package validation wizard when the installation is complete.

Figure 8.7: Validate Packages Wizard

File:C-06-validate-wizard.png

You can also validate project packages afterwards. To start the validation, select Project > Project Menu > Validate Installed Packages.

During validation, the projects are scanned for dependencies using the following information:

  • Autotools projects: PKG_CONFIG_CHECK macros in configure.ac
  • Makefile projects: default metapackages for the project type and libraries detected through pkg-config invocations

Running C/C++ and Qt4 Applications on Maemo SDK

First, select the build configuration. Change the build configuration to DIABLO_X86 (Debug) or FREMANTLE_X86 (Debug).

To activate the selected configuration, right-click the project and select Build Configurations > Set active, figure 8.8.

Figure 8.8: Set C/C++ Project Target

File:C-07-set-target.png

To add or remove targets, select Manage in the same menu.

The project is ready to be launched on Maemo SDK. To launch it, right-click the project and select Run As > Maemo Local Application, figure 8.9.

Figure 8.9: Run C/C++ Project as Local Application

File:C-08-run-as.png

If Maemo Application Framework is not running, ESbox asks you to launch it. When you have launched the Application Framework successfully, you can see the Application Framework and the program running, figure 8.10.

Figure 8.10: C/C++ Project Local Launch Result

File:C-09-result.png

Running C/C++ and Qt4 Applications on a Maemo Device

To be able to run your application on a Maemo device, Maemo PC Connectivity must be installed on the device and Maemo Host PC Connectivity on the host PC. For more information, see ESbox installation chapters.

Because the device uses ARMEL binaries, you must to change the target platform to DIABLO_ARMEL or FREMANTLE_ARMEL and rebuild your application for the Maemo device.

First, make sure that DIABLO_ARMEL or FREMANTLE_ARMEL target is selected by right-clicking the project and selecting Properties > Build Configurations > Manage, figure 8.11.

Figure 8.11: C/C++ Project Manage Target Menu

File:C-remote-01-manage.png

Set the target to DIABLO_ARMEL or FREMANTLE_ARMEL, figure 8.12.

Figure 8.12: C/C++ Project Manage Targets

File:C-remote-02-targets.png

Right-click the project, select Build Configurations > Set Active and activate DIABLO_ARMEL (Debug) or FREMANTLE_ARMEL (Debug), figure 8.13.

Figure 8.13: Set C/C++ Project Target

File:C-remote-03-set-target.png

Validating C/C++ and Qt4 Project Packages on a Maemo Device

To be able to run your application on the Maemo device, you need to make sure that all the required runtime dependencies for your application are available on the device.

Select Project Menu > Validate Installed Packages. On the first page, select the project to be validated, figure 8.14.

Figure 8.14: Validate Packages Menu

File:C-remote-04-validate-device.png

On the Target Selection page, select the correct Maemo device connection and ARMEL target, Figure 8.15.

Figure 8.15: Validate Package Targets

File:C-remote-05-validate-targets.png

To start the validation, click Finish on the last page. This installs the required packages for the selected project on the Maemo device.

You can also validate project packages afterwards. To start the validation, select Project > Project Menu > Validate Installed Packages.

Running C/C++ and Qt4 Projects on a Maemo Device

To be able to run your application on a Maemo device, Maemo PC Connectivity must be installed on the device and Maemo Host PC Connectivity on the host PC. For more information, see ESbox installation chapters.

After you have set the target to ARMEL and built your application as ARMEL, you can run your application on the Maemo device. To run the application, right-click the project and select Run As > Maemo Remote Application, figure 8.16.

Figure 8.16: Run C/C++ Project as Remote Maemo Application

File:C-remote-06-run.png

Select SSH as the connection type (using the SBRSH connection type requires additional configuration), figure 8.17.

Figure 8.17: Connection Type Dialog

File:C-remote-07-use-ssh.png

Select the device connection, figure 8.16. Use USB connection because it is faster than Bluetooth or WLAN.

Figure 8.18: Select Device Connection Dialog

File:C-remote-08-select-connection.png

You can now see your application running on the Maemo device.

You can use VNC Viewer to control the Maemo device and your application running on it. Select Window > Show View > Other > VNC Viewer.

{ambox |text=To use VNC Viewer, the x11vnc service must be installed on the Maemo device either separately (apt-get install x11vnc) or as part of Maemo PC Connectivity. }

Debugging C/C++ and Qt4 Applications

To be able to debug a project, you must set at least one breakpoint into one of the source files. To add a breakpoint somewhere, open a source file, right-click on the left source side panel and select Add Breakpoint, figure 8.19.

Figure 8.19: Adding Breakpoint to C/C++ Source File

File:C-debug-01-breakpoint.png

To launch your project in debug mode, right-click the project and select Debug As > Maemo Local or Remote Application. When prompted, accept changing to the debug perspective, figure 8.20.

Figure 8.20: Debug as Maemo Application Menu

File:C-debug-02-debug.png

In the debug perspective, you can stop and continue the execution, step lines, inspect variables, and so on. See Figures 8.21 and 8.22.

Image:Ambox_notice.png
You can switch back and forth between perspectives by selecting from the top right corner.
Figure 8.21: C/C++ Project Debug View

File:C-debug-03-perspective.png

Figure 8.22: Inspect C/C++ Variables

File:C-debug-04-variables.png

Creating Python Projects

ESbox Python projects require that Python is installed on the host PC. For more information, see ESbox installation chapters.

Python Templates

Templates define the basic structure of the project. Most of the templates are examples but you can also use them as a basic structure for your project.

To create a new Python project, select File > New > Project and then Python Maemo Project, figure 8.23.

Figure 8.23: New Project Menu

File:Project-Python-new.png

Select any of the Python example templates on the Template page, figure 8.24.

Figure 8.24: Python Project Template

File:Python-01-template.png

Python Targets

Select DIABLO_X86 or FREMANTLE_X86 as the target, figure 8.25.

Figure 8.25: Python Project Target

File:Python-02-target.png

Python Metadata

The Basic Settings page defines different metadata the selected template uses. You can specify additional information in the fields or use the default values, figure 8.26.

Figure 8.26: Python Project Metadata

File:Python-03-metadata.png

Python Configuration

You can define the Python configuration settings on the last page. If the wizard cannot find an existing Python configuration, it suggests to create a new configuration.

You can use the default values and click Finish to a create project, figure 8.27.

Figure 8.27: Python Project Configuration

File:Python-04-grammar.png

If there is no previous configuration for your project, ESbox asks you to create a new configuration. To create one, click Yes.

For the Python interpreter configuration, you can add all the Python paths and confirm this by clicking OK, figure 8.28.

Figure 8.28: Python Project Interpreter Paths

File:Python-05-path.png

Validating Python Project Packages

When you have created a new project, ESbox suggests package validation. Click Yes to accept, figure 8.29.

Figure 8.29: Validate Packages

File:C-05-validate.png

Click Finish on the Package Validation Wizard dialog, figure 8.30. ESbox installs all the required dependencies for the selected targets.

Figure 8.30: Validate Packages Wizard

File:C-06-validate-wizard.png

If ESbox asks you about changing the target, click Yes to accept. Accept and install any packages ESbox suggests, and close the package validation wizard when the installation is complete.

You can also validate project packages afterwards. To start the validation, select Project > Project Menu > Validate Installed Packages.

During validation, the projects are scanned for dependencies using Python package imports from the source files.

Running Python Applications on Maemo SDK

First, select the build configuration. Change the build configuration to DIABLO_X86 or FREMANTLE_X86.

Right-click the project and select Properties, figures 8.31.

Figure 8.31: Python Project Properties

File:Python-06-properties.png

Select Maemo Build Configurations and activate the configuration, figures 8.32

Figure 8.32: Python Project Build Configuration

File:Python-07-configuration.png

To launch the project on Maemo SDK, right-click the project and select Run As > Python Maemo Local Application, figure 8.33.

Figure 8.33: Python Project Run as Local Application

File:Python-08-run-as.png

Select the file you want to run on Maemo SDK. Do not select setup.py because it is used only for Debian package creation, figure 8.34.

Figure 8.34: Python Project Select File on Launch

File:Python-09-run-file.png

If Maemo Application Framework is not running, ESbox asks you to launch it. When you have launched Maemo Application Framework successfully, you can see the Application Framework and the program running, figure 8.35.

Figure 8.35: Python Project Local Launch Result

File:Python-10-result.png

Running Python Applications on a Maemo Device

To be able to run your Python application on a Maemo device, Maemo PC Connectivity must be installed on the device and Maemo Host PC Connectivity on the host PC. For more information, see ESbox installation chapters.

First, make sure that DIABLO_ARMEL or FREMANTLE_ARMEL target is selected by right-clicking the project and selecting Maemo Build Configurations. Select DIABLO_ARMEL or FREMANTLE_ARMEL as the target, figure 8.36.

Figure 8.36: Select Python Project Target

File:Python-remote-02-target.png

If there is no configuration for the target, ESbox asks you to create one. To configure a new target, click Select all.

Validating Python Project Packages on a Maemo Device

To be able to run your application on a Maemo device, you need to make sure that all the required runtime dependencies for your application are available on the device.

Select Project Menu > Validate Installed Packages. On the first page, select the project to be validated, figure 8.37.

Figure 8.37: Validate Packages Menu

File:C-remote-04-validate-device.png

On the Target Selection page, select the correct Maemo device connection and ARMEL target, Figure 8.38.

Figure 8.38: Validate Package Targets

File:C-remote-05-validate-targets.png

To start the validation, click Finish on the last page. This installs the required packages for the selected project on the Maemo device.

During validation, the projects are scanned for dependencies using Python package imports from the source files.

Running Python Projects on a Maemo Device

To be able to run your application on a Maemo device, Maemo PC Connectivity must be installed on the device and Maemo Host PC Connectivity on the host PC. For more information, see ESbox installation chapters.

After you have set the target to ARMEL you can run your application on the Maemo device. To run the application, right-click the project and select Run As > Maemo Remote Application, figure 8.39.

Figure 8.39: Python Project Run as Remote Application

File:Python-remote-03-run.png

Select the Python file you want to run. Do not select setup.py because it is used only for Debian package creation. Select SSH as the connection type (using SBRSH requires additional configuration). Select the correct device connection.

You can now see your application running on the Maemo device.

You can use VNC Viewer to control the Maemo device and your application running on it. Select Window > Show View > Other > VNC Viewer.

Image:Ambox_notice.png
To be able to use VNC Viewer, the x11vnc service must be installed on the Maemo device either separately (apt-get install x11vnc) or as part of Maemo PC Connectivity.

Debugging Python Applications

To be able to debug a project, you must set at least one breakpoint into one of the source files. To add a breakpoint somewhere, open a source file, right-click on the left source side panel and select Add Breakpoint, figure 8.40.

Figure 8.40: Add Breakpoint to Python Project

File:Python-debug-01-breakpoint.png

To launch your project in debug mode, right-click the project and select Debug As > Maemo Local or Remote Application. When prompted, accept changing to the debug perspective, figure 8.41.

Figure 8.41: Debug Python Project as

File:Python-debug-02-debug.png

In the debug perspective, you can stop and continue the execution, step lines, inspect variables, and so on. See Figures 8.42 and 8.43.

Image:Ambox_notice.png
You can switch back and forth between perspectives by selecting from the top right corner.
Figure 8.42: Python Debug View

File:Python-debug-03-perspective.png

Figure 8.43: Inspect Python Variables

File:Python-debug-04-variables.png

Debian Packaging ESbox Project

You can create Debian installation packages for your C/C++, Qt4 and Python projects using ESbox wizards. ESbox also provides some tools to help in creating the Debian package structure, and building and installing the package.

Debian Package Structure

Debian structure is debian folder under project directory. If you do not have Debian structure in your project you can create it by right clicking project and choosing Debian Package > Create Debian Structure.

Python projects need setup.py script to create a Debian package and it should be in the project root folder. You can create setup.py from the last page of the Structure wizard.

ESbox does not automate the whole Debian structure creation process, so you might need to manually modify the files in debian folder. A Debian installation package is built using Makefile located at debian/rules directory. Other files are usually install scripts and metadata.

You can find complete information on the Debian installation package structure from Debian New Maintainers' Guide

Building Debian Package

ESbox can create a Debian installation package from your project by right clicking project and choosing Debian Package > Build Debian Package. If the project does not have Debian structure defined, the wizard helps you to create one. You must select the destination where the new Debian package is created.

Installing Debian Package

After you have built a Debian installation package, you can install it inside ESbox by right-clicking project and choosing Debian Package > Install Debian Package.

Importing Projects from Repository

Background

This feature assumes you know a little bit about the workings of Debian packages. If not, the full details are in The Debian GNU/Linux FAQ; Chapter 7 - Basics of the Debian package management system.

Repositories and package types

In the Debian package manager apt (used in Scratchbox and Maemo devices), the sources.list repository configuration files contain two kinds of entries: deb and deb-src repositories. Both point to external or local repositories of packages (called system packages here). deb repositories point to binary packages while deb-src repositories point to the (usually in sync) source packages for those binary packages.

One source package may generate several binary packages; for instance, one for programs and primary data, one for auxiliary data, one for libraries, and one for development.

In apt, when fetching the sources for a binary package, you start with an interesting binary package and find its corresponding source package (for example, apt-get source <package>).

Source package structure

The sources for a package come usually in three files: a control file (*.dsc), an archive (*.tar.gz or *.tar.bz2), and a patch (*.diff.gz). apt-get source command invokes the dpkg-source command to expand the archive and apply the patch. The control file is used when rebuilding the binary package.

Once extracted, the contents of the original patched sources vary wildly. The contents may contain a bare-bones Makefile project, an autotools-based project, a nest of programs and libraries and test code, or even another archive.

There is one guarantee, though: the package expands to contain a debian directory and its various control files (see the "Source packages" chapter of the Debian Policy Manual for more details).

The debian/rules file is an executable Makefile which is the primary means of interaction with the source from the perspective of a Debian package. In other words, even if the extracted sources contain autoconf files or Makefiles, you must use debian/rules to configure, build, clean, install, and re-package the package.

For example, debian/rules configure, debian/rules build, debian/rules install are typical ways to use a source package.

It must be mentioned that even debian/rules can have varying degrees of fluctuation in the targets it provides. Most packages not developed in the Debian project itself come from a large community of people who think differently, and the targets vary accordingly. While the utility dh_make tries to promote a standard set of guidelines, some projects may, for instance, lack a configure target (or have several), lack a build target (or have several), and so on.

ESbox attempts to corral this kind of diversity with its import wizard.

Using the Wizard

Find the wizard under File > Import > ESbox > Project from Debian Repository, figure 8.44.

Figure 8.44: Import

File:ImportPackageWizard.png

Select the package to import, figure 8.45.

Figure 8.45: Import ESbox Project from Repository - Select Package

File:ImportPackageSelect.png

The target providing packages is one of the Scratchbox targets on the host PC.

{{ambox |text=The target must have the necessary deb-src entries in sources.list. Standard Maemo SDK configurations have such entries by default. |}

The package selector shows a tree of packages organized by category. You can search by typing in the filter (for words in the name or description) or typing in the tree (for the name alone).

The Fetch build dependencies option ensures that, in addition to fetching the source for the selected package, any packages needed to build the source are installed as well.

The Always re-fetch source components option asks the wizard to always go to the network and find the source components (the .dsc file, archives, and patches) for the package. This may be necessary if you have modified the package locally.

The Delete source components option deletes the .dsc file, source archives, and patches after extraction.

Next, select the build targets for the package, figure 8.46.

Figure 8.46: Import ESbox Project from Repository - Project Configuration

File:ImportPackageProject.png

The next page prepares for the source fetch, figure 8.47.

Figure 8.47: Import ESbox Project from Repository - Fetching and Importing, proxy

File:ImportPackageFetch0.png

Visit the link to ensure your proxy is configured, or else the download does not work.

Press Next to start the process, figure 8.48.

Figure 8.48: Import ESbox Project from Repository - Fetching and Importing, fetching

File:ImportPackageFetch1.png

If the fetch fails â usually indicated by a long pause after the Building dependency tree message - press Cancel to abort the process. You can select View Log from the dialog, press Back, then press Next again to retry.

The next page lets you choose the project type and builder for the package.

This is a normal case, figure 8.49.

Figure 8.49: Import ESbox Project from Repository - Convert Project

File:ImportPackageConvert1.png

Here, the project (sysstat from earlier pages) expands into a project with a Makefile. Also (off-screen) there are C sources and headers. Thus, the wizard is able to guess the project type. This page, therefore, is merely informative and you can press Next.

An imported package may, however, be provided as a compressed archive with patches. In this case, you can preconfigure the project to extract the sources and decide whether the project is really the one you are looking for.

The following screenshot shows the inimitable bash shell, which is packaged as an archive, figure 8.50.

Figure 8.50: Import ESbox Project from Repository - Convert Project, compressed archive

File:ImportPackageConvert2.png

To handle this case, the wizard selects a build rule, which appears to be a configuration rule. This would be expected to extract the archive and apply the patches.

You can manually select the rule for configuration, if desired. For example, bash can be built in several configurations for different footprints. Here are the rules found in bash's debian/rules, figure 8.51.

Figure 8.51: Import ESbox Project from Repository - Convert Project, rule selection

File:ImportPackageConvert3.png

Select a rule and click Setup project... to run the build for the given rule. The build results go to the Console behind the wizard.

For bash, and probably other packages, this configure step actually proceeds to build the entire program and run its tests â you may Cancel after the archive has been extracted and the patches have been applied, then proceed with the wizard, figure 8.52.

Figure 8.52: Import ESbox Project from Repository - Convert Project, building

File:ImportPackageConvert3b.png

Once the configuration step has been run, the conversion page updates its guess about the project, figure 8.53.

Figure 8.53: Import ESbox Project from Repository - Convert Project, updated

File:ImportPackageConvert4.png

Once the project type and builder type are known, you can Finish the wizard.

Projects imported from Debian packages can be edited, navigated, built, and launched like normal ESbox projects. You can, of course, also recreate Debian packages from them.

Related Topics