Tdc2014 tizen common_20140603

2,173 views
1,957 views

Published on

https://www.tizen.org/events/tizen-developer-conference/2014/tizencommon-new-development-profile-tizen-3

Tizen:Common: a new development profile for Tizen 3
Tizen:Common provides a common development/build/test environment for Tizen 3. With the coming multiplication of verticals, creating a Common build base was becoming critical. All profiles will inherit from Tizen:Common and add their profile-specific features.

This talk will focus on the following topics:
* Tizen:Common architecture
* New features coming in Tizen:Common (Tizen 3): Multiuser, Wayland, 64 bits, Crosswalk, Buxton, SMACK, 3D UI
* Development, build, test workflow (OBS, GBS)
* Images availability
* Hardware reference targets
* Use cases: development, integration, QA

Year:
2014
Track:
Platform development
Presenter(s):
Stéphane Desneux, EUROGICIEL
Location:
Continental 5
Scheduled Time:
Tuesday, 3 June 2014 - 12:15pm to 12:55pm

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,173
On SlideShare
0
From Embeds
0
Number of Embeds
1,272
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Tdc2014 tizen common_20140603

  1. 1. Tizen:Common A new development profile for Tizen 3 Stéphane Desneux Senior Software Engineer Eurogiciel <stephane.desneux@open.eurogiciel.org>
  2. 2. 2 Eurogiciel ● IT Services Company ● Open source development and integration: ● Several maintainers in multiple domains on tizen.org ● Embedded systems for real-time multimedia: ● Widi/Miracast stack ● Wayland/Weston ● Webkit2 with HW acceleration ● Applications development ● HTML5/CSS3, jquery, jqmobi, Cordova ... ● Location : Vannes (Brittany), France
  3. 3. 3 Agenda ● Why Tizen:Common ? ● Overall view ● Inside Tizen:Common ● Roadmap ● Demo & Questions
  4. 4. Why Tizen:Common ?
  5. 5. 5 More Profiles ● More profiles to handle: ● Mobile ● IVI ● TV ● Household equipments ● Wearables ● Creating a common base was becoming critical: ● Keep compatibility between profiles ● Not all hardware can be made available to all developers ● Work done in Tizen:Common benefits to all profiles
  6. 6. 6 Easing Development Process ● Access to a platform development kit for anyone ● Intel Architecture: ● 32 bits & 64 bits 100% Open Source including Graphic Drivers ● Classic : Laptop, NUC, ... ● Industrial : VTC1010 ● Hackers : Minnowboard-Max ● ARM Architecture: ● 32 bits & 64 bits ● Odroid-U3 (Samsung Exynos 4412 Prime, Mali 400 GPU) ● Other -unsupported- boards are reported to work
  7. 7. 7 An Integration Point ● Define a common base for most profiles ● Any package in 2 or more profiles should be included in Tizen:Common ● Most packages in Tizen:Common are integrated in all profiles ● Control of memory foot print / dependencies ● Tool to test that major features should not break other profiles ● Multi user ● SMACK ● Cynara ● Crosswalk ● Weston/Wayland ● ...
  8. 8. Overall view
  9. 9. 9 Architecture Coverage – where is Tizen:Common ? SMACK
  10. 10. 10 Architecture Coverage – where is Tizen:Common ? SMACK Core Shared HAL/Private
  11. 11. 11 Subprojects ● Common-Micro ● HAL (kernel, firmwares) ● Systemd, PAM, SMACK ● Base tools (coreutils, rpm ...) ● Network connectivity ● Common-Light ● Wayland ● Crosswalk ● Middleware ● Bluetooth ● Multimedia ● Dev-Tools ● Build toolchain ● Debug tools ● Console tools ● Test applications ● QA Tools and Test Suites ● Shared components ● Toolkits: EFL, Qt5 ● Middleware: Ofono, Calendar
  12. 12. 12 How to Create a New Tizen Profile MobileMobile CoreCore IVIIVI ...... OfonoOfono ...... QtQt EFLEFL DevelDevel QA&TestsQA&Tests ProfilesProfiles CommonCommon Base (mandatory)Base (mandatory) Shared (optional)Shared (optional)ToolsTools HAL/platformHAL/platform
  13. 13. 13 Packages Types ● Core packages ● Used in all Tizen 3 profiles ● Examples: Core APIs, Application Framework, Cynara, Crosswalk ... ● Shared packages ● Used in some Tizen 3 profiles, but not all ● Examples: EFL, Qt5, Ofono ... ● Private packages ● Used exclusively in Tizen:Common, not to be used by any profile ● Includes all packages located in gerrit:profile/common/* ● Example: kernel-common, weston-common, profile/common/meta ...
  14. 14. 14 Multi-product Support from a Unified Code Base ● New feature: ● Integration on Tizen:Common first ● Enable multi-architecture quick test ● Enable synchronized integration for key features ● Major changes to be tested against Tizen:Common ● Profile synchronization on Tizen:Common very regularly ● Syncing every week is advisable ● A profile remains master of its own integration pace
  15. 15. Inside Tizen:Common
  16. 16. 16 Build Workflow ● Uses the new 'repa' tool ● Creates a prerelease build for every submission ● OBS Project: home:prerelease:<target project>:<submission id> Ex: home:prerelease:Tizen:Common:submit:tizen_common:20140529.194900 ● Prerelease Builds: ● All packages depending on the submitted packages are rebuilt ● Prerelease Images are also available for testing Available on: http://download.tizen.org/build/prerelease/tizen/common/... URL is also indicated in prerelease project description (header on OBS UI) ● Automatic QA sanity tests can then be run on prerelease images
  17. 17. 17 Acceptance Criteria ● Most packages in Tizen:Common will be pulled by other profiles ● High acceptance criteria are needed ● Consequence: a submission will be accepted if: ● Prerelease build is clean in all architectures: ia32, x86_64, armv7l ... AND ● Prerelease images are all built successfully AND ● QA Sanity tests pass on all prerelease images
  18. 18. 18 Guidelines for Maintainers ● Local build with multiple architectures: ● use 'gbs build -A <arch>' to test before submitting ● Use 'gbs submit -t <target>' to choose the right project: ● Target = 'tizen_common' to send to Tizen:Common only Typical usage: integrate new features ● Target = 'tizen_<profile>' to send to a specific profile only Typical usage: submit a change on a profile-specific package ● Target = 'tizen' to broadcast to all profiles Typical usage: bug fixing ● Use group submissions when needed: ● when multiple packages must be changed simultaneously ● use 'gbs submit --tag <tag>'
  19. 19. 19 OBS Project & Bug Tracking ● On OBS: 'Tizen:Common' project ● ~730 packages ● cleanup in progress ● 5 repositories (4 architectures) ● x86 ● x86_64 ● armv7l (repository published, images for ODroid-U3 coming soon) ● aarch64 (ARM 64 bits): coming soon ● emulator32 (x86 repository for SDK) ● Bug reports ● new JIRA project 'TC'
  20. 20. 20 Images Types and Flavours ● Main: ● common-wayland-mbr-<arch> : raw image for USB/SSD/HDD ● Minimal: ● common-minimal-mbr-<arch> : raw image for USB/SSD/HDD ● Emulator: ● common-emulator-wayland-i586 : ia32 only, tarball for qemu (SDK) ● Installer: ● common-installer-mbr-i586 : ia32 only, small raw image for USB sticks ● Extra tags: ● *-qa-unsafe-*: allows automatic login through SSH (QA tests, Developers) ● *-mbr-* or *-efi-*: type of boot loader (EFI support coming soon)
  21. 21. 21 Snapshots & Releases ● Snapshots ● created at the end of a build cycle in the main OBS project ● automatic QA Sanity tests are run on each snapshot ● Daily Release ● Selection of the best snapshot of the day ● Extra automatic QA tests are run ● Weekly Release ● Selection of the best daily release of the week ● Extensive automatic & manual QA tests ● Published on Wednesday
  22. 22. 22 Keeping Synced with Tizen:Common Common Submissions on tizen: accepted on tizen_$profile only if accepted on tizen_common (bug fixes) Profile c b a Submissions on tizen_$profile (specific pkgs) daily weekly 1 2 3 e d 4 sync x y z Submissions on tizen_common (new features) 1 2 3 4
  23. 23. Roadmap
  24. 24. 24 Recent History ● Components: ● Multiuser mode (partial) ● Single Weston instance (RDP available for developers) ● Crosswalk 7.35.x ● EFL 1.9.3 ● Mesa 10.1.3 ● Qt5 5.3.0 ● Gumd, Cynara (early integration) ● Snapshots and Images: ● ARM build (armv7l with neon FPU, beta image for AllWinner-A20/Olimex) ● Emulator image (32 bits) ● Installer image
  25. 25. 25 Roadmap ● Milestones: ● 3.0 Common 2014 Q2 : end of May 2014, currently in development ● 3.0 Common 2014 Q3 : end of Aug 2014 ● 3.0 Common 2014 Q4 : end of Nov 2014 ● Features ● Alpha Q2 2014 ● Crosswalk, Multiuser, Smack, Wayland ● Buxton, Cynara coming in June 2014 ● Beta Q3 2014 ● 3D UI, new Bluetooth FW, Wifi FW, ARM64, EFL upgrade, User accounts management
  26. 26. Demo & Questions
  27. 27. 27 Links ● Snapshots: http://download.tizen.org/snapshots/tizen/common ● Daily Releases:http://download.tizen.org/releases/daily/tizen/common ● Weekly Releases: http://download.tizen.org/releases/weekly/tizen/common ● Wiki ● Tizen Common: http://wiki.tizen.org/wiki/Common ● Tizen 3.0: https://wiki.tizen.org/wiki/Tizen_3.0 ● OBS Project: https://build.tizen.org/project/show?project=Tizen%3ACommon ● JIRA Project: https://bugs.tizen.org/jira/browse/TC

×