Git Product home page Git Product logo

libliri's Introduction

Liri

GitHub issues Bountysource

This repository contains:

  • Manifest files for developers.
  • General issue tracker.
  • Backers list.
  • Wiki.

Contributor Guide

Please read the detailed contributor guide.

General issue tracker

Click on the Issues tab and submit issues.

Wiki

Click on the Wiki tab, read and/or write new content.

Alternatively you can clone the Wiki repository, work on your local system and push the changes back.

Clone the repository with:

git clone [email protected]:lirios/lirios.wiki.git

libliri's People

Contributors

aldrog avatar ibelieve avatar plfiorini avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

libliri's Issues

LiriLogind: Choose the right session for the current user

If XDG_SESSION_ID is defined, we get the session object path for that specific session, otherwise we get it based on the current PID.

However, if the application is spawned by systemd --user the XDG_SESSION_ID environment variable is not defined for there is no login session, and the current session from the PID cannot be found.

When XDG_SESSION_ID is not defined we have to iterate on the sessions of the current user.
Filter out sessions with the wrong type (anything but tty, wayland and x11) or the wrong state (anything but active, online), choose the active one or if all sessions are online then take the oldest one.

This means that when more there is more than one session for the same user, sometimes we might take the wrong one.

With systemd --user we cannot support multiple logins of the same user at the same time reliably.

LiriLocalDevice

Add a library to reboot, suspend, hibernate and power off a local device.
The API should also tell if the currently logged in user can perform such actions.
Should have multiple backends: systemd and upower.

LiriUDev

Evaluate whether LiriUDev should be moved here from liri-wayland

LiriXdg

Classes:

  • Liri::DesktopFile
  • Liri::DesktopFileAction
  • Liri::DesktopMenu

LiriLogind

Move LiriLogind from liri-wayland here

libliri tries to find files that are not installed yet, because they belong to libliri

HI

It seems libliri tries to find <LiriNotifications/Notification> before it is installed, and errors out
If I install the failed built, and try again, it works, because <LiriNotifications/Notification> is installed

Thanks

This is what I am building with (I intentionally split the configure part and the compile part, so that dependency resolution is in a separate log)...

qbs setup-toolchains --type gcc /usr/bin/g++ gcc
qbs setup-qt /opt/bin/qmake qt5
qbs config profiles.qt5.baseProfile gcc
qbs resolve profile:qt5
qbs build -j $BUILD_CPU_COUNT --no-install profile:qt5 qbs.installRoot:$INSTALLDIR qbs.installPrefix:/ qbs.buildVariant:release

This is the output I get

libliri: creating module header LiriModels
libliri: moc qobjectlistmodel.h
libliri: moc application_adaptor.h
libliri: moc dbusservice.h
libliri: ERROR: /usr/bin/g++ -O2 -Wall -Wextra -m64 -pipe -fexceptions -fvisibility=default -fPIC -DNDEBUG '-DLIBLIRI_VERSION="0.9.0"' -DQT_CORE_LIB -DQT_NO_DEBUG -DQT_DBUS_LIB -DQT_GUI_LIB -I/srcbuild/libliri/default/include -I/srcbuild/libliri/default/include/LiriNotifications -I/srcbuild/libliri/default/include/LiriNotifications/0.9.0 -I/srcbuild/libliri/default/include/LiriNotifications/0.9.0/LiriNotifications -I/srcbuild/libliri/default/include/LiriNotifications/0.9.0/LiriNotifications/private -I/opt/include -I/opt/include/QtCore -I/opt/mkspecs/linux-g++ -I/srcbuild/libliri/default/liri-notify.qt5.bbf93543/qt.headers -I/opt/include/QtCore/5.9.2 -I/opt/include/QtCore/5.9.2/QtCore -I/opt/include/QtDBus -I/opt/include/QtGui -std=c++0x -o /srcbuild/libliri/default/liri-notify.qt5.bbf93543/.obj/3a52ce780950d4d9/main.cpp.o -c /srcbuild/libliri/src/notify/main.cpp
libliri: 
libliri: ERROR: /srcbuild/libliri/src/notify/main.cpp:19:42: fatal error: LiriNotifications/Notification: No such file or directory
libliri:  #include <LiriNotifications/Notification>
libliri:                                           ^
libliri: compilation terminated.
libliri: ERROR: Process failed with exit code 1.
libliri: The following products could not be built for configuration default:
libliri:        liri-notify
libliri:        LiriCore-qbs
libliri:        LiriCore-pkgconfig
libliri:        LiriCore-cmake
libliri:        LiriCore
libliri:        LiriDBusService-qbs
libliri:        LiriDBusService-pkgconfig
libliri:        LiriDBusService-cmake
libliri:        LiriDBusService
libliri:        LiriModels-qbs
libliri:        LiriModels-pkgconfig
libliri:        LiriModels-cmake
libliri:        LiriModels
libliri:        LiriNotifications-qbs
libliri:        LiriNotifications-pkgconfig
libliri:        LiriNotifications-cmake
libliri:        LiriNotifications
libliri:        liricoreplugin
libliri:        lirinotificationsplugin
libliri:        tst_liri_core

QBS can't find LiriUtils

I'm trying to build libliri, but there is no any success. I get an error:
/home/alex/liri/libliri/src/core/core.qbs:2:8 import LiriUtils not found
All Liri's files are in /home/alex/liri/install_root. I launch building process with this command:
qbs -d build qbs.installRoot:/home/alex/liri qbs.installPrefix:/install_root profile:qt5
So, there is LiriUtils folder in /home/alex/liri/install_root/share/qbs/imports/.
What am I doing wrong?

Something cmake related is preventing lirios-shell from building

It seems to be struggling trying to find Qt6Core5Compat although I do have it built

I get

-- The CXX compiler identification is GNU 12.2.0
-- The C compiler identification is GNU 12.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Warning at /opt/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:385 (message):
  KDE_INSTALL_BINDIR, KDE_INSTALL_LIBDIR and KDE_INSTALL_INCLUDEDIR should
  either all be absolute paths or all be relative paths.
Call Stack (most recent call first):
  /opt/share/ECM/kde-modules/KDEInstallDirs6.cmake:190 (include)
  /opt/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  CMakeLists.txt:20 (include)


-- Installing in the same prefix as Qt, adopting their path scheme.
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - found
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Success
-- Performing Test HAVE_DATE_TIME
-- Performing Test HAVE_DATE_TIME - Success
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found WrapAtomic: TRUE  
-- Looking for sys/prctl.h
-- Looking for sys/prctl.h - found
-- Found OpenGL: /opt/lib/x86_64-linux-gnu/libOpenGL.so   
-- Found WrapOpenGL: TRUE  
-- Found XKB: /opt/lib/x86_64-linux-gnu/libxkbcommon.so (found suitable version "1.6.0", minimum required is "0.5.0") 
-- Found WrapVulkanHeaders: /opt/include  
-- Found Wayland_Client: /opt/lib/x86_64-linux-gnu/libwayland-client.so (found version "1.22.90") 
-- Found Wayland_Server: /opt/lib/x86_64-linux-gnu/libwayland-server.so (found version "1.22.90") 
-- Found Wayland_Cursor: /opt/lib/x86_64-linux-gnu/libwayland-cursor.so (found version "1.22.90") 
-- Found Wayland_Egl: /opt/lib/x86_64-linux-gnu/libwayland-egl.so (found version "18.1.0") 
-- Found Wayland: /opt/lib/x86_64-linux-gnu/libwayland-client.so;/opt/lib/x86_64-linux-gnu/libwayland-server.so;/opt/lib/x86_64-linux-gnu/libwayland-cursor.so;/opt/lib/x86_64-linux-gnu/libwayland-egl.so (found suitable version "1.22.90", minimum required is "1.15")  
-- Found WaylandScanner: /opt/bin/wayland-scanner  
-- Checking for module 'libsystemd'
--   Found libsystemd, version 252
-- The following features have been enabled:

 * Shell::Systemd, Enable systemd support

-- The following features have been disabled:

 * Liri::DevelopmentBuild, Build Liri Shell for development

-- Performing Test PAM_MESSAGE_CONST
-- Performing Test PAM_MESSAGE_CONST - Success
-- Found PAM: /usr/lib/x86_64-linux-gnu/libpam.so;/usr/lib/x86_64-linux-gnu/libdl.a
-- Found Wayland: /opt/lib/x86_64-linux-gnu/libwayland-client.so;/opt/lib/x86_64-linux-gnu/libwayland-server.so;/opt/lib/x86_64-linux-gnu/libwayland-cursor.so;/opt/lib/x86_64-linux-gnu/libwayland-egl.so (found suitable version "1.22.90", minimum required is "1.15") found components: Server 
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
-- Found XkbCommon: /opt/lib/x86_64-linux-gnu/libxkbcommon.so (found version "1.6.0") 
-- Found Wayland: /opt/lib/x86_64-linux-gnu/libwayland-client.so;/opt/lib/x86_64-linux-gnu/libwayland-server.so;/opt/lib/x86_64-linux-gnu/libwayland-cursor.so;/opt/lib/x86_64-linux-gnu/libwayland-egl.so (found version "1.22.90")  
-- Found Wayland: /opt/lib/x86_64-linux-gnu/libwayland-client.so;/opt/lib/x86_64-linux-gnu/libwayland-server.so;/opt/lib/x86_64-linux-gnu/libwayland-cursor.so;/opt/lib/x86_64-linux-gnu/libwayland-egl.so (found suitable version "1.22.90", minimum required is "1.15") found components: Server 
-- Configuring done (1.2s)
CMake Error at /opt/lib/x86_64-linux-gnu/cmake/Liri1Xdg/Liri1XdgTargets.cmake:55 (set_target_properties):
  The link interface of target "Liri::Xdg" contains:

    Qt6::Core5Compat

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  /opt/lib/x86_64-linux-gnu/cmake/Liri1Xdg/Liri1XdgConfig.cmake:35 (include)
  src/compositor/CMakeLists.txt:8 (find_package)


CMake Error at /opt/lib/x86_64-linux-gnu/cmake/Liri1Xdg/Liri1XdgTargets.cmake:55 (set_target_properties):
  The link interface of target "Liri::Xdg" contains:

    Qt6::Core5Compat

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  /opt/lib/x86_64-linux-gnu/cmake/Liri1Xdg/Liri1XdgConfig.cmake:35 (include)
  src/imports/compositor/CMakeLists.txt:11 (find_package)


CMake Error at /opt/lib/x86_64-linux-gnu/cmake/Liri1Xdg/Liri1XdgTargets.cmake:55 (set_target_properties):
  The link interface of target "Liri::Xdg" contains:

    Qt6::Core5Compat

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  /opt/lib/x86_64-linux-gnu/cmake/Liri1Xdg/Liri1XdgConfig.cmake:35 (include)
  src/imports/shell-private/CMakeLists.txt:7 (find_package)


CMake Error at /opt/lib/x86_64-linux-gnu/cmake/Liri1Xdg/Liri1XdgTargets.cmake:55 (set_target_properties):
  The link interface of target "Liri::Xdg" contains:

    Qt6::Core5Compat

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  /opt/lib/x86_64-linux-gnu/cmake/Liri1Xdg/Liri1XdgConfig.cmake:35 (include)
  src/imports/taskmanager/CMakeLists.txt:8 (find_package)


-- Generating done (0.1s)
CMake Warning:
  Manually-specified variables were not used by the project:

    INSTALL_LIBDIR
    INSTALL_QMLDIR


CMake Generate step failed.  Build files cannot be regenerated correctly.

Playing around with Liri1XdgTargets.cmake gets it slightly further, but it's an auto-generated file...
This is CMake 3.27

LiriLocalDevice: fix errors

Logging errors I discovered the following errors:

liri.localdevice.systemd: Failed to get property "Chassis" for "org.freedesktop.hostname1": Unexpected reply signature: got "v", expected "s"
liri.localdevice.systemd: Failed to get property "Hostname" for "org.freedesktop.hostname1": Unexpected reply signature: got "v", expected "s"
liri.localdevice.systemd: Failed to get property "IconName" for "org.freedesktop.hostname1": Unexpected reply signature: got "v", expected "s"
liri.localdevice.systemd: Failed to get property "OperatingSystemPrettyName" for "org.freedesktop.hostname1": Unexpected reply signature: got "v", expected "s"

Once fixed those I get this one:

liri.localdevice.systemd: Failed to get property "Virtualization" for "org.freedestkop.systemd1.Manager": Unknown property or interface.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.