Difference between revisions of "ToolingUseCases"

From Openembedded.org
Jump to: navigation, search
(Distro Developer)
(Package Developer)
Line 33: Line 33:
  
 
The package developer is often a mix of the previous two role types.  Often they have some knowledge of the build system and applications and build tools used to create those applications.  They typically act as a bridge between pure application developers and the resulting target system that's produced.  Package developers write recipes, debug applications, and debug build problems.
 
The package developer is often a mix of the previous two role types.  Often they have some knowledge of the build system and applications and build tools used to create those applications.  They typically act as a bridge between pure application developers and the resulting target system that's produced.  Package developers write recipes, debug applications, and debug build problems.
 +
 +
=== Primary Tooling Requirements ===
 +
 +
* Create and edit package metadata
 +
* Easily integrate package metadata into build system
 +
* Debug build issues
 +
* Visualize Package Dependencies
  
 
== Target System User ==
 
== Target System User ==

Revision as of 18:50, 11 November 2009

Contents

Overview

This page defines primary user-roles in using OpenEmbedded. The material resulted from some discussions at OEDEM that were truncated due to time restrictions.

Goals

The goal of identifying user-roles is to be able to categorize different tooling scenarios, and what types of users will be interested in specific features. Tools designed for role type may not be appropriate for other roles. For example, a GUI for recipe editing may not be helpful for an application developer that's looking to remote debug their application on a target. On the other hand, a simple press-button build GUI may not be interesting for a seasoned OE hacker.

Role Types

Application Developer

The application developer's main concern is developing and testing any given application on a target system. This person does not care nor want to learn much about the internal details of the build system or package metadata. The best possible case is that these systems are transparent and the developer is able to easily build and deploy applications to the target device.

Primary Tooling Requirements

  • Build Application for Target
  • Debug Application on Target
  • Generate build system artifacts for Application (recipes)

Distro Developer

Distro developer's concern is to compose packages and configurations into a working system. The disto developer has deep knowledge of packages available in Linux, and how sets of packages work well together. Additionally the distro developer is not afraid to work deeply within the build system to make it better, and to produce better, more maintainable package metadata and target systems.

Primary Tooling Requirements

  • Build system image
  • Create/edit distro definitions
  • Debug build problems
  • Visualize package dependencies

Package Developer

The package developer is often a mix of the previous two role types. Often they have some knowledge of the build system and applications and build tools used to create those applications. They typically act as a bridge between pure application developers and the resulting target system that's produced. Package developers write recipes, debug applications, and debug build problems.

Primary Tooling Requirements

  • Create and edit package metadata
  • Easily integrate package metadata into build system
  • Debug build issues
  • Visualize Package Dependencies

Target System User

This role type typically is not exposed to package metadata, cross compilers, or build systems. They are system users, and as such, at times want to:

  • Update system
  • Install packages
  • Configure package metadata
Personal tools
Namespaces

Variants
Actions
Navigation
Categories
OE services
Toolbox