Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Platform: documents import from https://wiki.tizen.org/Category:Tool #1413

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
507 changes: 507 additions & 0 deletions docs/platform/tool/ASan.md

Large diffs are not rendered by default.

737 changes: 737 additions & 0 deletions docs/platform/tool/Analyzing_Workflow_of_Gbs_Export.md

Large diffs are not rendered by default.

151 changes: 151 additions & 0 deletions docs/platform/tool/Build_images_from_a_Dockerfile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
Introduction
------------

To build an image from a source repository, create a description file
called Dockerfile at the root of your repository. This file will
describe the steps to assemble the image.\
Download Dockerfile on review.tizen.org\

Log in on review.tizen.org
ssh clone

Gerrit Image
------------

\$ git clone <ssh://%5Buser>
id\]\@review.tizen.org:29418/scm/services/docker-script -b gerrit\
\$ cd devgerrit\
\$ ls\

Dockerfile dgerrit.sh env jdk proxy script supervisor
config.conf drupal gerrit phpldapadmin root slap

#### Description ####
* Dockerfile : A Dockerfile is a text document that contains all the commands
you would normally execute manually in order to build a Docker image
* config.conf : Metaconfig file of container
* env : Environment variables of container
* root : Specific configuration files to be applied on container


\$ sudo ./dgerrit.sh build\

Build docker images:
Sending build context to Docker daemon 104.4 kB
Sending build context to Docker daemon
Step 0 : FROM opensuse:13.1
---&gt; c8ad3d804d48
...
Successfully built 1a5ffc17324d

\$ docker images

$ docker images
tizendocker:443/gerritdrupalldap 2.9.4.0.2

Jenkins Image
-------------

\$ git clone ssh://\[user
id\]\@review.tizen.org:29418/scm/services/docker-script -b jenkins\
\$ cd devjenkins\
\$ ls\

Dockerfile config.conf djenkins.sh env jenkins root script supervisor

#### Description ####
* Dockerfile : A Dockerfile is a text document that contains all the commands
you would normally execute manually in order to build a Docker image
* config.conf : Metaconfig file of container
* env : Environment variables of container
* root : Specific configuration files to be applied on container


\$ sudo ./djenkins.sh build\

Build docker images:
Sending build context to Docker daemon 104.4 kB
Sending build context to Docker daemon
...
Successfully built 1a5ffc17324d


\$ docker images\

$ docker images
tizendocker:443/jenkins 1.580.3-1.2.0.4

OBS Server Image
----------------

\$ git clone <ssh://%5Buser>
id\]\@review.tizen.org:29418/scm/services/docker-script -b
obsserver-2.4\
\$ cd devobsserver\
\$ ls\

Dockerfile dobsserver.sh obsserver root supervisor
config.conf env script

#### Description ####
* Dockerfile : A Dockerfile is a text document that contains all the commands
you would normally execute manually in order to build a Docker image
* config.conf : Metaconfig file of container
* env : Environment variables of container
* root : Specific configuration files to be applied on container


\$ sudo ./dobsserver.sh build\

Build docker images:
Sending build context to Docker daemon 104.4 kB
Sending build context to Docker daemon
...
Successfully built 1a5ffc17324d


\$ docker images\

$ docker images
tizendocker:443/obsserver 2.4.0.7

OBS Worker Image
----------------

\$ git clone <ssh://%5Buser>
id\]\@review.tizen.org:29418/scm/services/docker-script -b
obsworker-2.4\
\$ cd devobsworker\
\$ ls\

Dockerfile config.conf dobsworker.sh env obsw root script supervisor

#### Description ####
* Dockerfile : A Dockerfile is a text document that contains all the commands
you would normally execute manually in order to build a Docker image
* config.conf : Metaconfig file of container
* env : Environment variables of container
* root : Specific configuration files to be applied on container

\$ sudo ./dobsworker.sh build

Build docker images:
Sending build context to Docker daemon 104.4 kB
Sending build context to Docker daemon
...
Successfully built 1a5ffc17324d

\$ docker images

$ docker images
tizendocker:443/obsworker 2.4.0.3

References
----------

Docker can build images automatically by reading the instructions from a
Dockerfile <https://docs.docker.com/reference/builder/>

[Setup\_of\_Tizen\_Infrastructure\_with\_Docker](Setup_of_Tizen_Infrastructure_with_Docker "wikilink")

[Category:Tool](Category:Tool "wikilink")
87 changes: 87 additions & 0 deletions docs/platform/tool/Cordova.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
Apache Cordova is a mobile software development framework, underlying
PhoneGap.

Consider using it when HTML5 is not enough for
[Application\_Development](Application_Development "wikilink").

### Onsen UI:

![](Monaca.png "Monaca.png")

Monaca / OnSen is providing cloud IDE facilities for
[hybrid](hybrid "wikilink") [mobile](mobile "wikilink")
[Application\_Development](Application_Development "wikilink") based on
(Phonegap/Cordova).

- <https://monaca.io/>

Tizen is not fully supported but it\'s possible to repackage app.

Here are some hints

- Register and start IDE : <https://monaca.mobi/en/dashboard>
- Create project / Sample Apps
- \"Bricks\"
- Open : <https://ide.monaca.mobi/project/#>\...
- File / Export project
- Title: bricks
- unzip project.zip
- Adapt [wgt](wgt "wikilink")\'s config.xml or replace to something
based on this minimal config.xml :

<!-- -->

<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets" id="http://example.com/app" version="1.0.0" viewmodes="maximized">
<tizen:application id="ComExample.main" package="ComExample" required_version="2.4"/>
<content src="www/index.html"/>
<feature name="http://tizen.org/feature/screen.size.all"/>
<name>main</name>
<tizen:setting context-menu="disable"/>
<tizen:profile name="mobile"/>
</widget>

- - If you keep generated config.xml make sure to:
- Declare in widget element this attribute :
\"xmlns:tizen=\"<http://tizen.org/ns/widgets>\"
- Add \"tizen:application
- Keep content src=\"www/index.html\"
- Add <tizen:profile name="mobile"/>

- Then deploy using [SDK](SDK "wikilink"), or CLI SDK (we assume you
know about generating [certificates](certificates "wikilink"))

<!-- -->

cert=tizen
wgt_file=main.wgt
package=ComExample
~/tizen-studio/tools/ide/bin/tizen build-web
~/tizen-studio/tools/ide/bin/tizen package -t wgt -s ${cert}
~/tizen-studio/tools/ide/bin/tizen install -n ${wgt_file} -- .
~/tizen-studio/tools/sdb shell pkgcmd -l -t wgt
~/tizen-studio/tools/ide/bin/tizen run --pkgid ${package}

Et voila !

May sample code could be ported to Tizen, for instance check this
[OpenSource](OpenSource "wikilink")
[Application](Application "wikilink") using [React](React "wikilink")
[JavaScript](JavaScript "wikilink") framework:

- <https://github.com/TizenTeam/react-onsenui-redux-weather/tree/tizen/mobile/2.4/master>
- <https://github.com/frankdiox/OnsenUI-Todo-App/issues/3>

Ask me more \--[Pcoval](User:Pcoval "wikilink")
([talk](User_talk:Pcoval "wikilink")) 11:36, 23 October 2016 (UTC)

### Resources:

- <https://download.tizen.org/misc/media/conference2012/wednesday/bayview/2012-05-09-1415-1455-enabling_cordova_aka_phonegap_on_tizen.pdf>
- <https://download.tizen.org/misc/media/conference2013/slides/TDC2013-Porting_Cordova_on_Tizen.pdf>
- <https://01.org/sites/default/files/phonegapdayseu2012-portingcordovatotizen.pdf>
- <https://cordova.apache.org/docs/en/5.0.0/guide/platforms/tizen/>
- <http://stackoverflow.com/questions/40800681/using-apache-cordova-plugins-for-tizen-project/40802207#40802207>

[Category:Application](Category:Application "wikilink")
[Category:Tool](Category:Tool "wikilink")
101 changes: 101 additions & 0 deletions docs/platform/tool/Further_OBS_Signing_Configurations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
You need additional configurations after
<https://en.opensuse.org/openSUSE:Build_Service_Signer>\

### Installing obssignd

#### Prepare gnupg

- The mainline gnupg cannot use obs-signd.
- You may use other standard signd (you won\'t be able to do
per-project sign)
- However, the author did never test with other signd.

\
\
\* You need to apply the patch from obs-sign to gnupg.

- - The patch is available at
<https://github.com/openSUSE/obs-sign.git> (
gnupg-1.4.7-files\_are\_digests.patch )
- Or download at
<https://raw.githubusercontent.com/openSUSE/obs-sign/master/gnupg-1.4.7-files_are_digests.patch>

- The patch is intended for 1.4.7, but the author used 1.4.16 (Ubuntu
14.04) with some additional modifications.
- Apply the patch to your gnupg source
- In recent gnupg, g10/sign.c requires additional changes:
- add \#include \"../include/host2net.h\"
- modify buffer\_to\_u32 to buf32\_to\_u32
- Recompile gnupg
- Install the modified & recompiled gnupg to your system.

\
==== Prepare obssignd ====

- Download <https://github.com/openSUSE/obs-sign.git>
- Do what dist/obs-signd.spec says (if your system does not use RPM).
It\'s pretty short and straightforward.
- Modify dist/obssignd to configure /etc/init.d/obssignd for your
system.
- For example, in Ubuntu 14.04, modify the main daemon-start part
to:
- start-stop-daemon \--start \--background \--no-close \--exec
\${SN\_BIN} -p \${PID} \-- \${SN\_OPTS} \>
\"\$logdir\"/signd.log
- Run the \"obssignd\" daemon along with obssigner

\
=== Apply Tizen-Wide Public Key, Not Public Key per Project ===

- Edit /usr/lib/obs/server/BSConfig.pm (The official openSUSE guide
configures a public key per project)

: {\| width=\"1000px\" border=\"0\" style=\"margin:0;
background:\#f2f2f2; font-family:Consolas,Monaco,Monospace;\"

\|- \| <font color=green> ······\

our $sign = "/usr/bin/sign";
our $sign_project = 0;
our $keyfile = "/etc/ourkeyfile.asc";
our $forceprojectkeys = 0;

······\
</font> \|}

- Delete per-project public keys if they are already created

: {\| width=\"1000px\" border=\"0\" style=\"margin:0;
background:\#f2f2f2; font-family:Consolas,Monaco,Monospace;\"

\|- \| <font color=green> ······\

$ for X in `osc ls`; do osc signkey --delete $X; done

······\
</font> \|}

- - Projects published after this will use the public key configured
as in the openSUSE official guide (/etc/ourkeyfile.asc)

\

### Verifying the Key

- Note that MIC automatically checks the corresponding public key.
- It rejects creating images if the public key is not recognized.
- You need to import the public key in your system (\$ gpg
\--import keyfile)

<!-- -->

- Verifying repmod.xml (both repmod.xml and repmod.xml.asc should
exist in the current path)
- \$ gpg \--verify repmod.xml.asc

<!-- -->

- Importing the key
- \$ gpg \--import repmod.xml.key

[Category:Tool](Category:Tool "wikilink")
Loading