From 04d73a5824107efa298f0604672efc2146bbd3eb Mon Sep 17 00:00:00 2001 From: Alex Roth Date: Sun, 17 Dec 2017 13:25:59 -0500 Subject: [PATCH] Add packages and configuration changes to allow Luna to start in QEMU (#1016) * Added a lot more Luna packages. It is now possible to start Luna, complete the first use app, and use the system. ARM support still broken. * Cleanup & testing fixes. Starting in a fresh qemu environment works, but isn't quite deterministic. See wiki page for details --- luna/activitymanager/APKBUILD | 30 ++++ luna/activitymanager/compile.patch | 44 ++++++ luna/configurator/APKBUILD | 29 ++++ luna/db8/APKBUILD | 34 +++++ luna/db8/remove-np-pthread.patch | 140 ++++++++++++++++++ luna/enyo/APKBUILD | 22 +++ ...as-prefix-in-order-to-make-this-a-co.patch | 50 +++++++ luna/libconnman-qt/APKBUILD | 27 ++++ luna/libwebos-application/APKBUILD | 30 ++++ luna/luna-app-browser/APKBUILD | 36 +++++ .../fix-qtwebengine-private-includes.patch | 14 ++ luna/luna-app-services/APKBUILD | 78 ++++++++++ luna/luna-applauncher/APKBUILD | 20 +++ luna/luna-core-apps/APKBUILD | 42 ++++++ luna/luna-firstuse/APKBUILD | 30 ++++ luna/luna-firstuse/locale.patch | 17 +++ luna/luna-init/APKBUILD | 18 ++- luna/luna-qml-launcher/APKBUILD | 31 ++++ luna/luna-service2/APKBUILD | 10 +- luna/luna-service2/ls-private.conf | 46 ++++++ luna/luna-service2/ls-public.conf | 46 ++++++ luna/luna-sysmgr/APKBUILD | 2 + luna/luna-systemui/APKBUILD | 20 +++ luna/luna-temp-ofono-bluetooth/APKBUILD | 20 +++ luna/luna-webappmanager/APKBUILD | 35 +++++ .../fix-qtwebengine-private-includes.patch | 15 ++ luna/luna-webappmanager/remove-systemd.patch | 35 +++++ luna/luna-webappmanager/tryFix.patch | 12 ++ luna/mojoloader/APKBUILD | 21 +++ luna/mojoservice-frameworks/APKBUILD | 27 ++++ luna/mojoservicelauncher/APKBUILD | 29 ++++ luna/nodejs-module-webos-dynaload/APKBUILD | 30 ++++ luna/nodejs-module-webos-pmlog/APKBUILD | 44 ++++++ luna/nodejs-module-webos-sysbus/APKBUILD | 34 +++++ luna/webos-foundation/APKBUILD | 27 ++++ luna/webos-loadable-frameworks/APKBUILD | 27 ++++ luna/webos-underscore/APKBUILD | 21 +++ main/postmarketos-ui-luna/APKBUILD | 28 +++- main/postmarketos-ui-luna/start_luna.sh | 55 ++++--- 39 files changed, 1241 insertions(+), 35 deletions(-) create mode 100644 luna/activitymanager/APKBUILD create mode 100644 luna/activitymanager/compile.patch create mode 100644 luna/configurator/APKBUILD create mode 100644 luna/db8/APKBUILD create mode 100644 luna/db8/remove-np-pthread.patch create mode 100644 luna/enyo/APKBUILD create mode 100644 luna/libconnman-qt/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch create mode 100644 luna/libconnman-qt/APKBUILD create mode 100644 luna/libwebos-application/APKBUILD create mode 100644 luna/luna-app-browser/APKBUILD create mode 100644 luna/luna-app-browser/fix-qtwebengine-private-includes.patch create mode 100644 luna/luna-app-services/APKBUILD create mode 100644 luna/luna-applauncher/APKBUILD create mode 100644 luna/luna-core-apps/APKBUILD create mode 100644 luna/luna-firstuse/APKBUILD create mode 100644 luna/luna-firstuse/locale.patch create mode 100644 luna/luna-qml-launcher/APKBUILD create mode 100644 luna/luna-service2/ls-private.conf create mode 100644 luna/luna-service2/ls-public.conf create mode 100644 luna/luna-systemui/APKBUILD create mode 100644 luna/luna-temp-ofono-bluetooth/APKBUILD create mode 100644 luna/luna-webappmanager/APKBUILD create mode 100644 luna/luna-webappmanager/fix-qtwebengine-private-includes.patch create mode 100644 luna/luna-webappmanager/remove-systemd.patch create mode 100644 luna/luna-webappmanager/tryFix.patch create mode 100644 luna/mojoloader/APKBUILD create mode 100644 luna/mojoservice-frameworks/APKBUILD create mode 100644 luna/mojoservicelauncher/APKBUILD create mode 100644 luna/nodejs-module-webos-dynaload/APKBUILD create mode 100644 luna/nodejs-module-webos-pmlog/APKBUILD create mode 100644 luna/nodejs-module-webos-sysbus/APKBUILD create mode 100644 luna/webos-foundation/APKBUILD create mode 100644 luna/webos-loadable-frameworks/APKBUILD create mode 100644 luna/webos-underscore/APKBUILD diff --git a/luna/activitymanager/APKBUILD b/luna/activitymanager/APKBUILD new file mode 100644 index 000000000..0aef03441 --- /dev/null +++ b/luna/activitymanager/APKBUILD @@ -0,0 +1,30 @@ +pkgname=activitymanager +pkgver=124_git20160928 +pkgrel=0 +_commit=1e3e1f2a94bf57f9174b3e536b0b5c9b3a2b3d28 +pkgdesc="Open webOS component to manage all running activities" +arch="all" +url="https://github.com/webOS-ports/activitymanager" +license="GPL-3.0+" +depends="glib luna-service2 libressl db8 boost nyx-lib pmloglib" +makedepends="cmake-modules-webos glib-dev luna-service2-dev libressl-dev db8-dev boost-dev nyx-lib-dev pmloglib-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/activitymanager/archive/$_commit.tar.gz compile.patch" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +build() { + mkdir -p "$srcdir"/build + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="7d552fce050f0acd24fbe97e470ecda697e2a13b41efc1cfb27cde6849ac5030d5200ca579ab459e11224292c22e72daa19e0ee115367309fe335f628513cd0a activitymanager-1e3e1f2a94bf57f9174b3e536b0b5c9b3a2b3d28.tar.gz +b5f56de1e3037730c85f348ee8da674ce3ac86a20614ac031fa412a3f0fc827ddc1ea459c069a1237eec8418167187b9ecb35dd2239a8f74289a93cf7a5f2e30 compile.patch" diff --git a/luna/activitymanager/compile.patch b/luna/activitymanager/compile.patch new file mode 100644 index 000000000..7841e3daf --- /dev/null +++ b/luna/activitymanager/compile.patch @@ -0,0 +1,44 @@ +diff --git a/src/Activity.cpp b/src/Activity.cpp +index b44f14f..01809e0 100644 +--- a/src/Activity.cpp ++++ b/src/Activity.cpp +@@ -381,7 +381,7 @@ void Activity::ClearTrigger() + + bool Activity::HasTrigger() const + { +- return m_trigger; ++ return !!m_trigger; + } + + void Activity::Triggered(boost::shared_ptr trigger) +@@ -417,7 +417,7 @@ boost::shared_ptr Activity::GetCallback() + + bool Activity::HasCallback() const + { +- return m_callback; ++ return !!m_callback; + } + + void Activity::CallbackFailed(boost::shared_ptr callback, +@@ -983,7 +983,7 @@ boost::shared_ptr Activity::GetPowerActivity() + + bool Activity::IsPowerActivity() const + { +- return m_powerActivity; ++ return !!m_powerActivity; + } + + void Activity::PowerLockedNotification() +diff --git a/src/MojoTriggerSubscription.cpp b/src/MojoTriggerSubscription.cpp +index fada064..3fcd2a6 100644 +--- a/src/MojoTriggerSubscription.cpp ++++ b/src/MojoTriggerSubscription.cpp +@@ -60,7 +60,7 @@ void MojoTriggerSubscription::Unsubscribe() + + bool MojoTriggerSubscription::IsSubscribed() const + { +- return m_call; ++ return !!m_call; + } + + void MojoTriggerSubscription::ProcessResponse(MojServiceMessage *msg, diff --git a/luna/configurator/APKBUILD b/luna/configurator/APKBUILD new file mode 100644 index 000000000..3360de865 --- /dev/null +++ b/luna/configurator/APKBUILD @@ -0,0 +1,29 @@ +pkgname=configurator +pkgver=59_git20160928 +pkgrel=0 +_commit=45fb8458100a90fd7700a759c10836ead4760e20 +pkgdesc="Creates the database schema for webOS Applications" +arch="all" +url="https://github.com/webOS-ports/configurator" +license="GPL-3.0+" +depends="glib luna-service2 db8 json-c pmloglib" +makedepends="cmake-modules-webos glib-dev luna-service2-dev db8-dev json-c-dev pmloglib-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/configurator/archive/$_commit.tar.gz" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +build() { + mkdir -p "$srcdir"/build + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="4e606ad97e509bc0b58b0d835c03ae4f54ed4c3874cd00483948e0d145e74aaa38421f8625da902b53616f2974ae1851eea9609c0c3bf58cf3c6addd69ad1d79 configurator-45fb8458100a90fd7700a759c10836ead4760e20.tar.gz" diff --git a/luna/db8/APKBUILD b/luna/db8/APKBUILD new file mode 100644 index 000000000..dda98222d --- /dev/null +++ b/luna/db8/APKBUILD @@ -0,0 +1,34 @@ +pkgname=db8 +pkgver=149_git20170911 +pkgrel=1 +_commit=6bb08a67b2374affc08ce8a6c8866a93f0983fb6 +pkgdesc="The no-SQL database for webOS" +arch="all" +url="https://github.com/webOS-ports/db8" +license="GPL-3.0+" +depends="glib luna-service2 pmloglib icu db boost leveldb" +makedepends="cmake-modules-webos glib-dev luna-service2-dev pmloglib-dev icu-dev db-dev db-c++ boost-dev leveldb-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/db8/archive/$_commit.tar.gz +remove-np-pthread.patch" +options="!check" +subpackages="$pkgname-dev" +builddir="$srcdir/$pkgname-$_commit" + +build() { + mkdir -p "$srcdir"/build + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install + rm "$pkgdir"/usr/lib/db8/tests/dbgen + rmdir "$pkgdir"/usr/lib/db8/tests/ +} +sha512sums="e62ae979ae287b73b04f914acc3074de089e12ca9de9e47f5ae05966d31ad76683fa8ba6335c1c5035a07e4e95ae02b7b9c670a8b93cc5656391344be7b4f707 db8-6bb08a67b2374affc08ce8a6c8866a93f0983fb6.tar.gz +cf930a9dbcbcceb17dea47a5038551b7a21896da5caa56a50f26137c31c5fc27ac579f343298bb1bd72424b4b932d0e91b3585f02015e35dc1b2dabffa3bfb14 remove-np-pthread.patch" diff --git a/luna/db8/remove-np-pthread.patch b/luna/db8/remove-np-pthread.patch new file mode 100644 index 000000000..92fb0a392 --- /dev/null +++ b/luna/db8/remove-np-pthread.patch @@ -0,0 +1,140 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3162e89..a3af42f 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -287,6 +287,6 @@ if (WEBOS_CONFIG_BUILD_TESTS) + + endif() + add_subdirectory(tool/dbgen) +-add_subdirectory(tool/sandwichmigrate) ++#add_subdirectory(tool/sandwichmigrate) + + add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure ${ctest_args}) +diff --git a/inc/core/MojOs.h b/inc/core/MojOs.h +index c802f9f..57979c6 100755 +--- a/inc/core/MojOs.h ++++ b/inc/core/MojOs.h +@@ -20,6 +20,8 @@ + #ifndef MOJOS_H_ + #define MOJOS_H_ + ++#include ++ + #ifdef MOJ_HAVE_CTYPE_H + # include + #endif +diff --git a/inc/core/MojUtil.h b/inc/core/MojUtil.h +index 0a50b05..2019efc 100755 +--- a/inc/core/MojUtil.h ++++ b/inc/core/MojUtil.h +@@ -56,7 +56,7 @@ template + MojSize MojBinarySearch(T key, const T* array, MojSize numElems); + + template +-void MojQuickSort(T* array, MojSize numElems, const COMP& comp = COMP()); ++void MojQuickSort(T* array, MojSize numElems, const COMP& comp); + template + void MojQuickSort(T* array, MojSize numElems); + +diff --git a/inc/core/internal/MojConfigLinux.h b/inc/core/internal/MojConfigLinux.h +index 606de27..d9a6b97 100644 +--- a/inc/core/internal/MojConfigLinux.h ++++ b/inc/core/internal/MojConfigLinux.h +@@ -25,8 +25,8 @@ + #define MOJ_USE_READDIR + #define MOJ_USE_MEMRCHR + #define MOJ_USE_GNU_STRERROR_R +-#define MOJ_USE_RANDOM_R +-#define MOJ_USE_SRANDOM_R ++#define MOJ_USE_RANDOM ++#define MOJ_USE_SRANDOM + + #define MOJ_NEED_ATOMIC_INIT + #define MOJ_NEED_ATOMIC_DESTROY +diff --git a/inc/core/internal/MojOsInternal.h b/inc/core/internal/MojOsInternal.h +index a44923b..c5d9286 100644 +--- a/inc/core/internal/MojOsInternal.h ++++ b/inc/core/internal/MojOsInternal.h +@@ -58,20 +58,19 @@ inline MojErr MojErrno() + } + #endif /* MOJ_USE_ERRNO */ + +-#ifdef MOJ_USE_GNU_STRERROR_R ++#if 0 + inline const MojChar* MojStrError(int err, MojChar* buf, MojSize bufLen) + { + return strerror_r(err, buf, bufLen); + } + #endif /* MOJ_USE_GNU_STRERROR_R */ + +-#ifdef MOJ_USE_POSIX_STRERROR_R ++ + inline const MojChar* MojStrError(int err, MojChar* buf, MojSize bufLen) + { + strerror_r(err, buf, bufLen); + return buf; + } +-#endif /* MOJ_USE_POSIX_STRERROR_R */ + + #ifdef MOJ_NEED_DEBUGBREAK + inline void MojDebugBreak() +@@ -346,7 +345,7 @@ inline MojErr MojThreadYield() + #ifdef __USE_GNU + return (MojErr) pthread_yield(); + #else +- pthread_yield_np(); ++ sched_yield(); + return MojErrNone; + #endif + } +diff --git a/inc/core/internal/MojUtilInternal.h b/inc/core/internal/MojUtilInternal.h +index a7bd5a5..597ade4 100644 +--- a/inc/core/internal/MojUtilInternal.h ++++ b/inc/core/internal/MojUtilInternal.h +@@ -165,7 +165,7 @@ void MojQuickSortImpl(T* array, MojSize left, MojSize right, const COMP& comp) + } + + template +-inline void MojQuickSort(T* array, MojSize numElems, const COMP& comp = COMP()) ++inline void MojQuickSort(T* array, MojSize numElems, const COMP& comp) + { + return MojQuickSortImpl(array, 0, numElems, comp); + } +diff --git a/inc/core/internal/MojVectorInternal.h b/inc/core/internal/MojVectorInternal.h +index 94ae45a..ecbea9d 100644 +--- a/inc/core/internal/MojVectorInternal.h ++++ b/inc/core/internal/MojVectorInternal.h +@@ -305,7 +305,7 @@ MojErr MojVector::sort() + if (size() > 1) { + MojErr err = ensureWritable(); + MojErrCheck(err); +- MojQuickSort(m_begin, size()); ++ MojQuickSort(m_begin, size(), COMP()); + } + return MojErrNone; + } +diff --git a/src/core/MojLogEngine.cpp b/src/core/MojLogEngine.cpp +index 3291d7e..5049694 100644 +--- a/src/core/MojLogEngine.cpp ++++ b/src/core/MojLogEngine.cpp +@@ -20,6 +20,7 @@ + #include "core/MojLogEngine.h" + #include "core/MojObject.h" + #include "core/MojTime.h" ++#include "core/MojOs.h" + + #ifdef MOJ_HAVE_SYSLOG_H + # include "syslog.h" +diff --git a/src/db-luna/BackendBuildRules.cmake b/src/db-luna/BackendBuildRules.cmake +index 5b480b9..29bd32d 100644 +--- a/src/db-luna/BackendBuildRules.cmake ++++ b/src/db-luna/BackendBuildRules.cmake +@@ -24,7 +24,7 @@ + # Optional variable: + # DB_BACKEND_WRAPPER_CFLAGS - compiller flags + +-set(WEBOS_DB8_BACKEND "sandwich" CACHE STRING "Backend(s) to use with DB8") ++set(WEBOS_DB8_BACKEND "leveldb" CACHE STRING "Backend(s) to use with DB8") + + foreach (backend ${WEBOS_DB8_BACKEND}) + message (STATUS "Use database frontend: ${backend}") diff --git a/luna/enyo/APKBUILD b/luna/enyo/APKBUILD new file mode 100644 index 000000000..0cb7efe2c --- /dev/null +++ b/luna/enyo/APKBUILD @@ -0,0 +1,22 @@ +pkgname=enyo +pkgver=1.0_git20170811 +pkgrel=0 +_commit=6c4a64ddcf0b0f97cb1af58774c8f8b005540475 +pkgdesc="EnyoJS webapp framework" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="" +makedepends="" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/enyo-1.0/archive/$_commit.tar.gz" +builddir="$srcdir/$pkgname-1.0-$_commit" + +package() { + cd "$builddir" + + install -d "$pkgdir"/usr/palm/frameworks/enyo/0.10/framework + cp -vrf ./framework/* "$pkgdir"/usr/palm/frameworks/enyo/0.10/framework + + ln -vs 0.10 "$pkgdir"/usr/palm/frameworks/enyo/1.0 +} +sha512sums="2a41b37dacd510222d610575cc568effd95e8aeaa146a8d343f6c0c00603fe770542c78c71a036d021ae1182b94d0a23ec565368f0a83f77b35f2deb811fc606 enyo-6c4a64ddcf0b0f97cb1af58774c8f8b005540475.tar.gz" diff --git a/luna/libconnman-qt/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch b/luna/libconnman-qt/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch new file mode 100644 index 000000000..372c292fa --- /dev/null +++ b/luna/libconnman-qt/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch @@ -0,0 +1,50 @@ +From 827b323ee9a6db04c1f5b644abea0ced2095096a Mon Sep 17 00:00:00 2001 +From: Christophe Chapuis +Date: Tue, 26 Jan 2016 18:56:42 +0100 +Subject: [PATCH] Don't use MeeGo as prefix in order to make this a common + component + +Signed-off-by: Christophe Chapuis +Signed-off-by: Herman van Hazendonk +--- + plugin/plugin.cpp | 2 +- + plugin/plugin.pro | 2 +- + plugin/qmldir | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/plugin/plugin.cpp b/plugin/plugin.cpp +index a383482..451c95f 100644 +--- a/plugin/plugin.cpp ++++ b/plugin/plugin.cpp +@@ -24,7 +24,7 @@ + class ConnmanPlugin: public QQmlExtensionPlugin + { + Q_OBJECT +- Q_PLUGIN_METADATA(IID "MeeGo.Connman") ++ Q_PLUGIN_METADATA(IID "Connman") + + public: + void registerTypes(const char *uri); +diff --git a/plugin/plugin.pro b/plugin/plugin.pro +index c4f54cf..3763f57 100644 +--- a/plugin/plugin.pro ++++ b/plugin/plugin.pro +@@ -17,7 +17,7 @@ LIBS += -l$$qtLibraryTarget(connman-$$TARGET_SUFFIX) + QT += qml + OTHER_FILES += plugin.json qmldirs + +-MODULENAME = MeeGo/Connman ++MODULENAME = Connman + TARGETPATH = $$[QT_INSTALL_QML]/$$MODULENAME + + target.path = $$TARGETPATH +diff --git a/plugin/qmldir b/plugin/qmldir +index 5db82b7..de56688 100644 +--- a/plugin/qmldir ++++ b/plugin/qmldir +@@ -1,2 +1,2 @@ +-module MeeGo.Connman ++module Connman + plugin ConnmanQtDeclarative +-- +2.11.0.windows.3 \ No newline at end of file diff --git a/luna/libconnman-qt/APKBUILD b/luna/libconnman-qt/APKBUILD new file mode 100644 index 000000000..89bc151bd --- /dev/null +++ b/luna/libconnman-qt/APKBUILD @@ -0,0 +1,27 @@ +pkgname=libconnman-qt +pkgver=1.2.6 +pkgrel=0 +_commit=b2230677396fb27e3f8e47e4ce9792e578f5555c +pkgdesc="QT interface to connman" +arch="all" +url="https://git.merproject.org/mer-core/libconnman-qt/" +license="GPL-3.0+" +depends="qt5-qtbase connman qt5-qtdeclarative qt5-qtquickcontrols2" +makedepends="qt5-qtbase-dev connman-dev qt5-qtdeclarative-dev qt5-qtquickcontrols2-dev" +source="$pkgname-$pkgver.tar.gz::https://git.merproject.org/mer-core/libconnman-qt/repository/archive.tar.gz?ref=$pkgver +0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch" +builddir="$srcdir/$pkgname-$pkgver-$_commit" +options="!check" +subpackages="$pkgname-dev" + +build() { + qmake-qt5 + make +} + +package() { + cd "$builddir" + make install INSTALL_ROOT="$pkgdir" +} +sha512sums="1a2b4308a5827e6cc25d639f55bea18272bda92f0d9cc225498ac1778d52f5a67fdc7bdd69efba8d9910c7766029ff4ffc0c795ff56a740aa6a0c2772e4713ef libconnman-qt-1.2.6.tar.gz +fbd2335342526561445b2b98aac7f5f3c83e0a76be8d0141fc88e95cf016bca873741d05cd487ce43d2aac906656259a8b0d3c1d6ca50b568d57739a64777a62 0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch" diff --git a/luna/libwebos-application/APKBUILD b/luna/libwebos-application/APKBUILD new file mode 100644 index 000000000..bd9ecfe7a --- /dev/null +++ b/luna/libwebos-application/APKBUILD @@ -0,0 +1,30 @@ +pkgname=libwebos-application +pkgver=3.0.0_git20140327 +pkgrel=0 +_commit=8d5ce985fec7a9fc5b514be306a74193b6139f5b +pkgdesc="Implements lifecycle support for native webOS applications" +arch="all" +url="https://github.com/webOS-ports/luna-qml-launcher" +license="GPL-3.0+" +depends="glib luna-service2 libpbnjson" +makedepends="cmake-modules-webos glib-dev luna-service2-dev libpbnjson-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/libwebos-application/archive/$_commit.tar.gz" +options="!check" +subpackages="$pkgname-dev" +builddir="$srcdir/$pkgname-$_commit" + +build() { + mkdir -p "$srcdir"/build + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="0e0b6a92e5c85f71e01521d31771123186788e3a1ef0e9990e565cf940f34cd42147e02e9ec9636ad1df2e0da7ece416c48bc181c33d536d43a785e82232729c libwebos-application-8d5ce985fec7a9fc5b514be306a74193b6139f5b.tar.gz" diff --git a/luna/luna-app-browser/APKBUILD b/luna/luna-app-browser/APKBUILD new file mode 100644 index 000000000..00dda30a7 --- /dev/null +++ b/luna/luna-app-browser/APKBUILD @@ -0,0 +1,36 @@ +pkgname=luna-app-browser +pkgver=8.0.0_git20171004 +pkgrel=2 +_commit=7e7a8f477039483c3a05f53a2eb980884560dc32 +pkgdesc="LuneOS web browser" +# Disabled for armhf, aarch64 (see #1008) +arch="x86_64" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="qt5-qtquickcontrols2 qt5-qtquickcontrols qt5-qtwebengine" +makedepends="cmake-modules-webos qt5-qtquickcontrols2-dev qt5-qtwebengine-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/org.webosports.app.browser/archive/$_commit.tar.gz +fix-qtwebengine-private-includes.patch" +builddir="$srcdir/org.webosports.app.browser-$_commit" + +build() { + mkdir -p "$srcdir"/build + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install + + install -d "$pkgdir"/etc/palm/db/kinds + install -d "$pkgdir"/etc/palm/db/permissions + install -v -m644 "$builddir"/configuration/db/kinds/* "$pkgdir"/etc/palm/db/kinds + install -v -m644 "$builddir"/configuration/db/permissions/* "$pkgdir"/etc/palm/db/permissions +} +sha512sums="e12b6061bd36a87cf836415f99653c533edb3eb6f25947d983d03a21faad7de8874638923071842103373682c2060459a86eb895ac6e212156eaf9d01aa654f2 luna-app-browser-7e7a8f477039483c3a05f53a2eb980884560dc32.tar.gz +1a764b7d091878c6702e7e24178907fc9b48512be4bcb334e1cba57c4aad26650806190bdd916d67a25c0e95bd69075ba6012eb984f9192f6af8c0e8e1555f47 fix-qtwebengine-private-includes.patch" diff --git a/luna/luna-app-browser/fix-qtwebengine-private-includes.patch b/luna/luna-app-browser/fix-qtwebengine-private-includes.patch new file mode 100644 index 000000000..5f2fe4d74 --- /dev/null +++ b/luna/luna-app-browser/fix-qtwebengine-private-includes.patch @@ -0,0 +1,14 @@ +diff --git a/plugin/CMakeLists.txt b/plugin/CMakeLists.txt +index 36aef53..bb7b38c 100644 +--- a/plugin/CMakeLists.txt ++++ b/plugin/CMakeLists.txt +@@ -1,4 +1,9 @@ ++set(QTWEBENGINE_REAL_PRIVATE_INCLUDES "/usr/include/QtWebEngine/${Qt5WebEngine_VERSION}") ++set(QTWEBENGINE_REAL_PRIVATE_INCLUDES2 "/usr/include/QtWebEngine/${Qt5WebEngine_VERSION}/QtWebEngine") ++ + include_directories( ++ ${QTWEBENGINE_REAL_PRIVATE_INCLUDES} ++ ${QTWEBENGINE_REAL_PRIVATE_INCLUDES2} + ${Qt5WebEngine_PRIVATE_INCLUDE_DIRS} + ${Qt5Quick_PRIVATE_INCLUDE_DIRS}) + diff --git a/luna/luna-app-services/APKBUILD b/luna/luna-app-services/APKBUILD new file mode 100644 index 000000000..30bf4fd82 --- /dev/null +++ b/luna/luna-app-services/APKBUILD @@ -0,0 +1,78 @@ +pkgname=luna-app-services +pkgver=4.0.0_git20160804 +pkgrel=1 +_commit=9cbee99870d0edba0b30cb569514be16ccf1999c +pkgdesc="Services used by coreapps." +arch="all" +url="https://github.com/webOS-ports/app-services" +license="GPL-3.0+" +depends="mojoservicelauncher" +makedepends="" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/app-services/archive/$_commit.tar.gz" +options="!check" +builddir="$srcdir/app-services-$_commit" + +package() { + cd "$builddir" + install -d "$pkgdir"/usr/palm/services + install -d "$pkgdir"/etc/palm/db/kinds + install -d "$pkgdir"/etc/palm/db/permissions + install -d "$pkgdir"/etc/palm/mediadb/kinds + install -d "$pkgdir"/etc/palm/mediadb/permissions + install -d "$pkgdir"/etc/palm/activities + install -d "$pkgdir"/etc/palm/filecache_types + install -d "$pkgdir"/usr/share/dbus-1/services + install -d "$pkgdir"/usr/share/dbus-1/system-services + install -d "$pkgdir"/usr/share/ls2/roles/pub + install -d "$pkgdir"/usr/share/ls2/roles/prv + install -d "$pkgdir"/usr/share/ls2/services/pub + install -d "$pkgdir"/usr/share/ls2/services/prv + install -d "$pkgdir"/usr/share/ls2/roles/pub + install -d "$pkgdir"/usr/share/ls2/roles/prv + install -d "$pkgdir"/usr/share/ls2-dev/services/pub + install -d "$pkgdir"/usr/share/ls2-dev/services/prv + install -d "$pkgdir"/usr/share/ls2-dev/roles/pub + install -d "$pkgdir"/usr/share/ls2-dev/roles/prv + install -d "$pkgdir"/var/palm/data/com.palm.appInstallService + install -d "$pkgdir"/usr/palm/public/accounts + install -d "$pkgdir"/etc/palm/tempdb/kinds + install -d "$pkgdir"/etc/palm/tempdb/permissions + install -d "$pkgdir"/etc/palm/event.d + install -d "$pkgdir"/etc/palm/init + + for SERVICE in $(ls -d1 ./com.palm.service.*); do + SERVICE_DIR=$(basename $SERVICE) + install -d "$pkgdir"/usr/palm/services/$SERVICE_DIR/ + cp -vrf $SERVICE/* "$pkgdir"/usr/palm/services/$SERVICE_DIR/ + # Copy db8 kinds, permissions and activities + cp -vrf $SERVICE/db/kinds/* "$pkgdir"/etc/palm/db/kinds 2> /dev/null || true + cp -vrf $SERVICE/db/permissions/* "$pkgdir"/etc/palm/db/permissions 2> /dev/null || true + cp -vrf $SERVICE/activities/* "$pkgdir"/etc/palm/activities 2> /dev/null || true + cp -vrf $SERVICE/filecache_types/* "$pkgdir"/etc/palm/filecache_types 2> /dev/null || true + # Copy services and roles files + cp -vrf $SERVICE/files/sysbus/*.json "$pkgdir"/usr/share/ls2/roles/pub 2> /dev/null || true + cp -vrf $SERVICE/files/sysbus/*.json "$pkgdir"/usr/share/ls2/roles/prv 2> /dev/null || true + cp -vrf $SERVICE/files/sysbus/*.service "$pkgdir"/usr/share/ls2/services/prv 2> /dev/null || true + done + + # install account services files in public service directory. + cp -vrf ./com.palm.service.accounts/files/sysbus/*.service "$pkgdir"/usr/share/ls2/services/pub 2> /dev/null || true + + # install account service desktop credentials db kind + cp -vrf ./com.palm.service.accounts/desktop/com.palm.account.credentials "$pkgdir"/etc/palm/db/kinds 2> /dev/null || true + + # install account templates. + cp -vrf ./account-templates/palmprofile/com.palm.palmprofile "$pkgdir"/usr/palm/public/accounts + + # install temp db kinds and permissions + cp -vrf com.palm.service.accounts/tempdb/kinds/* "$pkgdir"/etc/palm/tempdb/kinds/ + cp -vrf com.palm.service.accounts/tempdb/permissions/* "$pkgdir"/etc/palm/tempdb/permissions + + # install account service upstart files + install -m 644 com.palm.service.accounts/files/etc/event.d/createLocalAccount "$pkgdir"/etc/palm/event.d/ + install -m 644 com.palm.service.accounts/files/etc/init/createLocalAccount.conf "$pkgdir"/etc/palm/init/ + + # create folder for contact linker plugins + mkdir -p "$pkgdir"/etc/palm/contact_linker_plugins +} +sha512sums="0ff50759de3c52546bad213be544771f821a0c4fa6fe20a4953693510ebde2b3897f9e1bcb7026e5c7e36de080fa600863faa170d206f93447ad50efd6f99105 luna-app-services-9cbee99870d0edba0b30cb569514be16ccf1999c.tar.gz" diff --git a/luna/luna-applauncher/APKBUILD b/luna/luna-applauncher/APKBUILD new file mode 100644 index 000000000..f9fd24c4d --- /dev/null +++ b/luna/luna-applauncher/APKBUILD @@ -0,0 +1,20 @@ +pkgname=luna-applauncher +pkgver=0.90_git20171025 +pkgrel=0 +_commit=ada4aabfb5e0ffa127afab3957b4be2d84f76fe3 +pkgdesc="WebOS app launcher" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="enyo webos-underscore mojoloader webos-foundation" +makedepends="" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/$pkgname/archive/$_commit.tar.gz" +builddir="$srcdir/$pkgname-$_commit" + +package() { + cd "$builddir" + + install -d "$pkgdir"/usr/palm/applications/com.palm.launcher + cp -vrf * "$pkgdir"/usr/palm/applications/com.palm.launcher +} +sha512sums="8191af9fb94eddde0c39df42c570369aafcf04e6d89b6a1a3f40ca090c8bfd9281394f71aa34bcf222ecbbcc98e6769f8c58f0df64c73a97b657eda41f5010b5 luna-applauncher-ada4aabfb5e0ffa127afab3957b4be2d84f76fe3.tar.gz" diff --git a/luna/luna-core-apps/APKBUILD b/luna/luna-core-apps/APKBUILD new file mode 100644 index 000000000..a4b9a0703 --- /dev/null +++ b/luna/luna-core-apps/APKBUILD @@ -0,0 +1,42 @@ +pkgname=luna-core-apps +pkgver=1.0.5_git20170804 +pkgrel=1 +_commit=da721460474039a2412dc6f47a2e8464e38fc6fd +pkgdesc="The new webOS UI of the webOS ports project." +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="luna-webappmanager enyo luna-app-services" +makedepends="" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/core-apps/archive/$_commit.tar.gz" +builddir="$srcdir/core-apps-$_commit" + +package() { + + cd "$builddir" + + install -d "$pkgdir"/usr/palm/applications + install -d "$pkgdir"/etc/palm/db/kinds + install -d "$pkgdir"/etc/palm/db/permissions + install -d "$pkgdir"/etc/palm/activities + + for COREAPPS in $(ls -d1 ./com.palm.app*); do + COREAPPS_DIR=$(basename $COREAPPS) + install -d "$pkgdir"/usr/palm/applications/$COREAPPS_DIR/ + cp -vrf $COREAPPS/* "$pkgdir"/usr/palm/applications/$COREAPPS_DIR/ + + if [ -d $COREAPPS/configuration/db/kinds ]; then + install -v -m 644 $COREAPPS/configuration/db/kinds/* "$pkgdir"/etc/palm/db/kinds + fi + + if [ -d $COREAPPS/configuration/db/permissions ]; then + install -v -m 644 $COREAPPS/configuration/db/permissions/* "$pkgdir"/etc/palm/db/permissions + fi + + if [ -d $COREAPPS/configuration/activities ]; then + cp -vrf $COREAPPS/configuration/activities/* "$pkgdir"/etc/palm/activities/ + fi + done +} + +sha512sums="0e0f93ec7cce52cb0b7d3e90b177da69ef0d8d8bb2b8629cf861f5de914cf3300198f4000b69e5dd7e8f55feb1c8e4344793f0a8b2764dd143bb80a000f92e2e luna-core-apps-da721460474039a2412dc6f47a2e8464e38fc6fd.tar.gz" diff --git a/luna/luna-firstuse/APKBUILD b/luna/luna-firstuse/APKBUILD new file mode 100644 index 000000000..1708a0a55 --- /dev/null +++ b/luna/luna-firstuse/APKBUILD @@ -0,0 +1,30 @@ +pkgname=luna-firstuse +pkgver=7.0.0_git20171102 +pkgrel=1 +_commit=5acfe2bd0c1b3435ed0cbf9b021945202d0d2f86 +pkgdesc="LuneOS first use application" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="qt5-qtquickcontrols2 qt5-qtquickcontrols" +makedepends="cmake-modules-webos qt5-qtquickcontrols2-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/org.webosports.app.firstuse/archive/$_commit.tar.gz +locale.patch" +builddir="$srcdir/org.webosports.app.firstuse-$_commit" + +build() { + mkdir -p "$srcdir"/build + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="7d335910482e7cbba2798cfb62df73158ca178f2b663812d25e89d29606352898d8be40e7fb1fc44118b7f1f6763cd48d00353c489c660dcbce681fa696f0de7 luna-firstuse-5acfe2bd0c1b3435ed0cbf9b021945202d0d2f86.tar.gz +d7e5a2b96dd6da82cd695ca88181d429ed6166a28f89f8dc6f69d41c4a095e0cb4b5dcaa4494f73c45be6a74aaa81bbe7dd28d719affc332856975b90ed36837 locale.patch" diff --git a/luna/luna-firstuse/locale.patch b/luna/luna-firstuse/locale.patch new file mode 100644 index 000000000..6a034bc16 --- /dev/null +++ b/luna/luna-firstuse/locale.patch @@ -0,0 +1,17 @@ +diff --git a/qml/LocalePage.qml b/qml/LocalePage.qml +index 68249d2..1967525 100644 +--- a/qml/LocalePage.qml ++++ b/qml/LocalePage.qml +@@ -79,6 +79,12 @@ BasePage { + currentLocale = response.locale; + console.log("Current locale " + JSON.stringify(currentLocale)); + } ++ else { ++ currentLocale = { ++ languageCode: 'un', ++ countryCode: 'un' ++ } ++ } + + // now we can fetch all possible values and setup our model + service.call("luna://com.palm.systemservice/getPreferenceValues", JSON.stringify({key: "locale"}), fetchLocalesSuccess, fetchLocalesFailure); diff --git a/luna/luna-init/APKBUILD b/luna/luna-init/APKBUILD index 78be78ac6..534c928d5 100644 --- a/luna/luna-init/APKBUILD +++ b/luna/luna-init/APKBUILD @@ -1,6 +1,6 @@ pkgname=luna-init pkgver=5.0.0_git20171117 -pkgrel=0 +pkgrel=1 _commit=5fff640fb0b9f3e973c13d1620889b2da4c11766 pkgdesc="Initialization and font setup files used by luna-sysmgr." arch="all" @@ -12,12 +12,8 @@ source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-init/archi options="!check" builddir="$srcdir/$pkgname-$_commit" -prepare() { - default_prepare - mkdir -p "$srcdir"/build -} - build() { + mkdir -p "$srcdir"/build cd "$srcdir"/build cmake "$builddir" \ -DCMAKE_BUILD_TYPE=Release \ @@ -28,6 +24,16 @@ build() { package() { cd "$srcdir"/build + # The cmake install file doesn't install everything in the right spot. make DESTDIR="$pkgdir" install + + install -d "$pkgdir"/etc/palm + install -v -m 644 "$builddir"/files/conf/locale.txt "$pkgdir"/etc/palm + install -v -m 644 "$builddir"/files/conf/defaultPreferences.txt "$pkgdir"/etc/palm + install -v -m 644 "$builddir"/src/mccInfo.json "$pkgdir"/etc/palm + install -v -m 644 "$builddir"/files/conf/default-dock-positions.json "$pkgdir"/etc/palm + install -v -m 644 "$builddir"/files/conf/default-launcher-page-layout.json "$pkgdir"/etc/palm + install -v -m 644 "$builddir"/files/conf/locale.txt "$pkgdir"/etc/palm + } sha512sums="9278b53e8358230e0979d314958a02ada6d68a68b97e253d81ffc5132901cf7aa033c8d908530cbf36c422a161a3f80cc70f1ddb3e0e4b3fae86183c39d10b95 luna-init-5fff640fb0b9f3e973c13d1620889b2da4c11766.tar.gz" diff --git a/luna/luna-qml-launcher/APKBUILD b/luna/luna-qml-launcher/APKBUILD new file mode 100644 index 000000000..a286987a8 --- /dev/null +++ b/luna/luna-qml-launcher/APKBUILD @@ -0,0 +1,31 @@ +pkgname=luna-qml-launcher +pkgver=5.0.0_git20171102 +pkgrel=0 +_commit=aacef1d20c9c3656db4ecff949f23231120f8449 +pkgdesc="Launcher for Lune OS based QML applications" +# Disabled for armhf, aarch64 (see #1008) +arch="x86_64" +url="https://github.com/webOS-ports/luna-qml-launcher" +license="GPL-3.0+" +depends="qt5-qtwebengine qt5-qtquickcontrols2 luna-service2 luna-sysmgr-common glib libwebos-application json-c" +makedepends="cmake-modules-webos qt5-qtwebengine-dev qt5-qtquickcontrols2-dev luna-sysmgr-common-dev glib-dev luna-service2-dev libwebos-application-dev json-c-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-qml-launcher/archive/$_commit.tar.gz" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +build() { + mkdir -p "$srcdir"/build + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ \ + -DOE_QMAKE_PATH_QML=/usr/lib/qt5/qml/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="3f2ad84e0b1804741165bd67ebf54577961020e75e98a6072a85b728973d3a9a7e5774f6c804fc71a21f625b1dc0808cc9e21b93dd1a4ef7674f5a7820a4dd7f luna-qml-launcher-aacef1d20c9c3656db4ecff949f23231120f8449.tar.gz" diff --git a/luna/luna-service2/APKBUILD b/luna/luna-service2/APKBUILD index 53c8f1dd2..e13f2141a 100644 --- a/luna/luna-service2/APKBUILD +++ b/luna/luna-service2/APKBUILD @@ -1,6 +1,6 @@ pkgname=luna-service2 pkgver=3.2.0_git20170505 -pkgrel=0 +pkgrel=1 _commit=1e2e1a53c089003da333609946dddf063244ee34 pkgdesc="Open webOS Luna System Bus library, daemon, and utilities" arch="all" @@ -10,7 +10,7 @@ depends="glib pmloglib libpbnjson" makedepends="cmake-modules-webos glib-dev libpbnjson-dev pmloglib-dev" depends_dev="glib-dev libpbnjson-dev pmloglib-dev" source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-service2/archive/$_commit.tar.gz - remove-systemd-harddep.patch remove-malloc-debug.patch" + remove-systemd-harddep.patch remove-malloc-debug.patch ls-private.conf ls-public.conf" subpackages="$pkgname-dev" options="!check" builddir="$srcdir/$pkgname-$_commit" @@ -33,7 +33,11 @@ build() { package() { cd "$srcdir"/build make DESTDIR="$pkgdir" install + cp "$srcdir"/ls-private.conf "$pkgdir"/etc/luna-service2/ls-private.conf + cp "$srcdir"/ls-public.conf "$pkgdir"/etc/luna-service2/ls-public.conf } sha512sums="862b04ad58a786b7ce810a9864a2580addd4d9757c1d8825f86f5a817a75daa83d360d4c3ceb26e512e868ba2379ba11e049e79fac84411f6758257cbe71909d luna-service2-1e2e1a53c089003da333609946dddf063244ee34.tar.gz c8223795eebd9b0e7037f1ba130d6b4e58496483e886a50a76ed79ef61ed76ebc729f8d031ae9110d80f1ef029e4c8f9529edb483608bdc4aafb39a1bb5e8562 remove-systemd-harddep.patch -2d35d056c445d25dc970fc176d1326fb93c682ebff0501a79ed2b41d5eda7fde36be0bed96e34776f234c59a95b1e29889e0ba5bec48c321e091f93db0220700 remove-malloc-debug.patch" +2d35d056c445d25dc970fc176d1326fb93c682ebff0501a79ed2b41d5eda7fde36be0bed96e34776f234c59a95b1e29889e0ba5bec48c321e091f93db0220700 remove-malloc-debug.patch +a440cb959109c0315cdb0fbe36ec358510d9699de246326d2019957f0de36f521bd88102432f94dc2dc8de45534810a935b9a1f91e9c220044b3aa4c61635a28 ls-private.conf +0c3b03949a6f78d7bbdb3fedea2c797cda478b5a58057693dc258487c9d7c75a818f5202bd8f28f51d4cfb0ab7431f7be49667026cd4442be425b3e525c0fde5 ls-public.conf" diff --git a/luna/luna-service2/ls-private.conf b/luna/luna-service2/ls-private.conf new file mode 100644 index 000000000..fc0c7d33a --- /dev/null +++ b/luna/luna-service2/ls-private.conf @@ -0,0 +1,46 @@ +# @@@LICENSE +# +# Copyright (c) 2008-2013 LG Electronics, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# LICENSE@@@ + +[General] +LocalSocketDirectory=/var/run/ls2 +PidDirectory=/var/run/ls2 +LogServiceStatus=false +ConnectTimeout=20000 + +[Watchdog] +Timeout=60 +FailureMode=noop + +[Dynamic Services] +Directories=/usr/share/dbus-1/system-services +VolatileDirectories=/var/palm/ls2/services/prv;/var/palm/ls2-dev/services/prv;/usr/share/ls2/services/prv;/usr/share/ls2-dev/services/prv;/usr/share/ls2/system-services/ +LaunchTimeout=300000 + +[Security] +Enabled=false +Directories=/usr/share/ls2/roles/prv +VolatileDirectories=/var/palm/ls2/roles/prv;/var/palm/ls2-dev/roles/prv +MonitorExePath=/usr/sbin/ls-monitor +MonitorPubExePath=/usr/bin/ls-monitor-pub +SysMgrExePath=/usr/bin/LunaSysMgr +WebAppMgrExePath=/usr/lib/qt5/libexec/QtWebEngineProcess +WebAppMgr2ExePath=/usr/sbin/luna-qml-launcher +JsServiceExePath=run-js-service +MojoAppExePath=mojo-app +MojoAppsAllowAllOutboundByDefault=true +AllowNullOutboundByDefault=true diff --git a/luna/luna-service2/ls-public.conf b/luna/luna-service2/ls-public.conf new file mode 100644 index 000000000..205e1e3af --- /dev/null +++ b/luna/luna-service2/ls-public.conf @@ -0,0 +1,46 @@ +# @@@LICENSE +# +# Copyright (c) 2008-2013 LG Electronics, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# LICENSE@@@ + +[General] +LocalSocketDirectory=/var/run/ls2 +PidDirectory=/var/run/ls2 +LogServiceStatus=false +ConnectTimeout=20000 + +[Watchdog] +Timeout=60 +FailureMode=noop + +[Dynamic Services] +Directories=/usr/share/dbus-1/services +VolatileDirectories=/var/palm/ls2/services/pub;/var/palm/ls2-dev/services/pub;/usr/share/ls2/services/pub;/usr/share/ls2-dev/services/pub +LaunchTimeout=300000 + +[Security] +Enabled=false +Directories=/usr/share/ls2/roles/pub +VolatileDirectories=/var/palm/ls2/roles/pub;/var/palm/ls2-dev/roles/pub +MonitorExePath=/usr/sbin/ls-monitor +MonitorPubExePath=/usr/bin/ls-monitor-pub +SysMgrExePath=/usr/bin/LunaSysMgr +WebAppMgrExePath=/usr/lib/qt5/libexec/QtWebEngineProcess +WebAppMgr2ExePath=/usr/sbin/luna-qml-launcher +JsServiceExePath=run-js-service +MojoAppExePath=mojo-app +MojoAppsAllowAllOutboundByDefault=true +AllowNullOutboundByDefault=true diff --git a/luna/luna-sysmgr/APKBUILD b/luna/luna-sysmgr/APKBUILD index bdd35eb6b..a79e90fef 100644 --- a/luna/luna-sysmgr/APKBUILD +++ b/luna/luna-sysmgr/APKBUILD @@ -32,6 +32,8 @@ package() { sysmgrsrc="$srcdir"/$pkgname-514a3d4f4d104cb9d306772f3f5e804c018be738 + #TODO: we don't package kinds, and we have to for this service to work properly. + #sysmgr, unlike every other component so far, doesn't use cmake to install it's static files. mkdir -p "$pkgdir"/usr/palm/sounds diff --git a/luna/luna-systemui/APKBUILD b/luna/luna-systemui/APKBUILD new file mode 100644 index 000000000..1930d73e9 --- /dev/null +++ b/luna/luna-systemui/APKBUILD @@ -0,0 +1,20 @@ +pkgname=luna-systemui +pkgver=1.02_git20170904 +pkgrel=0 +_commit=c67aeffa8957919b3d78bdd6483f64c3ef6206d3 +pkgdesc="WebOS power menu and other system ui" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="enyo" +makedepends="" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/$pkgname/archive/$_commit.tar.gz" +builddir="$srcdir/$pkgname-$_commit" + +package() { + cd "$builddir" + + install -d "$pkgdir"/usr/palm/applications/com.palm.systemui + cp -vrf * "$pkgdir"/usr/palm/applications/com.palm.systemui +} +sha512sums="058e2d6be1826bf016b7da9003525dfe87691d95c89bac969dec0f4f5c90bfb07910d91678f577514208c67822512d15b890b641cb69929c53796abdb22d4ac3 luna-systemui-c67aeffa8957919b3d78bdd6483f64c3ef6206d3.tar.gz" diff --git a/luna/luna-temp-ofono-bluetooth/APKBUILD b/luna/luna-temp-ofono-bluetooth/APKBUILD new file mode 100644 index 000000000..3de5a65d3 --- /dev/null +++ b/luna/luna-temp-ofono-bluetooth/APKBUILD @@ -0,0 +1,20 @@ +pkgname=luna-temp-ofono-bluetooth +pkgver=0.0.1_git20171118 +pkgrel=0 +_commit=305b2c8e2c4c5870fc737a0d2809799d5c58a2e1 +pkgdesc="Temporary package for ofono/bluetooth mocking." +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="" +makedepends="" +source="luneos-components-$_commit.tar.gz::https://github.com/webOS-ports/luneos-components/archive/$_commit.tar.gz" +builddir="$srcdir/luneos-components-$_commit" + +package() { + cd "$builddir" + install -d "$pkgdir"/usr/lib/qt5/qml/LuneOS + cp -rv "$builddir"/test/imports/LuneOS/Bluetooth "$pkgdir"/usr/lib/qt5/qml/LuneOS + cp -rv "$builddir"/test/imports/MeeGo "$pkgdir"/usr/lib/qt5/qml/ +} +sha512sums="a44031e07efabe46ec33beb4630ee264b8f5a136de060a56499b72403d7ff97648f84ea15ae96602d5e35dacabf33f609b0b72a84a896c66b001496dda1a5354 luneos-components-305b2c8e2c4c5870fc737a0d2809799d5c58a2e1.tar.gz" diff --git a/luna/luna-webappmanager/APKBUILD b/luna/luna-webappmanager/APKBUILD new file mode 100644 index 000000000..c0d2c51c5 --- /dev/null +++ b/luna/luna-webappmanager/APKBUILD @@ -0,0 +1,35 @@ +pkgname=luna-webappmanager +pkgver=8.0.0_git20170908 +pkgrel=2 +_commit=89e9c3e2437c21dcdaced17c7b5df5cc41efd051 +pkgdesc="Component responsible for application management in LuneOS" +# Disabled for armhf, aarch64 (see #1008) +arch="x86_64" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="glib luna-service2 libpbnjson luna-sysmgr-common luna-prefs qt5-qtbase qt5-qtquickcontrols2 qt5-qtdeclarative qt5-qtwebengine qt5-qtwebchannel libconnman-qt" +makedepends="cmake-modules-webos glib-dev luna-service2-dev libpbnjson-dev luna-sysmgr-common-dev luna-prefs-dev qt5-qtbase-dev qt5-qtquickcontrols2-dev qt5-qtdeclarative-dev qt5-qtwebengine-dev qt5-qtwebchannel-dev libconnman-qt-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-webappmanager/archive/$_commit.tar.gz +remove-systemd.patch +fix-qtwebengine-private-includes.patch +tryFix.patch" +builddir="$srcdir/$pkgname-$_commit" + +build() { + mkdir -p "$srcdir"/build + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="12968da4d41954bfb046c161fe15442b3f7a14eaa69a2dedfbfaa0e0af279253c01b7cc5309b42a36af2bfe02545d9ad0f9ac8e1e0a637c28ceec0784951f91b luna-webappmanager-89e9c3e2437c21dcdaced17c7b5df5cc41efd051.tar.gz +f322799db601cae8fb3e552d495d616927dad45d2381aa1790c83da1afccc4b15713120342975ebe98e9b333e8f4983020d459d91963d87570095cc7c48e00d2 remove-systemd.patch +0a4be526403734f5b9b9c8b80c1ef56bded3ccd48927801cdc8887deaef5bb4aaeccac987c3bd5c17394a18b6755fe8edf0768575eec377049dfb30182f36514 fix-qtwebengine-private-includes.patch +c3c21d3781b5cd96c61e9033bc989d29d342d7a30c1c3e645b2b3cddab13f111523c65591eef505b66159ff9193a92869e15e32d50a99f66411c39c7614ea2ef tryFix.patch" diff --git a/luna/luna-webappmanager/fix-qtwebengine-private-includes.patch b/luna/luna-webappmanager/fix-qtwebengine-private-includes.patch new file mode 100644 index 000000000..101998b37 --- /dev/null +++ b/luna/luna-webappmanager/fix-qtwebengine-private-includes.patch @@ -0,0 +1,15 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index ae27484..e488487 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,4 +1,10 @@ ++ ++set(QTWEBENGINE_REAL_PRIVATE_INCLUDES "/usr/include/QtWebEngine/${Qt5WebEngine_VERSION}") ++set(QTWEBENGINE_REAL_PRIVATE_INCLUDES2 "/usr/include/QtWebEngine/${Qt5WebEngine_VERSION}/QtWebEngine") ++MESSAGE( STATUS "CMAKE_BINARY_DIR: " ${QTWEBENGINE_REAL_PRIVATE_INCLUDES} ) + include_directories( ++ ${QTWEBENGINE_REAL_PRIVATE_INCLUDES} ++ ${QTWEBENGINE_REAL_PRIVATE_INCLUDES2} + ${Qt5WebEngine_PRIVATE_INCLUDE_DIRS} + ${Qt5WebChannel_PRIVATE_INCLUDE_DIRS} + ${Qt5Quick_PRIVATE_INCLUDE_DIRS} diff --git a/luna/luna-webappmanager/remove-systemd.patch b/luna/luna-webappmanager/remove-systemd.patch new file mode 100644 index 000000000..9d442b5e5 --- /dev/null +++ b/luna/luna-webappmanager/remove-systemd.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 23d7631..1163299 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -46,7 +46,7 @@ find_package(PkgConfig "0.22" REQUIRED) + + pkg_check_modules(GLIB2 glib-2.0 REQUIRED) + pkg_check_modules(LS2 luna-service2 REQUIRED) +-pkg_check_modules(SYSTEMD libsystemd REQUIRED) ++pkg_check_modules(SYSTEMD libsystemd OPTIONAL) + pkg_check_modules(PBNJSON_C pbnjson_c REQUIRED) + pkg_check_modules(LUNA_SYSMGR_COMMON LunaSysMgrCommon REQUIRED) + pkg_check_modules(LUNA_PREFS luna-prefs REQUIRED) +diff --git a/src/main.cpp b/src/main.cpp +index c79782d..fe48ae4 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -21,7 +21,6 @@ + #include + + #include +-#include + + #include + +@@ -140,9 +139,6 @@ int main(int argc, char **argv) + LocalePreferences::instance(); + luna::SystemTime::instance(); + +- if (option_systemd) +- sd_notify(0, "READY=1"); +- + webAppManager.exec(); + + cleanup: diff --git a/luna/luna-webappmanager/tryFix.patch b/luna/luna-webappmanager/tryFix.patch new file mode 100644 index 000000000..da0d34956 --- /dev/null +++ b/luna/luna-webappmanager/tryFix.patch @@ -0,0 +1,12 @@ +diff --git a/src/qml/ApplicationContainer.qml b/src/qml/ApplicationContainer.qml +index 3d5f332..f90f5d4 100644 +--- a/src/qml/ApplicationContainer.qml ++++ b/src/qml/ApplicationContainer.qml +@@ -127,7 +127,6 @@ Flickable { + backgroundColor: (webAppWindow.windowType === "dashboard" || webAppWindow.windowType === "popupalert") ? "transparent": "white" + + userScripts: webAppWindow.userScripts; +- devicePixelRatio: webAppWindow.devicePixelRatio + + onJavaScriptConsoleMessage: console.warn("CONSOLE JS: " + message); + diff --git a/luna/mojoloader/APKBUILD b/luna/mojoloader/APKBUILD new file mode 100644 index 000000000..b321a1da4 --- /dev/null +++ b/luna/mojoloader/APKBUILD @@ -0,0 +1,21 @@ +pkgname=mojoloader +pkgver=1.1_git20161005 +pkgrel=0 +_commit=4eec67e2c941ab416aaced46c604c2ff3747c2fd +pkgdesc="Javascript framework to handle loading webOS modules from browser or Node.JS" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="" +makedepends="" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/mojoloader/archive/$_commit.tar.gz" +builddir="$srcdir/$pkgname-$_commit" + +package() { + cd "$builddir" + + install -d "$pkgdir"/usr/palm/frameworks + cp -vf ./mojoloader.js "$pkgdir"/usr/palm/frameworks/ +} + +sha512sums="046edea14d5b7d2a9ffd5cf1710722ffba90ebf8c14ccbed5927502603785f30c3d67ba7741aac91f21cda03b682cd40066e3583eb411e75150c6093bb78a3a5 mojoloader-4eec67e2c941ab416aaced46c604c2ff3747c2fd.tar.gz" diff --git a/luna/mojoservice-frameworks/APKBUILD b/luna/mojoservice-frameworks/APKBUILD new file mode 100644 index 000000000..551629777 --- /dev/null +++ b/luna/mojoservice-frameworks/APKBUILD @@ -0,0 +1,27 @@ +pkgname=mojoservice-frameworks +pkgver=1.0.0_git20140708 +pkgrel=0 +_commit=0baa0cd1bcd7c2182718a4927efcff9dbf901812 +pkgdesc="Webos core services javascript frameworks" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="" +makedepends="" +source="$pkgname-$_commit.tar.gz::https://github.com/webos-ports/mojoservice-frameworks/archive/$_commit.tar.gz" +builddir="$srcdir/mojoservice-frameworks-$_commit" + +package() { + cd "$builddir" + + install -d "$pkgdir"/usr/palm/frameworks + + for FRAMEWORK in $(ls -d1 ./mojoservice*); do + FRAMEWORK_DIR=$(basename $FRAMEWORK) + install -d "$pkgdir"/usr/palm/frameworks/$FRAMEWORK_DIR/version/1.0/ + cp -vrf $FRAMEWORK/* "$pkgdir"/usr/palm/frameworks/$FRAMEWORK_DIR/version/1.0/ + # remove test and jasminetest dirs + rm -vrf ${D}${webos_frameworksdir}/$FRAMEWORK_DIR/version/1.0/*test + done +} +sha512sums="1f7d65997ad388ecbfbf7ef60bdd97bc7fae9326699e07967aaf919d42a272369f354a2342ca91da4ab7b1edc310e2c528874309fa3bf0c42ff9032368d1eac7 mojoservice-frameworks-0baa0cd1bcd7c2182718a4927efcff9dbf901812.tar.gz" diff --git a/luna/mojoservicelauncher/APKBUILD b/luna/mojoservicelauncher/APKBUILD new file mode 100644 index 000000000..fe05c1fc8 --- /dev/null +++ b/luna/mojoservicelauncher/APKBUILD @@ -0,0 +1,29 @@ +pkgname=mojoservicelauncher +pkgver=0.0.1_git20160806 +pkgrel=0 +_commit=d7407a69e5acd1ac132ae25964e4db93b7685beb +pkgdesc="OpenWebOS component to launch JavaScript services" +arch="all" +url="https://github.com/webOS-ports/mojoservicelauncher" +license="GPL-3.0+" +depends="libpbnjson boost nodejs mojoloader nodejs-module-webos-dynaload nodejs-module-webos-pmlog nodejs-module-webos-sysbus webos-loadable-frameworks webos-underscore mojoservice-frameworks webos-foundation" +makedepends="cmake-modules-webos boost-dev libpbnjson-dev boost-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/mojoservicelauncher/archive/$_commit.tar.gz" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +build() { + mkdir -p "$srcdir"/build + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="3a07a952da5157ebbd2bd4f55ac5ba09979fb8160ca4ce4d76b67d06262fb3704349b170b6a1c78909c3edc326c01538d2c89b6a3873dee9a86dba7fcf0ad5b4 mojoservicelauncher-d7407a69e5acd1ac132ae25964e4db93b7685beb.tar.gz" diff --git a/luna/nodejs-module-webos-dynaload/APKBUILD b/luna/nodejs-module-webos-dynaload/APKBUILD new file mode 100644 index 000000000..9b7d26876 --- /dev/null +++ b/luna/nodejs-module-webos-dynaload/APKBUILD @@ -0,0 +1,30 @@ +pkgname=nodejs-module-webos-dynaload +pkgver=14.0.0_git20160531 +pkgrel=0 +_commit=4eedb88e6eea69c88d30f5519d91113419cb7e71 +pkgdesc="mojo library loader for node. Provides 'webos' node module." +arch="all" +url="https://github.com/webOS-ports/nodejs-module-webos-dynaload" +license="GPL-3.0+" +depends="boost nodejs nodejs-npm" +makedepends="cmake-modules-webos boost-dev nodejs-dev" +source="$pkgname-$pkgver.tar.gz::https://github.com/webOS-ports/nodejs-module-webos-dynaload/archive/$_commit.tar.gz" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +build() { + # This package provides a cmake file, but it isn't useful on Alpine, as alpine doesn't package + # the pkgconfig files required to compile native node modules with the cmake script as written. + # So, we just use node-gyp instead. + + cd "$builddir" + /usr/lib/node_modules/npm/bin/node-gyp-bin/node-gyp configure + /usr/lib/node_modules/npm/bin/node-gyp-bin/node-gyp build +} + +package() { + install -d "$pkgdir"/usr/lib/node + install -m755 "$builddir"/build/Release/webos.node "$pkgdir"/usr/lib/node +} + +sha512sums="3667e0d9ff3168c46f8407eda27b65a56dd36967774b7f443234ed89edd4ed9d9dae060ddfec0a39edb21d9093972f46850693f36f8751c3a2fa1cfc769139f8 nodejs-module-webos-dynaload-14.0.0_git20160531.tar.gz" diff --git a/luna/nodejs-module-webos-pmlog/APKBUILD b/luna/nodejs-module-webos-pmlog/APKBUILD new file mode 100644 index 000000000..351a0f900 --- /dev/null +++ b/luna/nodejs-module-webos-pmlog/APKBUILD @@ -0,0 +1,44 @@ +pkgname=nodejs-module-webos-pmlog +pkgver=18.0.0_git20150424 +pkgrel=0 +_commit=ca359ed90389c5be085e7eac0548236312743d6a +pkgdesc="Library to allow nodejs code to talk to palm pmloglib." +arch="all" +url="https://github.com/webOS-ports/nodejs-module-webos-pmlog" +license="GPL-3.0+" +depends="pmloglib nodejs nodejs-npm" + +# vim is in makedepends because it provides xxd +makedepends="cmake-modules-webos pmloglib-dev nodejs-dev vim python" +source="$pkgname-$pkgver.tar.gz::https://github.com/webOS-ports/nodejs-module-webos-pmlog/archive/$_commit.tar.gz" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + + # pmloglib.js is tranformed into a c-style header so that it can be interpreted/run within + # the native node module. + cd "$builddir"/src + xxd -i pmloglib.js > pmloglib.js.h +} + +build() { + # This package provides a cmake file, but it isn't useful on Alpine, as alpine doesn't package + # the pkgconfig files required to compile native node modules with the cmake script as written. + # So, we just use node-gyp instead. + + cd "$builddir" + export CFLAGS=$(pkg-config --cflags PmLogLib) + export CXXFLAGS=$(pkg-config --cflags PmLogLib) + export LDFLAGS=$(pkg-config --libs PmLogLib) + /usr/lib/node_modules/npm/bin/node-gyp-bin/node-gyp configure + /usr/lib/node_modules/npm/bin/node-gyp-bin/node-gyp build +} + +package() { + install -d "$pkgdir"/usr/lib/node + install -m755 "$builddir"/build/Release/pmloglib.node "$pkgdir"/usr/lib/node +} + +sha512sums="4356da2fa5b93b4a8573123d07ea8cd3717a408a531134953f08763ae7173350ace55b634171dd5bcfcef683d1e9b8e2cb3b73a6cf841d42846ae5c374be1e88 nodejs-module-webos-pmlog-18.0.0_git20150424.tar.gz" diff --git a/luna/nodejs-module-webos-sysbus/APKBUILD b/luna/nodejs-module-webos-sysbus/APKBUILD new file mode 100644 index 000000000..26c5c87dd --- /dev/null +++ b/luna/nodejs-module-webos-sysbus/APKBUILD @@ -0,0 +1,34 @@ +pkgname=nodejs-module-webos-sysbus +pkgver=31.0.0_git20160531 +pkgrel=0 +_commit=3a77f999b78b2f686e370ec0030097665d358169 +pkgdesc="Library to allow nodejs code to talk to palm sysbus." +arch="all" +url="https://github.com/webOS-ports/nodejs-module-webos-sysbus" +license="GPL-3.0+" +depends="luna-service2 glib nodejs nodejs-npm" +makedepends="cmake-modules-webos glib-dev luna-service2-dev nodejs-dev" +source="$pkgname-$pkgver.tar.gz::https://github.com/webOS-ports/nodejs-module-webos-sysbus/archive/$_commit.tar.gz" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +build() { + # This package provides a cmake file, but it isn't useful on Alpine, as alpine doesn't package + # the pkgconfig files required to compile native node modules with the cmake script as written. + # So, we just use node-gyp instead. + + cd "$builddir" + export CFLAGS=$(pkg-config --cflags luna-service2) + export CXXFLAGS=$(pkg-config --cflags luna-service2) + export LDFLAGS=$(pkg-config --libs luna-service2) + /usr/lib/node_modules/npm/bin/node-gyp-bin/node-gyp configure + /usr/lib/node_modules/npm/bin/node-gyp-bin/node-gyp build +} + +package() { + install -d "$pkgdir"/usr/lib/node + install -m755 "$builddir"/build/Release/webos-sysbus.node "$pkgdir"/usr/lib/node + install -m644 "$builddir"/src/palmbus.js "$pkgdir"/usr/lib/node +} + +sha512sums="03ffdde3ce6a3ac1f72e71b0caae47d7f298b4e5a296ae0dea6627d90bc91eb30b250173d3a69fa40e6112dac408f27fda2d2418d37baa4865807197e1112ea8 nodejs-module-webos-sysbus-31.0.0_git20160531.tar.gz" diff --git a/luna/webos-foundation/APKBUILD b/luna/webos-foundation/APKBUILD new file mode 100644 index 000000000..b38c877a0 --- /dev/null +++ b/luna/webos-foundation/APKBUILD @@ -0,0 +1,27 @@ +pkgname=webos-foundation +pkgver=1.0.0_git20160531 +pkgrel=0 +_commit=ec6e5bfdf9a7322f53c7d7b3bb32815cde957bea +pkgdesc="Webos webapp javascript frameworks" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="" +makedepends="" +source="$pkgname-$_commit.tar.gz::https://github.com/webos-ports/foundation-frameworks/archive/$_commit.tar.gz" +builddir="$srcdir/foundation-frameworks-$_commit" + +package() { + cd "$builddir" + + install -d "$pkgdir"/usr/palm/frameworks + + for FRAMEWORK in `ls -d1 ./foundations*` ; do + FRAMEWORK_DIR=`basename $FRAMEWORK` + install -d "$pkgdir"/usr/palm/frameworks/$FRAMEWORK_DIR/version/1.0/ + cp -vrf $FRAMEWORK/* "$pkgdir"/usr/palm/frameworks/$FRAMEWORK_DIR/version/1.0/ + # remove test and jasminetest dirs + rm -vrf ${D}${webos_frameworksdir}/$FRAMEWORK_DIR/version/1.0/*test + done +} +sha512sums="d1adc31f6efdf8f936ca4ee9eadc4742769e9124117af3e38dcb2b967dfbf54684b20ab9ac5d744d136e30597535b6d5a1867b9fcd8c4e3ba35c699b80119568 webos-foundation-ec6e5bfdf9a7322f53c7d7b3bb32815cde957bea.tar.gz" diff --git a/luna/webos-loadable-frameworks/APKBUILD b/luna/webos-loadable-frameworks/APKBUILD new file mode 100644 index 000000000..74acfc3dc --- /dev/null +++ b/luna/webos-loadable-frameworks/APKBUILD @@ -0,0 +1,27 @@ +pkgname=webos-loadable-frameworks +pkgver=1.0.0_git20160228 +pkgrel=0 +_commit=746ad752f206fc2e7d050837946e34d5f29093dd +pkgdesc="Webos core services javascript frameworks" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="" +makedepends="" +source="$pkgname-$_commit.tar.gz::https://github.com/webos-ports/loadable-frameworks/archive/$_commit.tar.gz" +builddir="$srcdir/loadable-frameworks-$_commit" + +package() { + cd "$builddir" + + install -d "$pkgdir"/usr/palm/frameworks + + for FRAMEWORK in `ls -d1 ./calendar* ./contacts* ./globalization ./phonenumberlib` ; do + FRAMEWORK_DIR=`basename $FRAMEWORK` + install -d "$pkgdir"/usr/palm/frameworks/$FRAMEWORK_DIR/version/1.0/ + cp -vrf $FRAMEWORK/* "$pkgdir"/usr/palm/frameworks/$FRAMEWORK_DIR/version/1.0/ + # remove test and jasminetest dirs + rm -vrf "$pkgdir"/usr/palm/frameworks/$FRAMEWORK_DIR/version/1.0/*test + done +} +sha512sums="94c6b55e27a3006b4301a994fabee5b427fecd6d0c85ff3a214e0d5c546647fc2cbd4cccc97e9e0961abd3b1d530a606608af8cf40efa744c70d3c0e4d2ed693 webos-loadable-frameworks-746ad752f206fc2e7d050837946e34d5f29093dd.tar.gz" diff --git a/luna/webos-underscore/APKBUILD b/luna/webos-underscore/APKBUILD new file mode 100644 index 000000000..995b66db7 --- /dev/null +++ b/luna/webos-underscore/APKBUILD @@ -0,0 +1,21 @@ +pkgname=webos-underscore +pkgver=0.6.0_git20170830 +pkgrel=0 +_commit=d8b8a077be90b5edb9b44ef142625ba4743c8a47 +pkgdesc="webos packaged version of underscore.js" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="" +makedepends="" +source="$pkgname-$_commit.tar.gz::https://github.com/openwebos/underscore/archive/$_commit.tar.gz" +builddir="$srcdir/underscore-$_commit" + + +package() { + cd "$builddir" + + install -d "$pkgdir"/usr/palm/frameworks/underscore/version/1.0 + cp -vrf ./* "$pkgdir"/usr/palm/frameworks/underscore/version/1.0 +} +sha512sums="8b2a02450566e9812814700f24c63ac297f9eb83f421e6032d0fc6d167a8f45a2207fe054d34eb757f9ad69f0fd07148faed866f037a134f1282ca8ffac4eb65 webos-underscore-d8b8a077be90b5edb9b44ef142625ba4743c8a47.tar.gz" diff --git a/main/postmarketos-ui-luna/APKBUILD b/main/postmarketos-ui-luna/APKBUILD index b90cd4b08..39b178322 100644 --- a/main/postmarketos-ui-luna/APKBUILD +++ b/main/postmarketos-ui-luna/APKBUILD @@ -1,11 +1,33 @@ pkgname=postmarketos-ui-luna pkgver=1 -pkgrel=0 +pkgrel=1 pkgdesc="(Wayland) webOS UI, ported from the LuneOS project (Not working yet)" url="https://wiki.postmarketos.org/wiki/LuneOS_UI" arch="noarch" license="GPL3+" -depends="luna-next-cardshell luna-next luna-sysmgr luna-sysservice luna-appmanager luneos-components luna-init mesa" +depends="activitymanager +configurator +db8 +enyo +luna-app-browser +luna-app-services +luna-applauncher +luna-appmanager +luna-core-apps +luna-firstuse +luna-init +luna-next +luna-next-cardshell +luna-qml-launcher +luna-sysmgr +luna-sysservice +luna-systemui +luna-temp-ofono-bluetooth +luna-webappmanager +luneos-components +mesa +mojoloader +xkeyboard-config" makedepends="" subpackages="" source="start_luna.sh" @@ -15,4 +37,4 @@ package() { install -D -m755 "$srcdir"/start_luna.sh \ "$pkgdir"/usr/bin/start_luna.sh } -sha512sums="f9940d2ce21a3f0de682ee1046681b25ceeaccbcd72d92b1a791ea70074c1bf9f63d43ca36be069551f73ff8bf75585053f1fbe9a0669c481ebed26b5e9098a1 start_luna.sh" +sha512sums="a0e9018ceaabb4da16bac70b7b4aa704924a483e166f3f04df6b46a98b449798b8bafb851154ca1bf14438da3381699434933d4f0866dc680fe52fd6a7dd5bd6 start_luna.sh" diff --git a/main/postmarketos-ui-luna/start_luna.sh b/main/postmarketos-ui-luna/start_luna.sh index f69509707..d6359580e 100644 --- a/main/postmarketos-ui-luna/start_luna.sh +++ b/main/postmarketos-ui-luna/start_luna.sh @@ -1,27 +1,36 @@ #!/bin/sh -if test -z "${XDG_RUNTIME_DIR}"; then - export XDG_RUNTIME_DIR=/tmp/$(id -u)-runtime-dir - if ! test -d "${XDG_RUNTIME_DIR}"; then - mkdir "${XDG_RUNTIME_DIR}" - chmod 0700 "${XDG_RUNTIME_DIR}" - fi +#The sleeps are in here to avoid some races. +# TODO: Set up openrc service files to make startup faster & more reliable - export LD_PRELOAD=/usr/lib/libwayland-server.so.0 - export QT_QPA_PLATFORM=eglfs - export QT_QUICK_BACKEND=software +# This also causes issues on first boot - configurator needs to be re-run with +# luna-send -n 1 'luna://com.palm.configurator/run' '{"types":["dbkinds","dbpermissions","activities"]}' +# after first-use ends. After running that, you may need to reboot and re-run start_luna - /usr/sbin/ls-hubd --conf /etc/luna-service2/ls-private.conf & - sleep 1 - /usr/sbin/ls-hubd --public --conf /etc/luna-service2/ls-public.conf & - sleep 1 - luna-prefs-service -d & - sleep 1 - LunaSysMgr -l debug & - sleep 1 - LunaSysService -l debug & - sleep 1 - LunaAppManager -t -c -u luna & - sleep 1 - luna-next -fi + +/usr/sbin/ls-hubd --conf /etc/luna-service2/ls-private.conf 2>&1 | logger -t 'ls-hubd-private' & +sleep 1 +/usr/sbin/ls-hubd --public --conf /etc/luna-service2/ls-public.conf 2>&1 | logger -t 'ls-hubd-public' & +sleep 1 +MOJODB_ENGINE=leveldb mojodb-luna -c /etc/palm/db8/maindb.conf 2>&1 | logger -t 'mojodb-maindb' & +MOJODB_ENGINE=leveldb mojodb-luna -c /etc/palm/db8/mediadb.conf 2>&1 | logger -t 'mojodb-mediadb' & +MOJODB_ENGINE=leveldb mojodb-luna -c /etc/palm/db8/tempdb.conf 2>&1 | logger -t 'mojodb-tempdb' & +sleep 1 +luna-send -n 1 'luna://com.palm.configurator/run' '{"types":["dbkinds","dbpermissions"]}' +sleep 1 +luna-prefs-service -d 2>&1 | logger -t 'luna-prefs-service' & +sleep 1 +activitymanager 2>&1 | logger -t 'activitymanager' & +sleep 1 +LunaSysMgr -l debug 2>&1 | logger -t 'LunaSysMgr' & +sleep 1 +LunaSysService -l debug 2>&1 | logger -t 'LunaSysService' & +sleep 1 +export QT_QPA_PLATFORM=eglfs +export QT_QPA_EGLFS_DISABLE_INPUT=1 +luna-next -plugin evdevmouse:/dev/input/event2 -plugin evdevkeyboard:/dev/input/event1 2>&1 | logger -t 'luna-next' & +sleep 5 +export QT_QPA_PLATFORM=wayland +LunaAppManager -t -c -u luna 2>&1 | logger -t 'LunaAppManager' & +sleep 1 +LunaWebAppManager --verbose --allow-file-access-from-files 2>&1 | logger -t 'LunaWebAppManager' \ No newline at end of file