Merge Luna work into master (#945)

Contains everything from #940, except on top of master now.
Also added a postmarketos-ui-luna package to be a meta-
package for all of the Luna work.

Every component included here builds & runs, but isn't
functional without a handful more packages.
This commit is contained in:
Alex Roth 2017-11-29 18:29:26 -05:00 committed by Oliver Smith
parent 2ec265738b
commit f5def361a6
40 changed files with 1421 additions and 5 deletions

View File

@ -0,0 +1,28 @@
pkgname=cmake-modules-webos
pkgver=19
pkgrel=1
pkgdesc="CMake modules needed to build Open webOS components"
url="https://github.com/openwebos/cmake-modules-webos"
arch="noarch"
license="custom"
depends="cmake"
makedepends="cmake"
source="$pkgname-$pkgver.tar.gz::https://github.com/openwebos/cmake-modules-webos/archive/submissions/19.tar.gz"
options="!check"
prepare() {
mkdir "$srcdir"/build
}
build() {
cd "$srcdir"/build
cmake "$srcdir"/$pkgname-submissions-$pkgver \
-DWEBOS_INSTALL_ROOT=/
make
}
package() {
cd "$srcdir"/build
make DESTDIR="$pkgdir" install
}
sha512sums="a8ebf0e05002b34a6a7dcf0fc8ea309eed4820d2af1275bf7523946d237238ee784db420f17530b0f043e9eadfac5760158a096651df1b415c9ec954f955dace cmake-modules-webos-19.tar.gz"

View File

@ -0,0 +1,33 @@
pkgname=lemon
pkgver=3.21
pkgrel=1
pkgdesc="The Lemon Parser Generator"
arch="all"
url="https://www.hwaci.com/sw/lemon"
license="custom"
depends=""
makedepends=""
source="lemon-$pkgver.c::https://www.sqlite.org/src/raw?ci=branch-$pkgver&filename=tool/lemon.c
lempar-$pkgver.c::https://www.sqlite.org/src/raw?ci=branch-$pkgver&filename=tool/lempar.c"
options="!check"
build() {
cd "$srcdir"
gcc lemon-$pkgver.c -c -o lemon.o
gcc lemon.o -o lemon
}
package() {
cd "$srcdir"
install -d "$pkgdir"/usr/bin/
install -m 0755 lemon "$pkgdir"/usr/bin/
# FIXME: lempar.c should not be in /usr/bin/! Consider upstreaming a
# patch into sqlite, that makes lemon look for it in /usr/share/lemon:
# <https://aur.archlinux.org/cgit/aur.git/tree/lemon_share.diff?h=lemon>
install -m 0644 "$srcdir"/lempar-$pkgver.c "$pkgdir"/usr/bin/lempar.c
}
sha512sums="17c5210e856a6eeb195b9c8c68b83407b7085596dd48e8e55059d644725ff84fb56a5cf223530723b9a69382f619383b4035fe46588300e2e5776228429ec5d4 lemon-3.21.c
cbf78b843fdebadebff498db803fce545e5c1cb3dcf76da4989513f1f970a2a192d3f775430a4ae81e89b41477a06a530f01c83641ca36949a7c24452b4fba13 lempar-3.21.c"

View File

@ -0,0 +1,36 @@
pkgname=libpbnjson
pkgver=2.9.1
pkgrel=2
pkgdesc="Palm's Better Native JSON library"
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends="uriparser"
depends_dev="uriparser-dev glib-dev"
makedepends="cmake-modules-webos glib-dev yajl-dev gperf gmp-dev uriparser-dev boost-dev sqlite-libs lemon"
source="$pkgname-$pkgver.tar.gz::https://github.com/openwebos/libpbnjson/archive/versions/$pkgver.tar.gz
replace-bash-with-sh.patch"
subpackages="$pkgname-dev"
prepare() {
mkdir -p "$srcdir"/build
cd "$srcdir"/$pkgname-versions-$pkgver
patch -p1 < "$srcdir"/replace-bash-with-sh.patch
}
build() {
cd "$srcdir"/build
cmake "$srcdir"/$pkgname-versions-$pkgver \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DWEBOS_INSTALL_ROOT=/ \
-DNO_LOGGING:BOOL=TRUE
make
}
package() {
cd "$srcdir"/build
make DESTDIR="$pkgdir" install
}
sha512sums="febecef9ad5eaffdb32618bca68bdd3f0121ec34a436c8b0a82a8bc4d18f4b860771bb9ab8a1b3b22a30bf915b3a9ccba491c9c3c6b51537ef5510ef2dd953b3 libpbnjson-2.9.1.tar.gz
1e434f7deeb11b6a03d8831289b7c60d54576a75eaac9e30dc990f0bf08debfc6f5dd45c722737f1d44b0b60d81553456a013deba03efe2c3962bbacd0da25d9 replace-bash-with-sh.patch"

View File

@ -0,0 +1,24 @@
diff --git a/src/pbnjson_c/validation/apply_lemon.sh b/src/pbnjson_c/validation/apply_lemon.sh
index 0d445cf..7f08034 100755
--- a/src/pbnjson_c/validation/apply_lemon.sh
+++ b/src/pbnjson_c/validation/apply_lemon.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# @@@LICENSE
#
@@ -34,13 +34,11 @@ token_keywords=`grep TOKEN $source_dir/schema_keywords.gperf | grep -o "TOKEN_${
if [ "$found_keywords" != "$all_keywords" ]; then
echo >&2 "any_object_key doesn't contain all the keywords"
- diff <(echo "$found_keywords") <(echo "$all_keywords")
exit 1
fi
if [ "$expected_tokens" != "$token_keywords" ]; then
echo >&2 "schema_keywords.gperf doesn't contain all the keywords"
- diff <(echo "$token_keywords") <(echo "$expected_tokens")
exit 1
fi

View File

@ -0,0 +1,40 @@
pkgname=librolegen
pkgver=2.1.0_git20141026
pkgrel=0
pkgdesc="librolegen dynamically generates webOS system bus role files for webOS Javascript services"
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends=""
makedepends="cmake-modules-webos"
_commit="b293a3f8b05f83b36b1b673c4e7dd1c18bfcf768"
builddir="$srcdir/$pkgname-$_commit"
# NOTE: Unlike the rest of the webOS ports repos, librolegen doesn't use 'master' as
# their working branch, but 'webOS-ports/master'
source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/librolegen/archive/$_commit.tar.gz
fix-fexists.patch"
subpackages="$pkgname-dev"
options="!check"
prepare() {
default_prepare
# cmake does not allow in-source builds
mkdir -p "$srcdir"/build
}
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="937a18eff896db044fe4986d63f9a53745c31443c9bfad569b9f852e9d649bfef4a868ab357f2904132a15273be88444774a8938a64c98274dd49e828e17bb5d librolegen-b293a3f8b05f83b36b1b673c4e7dd1c18bfcf768.tar.gz
4aa60250ef7d01d3574fccf1427a399839d984e710782ad2753fbbbbfb5cfb652839be15a16e7b9ef11d595ecfad774ef0aed526413094694b0a5dd61969184c fix-fexists.patch"

View File

@ -0,0 +1,13 @@
diff --git a/src/rolegen.cpp.in b/src/rolegen.cpp.in
index 3c2740f..eb68959 100755
--- a/src/rolegen.cpp.in
+++ b/src/rolegen.cpp.in
@@ -51,7 +51,7 @@ static bool isPrivilegedAppId(const char *appId)
static bool fexists(string filename)
{
ifstream ifile(filename.c_str());
- return ifile;
+ return ifile.good();
}
static void checkDirStructure()

View File

@ -0,0 +1,13 @@
diff --git a/src/rolegen.cpp.in b/src/rolegen.cpp.in
index 3c2740f..eb68959 100755
--- a/src/rolegen.cpp.in
+++ b/src/rolegen.cpp.in
@@ -51,7 +51,7 @@ static bool isPrivilegedAppId(const char *appId)
static bool fexists(string filename)
{
ifstream ifile(filename.c_str());
- return ifile;
+ return ifile.good();
}
static void checkDirStructure()

View File

@ -0,0 +1,49 @@
pkgname=luna-appmanager
pkgver=1.9.0_git20170911
pkgrel=0
_commit=a342cc9e2a8019c93ee13030c26a5cd0d5e4f24a
pkgdesc="Component responsible for application management in LuneOS"
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends="luna-sysmgr-common luna-sysmgr-ipc qt5-qtbase serviceinstaller librolegen nyx-lib json-c glib luna-service2 pmloglib libpbnjson luna-prefs luna-sysmgr-ipc-messages libressl sqlite"
makedepends="cmake-modules-webos luna-sysmgr-common-dev luna-sysmgr-ipc-dev qt5-qtbase-dev serviceinstaller librolegen-dev nyx-lib-dev json-c-dev glib-dev luna-service2-dev pmloglib-dev libpbnjson-dev luna-prefs-dev luna-sysmgr-ipc-messages luna-sysmgr-ipc-messages-dev libressl-dev sqlite-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-appmanager/archive/$_commit.tar.gz
compile.patch"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
#cmake does not allow in-source builds
mkdir -p "$srcdir"/build
}
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
appmgrsrc="$srcdir"/$pkgname-a342cc9e2a8019c93ee13030c26a5cd0d5e4f24a
mkdir -p "$pkgdir"/usr/share/ls2/roles/prv/
cp "$appmgrsrc"/service/luna-appmanager.json.prv "$pkgdir"/usr/share/ls2/roles/prv/luna-appmanager.json
mkdir -p "$pkgdir"/usr/share/ls2/roles/pub/
cp "$appmgrsrc"/service/luna-appmanager.json.pub "$pkgdir"/usr/share/ls2/roles/pub/luna-appmanager.json
mkdir -p "$pkgdir"/usr/share/ls2/system-services/
cp "$appmgrsrc"/service/luna-appmanager.service.prv "$pkgdir"/usr/share/ls2/system-services/luna-appmanager.service
mkdir -p "$pkgdir"/usr/share/ls2/services/
cp "$appmgrsrc"/service/luna-appmanager.service.pub "$pkgdir"/usr/share/ls2/services/luna-appmanager.service
}
sha512sums="04cc2f72a999bdec058fe87135ba01101b79cc0974102f7221cd57028f695cc342789add5fe7fa7c5660fc97fdefff1d02f31b4a9af4014022c8d9483b8a59b7 luna-appmanager-a342cc9e2a8019c93ee13030c26a5cd0d5e4f24a.tar.gz
0b48db80fb3f4dc683004bfff927577c8b2c258d735d6706406fd931456d3d01b03638635a60e1f5360d00a9439a7be7056f46d86453c06685fcb067a7d20c70 compile.patch"

View File

@ -0,0 +1,128 @@
diff --git a/Src/Main.cpp b/Src/Main.cpp
index 8894f52..3eca6c4 100644
--- a/Src/Main.cpp
+++ b/Src/Main.cpp
@@ -79,7 +79,7 @@
#ifdef __cplusplus
extern "C" {
#endif
-extern void malloc_stats(void);
+//extern void malloc_stats(void);
#ifdef __cplusplus
};
#endif
@@ -336,7 +336,7 @@ static gboolean mallocStatsCb(gpointer data)
fflush(stderr);
fprintf(stderr, "\nMALLOC STATS FOR PROCESS: \"%s\" (PID: %d) AT [%ld.%ld] %s", process_name, my_pid, ts.tv_sec, ts.tv_nsec, ctime_r(&cur_time, buf));
fflush(stderr);
- malloc_stats();
+ //malloc_stats();
fprintf(stderr, "\n\n");
fflush(stderr);
fsync(STDERR_FILENO);
diff --git a/Src/base/application/ApplicationInstaller.cpp b/Src/base/application/ApplicationInstaller.cpp
index 937ca82..ec215ad 100644
--- a/Src/base/application/ApplicationInstaller.cpp
+++ b/Src/base/application/ApplicationInstaller.cpp
@@ -2766,7 +2766,7 @@ bool ApplicationInstaller::cbQueryInstallCapacity(LSHandle* lshandle,LSMessage *
goto Done;
}
- size = strtouq(strsize.c_str(),NULL,10);
+ size = strtoul(strsize.c_str(),NULL,10);
if (size == 0)
{
@@ -2780,7 +2780,7 @@ bool ApplicationInstaller::cbQueryInstallCapacity(LSHandle* lshandle,LSMessage *
}
else
{
- ucSize = strtouq(strucsize.c_str(),NULL,10);
+ ucSize = strtoul(strucsize.c_str(),NULL,10);
}
queryCapacityResult = ApplicationInstaller::instance()->lunasvcQueryInstallCapacity(packageId, size, ucSize, spaceNeeded);
diff --git a/Src/base/application/ApplicationManager.cpp b/Src/base/application/ApplicationManager.cpp
index c360ec8..8acd373 100644
--- a/Src/base/application/ApplicationManager.cpp
+++ b/Src/base/application/ApplicationManager.cpp
@@ -691,7 +691,7 @@ void ApplicationManager::createOrUpdatePackageManifest(PackageDescription* packa
packageDesc->setPackageSize(ApplicationInstaller::getSizeOfPackageOnFsGenerateManifest("", packageDesc, NULL));
} else {
// set the size that's found
- uint64_t packageSize = strtouq(packageSizeStr.c_str(), NULL, 10);
+ uint64_t packageSize = strtoul(packageSizeStr.c_str(), NULL, 10);
g_debug("%s: [MANIFESTS]: manifest for %s blocksize = %s found total size = %llu...setting on package desc",__PRETTY_FUNCTION__, packageDesc->id().c_str(), bsizeStr.c_str(), packageSize);
packageDesc->setPackageSize(packageSize);
}
diff --git a/Src/base/application/CmdResourceHandlers.cpp b/Src/base/application/CmdResourceHandlers.cpp
index 2bd105c..758f370 100644
--- a/Src/base/application/CmdResourceHandlers.cpp
+++ b/Src/base/application/CmdResourceHandlers.cpp
@@ -39,6 +39,7 @@ RedirectHandler::RedirectHandler(const std::string& urlRe, const std::string& ap
if (!urlRe.empty() && 0 == regcomp(&m_urlReg, urlRe.c_str(), REG_EXTENDED | REG_ICASE | REG_NOSUB)) {
}
else {
+ m_regexValid = false;
::memset(&m_urlReg, 0, sizeof(m_urlReg));
}
}
@@ -50,6 +51,7 @@ RedirectHandler::RedirectHandler(const std::string& urlRe, const std::string& ap
if (!urlRe.empty() && 0 == regcomp(&m_urlReg, urlRe.c_str(), REG_EXTENDED | REG_ICASE | REG_NOSUB)) {
}
else {
+ m_regexValid = false;
::memset(&m_urlReg, 0, sizeof(m_urlReg));
}
}
@@ -65,8 +67,10 @@ RedirectHandler::RedirectHandler(const RedirectHandler& c)
m_verbs = c.m_verbs;
if (!m_urlRe.empty() && 0 == regcomp(&m_urlReg, m_urlRe.c_str(), REG_EXTENDED | REG_ICASE | REG_NOSUB)) {
+ m_regexValid = true;
}
else {
+ m_regexValid = false;
::memset(&m_urlReg, 0, sizeof(m_urlReg));
}
@@ -89,8 +93,10 @@ RedirectHandler& RedirectHandler::operator=(const RedirectHandler& c)
m_verbs = c.m_verbs;
if (!m_urlRe.empty() && 0 == regcomp(&m_urlReg, m_urlRe.c_str(), REG_EXTENDED | REG_ICASE | REG_NOSUB)) {
+ m_regexValid = true;
}
else {
+ m_regexValid = false;
::memset(&m_urlReg, 0, sizeof(m_urlReg));
}
@@ -99,6 +105,7 @@ RedirectHandler& RedirectHandler::operator=(const RedirectHandler& c)
RedirectHandler::RedirectHandler() : m_valid(false), m_schemeForm(false), m_index(0)
{
+ m_regexValid = false;
::memset(&m_urlReg, 0, sizeof(m_urlReg));
}
@@ -126,7 +133,7 @@ bool RedirectHandler::matches(const std::string& url) const
*/
bool RedirectHandler::reValid() const
{
- return m_urlReg.buffer != NULL;
+ return m_regexValid;
}
bool RedirectHandler::addVerb(const std::string& verb,const std::string& jsonizedParams)
diff --git a/Src/base/application/CmdResourceHandlers.h b/Src/base/application/CmdResourceHandlers.h
index e6bf3a7..ae48e81 100644
--- a/Src/base/application/CmdResourceHandlers.h
+++ b/Src/base/application/CmdResourceHandlers.h
@@ -94,6 +94,7 @@ class RedirectHandler
regex_t m_urlReg; ///< The compiled URL regular expression
bool m_valid;
bool m_schemeForm;
+ bool m_regexValid = true;
std::string m_tag;
uint32_t m_index;
std::map<std::string,std::string> m_verbs; // < Verb , json-ized string of parameters >

View File

@ -0,0 +1,33 @@
pkgname=luna-init
pkgver=5.0.0_git20171117
pkgrel=0
_commit=5fff640fb0b9f3e973c13d1620889b2da4c11766
pkgdesc="Initialization and font setup files used by luna-sysmgr."
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends=""
makedepends="cmake-modules-webos python2 py2-tz"
source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-init/archive/$_commit.tar.gz"
options="!check"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
mkdir -p "$srcdir"/build
}
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="9278b53e8358230e0979d314958a02ada6d68a68b97e253d81ffc5132901cf7aa033c8d908530cbf36c422a161a3f80cc70f1ddb3e0e4b3fae86183c39d10b95 luna-init-5fff640fb0b9f3e973c13d1620889b2da4c11766.tar.gz"

View File

@ -0,0 +1,32 @@
pkgname=luna-next-cardshell
pkgver=4.4.0_git20171115
pkgrel=0
_commit=77659074d7f82732766904c413cbece0501f399c
pkgdesc="The default shell used for luna-next."
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends="luna-next qt5-qtbase qt5-qtdeclarative qt5-qtmultimedia"
makedepends="cmake-modules-webos"
source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-next-cardshell/archive/$_commit.tar.gz"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
mkdir -p "$srcdir"/build
}
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="352fae17e397ee6377cc198235e41fb51e0fd88476176405adcc421a5f56d4573ddaaa24ffaa15f22568f71b7e93d545dc305a4588cfbc5edfa154f3b427cdb6 luna-next-cardshell-77659074d7f82732766904c413cbece0501f399c.tar.gz"

View File

@ -0,0 +1,38 @@
pkgname=luna-next
pkgver=2.6.0_git20170922
pkgrel=0
_commit=428a337f922691b00534f041193ee7dca8defcc2
pkgdesc="The new webOS UI of the webOS ports project."
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends="qt5-qtbase qt5-qtdeclarative qt5-qtwayland luna-prefs luna-sysmgr-common json-c nyx-lib luna-prefs"
makedepends="extra-cmake-modules cmake-modules-webos qt5-qtbase-dev qt5-qtdeclarative-dev wayland-dev qt5-qtwayland-dev json-c-dev luna-sysmgr-common-dev nyx-lib-dev luna-prefs-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-next/archive/$_commit.tar.gz
remove-systemd-harddep.patch compile.patch"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
mkdir -p "$srcdir"/build
}
build() {
cd "$srcdir"/build
cmake "$builddir" \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=/usr \
-DKDE_INSTALL_LIBDIR=lib \
-DKDE_INSTALL_LIBEXECDIR=lib \
-DWEBOS_INSTALL_ROOT=/ \
-DOE_QMAKE_PATH_QML=/usr/lib/qt5/qml/
make
}
package() {
cd "$srcdir"/build
make DESTDIR="$pkgdir" install
}
sha512sums="37147471d8ea99321558aa8a824a76a6bc23d85cea666ea2c789585e7d398e46312da7488f2019826912addd28ae796552438f9a103ac6fec6572407ce6efb9b luna-next-428a337f922691b00534f041193ee7dca8defcc2.tar.gz
f6dc58db48bdd1ec4126245aaeb3cf364dfb761cf0aae172ff19eda885fe0601c249fcfc5e89c1cbfb91e857d5c57bac24495bab62a4c03dff7711e7dad2a9f8 remove-systemd-harddep.patch
f749ed8a4b2ebd2f8baea6772888772cd9769a71fab667c6bb76338324a4692a9adaa3f6aae04199af74286d00b045c3c7c9cc0c57a293b8fdf04e5af75dca71 compile.patch"

View File

@ -0,0 +1,46 @@
diff --git a/src/main.cpp b/src/main.cpp
index d20eca4..6e87dee 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -20,7 +20,6 @@
#include <string.h>
#include <errno.h>
-#include <error.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
diff --git a/plugins/compositor/CMakeLists.txt b/plugins/compositor/CMakeLists.txt
index dae2cb3..fe80c4c 100644
--- a/plugins/compositor/CMakeLists.txt
+++ b/plugins/compositor/CMakeLists.txt
@@ -1,10 +1,14 @@
add_definitions(-DQT_COMPOSITOR_QUICK)
+#Qt5WaylandCompositor's private include dirs includes *other* private include dirs, but not it's own.
+set(QTWAYLAND_REAL_PRIVATE_INCLUDES "/usr/include/QtWaylandCompositor/${Qt5WaylandCompositor_VERSION}")
+
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${Qt5Gui_PRIVATE_INCLUDE_DIRS}
${Qt5WaylandCompositor_PRIVATE_INCLUDE_DIRS}
+ ${QTWAYLAND_REAL_PRIVATE_INCLUDES}
${WAYLAND_SERVER_INCLUDE_DIRS}
${CMAKE_CURRENT_SOURCE_DIR}/compositor)
diff --git a/plugins/compositor/compositor.cpp b/plugins/compositor/compositor.cpp
index 4e437ea..d174c5d 100644
--- a/plugins/compositor/compositor.cpp
+++ b/plugins/compositor/compositor.cpp
@@ -246,6 +246,10 @@ void Compositor::onSurfaceDestroyed()
}
}
+void Compositor::onSurfaceAboutToBeDestroyed(QWaylandSurface *surface)
+{
+}
+
void Compositor::onSurfaceRaised()
{
QtWayland::ExtendedSurface *extSurface = qobject_cast<QtWayland::ExtendedSurface*>(sender());

View File

@ -0,0 +1,33 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d803418..1c6a9ea 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -52,7 +52,7 @@ pkg_check_modules(GLESV2 glesv2 REQUIRED)
pkg_check_modules(WAYLAND_CLIENT wayland-client REQUIRED)
pkg_check_modules(WAYLAND_SERVER wayland-server REQUIRED)
-pkg_check_modules(SYSTEMD libsystemd REQUIRED)
+pkg_check_modules(SYSTEMD libsystemd OPTIONAL)
pkg_check_modules(GLIB2 glib-2.0 REQUIRED)
pkg_check_modules(LUNA_SYSMGR_COMMON LunaSysMgrCommon REQUIRED)
pkg_check_modules(LUNA_SYSMGR_IPC_MESSAGES LunaSysMgrIpcMessages REQUIRED)
diff --git a/src/main.cpp b/src/main.cpp
index d20eca4..0bb47f2 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -33,7 +33,6 @@
#include <glib.h>
-#include <systemd/sd-daemon.h>
#include <Settings.h>
#include "shellapplication.h"
@@ -132,7 +131,6 @@ int main(int argc, char *argv[])
if (!app.create(shellName))
exit(1);
- sd_notify(0, "READY=1");
return app.exec();
}

View File

@ -0,0 +1,35 @@
pkgname=luna-prefs
pkgver=7.0.0_git20141219
pkgrel=0
_commit=620394a1c4bd5b0c0ec0a7ee15aa5e8aa8c6d957
pkgdesc="Retrieves system preferences values set and used by webOS"
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends="glib sqlite nyx-lib json-c luna-service2 pmloglib"
makedepends="cmake-modules-webos glib-dev json-c-dev sqlite-dev pmloglib-dev nyx-lib-dev pmloglib-dev luna-service2-dev"
depends_dev="json-c-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-prefs/archive/$_commit.tar.gz"
subpackages="$pkgname-dev"
options="!check"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
mkdir -p "$srcdir"/build
}
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="ed514077b776f6a0901fc13e101ee1bccac05304d1b2bc56de6fd43558bd51587e049c2fd79618fc4190c4c2b92d2c591cb0ae2d7dfd89351a21f217ca2adcb1 luna-prefs-620394a1c4bd5b0c0ec0a7ee15aa5e8aa8c6d957.tar.gz"

View File

@ -0,0 +1,39 @@
pkgname=luna-service2
pkgver=3.2.0_git20170505
pkgrel=0
_commit=1e2e1a53c089003da333609946dddf063244ee34
pkgdesc="Open webOS Luna System Bus library, daemon, and utilities"
arch="all"
url="https://github.com/webOS-ports/luna-service2"
license="GPL-3.0+"
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"
subpackages="$pkgname-dev"
options="!check"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
mkdir -p "$srcdir"/build
}
build() {
cd "$srcdir"/build
cmake "$builddir" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DWEBOS_INSTALL_ROOT=/ \
-DMALLOC_DEBUG=1
make
}
package() {
cd "$srcdir"/build
make DESTDIR="$pkgdir" install
}
sha512sums="862b04ad58a786b7ce810a9864a2580addd4d9757c1d8825f86f5a817a75daa83d360d4c3ceb26e512e868ba2379ba11e049e79fac84411f6758257cbe71909d luna-service2-1e2e1a53c089003da333609946dddf063244ee34.tar.gz
c8223795eebd9b0e7037f1ba130d6b4e58496483e886a50a76ed79ef61ed76ebc729f8d031ae9110d80f1ef029e4c8f9529edb483608bdc4aafb39a1bb5e8562 remove-systemd-harddep.patch
2d35d056c445d25dc970fc176d1326fb93c682ebff0501a79ed2b41d5eda7fde36be0bed96e34776f234c59a95b1e29889e0ba5bec48c321e091f93db0220700 remove-malloc-debug.patch"

View File

@ -0,0 +1,80 @@
diff --git a/src/libluna-service2/base.c b/src/libluna-service2/base.c
index 8ee0d36..fb79753 100644
--- a/src/libluna-service2/base.c
+++ b/src/libluna-service2/base.c
@@ -169,7 +169,7 @@ LSDebugLogIncoming(const char *where, _LSTransportMessage *message)
}
#ifdef LSHANDLE_CHECK
-inline void
+void
_lshandle_validate(LSHandle *sh)
{
if (sh && sh->history.magic_state_num != LSHANDLE_MAGIC_STATE_VALID)
diff --git a/src/libluna-service2/base.h b/src/libluna-service2/base.h
index 4d56c1f..9e57940 100644
--- a/src/libluna-service2/base.h
+++ b/src/libluna-service2/base.h
@@ -87,7 +87,7 @@ do { \
#define LSHANDLE_VALIDATE(sh) _lshandle_validate(sh)
-inline void _lshandle_validate(LSHandle *sh);
+void _lshandle_validate(LSHandle *sh);
#define LSHANDLE_GET_RETURN_ADDR() (__builtin_return_address(0))
#define LSHANDLE_POISON(sh) memset(sh, 0xFF, offsetof(LSHandle, history))
diff --git a/src/libluna-service2/debug_methods.h b/src/libluna-service2/debug_methods.h
index 4c98ca9..3fab3a9 100644
--- a/src/libluna-service2/debug_methods.h
+++ b/src/libluna-service2/debug_methods.h
@@ -24,7 +24,6 @@
#include "base.h"
#define SUBSCRIPTION_DEBUG
-#define MALLOC_DEBUG
#define INTROSPECTION_DEBUG
#ifdef SUBSCRIPTION_DEBUG
diff --git a/src/libluna-service2/transport.c b/src/libluna-service2/transport.c
index 9802ad3..f12f060 100644
--- a/src/libluna-service2/transport.c
+++ b/src/libluna-service2/transport.c
@@ -5291,7 +5291,7 @@ error:
* @retval false otherwise
*******************************************************************************
*/
-inline bool
+bool
_LSTransportIsHub(void)
{
return s_is_hub;
diff --git a/src/libluna-service2/transport.h b/src/libluna-service2/transport.h
index 5b5e491..23cb899 100644
--- a/src/libluna-service2/transport.h
+++ b/src/libluna-service2/transport.h
@@ -186,7 +186,7 @@ void _LSTransportAddInitialWatches(_LSTransport *transport, GMainContext *contex
_LSTransportType _LSTransportGetTransportType(const _LSTransport *transport);
bool _LSTransportGetPrivileged(const _LSTransport *tansport);
-inline bool _LSTransportIsHub(void);
+bool _LSTransportIsHub(void);
bool LSTransportSend(_LSTransport *transport, const char *service_name, const char *category, const char *method, const char *payload, const char* applicationId, LSMessageToken *token, LSError *lserror);
bool _LSTransportSendReply(const _LSTransportMessage *message, const char *payload, LSError *lserror);
diff --git a/src/libluna-service2/transport_message.h b/src/libluna-service2/transport_message.h
index d5ef0ba..d2986ef 100644
--- a/src/libluna-service2/transport_message.h
+++ b/src/libluna-service2/transport_message.h
@@ -29,9 +29,10 @@
#ifdef LUNA_SERVICE_UNIT_TEST
#define INLINE
#else
-#define INLINE inline
+#define INLINE
#endif
+
/**
* @addtogroup LunaServiceTransportMessage
*

View File

@ -0,0 +1,64 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d004c9f..3ea9779 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,10 +44,6 @@ pkg_check_modules(PMLOGLIB REQUIRED PmLogLib>=3.0.2)
include_directories(${PMLOGLIB_INCLUDE_DIRS})
webos_add_compiler_flags(ALL ${PMLOGLIB_CFLAGS_OTHER})
-pkg_check_modules(SYSTEMD_DAEMON REQUIRED libsystemd)
-include_directories(${SYSTEMD_DAEMON_INCLUDE_DIRS})
-webos_add_compiler_flags(ALL ${SYSTEMD_DAEMON_CFLAGS_OTHER})
-
include(webOS/LegacyDefines)
set(LS2_PERMS "")
diff --git a/src/ls-hubd/CMakeLists.txt b/src/ls-hubd/CMakeLists.txt
index 9bea8cb..d91f800 100644
--- a/src/ls-hubd/CMakeLists.txt
+++ b/src/ls-hubd/CMakeLists.txt
@@ -35,7 +35,7 @@ add_definitions(-DDEFAULT_LOCAL_SOCKET_DIR="${WEBOS_INSTALL_RUNTIMEINFODIR}/ls2"
add_library(ls-hublib STATIC ${HUB_SOURCE_FILES})
add_executable(ls-hubd hub.c)
-target_link_libraries(ls-hubd ls-hublib ${CMAKE_PROJECT_NAME} ${PMLOGLIB_LDFLAGS} ${SYSTEMD_DAEMON_LDFLAGS})
+target_link_libraries(ls-hubd ls-hublib ${CMAKE_PROJECT_NAME} ${PMLOGLIB_LDFLAGS})
webos_build_daemon(NAME ls-hubd LAUNCH ${CMAKE_SOURCE_DIR}/files/launch/ ${LS2_RESTRICTED})
if (WEBOS_CONFIG_BUILD_TESTS)
diff --git a/src/ls-hubd/hub.c b/src/ls-hubd/hub.c
index 78b56e8..7fc3112 100644
--- a/src/ls-hubd/hub.c
+++ b/src/ls-hubd/hub.c
@@ -30,7 +30,6 @@
#include <libgen.h>
#include <glib.h>
#include <pbnjson.h>
-#include <systemd/sd-daemon.h>
#include "hub.h"
#include "conf.h"
@@ -4487,11 +4486,6 @@ int main(int argc, char *argv[])
LOG_LS_ERROR(MSGID_LSHUB_UPSTART_ERROR, 0, "Unable to emit upstart event");
}
}
-
- if (getenv("NOTIFY_SOCKET") != NULL)
- {
- sd_notify(0, "READY=1");
- }
#endif
if (boot_file_name)
diff --git a/src/ls-hubd/test/CMakeLists.txt b/src/ls-hubd/test/CMakeLists.txt
index 3d06cc4..d51893b 100644
--- a/src/ls-hubd/test/CMakeLists.txt
+++ b/src/ls-hubd/test/CMakeLists.txt
@@ -31,6 +31,6 @@ add_definitions(-DUNIT_TESTS)
foreach (TEST ${UNIT_TEST_SOURCES})
add_executable(${TEST} ${TEST}.c ../hub.c ../security.c)
- target_link_libraries(${TEST} ls-hublib ${CMAKE_PROJECT_NAME} ${TESTLIBNAME} ${PMLOGLIB_LDFLAGS} ${SYSTEMD_DAEMON_LDFLAGS})
+ target_link_libraries(${TEST} ls-hublib ${CMAKE_PROJECT_NAME} ${TESTLIBNAME} ${PMLOGLIB_LDFLAGS})
add_test(${TEST} ${TEST})
endforeach ()

View File

@ -0,0 +1,36 @@
pkgname=luna-sysmgr-common
pkgver=1.0.2_git20160628
pkgrel=0
_commit=c583bebb8d7fb8381a071730c5c636e95bf851fb
pkgdesc="Provides header files and source code common to luna-sysmgr and webappmanager"
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends="luna-sysmgr-ipc luna-sysmgr-ipc-messages luna-prefs nyx-lib luna-service2 pmloglib libpbnjson"
makedepends="cmake-modules-webos qt5-qtbase-dev luna-sysmgr-ipc-dev luna-sysmgr-ipc-messages luna-sysmgr-ipc-messages-dev luna-prefs-dev nyx-lib-dev luna-service2-dev json-c-dev pmloglib-dev libpbnjson-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-sysmgr-common/archive/$_commit.tar.gz
compile.patch"
subpackages="$pkgname-dev"
options="!check"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
mkdir -p "$srcdir"/build
}
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="b8e4e72db36063fae472c38dfcb6e0d1cb3e10617fb80a56a54f495fac19102ece92c94b8bd5d499603f02d24b954aa185e906b034afe108f0566ffe6b4be794 luna-sysmgr-common-c583bebb8d7fb8381a071730c5c636e95bf851fb.tar.gz
a682ac698055424d94f40c994a6d9a36b802f8dc604c94244722a3b466e7ec365870b7f6ef600df2d1719d397f2763c4cfb6fd6fe42c31fbdb48f3a0db1a0af6 compile.patch"

View File

@ -0,0 +1,13 @@
diff --git a/Src/base/Logging.cpp b/Src/base/Logging.cpp
index b529da3..d8ec623 100644
--- a/Src/base/Logging.cpp
+++ b/Src/base/Logging.cpp
@@ -35,6 +35,8 @@
#include "MutexLocker.h"
#include "Settings.h"
+typedef time_t __time_t;
+
static GStaticMutex s_mutex = G_STATIC_MUTEX_INIT;
static bool s_initialized = false;
static GHashTable* s_channelHash = 0;

View File

@ -0,0 +1,36 @@
pkgname=luna-sysmgr-ipc-messages
pkgver=2.0.0_git20121220
pkgrel=0
_commit=ecca30313037c6f8edced00f1cf98c1f594a4007
pkgdesc="Provides message definitions for the IPC provided by luna-sysmgr."
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends=""
makedepends="cmake-modules-webos"
source="$pkgname-$_commit.tar.gz::https://github.com/openwebos/luna-sysmgr-ipc-messages/archive/$_commit.tar.gz
mkpkgconfig.patch"
subpackages="$pkgname-dev"
options="!check"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
mkdir -p "$srcdir"/build
}
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="84985fe0fa0fc78937b2cbc56250e664fef5652fa8c11b3c0aa99945461c570e6a5387d2488f5d57210d9071359e93b1e9e6e4f06fdf062c230ef8a2f7ce4a21 luna-sysmgr-ipc-messages-ecca30313037c6f8edced00f1cf98c1f594a4007.tar.gz
d0c4a39449216adc792665c05dd2e11be6e75cf95bf04444c357006be31505b1550f3b276a9a58edb90b4ed5bbafe3b5a0e0dba4586b8794971f353d4a2a4c00 mkpkgconfig.patch"

View File

@ -0,0 +1,50 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8bfa9e5..e9f63ed 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,11 +18,13 @@
cmake_minimum_required(VERSION 2.8.7)
-project(luna-sysmgr-ipc-messages NONE)
+project(LunaSysMgrIpcMessages NONE)
include(webOS/webOS)
webos_modules_init(1 0 0 QUALIFIER RC2)
webos_component(2 0 0)
+webos_build_pkgconfig()
+
# install headers in /usr/include/sysmgr-ipc
install(DIRECTORY include/public/messages/ DESTINATION ${WEBOS_INSTALL_INCLUDEDIR}/sysmgr-ipc)
diff --git a/files/pkgconfig/LunaSysMgrIpcMessages.pc.in b/files/pkgconfig/LunaSysMgrIpcMessages.pc.in
new file mode 100644
index 0000000..315d51b
--- /dev/null
+++ b/files/pkgconfig/LunaSysMgrIpcMessages.pc.in
@@ -0,0 +1,25 @@
+# @@@LICENSE
+#
+# Copyright (c) 2012-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@@@
+
+libdir=@WEBOS_INSTALL_LIBDIR@
+includedir=@WEBOS_INSTALL_INCLUDEDIR@/sysmgr-ipc
+
+Name: luna-sysmgr-ipc-messages
+Description: @WEBOS_PROJECT_SUMMARY@
+Version: @WEBOS_COMPONENT_VERSION@
+Cflags: -I${includedir}

View File

@ -0,0 +1,36 @@
pkgname=luna-sysmgr-ipc
pkgver=2.0.0_git20121029
pkgrel=0
_commit=b51360839d2241717eae5fe8f9d360f68da267db
pkgdesc="Provides headers for the IPC library used by luna-sysmgr"
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends="glib"
makedepends="cmake-modules-webos glib-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-sysmgr-ipc/archive/$_commit.tar.gz
remove-np-pthread.patch"
subpackages="$pkgname-dev"
options="!check"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
mkdir -p "$srcdir"/build
}
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="5c72eb88cfc27883ad4d1fea764b244c147c3f192d42bdc9df00833b041181f3fae5a45e6bb33fcfff8547b3e5934dcc3523749730db8a378c2e567d520a5ac4 luna-sysmgr-ipc-b51360839d2241717eae5fe8f9d360f68da267db.tar.gz
0ef0e57540d07abd7de97fb6f66ce202d753fa2285f93b80e29bc0d8d9774b9b6b66d11d7ff7cd685eaca2f3c4fcadbd9eb9761725b00cfc0975838a6a69f5a8 remove-np-pthread.patch"

View File

@ -0,0 +1,62 @@
diff --git a/src/ipc/PIpcBuffer.cpp b/src/ipc/PIpcBuffer.cpp
index 6b8bfc6..4a9a96e 100644
--- a/src/ipc/PIpcBuffer.cpp
+++ b/src/ipc/PIpcBuffer.cpp
@@ -94,7 +94,7 @@ PIpcBuffer* PIpcBuffer::create(int size)
pthread_mutexattr_t attr;
pthread_mutexattr_init (&attr);
pthread_mutexattr_setpshared(&attr, PTHREAD_PROCESS_SHARED);
- pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_NP);
+ pthread_mutexattr_setrobust(&attr, PTHREAD_MUTEX_ROBUST);
// initialize the buffer lock mutex
pthread_mutex_t* mutex = (pthread_mutex_t*) &h->mutex;
@@ -320,7 +320,7 @@ bool PIpcBuffer::trylock(pthread_mutex_t* mutex, int& lockCount)
//printf("PIpcBuffer::trylock: %d, %p, %d\n", m_key, mutex, ret);
if (ret != 0) {
if (ret == EOWNERDEAD)
- pthread_mutex_consistent_np(mutex);
+ pthread_mutex_consistent(mutex);
else if (ret == EBUSY) {
return false;
}
@@ -347,7 +347,7 @@ bool PIpcBuffer::lock(pthread_mutex_t* mutex, int& lockCount)
//printf("PIpcBuffer::lock: %d, %p, %d\n", m_key, mutex, ret);
if (ret != 0) {
if (ret == EOWNERDEAD)
- pthread_mutex_consistent_np(mutex);
+ pthread_mutex_consistent(mutex);
else {
g_critical("%s: %s", __PRETTY_FUNCTION__, strerror(ret));
return false;
diff --git a/src/ipc/PIpcMutex.cpp b/src/ipc/PIpcMutex.cpp
index a80efed..c1c1c54 100644
--- a/src/ipc/PIpcMutex.cpp
+++ b/src/ipc/PIpcMutex.cpp
@@ -72,7 +72,7 @@ PIpcMutex* PIpcMutex::create()
pthread_mutexattr_t attr;
pthread_mutexattr_init (&attr);
pthread_mutexattr_setpshared(&attr, PTHREAD_PROCESS_SHARED);
- pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_NP);
+ pthread_mutexattr_setrobust(&attr, PTHREAD_MUTEX_ROBUST);
pthread_mutex_t* mutex = (pthread_mutex_t*) &m->m_data->mutex;
pthread_mutex_init(mutex, &attr);
@@ -124,7 +124,7 @@ bool PIpcMutex::lock()
int ret = pthread_mutex_lock(mutex);
if (ret != 0) {
if (ret == EOWNERDEAD)
- pthread_mutex_consistent_np(mutex);
+ pthread_mutex_consistent(mutex);
else {
g_critical("%s: %s", __PRETTY_FUNCTION__, strerror(ret));
return false;
@@ -146,7 +146,7 @@ bool PIpcMutex::tryLock()
int ret = pthread_mutex_trylock(mutex);
if (ret != 0) {
if (ret == EOWNERDEAD)
- pthread_mutex_consistent_np(mutex);
+ pthread_mutex_consistent(mutex);
else if (ret == EBUSY)
return false;
else {

View File

@ -0,0 +1,73 @@
pkgname=luna-sysmgr
pkgver=0.912_git20171117
pkgrel=0
_commit=514a3d4f4d104cb9d306772f3f5e804c018be738
pkgdesc="webOS System Manager"
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends="luna-sysmgr-common luna-sysmgr-ipc qt5-qtsensors qt5-qtbase serviceinstaller librolegen nyx-lib json-c libressl glib luna-service2 uriparser pmloglib libpbnjson luna-prefs"
makedepends="cmake-modules-webos pmloglib-dev qt5-qtbase-dev luna-sysmgr-ipc-messages-dev luna-sysmgr-common-dev luna-sysmgr-ipc-dev librolegen-dev qt5-qtsensors-dev json-c-dev libressl-dev glib-dev libpbnjson-dev serviceinstaller luna-service2-dev nyx-lib-dev luna-prefs-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-sysmgr/archive/$_commit.tar.gz
compile.patch"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
mkdir -p "$srcdir"/build
}
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
sysmgrsrc="$srcdir"/$pkgname-514a3d4f4d104cb9d306772f3f5e804c018be738
#sysmgr, unlike every other component so far, doesn't use cmake to install it's static files.
mkdir -p "$pkgdir"/usr/palm/sounds
cp -f "$sysmgrsrc"/sounds/* "$pkgdir"/usr/palm/sounds
mkdir -p "$pkgdir"/usr/share/ls2/roles/prv/
cp "$sysmgrsrc"/service/com.palm.luna.json.prv "$pkgdir"/usr/share/ls2/roles/prv/com.palm.luna.json
mkdir -p "$pkgdir"/usr/share/ls2/roles/pub/
cp "$sysmgrsrc"/service/com.palm.luna.json.pub "$pkgdir"/usr/share/ls2/roles/pub/com.palm.luna.json
mkdir -p "$pkgdir"/usr/share/ls2/system-services/
cp "$sysmgrsrc"/service/com.palm.luna.service.prv "$pkgdir"/usr/share/ls2/system-services/com.palm.luna.service
mkdir -p "$pkgdir"/usr/share/ls2/services/
cp "$sysmgrsrc"/service/com.palm.luna.service.pub "$pkgdir"/usr/share/ls2/services/com.palm.luna.service
mkdir -p "$pkgdir"/etc/palm/pubsub_handlers
cp -f "$sysmgrsrc"/service/com.palm.appinstaller.pubsub "$pkgdir"/etc/palm/pubsub_handlers/com.palm.appinstaller
cp -f "$sysmgrsrc"/conf/default-exhibition-apps.json "$pkgdir"/etc/palm/default-exhibition-apps.json
cp -f "$sysmgrsrc"/conf/luna.conf "$pkgdir"/etc/palm/luna.conf
cp -f "$sysmgrsrc"/conf/localization.schema "$pkgdir"/etc/palm/localization.schema
cp -f "$sysmgrsrc"/conf/launcher-conf.orderly "$pkgdir"/etc/palm/localization.schema
cp -f "$sysmgrsrc"/conf/launcher-conf.schema "$pkgdir"/etc/palm/localization.schema
mkdir -p "$pkgdir"/usr/lib/luna/customization
cp -f "$sysmgrsrc"/conf/default-exhibition-apps.json "$pkgdir"/usr/lib/luna/customization/default-exhibition-apps.json
mkdir -p "$pkgdir"/etc/palm/schemas
cp -rf "$sysmgrsrc"/conf/*.schema "$pkgdir"/etc/palm/schemas
mkdir -p "$pkgdir"/usr/palm/sysmgr/images
cp -fr "$sysmgrsrc"/images/* "$pkgdir"/usr/palm/sysmgr/images
mkdir -p "$pkgdir"/usr/palm/sysmgr/low-memory
cp -frad "$sysmgrsrc"/low-memory/* "$pkgdir"/usr/palm/sysmgr/low-memory
}
sha512sums="9bdde8c9ed05986816b0afc76565ded065aec279ffbdeeac70827f01988ab6034676496dbd5955ee4cfc33e889758ee109ab143e43c542cfb5b95dbaa9fbd722 luna-sysmgr-514a3d4f4d104cb9d306772f3f5e804c018be738.tar.gz
d8a12b66e450262f7dd41b9d8d90ad3d6acfc345ea00599d7e16054d93a47d151a83871923ac586dade1513cef571b96dc69e404ab9a26ad8befb54453f608d8 compile.patch"

View File

@ -0,0 +1,27 @@
diff --git a/Src/Main.cpp b/Src/Main.cpp
index 3ac9027..bf2f895 100644
--- a/Src/Main.cpp
+++ b/Src/Main.cpp
@@ -75,14 +75,6 @@
*/
-//#define PRINT_MALLOC_STATS
-#ifdef __cplusplus
-extern "C" {
-#endif
-extern void malloc_stats(void);
-#ifdef __cplusplus
-};
-#endif
static gchar* s_uiStr = NULL;
static gchar* s_appToLaunchStr = NULL;
@@ -336,7 +328,6 @@ static gboolean mallocStatsCb(gpointer data)
fflush(stderr);
fprintf(stderr, "\nMALLOC STATS FOR PROCESS: \"%s\" (PID: %d) AT [%ld.%ld] %s", process_name, my_pid, ts.tv_sec, ts.tv_nsec, ctime_r(&cur_time, buf));
fflush(stderr);
- malloc_stats();
fprintf(stderr, "\n\n");
fflush(stderr);
fsync(STDERR_FILENO);

View File

@ -0,0 +1,34 @@
pkgname=luna-sysservice
pkgver=4.0.0_git20160926
pkgrel=0
_commit=3e52044fc17511842e86fd05a0588fd015e28b3b
pkgdesc="Provides image manipulation, preference, timezone and ringtone services for webOS components."
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends="qt5-qtbase glib libxml2 sqlite json-c libpbnjson luna-service2 uriparser nyx-lib"
makedepends="cmake-modules-webos pmloglib-dev qt5-qtbase-dev libxml2-dev glib-dev sqlite-dev json-c-dev libpbnjson-dev luna-service2-dev uriparser-dev nyx-lib-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-sysservice/archive/$_commit.tar.gz
compile.patch"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
mkdir -p "$srcdir"/build
}
build() {
cd "$srcdir"/build
cmake "$srcdir"/$pkgname-3e52044fc17511842e86fd05a0588fd015e28b3b \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DWEBOS_INSTALL_ROOT=/
make
}
package() {
cd "$srcdir"/build
make DESTDIR="$pkgdir" install
}
sha512sums="a1532f13df7d80abe22f89b8e582b4473165d3d02c8c6c6c043d190a278ffee64b599eb9d26250ba77b4f5153124b8f16727127c8d368209fa2d732c50823f58 luna-sysservice-3e52044fc17511842e86fd05a0588fd015e28b3b.tar.gz
b822c26c542f7255d4dbc5a183aca18d3601c36e9218a579ea088eaf7dbe611fb349d08f43a21871231ada7db2825aaef9da21c7d17120c18e8276d73d9fdcbc compile.patch"

View File

@ -0,0 +1,25 @@
diff --git a/Src/BackupManager.cpp b/Src/BackupManager.cpp
index 2b34936..f90239f 100644
--- a/Src/BackupManager.cpp
+++ b/Src/BackupManager.cpp
@@ -19,6 +19,7 @@
#include <string>
//for basename()...
+#include <libgen.h>
#include <string.h>
#include <map>
#include "BackupManager.h"
diff --git a/Src/BroadcastTimeHandler.cpp b/Src/BroadcastTimeHandler.cpp
index a65f96a..4a75856 100644
--- a/Src/BroadcastTimeHandler.cpp
+++ b/Src/BroadcastTimeHandler.cpp
@@ -163,7 +163,7 @@ namespace {
localTm.tm_isdst = -1; // mktime should lookup TZ rules
- return timelocal(&localTm);
+ return mktime(&localTm);
}
time_t toTimeT(const pbnjson::JValue &value)

View File

@ -0,0 +1,30 @@
pkgname=luneos-components
pkgver=0.0.1_git20171118
pkgrel=0
_commit=305b2c8e2c4c5870fc737a0d2809799d5c58a2e1
pkgdesc="LuneOS styled QtQuick Controls"
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends="qt5-qtbase luna-service2 qt5-qtgraphicaleffects qt5-qtdeclarative qt5-qtquickcontrols2 glib pmloglib"
makedepends="cmake-modules-webos qt5-qtbase-dev qt5-qtdeclarative-dev glib-dev qt5-qtquickcontrols2-dev luna-service2-dev pmloglib-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luneos-components/archive/$_commit.tar.gz"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
mkdir -p "$srcdir"/build
}
build() {
cd "$srcdir"/build
export QMAKE_CXXFLAGS=" -isystem /usr/include/glib-2.0 -isystem /usr/lib/glib-2.0/include "
qmake-qt5 "$builddir"
make
}
package() {
cd "$srcdir"/build
make install INSTALL_ROOT="$pkgdir"
}
sha512sums="a44031e07efabe46ec33beb4630ee264b8f5a136de060a56499b72403d7ff97648f84ea15ae96602d5e35dacabf33f609b0b72a84a896c66b001496dda1a5354 luneos-components-305b2c8e2c4c5870fc737a0d2809799d5c58a2e1.tar.gz"

View File

@ -0,0 +1,37 @@
pkgname=nyx-lib
pkgver=5.8.0_git20160914
pkgrel=0
_commit=2892791512ca37b655695f6ef811b5a4602ffb4b
pkgdesc="Open webOS Platform Portability Layer"
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends="glib"
depends_dev="glib-dev"
makedepends="cmake-modules-webos glib-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/nyx-lib/archive/$_commit.tar.gz
addstdint.patch"
subpackages="$pkgname-dev"
options="!check"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
mkdir -p "$srcdir"/build
}
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="4e2978067d19872d44c7c6fe7b10e3c32dcf575904aa4dd6bab487145cd30ee5f321ff8bc6ea68259ef4c0d4f5fcda885db5d2c48de6c050da83c1a6f50c0421 nyx-lib-2892791512ca37b655695f6ef811b5a4602ffb4b.tar.gz
b5f3a777ffd7f8d305217a04f6a3b55302ff66601c647e054a84bfbaec53ca43182e69a03cc53d88ffe4d0567ff3422561b85d3fdcab4e7b2454941205c42e17 addstdint.patch"

View File

@ -0,0 +1,12 @@
diff --git a/include/public/nyx/module/nyx_log.h b/include/public/nyx/module/nyx_log.h
index f8ed475..f87cd28 100644
--- a/include/public/nyx/module/nyx_log.h
+++ b/include/public/nyx/module/nyx_log.h
@@ -25,6 +25,7 @@
#define _NYX_LOG_H_
#include <stdarg.h>
+#include <stdint.h>
#include <nyx/common/nyx_macros.h>
/*

View File

@ -0,0 +1,12 @@
diff --git a/include/public/nyx/module/nyx_log.h b/include/public/nyx/module/nyx_log.h
index f8ed475..f87cd28 100644
--- a/include/public/nyx/module/nyx_log.h
+++ b/include/public/nyx/module/nyx_log.h
@@ -25,6 +25,7 @@
#define _NYX_LOG_H_
#include <stdarg.h>
+#include <stdint.h>
#include <nyx/common/nyx_macros.h>
/*

View File

@ -0,0 +1,31 @@
pkgname=pmloglib
pkgver=3.2.0
pkgrel=2
pkgdesc="The Open webOS logging library"
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends=""
makedepends="cmake-modules-webos glib-dev libpbnjson-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/openwebos/pmloglib/archive/versions/3.2.0.tar.gz"
subpackages="$pkgname-dev"
options="!check"
prepare() {
mkdir -p "$srcdir"/build
}
build() {
cd "$srcdir"/build
cmake "$srcdir"/$pkgname-versions-$pkgver \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DWEBOS_INSTALL_ROOT=/
make
}
package() {
cd "$srcdir"/build
make DESTDIR="$pkgdir" install
}
sha512sums="ca8f1ffcfa3a366e677e7e80d6e8f8c8bbeefbf5cccb05b6e8cb2f7e307aeccbcda257ade0d55d4ce6ba6457d7681267d04c53e2f19f5647f8dcb1b56f100678 pmloglib-.tar.gz"

View File

@ -0,0 +1,13 @@
diff --git a/src/compositor/extensions/qwlqtkey_p.h b/src/compositor/extensions/qwlqtkey_p.h
index fae02b0..d965eac 100644
--- a/src/compositor/extensions/qwlqtkey_p.h
+++ b/src/compositor/extensions/qwlqtkey_p.h
@@ -64,7 +64,7 @@ class QKeyEvent;
namespace QtWayland {
-class QtKeyExtensionGlobal : public QWaylandCompositorExtensionTemplate<QtKeyExtensionGlobal>, public QtWaylandServer::qt_key_extension
+class Q_WAYLAND_COMPOSITOR_EXPORT QtKeyExtensionGlobal : public QWaylandCompositorExtensionTemplate<QtKeyExtensionGlobal>, public QtWaylandServer::qt_key_extension
{
Q_OBJECT
public:

View File

@ -0,0 +1,32 @@
pkgname=qt5-qtsensors
pkgver=5.9.1
pkgrel=0
arch="all"
url='http://qt-project.org/'
license="GPL3 LGPL3 FDL custom"
pkgdesc='Provides APIs for sensors'
depends="qt5-qtbase"
makedepends="qt5-qtbase-dev"
source="http://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${pkgname/qt5-/}-opensource-src-$pkgver.tar.xz"
subpackages="$pkgname-dev $pkgname-doc"
builddir="$srcdir/${pkgname/qt5-/}-opensource-src-$pkgver"
build() {
cd "$builddir"
qmake-qt5
make
}
package() {
cd "$builddir"
make INSTALL_ROOT="$pkgdir" install
# Drop QMAKE_PRL_BUILD_DIR because reference the build dir
find "$pkgdir/usr/lib" -type f -name '*.prl' \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
}
sha512sums="a6f0e10aad5f0242dfad470c0aa334dcff817587a3f24c6930de8197281eb72b94f96d74aea5fc5446a262fbfc41cad68ea1b6f21df5fade5da278f8493732a5 qtsensors-opensource-src-5.9.1.tar.xz"

View File

@ -0,0 +1,32 @@
pkgname=serviceinstaller
pkgver=2.0.0_git20130816
pkgrel=0
_commit=a579f1ee97a839dd501b4b8abc206ebb48f634cb
pkgdesc="An extensible object oriented component used to add service components to webOS"
arch="all"
url="http://webos-ports.org"
license="GPL-3.0+"
depends="luna-service2 glib libpbnjson librolegen pmloglib"
makedepends="cmake-modules-webos libpbnjson-dev glib-dev pmloglib-dev librolegen-dev luna-service2-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/openwebos/serviceinstaller/archive/$_commit.tar.gz"
builddir="$srcdir/$pkgname-$_commit"
prepare() {
default_prepare
mkdir -p "$srcdir"/build
}
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="230c9f38bbb4d8a83d4b29693920689cd0ceb659204ffc91b664bdade1abdf0711fd21cae28262caa52e1cd0de1de8245743d94cbc58bae054f6225d788fd2db serviceinstaller-a579f1ee97a839dd501b4b8abc206ebb48f634cb.tar.gz"

View File

@ -0,0 +1,18 @@
pkgname=postmarketos-ui-luna
pkgver=1
pkgrel=0
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"
makedepends=""
subpackages=""
source="start_luna.sh"
options="!check"
package() {
install -D -m755 "$srcdir"/start_luna.sh \
"$pkgdir"/usr/bin/start_luna.sh
}
sha512sums="f9940d2ce21a3f0de682ee1046681b25ceeaccbcd72d92b1a791ea70074c1bf9f63d43ca36be069551f73ff8bf75585053f1fbe9a0669c481ebed26b5e9098a1 start_luna.sh"

View File

@ -0,0 +1,27 @@
#!/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
export LD_PRELOAD=/usr/lib/libwayland-server.so.0
export QT_QPA_PLATFORM=eglfs
export QT_QUICK_BACKEND=software
/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

View File

@ -0,0 +1,14 @@
diff --git a/src/compositor/extensions/qwlqtkey_p.h b/src/compositor/extensions/qwlqtkey_p.h
index fae02b0..d965eac 100644
--- a/src/compositor/extensions/qwlqtkey_p.h
+++ b/src/compositor/extensions/qwlqtkey_p.h
@@ -64,7 +64,7 @@ class QKeyEvent;
namespace QtWayland {
-class QtKeyExtensionGlobal : public QWaylandCompositorExtensionTemplate<QtKeyExtensionGlobal>, public QtWaylandServer::qt_key_extension
+class Q_WAYLAND_COMPOSITOR_EXPORT QtKeyExtensionGlobal : public QWaylandCompositorExtensionTemplate<QtKeyExtensionGlobal>, public QtWaylandServer::qt_key_extension
{
Q_OBJECT
public:

View File

@ -2,15 +2,16 @@
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=qt5-qtwayland
pkgver=5.9.2
pkgrel=0
pkgrel=1
arch="all"
url='http://qt-project.org/'
license="GPL-3.0 GPL-2.0 LGPL-3.0"
pkgdesc='Provides APIs for Wayland'
depends="qt5-qtdeclarative libxcomposite wayland"
depends="qt5-qtdeclarative libxcomposite wayland qt5-qtquickcontrols2"
depends_dev="qt5-qtbase-dev"
makedepends="$depends_dev libxkbcommon-dev"
source="http://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${pkgname/qt5-/}-opensource-src-$pkgver.tar.xz"
makedepends="$depends_dev libxkbcommon-dev qt5-qtquickcontrols2-dev"
source="http://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${pkgname/qt5-/}-opensource-src-$pkgver.tar.xz
0003-QtKeyExtensionGlobal-fix-export.patch"
subpackages="$pkgname-dev $pkgname-doc"
builddir="$srcdir/${pkgname/qt5-/}-opensource-src-$pkgver"
options="!check"
@ -31,4 +32,5 @@ package() {
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/$pkgname
}
sha512sums="28b6f77be5289cb9eba0e3e6b220d2c99d2ab4dbae8e02caecd7651b5ae33c09f117545664b01649ca52b27025cc15853806ece8dc10713c3d90832416c7def6 qtwayland-opensource-src-5.9.2.tar.xz"
sha512sums="28b6f77be5289cb9eba0e3e6b220d2c99d2ab4dbae8e02caecd7651b5ae33c09f117545664b01649ca52b27025cc15853806ece8dc10713c3d90832416c7def6 qtwayland-opensource-src-5.9.2.tar.xz
2e081b0bd66d4f3865a96a53df45fcd04f61a2a951be89ed46405b35a334b4900be1cd834b583c6dca4bfb75ed816aaab8a2d536962922505c30e48fdc3b394d 0003-QtKeyExtensionGlobal-fix-export.patch"