diff options
author | Fabien Proriol <fabien.proriol@kazoe.org> | 2025-05-25 18:06:26 +0200 |
---|---|---|
committer | Fabien Proriol <fabien.proriol@viavisolutions.com> | 2025-05-26 16:36:52 +0200 |
commit | eb75299b1372a27d6dc3a9bcf7ab85b37744858c (patch) | |
tree | 644a87344e551719255e55b9d6bc2f25c29b9d65 | |
parent | 09783505e865bab1626fa70b15ea64c6e782fd4a (diff) |
-rw-r--r-- | classes/kazoe-project-git.bbclass | 7 | ||||
-rw-r--r-- | classes/kazoe-project.bbclass | 2 | ||||
-rw-r--r-- | conf/distro/kazoe.conf | 76 | ||||
-rw-r--r-- | conf/layer.conf | 2 | ||||
-rw-r--r-- | conf/templates/default/local.conf.sample | 2 | ||||
-rw-r--r-- | recipes-core/images/kazoe-image.bb | 19 | ||||
-rw-r--r-- | recipes-core/kzsettings/kzsettings.inc | 19 | ||||
-rw-r--r-- | recipes-core/kzsettings/kzsettings_git.bb | 3 | ||||
-rw-r--r-- | recipes-core/kzxdg/kzxdg.inc | 12 | ||||
-rw-r--r-- | recipes-core/kzxdg/kzxdg_git.bb | 3 | ||||
-rw-r--r-- | recipes-core/packagegroups/packagegroups-kazoe.bb | 5 | ||||
-rw-r--r-- | recipes-desktop/kzdesktop/kzdesktop.inc | 28 | ||||
-rw-r--r-- | recipes-desktop/kzdesktop/kzdesktop_git.bb | 3 |
13 files changed, 143 insertions, 38 deletions
diff --git a/classes/kazoe-project-git.bbclass b/classes/kazoe-project-git.bbclass new file mode 100644 index 0000000..8283428 --- /dev/null +++ b/classes/kazoe-project-git.bbclass @@ -0,0 +1,7 @@ +inherit kazoe-project + +MAIN_BRANCH ?= "master" +SRC_URI = "git://kazoe.org/cgit/kazoe/${PROJECT_NAME}.git;protocol=https;branch=${MAIN_BRANCH}" +S = "${WORKDIR}/git" +SRCREV = "${AUTOREV}" +DEFAULT_PREFERENCE = "-1" diff --git a/classes/kazoe-project.bbclass b/classes/kazoe-project.bbclass new file mode 100644 index 0000000..3d8c5a5 --- /dev/null +++ b/classes/kazoe-project.bbclass @@ -0,0 +1,2 @@ +# Project kzfoo is KzFoo on the git server +PROJECT_NAME = "${@ '${PN}'[0].upper() + '${PN}'[1] + '${PN}'[2].upper() + '${PN}'[3:] }" diff --git a/conf/distro/kazoe.conf b/conf/distro/kazoe.conf index dfecc4c..cea1d09 100644 --- a/conf/distro/kazoe.conf +++ b/conf/distro/kazoe.conf @@ -1,33 +1,36 @@ -DISTRO = "kazoe" -DISTRO_NAME = "kazoe" -DISTRO_CODENAME = "KaZoe" -MAINTAINER = "Fabien Proriol <fabien.proriol@kazoe.org>" - DISTRO_VERSION_RELEASE = "0" -DISTRO_VERSION_FLAG = "" -DISTRO_VERSION_HOTFIX = "" - -SDK_VERSION_MINOR = "0" -SDK_VERSION_RELEASE = "1" -SDK_REVISION = "10" -SDK_DESCRIPTION = "SDK for KaZoe" -SDK_FORMAT = "deb" - - -DISTRO_FEATURES_COMMON = " pam polkit xdg waylan " +SDK_VERSION_RELEASE = "0" DISTRO_VERSION_MAJOR_scarthgap = "5" +DISTRO_VERSION_MAJOR_styhead = "5" +DISTRO_VERSION_MAJOR_walnascar = "5" DISTRO_VERSION_MINOR_scarthgap = "0" - +DISTRO_VERSION_MINOR_styhead = "1" +DISTRO_VERSION_MINOR_walnascar = "2" DISTRO_VERSION_MAJOR = "${DISTRO_VERSION_MAJOR_${LAYERSERIES_CORENAMES}}" DISTRO_VERSION_MINOR = "${DISTRO_VERSION_MINOR_${LAYERSERIES_CORENAMES}}" -DISTRO_VERSION = "${DISTRO_VERSION_MAJOR}.${DISTRO_VERSION_MINOR}.${DISTRO_VERSION_RELEASE}${DISTRO_VERSION_FLAG}${DISTRO_VERSION_HOTFIX}" +DISTRO = "kazoe" +DISTRO_NAME = "KaZoe" +DISTRO_VERSION = "${DISTRO_VERSION_MAJOR}.${DISTRO_VERSION_MINOR}.${DISTRO_VERSION_RELEASE}" +DISTRO_CODENAME = "${LAYERSERIES_CORENAMES}" SDK_VENDOR = "-kazoe" -SDK_VERSION = "${@d.getVar('DISTRO_CODENAME', 1).upper()}-${DISTRO_VERSION_MAJOR}.${DISTRO_VERSION_MINOR}.${SDK_VERSION_MINOR}" -TARGET_VENDOR = "-kazoe" +SDK_VERSION = "${@d.getVar('DISTRO_NAME')}-${DISTRO_VERSION}.${SDK_VERSION_RELEASE}" +SDK_VERSION[vardepvalue] = "${SDK_VERSION}" + +MAINTAINER = "Fabien Proriol <fabien.proriol@kazoe.org>" + +TARGET_VENDOR = "-poky" + +LOCALCONF_VERSION = "2" + +SDK_DESCRIPTION = "SDK for KaZoe" +SDK_FORMAT = "deb" ROOT_HOME = "/root" +KAZOE_DEFAULT_DISTRO_FEATURES = "opengl wayland vulkan pam polkit xdg kms gbm gles2 eglfs systemd" +DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${KAZOE_DEFAULT_DISTRO_FEATURES}" + SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${TARGET_ARCH}" SDKPATH = "/opt/sdk/kazoe-{SDK_VERSION}" @@ -35,27 +38,28 @@ TOOLCHAIN_HOST_TASK = "nativesdk-packagegroup-sdk-host packagegroup-cross-canadi TOOLCHAIN_TARGET_TASK = "packagegroup-core-standalone-sdk-target packagegroup-core-standalone-sdk-target-dbg" SDKIMAGE_FEATURES = "dev-pkgs staticdev-pkgs" -USER_CLASSES ?= "buildstats" - -DISTRO_INIT_MODE ?= "SYSTEMD" -DISTRO_FEATURES_COMMON ?= " ${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} largefile opengl " -DISTRO_FEATURES_SYSTEMD ?= " systemd " -DISTRO_FEATURES_SYSTEMV ?= " sysvinit " -DISTRO_FEATURES = "${DISTRO_FEATURES_COMMON} ${DISTRO_FEATURES_EXTENDS} ${DISTRO_FEATURES_${DISTRO_INIT_MODE}}" -INIT_MANAGER = "${@bb.utils.contains('DISTRO_INIT_MODE', 'SYSTEMD', 'systemd', 'sysvinit', d)}" +# Allow single libc distros to disable this code +TCLIBCAPPEND = "" -# By default disable interactive patch resolution (tasks will just fail instead): -PATCHRESOLVE = "noop" - - -PACKAGE_CLASSES = "package_deb" - -QEMU_TARGETS = "aarch64 x86_64" -TOOLCHAIN = "gcc" +USER_CLASSES ?= "" +PACKAGE_CLASSES ?= "package_deb" +INIT_MANAGER = "systemd" +DISTRO_FEATURES_NATIVE:append = " opengl" +DISTRO_FEATURES_NATIVESDK:append = " opengl" KAZOE_USER ?= "root" # Manage Qt6 QT_QPA_DEFAULT_PLATFORM:pn-qtbase:class-target = "eglfs" PACKAGECONFIG_GRAPHICS:pn-qtbase:class-target = " wayland opengl kms gbm gles2 eglfs " +PACKAGECONFIG:append:pn-qemu-system-native = " sdl gtk+ virglrenderer glx" + + +require conf/distro/include/no-static-libs.inc +require conf/distro/include/yocto-uninative.inc +require conf/distro/include/security_flags.inc +INHERIT += "uninative" + +# Enable creation of SPDX manifests by default +INHERIT += "create-spdx" diff --git a/conf/layer.conf b/conf/layer.conf index 6ec38ab..1b5d2d0 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -10,4 +10,4 @@ BBFILE_COLLECTIONS += "meta-kazoe" BBFILE_PATTERN_meta-kazoe := "^${LAYERDIR}/" BBFILE_PRIORITY_meta-kazoe = "10" -LAYERSERIES_COMPAT_meta-kazoe = "scarthgap" +LAYERSERIES_COMPAT_meta-kazoe = "scarthgap styhead walnascar" diff --git a/conf/templates/default/local.conf.sample b/conf/templates/default/local.conf.sample index 0605211..b2893b1 100644 --- a/conf/templates/default/local.conf.sample +++ b/conf/templates/default/local.conf.sample @@ -1,6 +1,6 @@ # # Machine Selection -MACHINE ??= "qemux86" +MACHINE ??= "qemux86-64" # # Where to place downloads diff --git a/recipes-core/images/kazoe-image.bb b/recipes-core/images/kazoe-image.bb new file mode 100644 index 0000000..e0e1ade --- /dev/null +++ b/recipes-core/images/kazoe-image.bb @@ -0,0 +1,19 @@ +SUMMARY = "KaZoe Image." + +IMAGE_INSTALL = "packagegroup-core-boot ${CORE_IMAGE_EXTRA_INSTALL}" + +IMAGE_LINGUAS = " " + +LICENSE = "MIT" + +inherit core-image + +IMAGE_ROOTFS_SIZE ?= "8192" +IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "", d)}" + + +IMAGE_INSTALL += " packagegroups-kazoe " +ROOT_PASSWORD ?= "KaZoe" +inherit extrausers +DEPENDS += " openssl-native " +EXTRA_USERS_PARAMS = "usermod -p '''$(echo ${ROOT_PASSWORD} | openssl passwd -1 -stdin)''' root; " diff --git a/recipes-core/kzsettings/kzsettings.inc b/recipes-core/kzsettings/kzsettings.inc new file mode 100644 index 0000000..dacd4c6 --- /dev/null +++ b/recipes-core/kzsettings/kzsettings.inc @@ -0,0 +1,19 @@ +SUMMARY = "KaZoe Settings library" +DESCRIPTION = "KaZoe Settings library" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=84657d0be71d6615481bbbde593d3c88" + +inherit kazoe-project python3-dir qt6-cmake + +DEPENDS += " qtdeclarative qtdeclarative-native " + +PACKAGES += " ${PN}-python ${PN}-qt ${PN}-qmlplugin " + +PACKAGECONFIG ??= "python3 " +PACKAGECONFIG[python3] = "-DWITH_PYTHON=ON,,python3-pybind11,python3-pybind11" + +EXTRA_OECMAKE += " -DPYTHONPATH=${PYTHON_SITEPACKAGES_DIR} " + +FILES:${PN}-qt = "/usr/lib/libKzQSettings*" +FILES:${PN}-qmlplugin = "/usr/lib/qml/org/kazoe/settings/libKzQSettingsPlugin.so /usr/lib/qml/org/kazoe/settings/qmldir" +FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" diff --git a/recipes-core/kzsettings/kzsettings_git.bb b/recipes-core/kzsettings/kzsettings_git.bb new file mode 100644 index 0000000..f00c306 --- /dev/null +++ b/recipes-core/kzsettings/kzsettings_git.bb @@ -0,0 +1,3 @@ +require ${PN}.inc + +inherit kazoe-project-git diff --git a/recipes-core/kzxdg/kzxdg.inc b/recipes-core/kzxdg/kzxdg.inc new file mode 100644 index 0000000..7af1de8 --- /dev/null +++ b/recipes-core/kzxdg/kzxdg.inc @@ -0,0 +1,12 @@ +DESCRIPTION = "KaZoe Desktop Wayland server based on Qt Wayland Compositor" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=84657d0be71d6615481bbbde593d3c88" + +inherit kazoe-project qt6-cmake + +DEPENDS = " qtbase qtdeclarative qtdeclarative-native " +RDEPENDS:${PN} += " qtbase " + +FILES:${PN} += " ${QT6_INSTALL_QMLDIR}/org/kazoe/xdg " + +EXTRA_OECMAKE += " -DQML_MODULE_INSTALL_PATH=${QT6_INSTALL_QMLDIR} " diff --git a/recipes-core/kzxdg/kzxdg_git.bb b/recipes-core/kzxdg/kzxdg_git.bb new file mode 100644 index 0000000..f00c306 --- /dev/null +++ b/recipes-core/kzxdg/kzxdg_git.bb @@ -0,0 +1,3 @@ +require ${PN}.inc + +inherit kazoe-project-git diff --git a/recipes-core/packagegroups/packagegroups-kazoe.bb b/recipes-core/packagegroups/packagegroups-kazoe.bb new file mode 100644 index 0000000..0ca23b0 --- /dev/null +++ b/recipes-core/packagegroups/packagegroups-kazoe.bb @@ -0,0 +1,5 @@ +SUMMARY = "KaZoe Desktop environement" + +inherit packagegroup + +RDEPENDS:${PN} = "kzdesktop kzsettings" diff --git a/recipes-desktop/kzdesktop/kzdesktop.inc b/recipes-desktop/kzdesktop/kzdesktop.inc new file mode 100644 index 0000000..69930a1 --- /dev/null +++ b/recipes-desktop/kzdesktop/kzdesktop.inc @@ -0,0 +1,28 @@ +DESCRIPTION = "XDG Free Desktop Qt implementation" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=84657d0be71d6615481bbbde593d3c88" + +inherit kazoe-project qt6-cmake systemd + +DEPENDS += " qtwayland qtdeclarative qtdeclarative-native qtwayland-native kzxdg " +RDEPENDS:${PN} += " qtvirtualkeyboard " + +SYSTEMD_PACKAGES = "${PN}" + + +do_install:append() { + install -d ${D}/var/lib/systemd/linger + touch ${D}/var/lib/systemd/linger/${KAZOE_USER} + + if [ "u${KAZOE_USER}" = "uroot" ] + then + install -d ${D}${ROOT_HOME}/.config/systemd/user/default.target.wants + ln -s /usr/lib/systemd/user/desktopmgr.service ${D}${ROOT_HOME}/.config/systemd/user/default.target.wants/desktopmgr.service + else + install -d ${D}/home/${KAZOE_USER}/.config/systemd/user/default.target.wants + ln -s /usr/lib/systemd/user/desktopmgr.service ${D}/home/${KAZOE_USER}/.config/systemd/user/default.target.wants/desktopmgr.service + fi +} + +FILES:${PN} += " ${ROOT_HOME} /usr/lib/qt6/qml/org/kazoe/xdg /home/${KAZOE_USER} ${systemd_user_unitdir} " +FILES:${PN}-dev += "/usr/share/dbus-1/interfaces" diff --git a/recipes-desktop/kzdesktop/kzdesktop_git.bb b/recipes-desktop/kzdesktop/kzdesktop_git.bb new file mode 100644 index 0000000..f00c306 --- /dev/null +++ b/recipes-desktop/kzdesktop/kzdesktop_git.bb @@ -0,0 +1,3 @@ +require ${PN}.inc + +inherit kazoe-project-git |