Difference between revisions of "User:Elvispre"

From WebOS-Ports
Jump to navigation Jump to search
 
(60 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Overview ==
+
''I am known as corpuscle on GitHub, by the way.''
'''What is WebOS Ports?'''
+
 
 +
== Working On ==
 +
* Settings' PIN pad layout (to fit on screen in landscape mode on Nexus 4).
 +
* Clock alarms and system wake up.
 +
* requestedWindowOrientation...
 +
* Improve File Manager app.
 +
* Improve Preware 2.
 +
* ieee802.1x Wi-Fi.
 +
 
 +
https://software.intel.com/en-us/blogs/2014/12/04/connecting-intelr-edison-to-an-ieee-8021x-enterprise-hotspot-via-connman
 +
 
 +
Connman and 802.1x is a little tricky as per https://together.jolla.com/question/315/how-to-wpa-8021x-enterprise-eduroam-others-gui-wifi-support-needed-workaround/
 +
 
 +
https://github.com/webOS-ports/org.webosports.app.firstuse/blob/master/qml/WiFiPage.qml#L222
 +
 
 +
It requires a config file for 802.1x as per https://kernel.googlesource.com/pub/scm/network/connman/connman/+/master/doc/config-format.txt#L99
  
[[WebOS-Ports:About|WebOS Ports]] is an [[Wikipedia:Open source|open source]] [[Wikipedia:Firmware|firmware]] distribution for [[Wikipedia:Smartphone|smartphone]]s and [[Wikipedia:Tablet computer|tablet computer]]s based on the [http://www.openwebosproject.org/ Open webOS] mobile [[Wikipedia:Operating system|operating system]].
+
* https://communi.github.io/ ?
  
Basically, it is the (Open) webOS "Community Edition" project. You will see some ''old'' references to WOCE for that reason.
+
== Notes ==
  
Read about the supported devices [[Devices|here]].
+
<code>adb push ~/code/org.webosports.app.calculator/deploy/org.webosports.app.calculator /usr/palm/applications/org.webosports.app.calculator</code>
  
'''What is Open webOS?'''
+
<code>adb push ~/code/org.webosports.app.settings/deploy/org.webosports.app.settings /usr/palm/applications/org.webosports.app.settings</code>
  
When HP pulled the plug on what was left of Palm, it produced an [[Wikipedia:Open source|open source]] version of the webOS that ran on the HP Touchpad. ''That'' is Open webOS. [http://www.lg.com/ LG], who bought the Palm division off HP, sponsor it now.
+
<code>adb push ~/code/preware/deploy/org.webosinternals.preware /usr/palm/applications/org.webosinternals.preware</code>
  
We have some cool material on it [[About_OpenWebOS|here]].
+
<code>adb push ~/code/core-apps/com.palm.app.clock /usr/palm/applications/com.palm.app.clock</code>
  
'''What is LuneOS?'''
+
<code>adb shell</code><br>
 +
<code>luna-send -n 1 luna://com.palm.applicationManager/launch '{"id":"org.webosports.app.firstuse"}'</code>
  
LuneOS is the name of WebOS Ports' Open webOS. Lune refers to the user interface in legacy webOS, LunaSysMgr.
+
"ApplicationInstaller: switch from ipkg to opkg"
  
'''What is LunaCE?'''
+
<code>adb shell</code><br>
 +
<code>opkg install /media/internal/somefile.ipk</code>
  
[[About_LunaCE|Luna Community Edition]]. It is a Touchpad thing.
+
<code>webos20090606</code> (still) accesses the control of developer mode.
  
rwhitby August 2012:
+
last_kmsg from recovery
<blockquote>LunaCE (formerly UberLunah) is a collection of all the best LunaSysMgr improvements for the ''HP TouchPad'', rolled into a single installation package.</blockquote>
 
  
 
== Development ==
 
== Development ==
 +
See [[Getting Started With Development]].
 +
 +
[[Install Android SDK on Ubuntu 14.04 64-bit]] might be useful before that.
 +
 +
* [http://webchat.freenode.net/?channels=webos-ports WebOS Ports on IRC]
  
=== Help Develop LuneOS ===
+
* [http://logs.nslu2-linux.org/livelogs/webos-ports/ WebOS Ports on IRC daily logs]
==== Build and Install LuneOS ====
 
For an easy life, develop on Linux. Ubuntu 12.04 LTS 64-bit works well.
 
  
The [https://github.com/webos-ports/ source code] is on GitHub so you need a copy of [http://git-scm.com/ git] for a start.
+
* [http://jenkins.nas-admin.org/ The LuneOS Jenkins server]
  
Instructions for building (or just downloading) and installing an image can be reached by selecting a target device from the [[Devices]] page. Notice that there is a LuneOS VirtualBox [[Emulator]] which you can use instead of a target device.
+
* [http://issues.webos-ports.org/projects Issues tracker]
  
==== Build System Overview ====
+
* [https://tree.taiga.io/ My task management board]
I assume that the build system is based on the [http://www.openwebosproject.org/docs/build_guide Open webOS one].
 
  
Set-up is automated
+
* [https://github.com/ GitHub]
<code>
 
$ wget https://raw.github.com/webOS-ports/webos-ports-setup/testing/Makefile
 
$ make setup-webos-ports
 
</code>
 
(but do follow the proper instructions for your device).
 
  
The build itself is based on the [http://www.openembedded.org/wiki/Main_Page OpenEmbedded] (oe) build framework for embedded Linux and is driven by the [https://www.yoctoproject.org/tools-resources/projects/bitbake BitBake] (bb) build engine (rather than make).
+
* [https://trello.com/b/TIZXk0xw/luna-next That Luna-Next Trello board]
  
You bitbake a [http://www.yoctoproject.org/docs/1.6/bitbake-user-manual/bitbake-user-manual.html#recipes "recipe"]. This is a simple text file of metadata with the extension .bb indicating how to fetch, build and install something. The system is very modular. One recipe depends on another and there are hundreds of recipes involved in our build.
+
* [https://github.com/enyojs/enyo/wiki/Dupliforking How to duplifork] on GitHub
 +
Although using <code>git remote set-url https://github.com/...</code> will work better than git@ if you don't have ssh set up properly,
 +
and the initial push command is <code>git push origin master</code>.
  
The particularly interesting recipes for our purposes, such as <code>webos-ports-dev-package</code>, are in <code>webos-ports/meta-webos-ports/recipes-core/images</code>.
+
Can ask about enyo on #enyojs.
  
[[Repository_Layout|Repository Layout]] might make some sense to you now!
+
Enyo debugging: http://www.slideshare.net/fpatton/lemke-steve-debugging-palm-dev-day
  
The [[Porting Guide]] sheds quite a lot of light on this too.
+
Also: http://www.openwebosproject.org/docs/developer_reference/config/framework_config/#.VkzeVb9WVrQ
  
==== Develop! ====
+
== Enyo FilePicker ==
So let's say you have built <code>webos-ports-dev-package</code>, installed it on a device and had a play around with it. How can you change it?
+
The FilePicker available to enyo 2 apps via webos-lib
 +
https://github.com/webOS-ports/webos-lib/blob/master/source/FilePicker.js
 +
is an enyo 1 "cross app UI" passed params and mediated by
 +
https://github.com/webOS-ports/webos-lib/blob/master/source/CrossAppUI.js#L14
 +
The FilePicker itself is in luna-systemui.
  
Start with a browse around the <code>meta-webos-ports</code> layer folder (on your build machine). Its <code>conf/layer.conf</code> is interesting. This is where we pick up Open webOS from LG and then customise it. The luneos "distro platform codename" gets set in the file <code>webos.inc</code> for example. <code>webos-repositories.inc</code> looks pretty interesting too.
+
== Toaster ==
  
You could change something in there and bitbake again to see what happens. (Will your change be incorporated or overwritten?)
+
<code>source venv/bin/activate</code>
  
If you are looking to improve the bundled apps (or add new ones), the recipes are in <code>recipes-webos/apps</code>. Make some sense of those and you will definitely be winning. Can you find the fetched source code? Do you understand why it is where it is?
+
== Overview ==
 +
'''What is WebOS Ports?'''
  
'''Is there a good (read, more convenient) environment to test apps without installing on a device?'''
+
[[WebOS-Ports:About|WebOS Ports]] is an [[Wikipedia:Open source|open source]] [[Wikipedia:Firmware|firmware]] distribution for [[Wikipedia:Smartphone|smartphone]]s and [[Wikipedia:Tablet computer|tablet computer]]s based on the [http://www.openwebosproject.org/ Open webOS] mobile [[Wikipedia:Operating system|operating system]].
  
If you have made a worthwhile change, our [[Submitting_Contributions|Submitting Contributions]] instructions tell you how to get it pulled into the main line.
+
Basically, it is the (Open) webOS "Community Edition" project. You will see some ''old'' references to WOCE for that reason.
  
=== Help Develop the Core LuneOS Applications ===
+
Read about the supported devices [[Devices|here]].
  
=== Develop Applications to Run on LuneOS ===
+
'''What is Open webOS?'''
 +
 
 +
When HP pulled the plug on what was left of Palm, it produced an [[Wikipedia:Open source|open source]] version of the webOS that ran on the HP Touchpad. ''That'' is Open webOS. [http://www.lg.com/ LG], who bought the Palm division off HP, sponsor it now.
 +
 
 +
We have some cool material on it [[About_OpenWebOS|here]].
 +
 
 +
'''What is LuneOS?'''
 +
 
 +
LuneOS is the name of WebOS Ports' Open webOS. Lune refers to the user interface in legacy webOS, LunaSysMgr.
 +
 
 +
'''What is LunaCE?'''
 +
 
 +
[[About_LunaCE|Luna Community Edition]]. It is a Touchpad thing.
 +
 
 +
rwhitby August 2012:
 +
<blockquote>LunaCE (formerly UberLunah) is a collection of all the best LunaSysMgr improvements for the ''HP TouchPad'', rolled into a single installation package.</blockquote>

Latest revision as of 11:30, 29 October 2016

I am known as corpuscle on GitHub, by the way.

Working On

  • Settings' PIN pad layout (to fit on screen in landscape mode on Nexus 4).
  • Clock alarms and system wake up.
  • requestedWindowOrientation...
  • Improve File Manager app.
  • Improve Preware 2.
  • ieee802.1x Wi-Fi.

https://software.intel.com/en-us/blogs/2014/12/04/connecting-intelr-edison-to-an-ieee-8021x-enterprise-hotspot-via-connman

Connman and 802.1x is a little tricky as per https://together.jolla.com/question/315/how-to-wpa-8021x-enterprise-eduroam-others-gui-wifi-support-needed-workaround/

https://github.com/webOS-ports/org.webosports.app.firstuse/blob/master/qml/WiFiPage.qml#L222

It requires a config file for 802.1x as per https://kernel.googlesource.com/pub/scm/network/connman/connman/+/master/doc/config-format.txt#L99

Notes

adb push ~/code/org.webosports.app.calculator/deploy/org.webosports.app.calculator /usr/palm/applications/org.webosports.app.calculator

adb push ~/code/org.webosports.app.settings/deploy/org.webosports.app.settings /usr/palm/applications/org.webosports.app.settings

adb push ~/code/preware/deploy/org.webosinternals.preware /usr/palm/applications/org.webosinternals.preware

adb push ~/code/core-apps/com.palm.app.clock /usr/palm/applications/com.palm.app.clock

adb shell
luna-send -n 1 luna://com.palm.applicationManager/launch '{"id":"org.webosports.app.firstuse"}'

"ApplicationInstaller: switch from ipkg to opkg"

adb shell
opkg install /media/internal/somefile.ipk

webos20090606 (still) accesses the control of developer mode.

last_kmsg from recovery

Development

See Getting Started With Development.

Install Android SDK on Ubuntu 14.04 64-bit might be useful before that.

Although using git remote set-url https://github.com/... will work better than git@ if you don't have ssh set up properly, and the initial push command is git push origin master.

Can ask about enyo on #enyojs.

Enyo debugging: http://www.slideshare.net/fpatton/lemke-steve-debugging-palm-dev-day

Also: http://www.openwebosproject.org/docs/developer_reference/config/framework_config/#.VkzeVb9WVrQ

Enyo FilePicker

The FilePicker available to enyo 2 apps via webos-lib https://github.com/webOS-ports/webos-lib/blob/master/source/FilePicker.js is an enyo 1 "cross app UI" passed params and mediated by https://github.com/webOS-ports/webos-lib/blob/master/source/CrossAppUI.js#L14 The FilePicker itself is in luna-systemui.

Toaster

source venv/bin/activate

Overview

What is WebOS Ports?

WebOS Ports is an open source firmware distribution for smartphones and tablet computers based on the Open webOS mobile operating system.

Basically, it is the (Open) webOS "Community Edition" project. You will see some old references to WOCE for that reason.

Read about the supported devices here.

What is Open webOS?

When HP pulled the plug on what was left of Palm, it produced an open source version of the webOS that ran on the HP Touchpad. That is Open webOS. LG, who bought the Palm division off HP, sponsor it now.

We have some cool material on it here.

What is LuneOS?

LuneOS is the name of WebOS Ports' Open webOS. Lune refers to the user interface in legacy webOS, LunaSysMgr.

What is LunaCE?

Luna Community Edition. It is a Touchpad thing.

rwhitby August 2012:

LunaCE (formerly UberLunah) is a collection of all the best LunaSysMgr improvements for the HP TouchPad, rolled into a single installation package.