1
0
forked from brl/citadel

Upgrade GNOME to 42.1

* citadel-kernel 5.15.8 -> 5.18
 * adwaita-icon-theme 42.0
 * ell 0.44 -> 0.50
 * libnma 1.8.30 -> 1.8.38
 * iwd 1.17 -> 1.27
 * modemmanager 1.16.8 -> 1.18.6
 * networkmanager 1.32.10 -> 1.36.2
 * networkmanager-openvpn 1.8.14 -> 1.8.18
 * accountsservice 0.6.55 -> 22.08.8
 * colord-gtk 0.1.26 -> 0.3.0
 * polkit 0.118 -> 0.119
 * gexiv2 0.12.1 -> 0.14.0
 * gjs 1.70.0 -> 1.72.0
 * gnome-autoar 0.4.1 -> 0.4.3
 * gnome-backgrounds 0.41.0 -> 0.42.0
 * gnome-bluetooth 0.34.3 -> 42.0
 * gnome-control-center 41.1 -> 42.1
 * gnome-desktop 41.1 -> 42.1
 * gnome-disk-utility 41.0 -> 42.0
 * gnome-screenshot 40.0 -> 41.0
 * gnome-session 40.1.1 -> 42.0
 * gnome-settings-daemon 41.0 -> 42.1
 * gnome-shell 41.1 -> 42.1
 * gnome-system-monitor 41.0 -> 42.0
 * gnome-terminal 3.42.1 -> 3.42.2
 * gtk4 4.4.1 -> 4.6.4
 * gvfs 1.48.1 -> 1.50.0
 * libgweather 40.0 -> libgweather4 4.0.0
 * mutter 41.1 -> 42.1
 * network-manager-applet 1.18.0 -> 1.26.0
 * yelp 3.36 -> 42.1
 * yelp-xsl 3.36 -> 42.0
 * yelp-tools 3.32.2 -> 42.0
 * zenity 3.30.0 -> 3.42.1
This commit is contained in:
Bruce Leidl 2022-05-29 14:18:27 -04:00
parent be34ea65f3
commit f4f1f3b153
112 changed files with 6334 additions and 3091 deletions

View File

@ -0,0 +1,18 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/gdm:"
SRC_URI += "file://gdm.conf"
DEPENDS += "plymouth"
do_install:append() {
install -d ${D}${sysconfdir}/default/volatiles
echo "d gdm gdm 755 ${localstatedir}/run/gdm/greeter none" > ${D}${sysconfdir}/default/volatiles/99_gdm
rm ${D}${sysconfdir}/gdm/custom.conf
rm ${D}${libdir}/udev/rules.d/61-gdm.rules
install -m 644 ${WORKDIR}/gdm.conf ${D}${sysconfdir}/gdm/custom.conf
}
EXTRA_OEMESON = " \
-Dplymouth=enabled \
-Ddefault-pam-config=openembedded \
-Dpam-mod-dir=${base_libdir}/security \
"

View File

@ -0,0 +1,3 @@
PACKAGECONFIG:remove = "libgphoto2"
EXTRA_OEMESON:append = " -Dlibusb=false"

View File

@ -1,2 +1 @@
PACKAGECONFIG = "odirect"
PACKAGECONFIG:append:class-target = " udev"

View File

@ -1,5 +1,5 @@
# Append recipe from meta-openembedded/meta-networking
FILESEXTRAPATHS_prepend := "${THISDIR}/networkmanager:"
FILESEXTRAPATHS:prepend := "${THISDIR}/networkmanager:"
SRC_URI += "\
file://NetworkManager.conf \
@ -7,17 +7,11 @@ SRC_URI += "\
file://watch-resolvconf.service \
"
SYSTEMD_SERVICE_${PN} += "watch-resolvconf.path"
SYSTEMD_SERVICE:${PN} += "watch-resolvconf.path"
do_install_append() {
do_install:append() {
install -m 0644 ${WORKDIR}/NetworkManager.conf ${D}${sysconfdir}/NetworkManager/
install -m 644 ${WORKDIR}/watch-resolvconf.path ${D}${systemd_system_unitdir}
install -m 644 ${WORKDIR}/watch-resolvconf.service ${D}${systemd_system_unitdir}
}
PACKAGECONFIG = "nss systemd polkit"
PACKAGECONFIG[wifi] = ""
EXTRA_OECONF = "\
--with-iwd \
--enable-wifi=yes \
--without-iptables \
"
PACKAGECONFIG = "nss systemd polkit wifi iwd vala"

View File

@ -5,7 +5,7 @@ CITADEL_IMAGE_VERSION_rootfs = "1"
CITADEL_IMAGE_VERSION_extra = "1"
CITADEL_IMAGE_VERSION_kernel = "1"
CITADEL_KERNEL_VERSION = "5.15.8"
CITADEL_KERNEL_VERSION = "5.18.0"
CITADEL_KERNEL_CONFIG = "${COREBASE}/../meta-citadel/recipes-kernel/citadel-kernel/files/defconfig"

View File

@ -98,9 +98,8 @@ install_resource_image() {
version=$(printf "%03d" ${2})
if [ "${1}" = "kernel" ]; then
kversion=$(cat ${DEPLOY_DIR_IMAGE}/kernel.version)
src_fname="citadel-kernel-${kversion}-${CITADEL_IMAGE_CHANNEL}-${version}.img"
dst_fname="citadel-kernel-${kversion}.img"
src_fname="citadel-kernel-${CITADEL_KERNEL_VERSION}-${CITADEL_IMAGE_CHANNEL}-${version}.img"
dst_fname="citadel-kernel-${CITADEL_KERNEL_VERSION}.img"
else
src_fname="citadel-${1}-${CITADEL_IMAGE_CHANNEL}-${version}.img"
dst_fname="citadel-${1}.img"

View File

@ -5,7 +5,6 @@ inherit packagegroup
RDEPENDS:${PN} = "\
atk \
at-spi2-atk \
libgweather \
zenity \
gnome-desktop \
gnome-bluetooth \

View File

@ -9,7 +9,7 @@ SRC_URI = "https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${PV}.tar.xz\
file://defconfig \
"
SRC_URI[sha256sum] = "d756527313ee09c8b0376975fb7890e2eddce9714967504093b2c0fab5c0f3bd"
SRC_URI[sha256sum] = "51f3f1684a896e797182a0907299cc1f0ff5e5b51dd9a55478ae63a409855cee"
LINUX_VERSION ?= "${PV}"
S = "${WORKDIR}/linux-${LINUX_VERSION}"

File diff suppressed because it is too large Load Diff

View File

@ -7,8 +7,8 @@ DEPENDS = "ell"
SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \
file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \
"
SRC_URI[sha256sum] = "6f946f823b0dc3205e4e72becf8ad1915448d194f5b10d8003e4c8c5a18e4ef7"
"
SRC_URI[sha256sum] = "013b4a0a79629c20d915954fc3b5d0620ef6e0d6065db3c342f4b3f9111f46ec"
inherit autotools manpages pkgconfig python3native systemd

View File

@ -1,31 +0,0 @@
From b8862e6af1c6d022b8c182098e7deddb874ece19 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 18 Dec 2018 23:10:44 -0800
Subject: [PATCH] Do not pass null string to %s printf formatted string
Here the string is already decided to be NULL and passing
a null pointer to %s will not work
Fixes
error: '%s' directive argument is null
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/67]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
plugins/mtk/mm-broadband-modem-mtk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/mtk/mm-broadband-modem-mtk.c b/plugins/mtk/mm-broadband-modem-mtk.c
index 475a63ac..541de4a5 100644
--- a/plugins/mtk/mm-broadband-modem-mtk.c
+++ b/plugins/mtk/mm-broadband-modem-mtk.c
@@ -191,7 +191,7 @@ get_supported_modes_ready (MMBaseModem *self,
response = mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error);
if (!response) {
- mm_dbg ("Fail to get response %s", response);
+ mm_dbg ("Fail to get response");
g_task_return_error (task, error);
g_object_unref (task);
return;

View File

@ -1,30 +0,0 @@
From d4f73b037d11d20f080e74c05df28853fb833075 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 7 Dec 2018 22:59:47 -0800
Subject: [PATCH] Do not set Wno-unused-but-set-variable
This is gcc specific warning, not implemented by pretending to be gcc
like compilers e.g. clang.
We will pass this option from recipe
Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
m4/compiler_warnings.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/m4/compiler_warnings.m4 b/m4/compiler_warnings.m4
index f498a28..e65e97f 100644
--- a/m4/compiler_warnings.m4
+++ b/m4/compiler_warnings.m4
@@ -11,7 +11,7 @@ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
-Wdeclaration-after-statement -Wstrict-prototypes \
-Wno-unused-parameter -Wno-sign-compare \
-Wno-deprecated-declarations \
- -Wno-unused-but-set-variable -Wformat-security; do
+ -Wno-unused -Wformat-security; do
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $option"
AC_MSG_CHECKING([whether gcc understands $option])

View File

@ -0,0 +1,68 @@
From f7a3292c1c753b29384e216693f51a4213fea7d0 Mon Sep 17 00:00:00 2001
From: "Bruce A. Johnson" <waterfordtrack@gmail.com>
Date: Wed, 22 Dec 2021 14:24:02 -0500
Subject: [PATCH 1/2] core: switch bash shell scripts to use /bin/sh for use
w/Busybox.
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/483
---
data/fcc-unlock/105b | 2 +-
data/fcc-unlock/1199 | 2 +-
data/fcc-unlock/1eac | 2 +-
test/mmcli-test-sms | 2 +-
tools/tests/test-wrapper.sh.in | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/data/fcc-unlock/105b b/data/fcc-unlock/105b
index 21fe5329..f276050f 100644
--- a/data/fcc-unlock/105b
+++ b/data/fcc-unlock/105b
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# SPDX-License-Identifier: CC0-1.0
# 2021 Aleksander Morgado <aleksander@aleksander.es>
diff --git a/data/fcc-unlock/1199 b/data/fcc-unlock/1199
index 0109c6ab..e1d3804c 100644
--- a/data/fcc-unlock/1199
+++ b/data/fcc-unlock/1199
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# SPDX-License-Identifier: CC0-1.0
# 2021 Aleksander Morgado <aleksander@aleksander.es>
diff --git a/data/fcc-unlock/1eac b/data/fcc-unlock/1eac
index 1068d9c2..d9342852 100644
--- a/data/fcc-unlock/1eac
+++ b/data/fcc-unlock/1eac
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# SPDX-License-Identifier: CC0-1.0
# 2021 Aleksander Morgado <aleksander@aleksander.es>
diff --git a/test/mmcli-test-sms b/test/mmcli-test-sms
index 18e0a7b4..7136ee0d 100755
--- a/test/mmcli-test-sms
+++ b/test/mmcli-test-sms
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
print_usage () {
echo "usage: $0 [MODEM INDEX] [all|ucs2|gsm7|data] [NUMBER]"
diff --git a/tools/tests/test-wrapper.sh.in b/tools/tests/test-wrapper.sh.in
index d64ea4cb..fcdb56de 100644
--- a/tools/tests/test-wrapper.sh.in
+++ b/tools/tests/test-wrapper.sh.in
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# For debugging behavior of test-modemmanager-service.py, you can modify
# this line to add --log-file option
--
2.34.1

View File

@ -0,0 +1,100 @@
From ddf634b92bf96b35f521db6da329628b4525c2eb Mon Sep 17 00:00:00 2001
From: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
Date: Fri, 25 Feb 2022 21:37:13 +0100
Subject: [PATCH 2/2] fcc-unlock: Make scripts POSIX shell compatible
This allows us to not rely on bash which may not be available on
constrained systems, e.g. Yocto-built embedded systems. The scripts now
pass shellcheck.
Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
---
data/fcc-unlock/105b | 8 ++++----
data/fcc-unlock/1199 | 6 +++---
data/fcc-unlock/1eac | 8 ++++----
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/data/fcc-unlock/105b b/data/fcc-unlock/105b
index f276050f..772c90f4 100644
--- a/data/fcc-unlock/105b
+++ b/data/fcc-unlock/105b
@@ -15,20 +15,20 @@ shift
# second and next arguments are control port names
for PORT in "$@"; do
# match port type in Linux 5.14 and newer
- grep -q MBIM /sys/class/wwan/${PORT}/type 2>/dev/null && {
+ grep -q MBIM "/sys/class/wwan/$PORT/type" 2>/dev/null && {
MBIM_PORT=$PORT
break
}
# match port name in Linux 5.13
- [[ $PORT == *"MBIM"* ]] && {
+ echo "$PORT" | grep -q MBIM && {
MBIM_PORT=$PORT
break
}
done
# fail if no MBIM port exposed
-[ -n "${MBIM_PORT}" ] || exit 2
+[ -n "$MBIM_PORT" ] || exit 2
# run qmicli operation over MBIM
-qmicli --device-open-proxy --device=/dev/${MBIM_PORT} --dms-foxconn-set-fcc-authentication=0
+qmicli --device-open-proxy --device="/dev/$MBIM_PORT" --dms-foxconn-set-fcc-authentication=0
exit $?
diff --git a/data/fcc-unlock/1199 b/data/fcc-unlock/1199
index e1d3804c..6dbf8d1b 100644
--- a/data/fcc-unlock/1199
+++ b/data/fcc-unlock/1199
@@ -19,15 +19,15 @@ shift
# second and next arguments are control port names
for PORT in "$@"; do
# match port name
- [[ $PORT == *"cdc-wdm"* ]] && {
+ echo "$PORT" | grep -q cdc-wdm && {
CDC_WDM_PORT=$PORT
break
}
done
# fail if no cdc-wdm port exposed
-[ -n "${CDC_WDM_PORT}" ] || exit 2
+[ -n "$CDC_WDM_PORT" ] || exit 2
# run qmicli operation
-qmicli --device-open-proxy --device=/dev/${CDC_WDM_PORT} --dms-set-fcc-authentication
+qmicli --device-open-proxy --device="/dev/$CDC_WDM_PORT" --dms-set-fcc-authentication
exit $?
diff --git a/data/fcc-unlock/1eac b/data/fcc-unlock/1eac
index d9342852..44ce46d7 100644
--- a/data/fcc-unlock/1eac
+++ b/data/fcc-unlock/1eac
@@ -15,20 +15,20 @@ shift
# second and next arguments are control port names
for PORT in "$@"; do
# match port type in Linux 5.14 and newer
- grep -q MBIM /sys/class/wwan/${PORT}/type 2>/dev/null && {
+ grep -q MBIM "/sys/class/wwan/$PORT/type" 2>/dev/null && {
MBIM_PORT=$PORT
break
}
# match port name in Linux 5.13
- [[ $PORT == *"MBIM"* ]] && {
+ echo "$PORT" | grep -q MBIM && {
MBIM_PORT=$PORT
break
}
done
# fail if no MBIM port exposed
-[ -n "${MBIM_PORT}" ] || exit 2
+[ -n "$MBIM_PORT" ] || exit 2
# run mbimcli operation
-mbimcli --device-open-proxy --device=/dev/${MBIM_PORT} --quectel-set-radio-state=on
+mbimcli --device-open-proxy --device="/dev/$MBIM_PORT" --quectel-set-radio-state=on
exit $?
--
2.34.1

View File

@ -1,53 +0,0 @@
SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
"
inherit gnomebase gettext systemd vala gobject-introspection bash-completion
DEPENDS = "glib-2.0 libgudev intltool-native libxslt-native"
SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz"
SRC_URI[sha256sum] = "21fdfaf94171261ad9d99771894f5ade4bc39ef3d1ff1d421054d14713e97880"
S = "${WORKDIR}/ModemManager-${PV}"
PACKAGECONFIG ??= "mbim qmi \
${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \
"
PACKAGECONFIG[at] = "--with-at-command-via-dbus"
PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,"
PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit"
# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim"
# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi"
EXTRA_OECONF = " \
--with-udev-base-dir=${nonarch_base_libdir}/udev \
"
FILES:${PN} += " \
${datadir}/icons \
${datadir}/polkit-1 \
${datadir}/dbus-1 \
${datadir}/ModemManager \
${libdir}/ModemManager \
${systemd_unitdir}/system \
"
FILES:${PN}-dev += " \
${libdir}/ModemManager/*.la \
"
FILES:${PN}-staticdev += " \
${libdir}/ModemManager/*.a \
"
FILES:${PN}-dbg += "${libdir}/ModemManager/.debug"
SYSTEMD_SERVICE:${PN} = "ModemManager.service"

View File

@ -0,0 +1,62 @@
SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext systemd gobject-introspection bash-completion
DEPENDS = "glib-2.0 libgudev libxslt-native dbus"
SRCREV ?= "a7bcf2036b34d5043dbc33fee7d98bae5859c4d3"
# Patches 0001, 0002 will be in ModemManager > 1.18.6
SRC_URI = " \
git://gitlab.freedesktop.org/mobile-broadband/ModemManager.git;protocol=https;branch=mm-1-18 \
file://0001-core-switch-bash-shell-scripts-to-use-bin-sh-for-use.patch \
file://0002-fcc-unlock-Make-scripts-POSIX-shell-compatible.patch \
"
S = "${WORKDIR}/git"
# strict, permissive
MODEMMANAGER_POLKIT_TYPE ??= "permissive"
PACKAGECONFIG ??= "vala mbim qmi \
${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \
"
PACKAGECONFIG[at] = "-Dat_command_via_dbus=true"
PACKAGECONFIG[systemd] = " \
-Dsystemdsystemunitdir=${systemd_unitdir}/system/, \
-Dsystemdsystemunitdir=no -Dsystemd_journal=false -Dsystemd_suspend_resume=false \
"
PACKAGECONFIG[polkit] = "-Dpolkit=${MODEMMANAGER_POLKIT_TYPE},-Dpolkit=no,polkit"
# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
PACKAGECONFIG[mbim] = "-Dmbim=true,-Dmbim=false -Dplugin_dell=disabled -Dplugin_foxconn=disabled,libmbim"
# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
PACKAGECONFIG[qmi] = "-Dqmi=true,-Dqmi=false,libqmi"
PACKAGECONFIG[qrtr] = "-Dqrtr=true,-Dqrtr=false,libqrtr-glib"
PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false"
inherit ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)}
EXTRA_OEMESON = " \
-Dudevdir=${nonarch_base_libdir}/udev \
-Dqrtr=false \
"
FILES:${PN} += " \
${datadir}/icons \
${datadir}/polkit-1 \
${datadir}/dbus-1 \
${datadir}/ModemManager \
${libdir}/ModemManager \
${systemd_unitdir}/system \
"
SYSTEMD_SERVICE:${PN} = "ModemManager.service"

View File

@ -10,8 +10,7 @@ inherit gnomebase useradd gettext systemd
SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz"
SRC_URI[md5sum] = "bef67eca77bee68da703609b92f804a0"
SRC_URI[sha256sum] = "e7419053fc3b5a7e25f1a7517c313ad4531b6ea280255524ebb85a70c76fdbeb"
SRC_URI[sha256sum] = "53dfb0acf64478adc728074f162f62e60bff62a605bd897eb88b267e7057927a"
S = "${WORKDIR}/NetworkManager-openvpn-${PV}"

View File

@ -1,22 +0,0 @@
From 9bcf4c81a559d1e7deac47b2e510d7f1e5837a02 Mon Sep 17 00:00:00 2001
From: Pablo Saavedra <psaavedra@igalia.com>
Date: Tue, 13 Mar 2018 17:36:20 +0100
Subject: [PATCH] Fixed configure.ac: Fix pkgconfig sysroot locations
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 65ceffb..ad4b0fc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -561,7 +561,7 @@ if test "$have_jansson" = "yes"; then
AC_DEFINE(WITH_JANSSON, 1, [Define if JANSSON is enabled])
AC_CHECK_TOOLS(READELF, [eu-readelf readelf])
- JANSSON_LIBDIR=`$PKG_CONFIG --variable=libdir jansson`
+ JANSSON_LIBDIR=${PKG_CONFIG_SYSROOT_DIR}`$PKG_CONFIG --variable=libdir jansson`
JANSSON_SONAME=`$READELF -d $JANSSON_LIBDIR/libjansson.so |sed -n 's/.*SONAME.*\[[\([^]]*\)]]/\1/p'`
if test "$JANSSON_SONAME" = ""; then

View File

@ -0,0 +1,24 @@
From 37559b659e22886d5f55837d4f167ba5fda73e85 Mon Sep 17 00:00:00 2001
From: Adrian Freihofer <adrian.freihofer@siemens.com>
Date: Sun, 29 Aug 2021 15:50:35 +0200
Subject: [PATCH] do-not-ask-host-for-ifcfg-defaults
---
meson.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index d0cec83..289aa1b 100644
--- a/meson.build
+++ b/meson.build
@@ -304,8 +304,8 @@ else
distro = 'unknown'
endif
-enable_ifcfg_rh = get_option('ifcfg_rh') or (distro == 'redhat')
-enable_ifupdown = get_option('ifupdown') or (distro == 'debian')
+enable_ifcfg_rh = get_option('ifcfg_rh')
+enable_ifupdown = get_option('ifupdown')
config_plugins_default = get_option('config_plugins_default')
config_h.set_quoted('NM_CONFIG_DEFAULT_MAIN_PLUGINS', config_plugins_default)

View File

@ -0,0 +1,34 @@
From 7b5dc04e1fcc28dc653fb7bf0e9dda3700d93218 Mon Sep 17 00:00:00 2001
From: Yi Zhao <yi.zhao@windriver.com>
Date: Tue, 3 May 2022 15:30:37 +0800
Subject: [PATCH] libnm-client-test: add dependency libnm_client_public_dep
Fix parallel build error:
| In file included from ../NetworkManager-1.36.0/src/libnm-client-test/nm-test-utils-impl.c:10:
| ../NetworkManager-1.36.0/src/libnm-client-public/NetworkManager.h:47:10: fatal error: nm-enum-types.h: No such file or directory
| 47 | #include "nm-enum-types.h"
| | ^~~~~~~~~~~~~~~~~
Upstream-Status: Submitted
[https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1206]
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
src/libnm-client-test/meson.build | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/libnm-client-test/meson.build b/src/libnm-client-test/meson.build
index 8e2fba1130..bcac437702 100644
--- a/src/libnm-client-test/meson.build
+++ b/src/libnm-client-test/meson.build
@@ -13,6 +13,7 @@ libnm_client_test = static_library(
],
dependencies: [
libnm_core_public_dep,
+ libnm_client_public_dep,
glib_dep,
],
)
--
2.25.1

View File

@ -1,60 +0,0 @@
From d0dead0478a070b96f37bd3b310443eaa8c93a25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Mon, 5 Jul 2021 00:42:23 +0200
Subject: [PATCH] Do not create settings settings/property documentation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
It was tried to get this work by adding python3-pygobject-native to DEPENDS but
compile could not find (configure passed) python module gi.
Anyway it is not necessary for us to have the settings/property docs.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Vinicius Aquino <voa.aquino@gmail.com>
---
Makefile.am | 5 -----
configure.ac | 5 -----
2 files changed, 10 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 5a62070..3d0ebcd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1860,15 +1860,10 @@ src/libnm-client-impl/libnm.typelib: src/libnm-client-impl/libnm.gir
INTROSPECTION_GIRS += src/libnm-client-impl/NM-1.0.gir
libnm_noinst_data = \
- src/nmcli/generate-docs-nm-settings-nmcli.xml \
- man/nm-settings-docs-dbus.xml \
- man/nm-settings-docs-nmcli.xml \
src/libnm-client-impl/nm-property-infos-dbus.xml \
src/libnm-client-impl/nm-property-infos-ifcfg-rh.xml \
src/libnm-client-impl/nm-property-infos-keyfile.xml \
src/libnm-client-impl/nm-property-infos-nmcli.xml \
- src/libnm-client-impl/nm-settings-docs-gir.xml \
- src/libnmc-setting/settings-docs-input.xml \
$(NULL)
noinst_DATA += $(libnm_noinst_data)
diff --git a/configure.ac b/configure.ac
index 8fe23de..dc24850 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1258,11 +1258,6 @@ GTK_DOC_CHECK(1.0)
# check if we can build setting property documentation
build_docs=no
if test -n "$INTROSPECTION_MAKEFILE"; then
- # If g-i is installed we know we have python, but we might not have pygobject
- if ! "$PYTHON" -c 'from gi.repository import GObject' > /dev/null 2>&1; then
- AC_MSG_ERROR(["--enable-introspection aims to build the settings documentation. This requires GObject introspection for python (pygobject)])
- fi
-
AC_PATH_PROG(PERL, perl)
if test -z "$PERL"; then
AC_MSG_ERROR([--enable-introspection requires perl])
--
2.31.1

View File

@ -1,30 +0,0 @@
From 6388b16b93ba805f8877a94f47509f701250812f Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 6 Jul 2020 19:33:54 -0700
Subject: [PATCH] install firewalld to var-libdir rather than hardcod lib
The oe install firewalld (split packages) to ${libdir}/firewalld/zones
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index 358b01a..5745339 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4778,7 +4778,7 @@ data/server.conf: $(srcdir)/data/server.conf.in
$(AM_V_GEN) $(data_edit) $< >$@
if WITH_FIREWALLD_ZONE
-firewalldzonedir = $(prefix)/lib/firewalld/zones
+firewalldzonedir = $(libdir)/firewalld/zones
firewalldzone_DATA = data/nm-shared.xml
endif
--
2.21.0

View File

@ -0,0 +1,2 @@
[main]
dhcp=dhcpcd

View File

@ -0,0 +1,3 @@
[device]
wifi.iwd.autoconnect=yes
wifi.backend=iwd

View File

@ -1,180 +0,0 @@
SUMMARY = "NetworkManager"
HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
SECTION = "net/misc"
LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
"
DEPENDS = " \
intltool-native \
libxslt-native \
libnl \
udev \
util-linux \
libndp \
libnewt \
curl \
"
inherit gnomebase gettext update-rc.d systemd vala gobject-introspection gtk-doc update-alternatives upstream-version-is-even
SRC_URI = " \
${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
file://${BPN}.initd \
file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
file://0002-Do-not-create-settings-settings-property-documentati.patch \
file://0003-install-firewalld-to-var-libdir-rather-than-hardcod-.patch \
"
SRC_URI[sha256sum] = "3e5ccc66805659e3f11a718e3a599f9726b79a01d6ff14814be6ad8bc5da8bb8"
S = "${WORKDIR}/NetworkManager-${PV}"
EXTRA_OECONF = " \
--disable-ifcfg-rh \
--disable-more-warnings \
--with-iptables=${sbindir}/iptables \
--with-tests \
--with-nmtui=yes \
--with-udev-dir=${nonarch_base_libdir}/udev \
--with-dhclient=no \
--with-dhcpcd=no \
--with-dhcpcanon=no \
--with-netconfig=no \
"
# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template
# avoids:
# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'?
CFLAGS:append:libc-musl = " \
-DRTLD_DEEPBIND=0 \
"
do_compile:prepend() {
export GIR_EXTRA_LIBS_PATH="${B}/src/libnm-client-impl/.libs"
}
PACKAGECONFIG ??= "nss ifupdown dnsmasq nmcli \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \
"
inherit ${@bb.utils.contains('PACKAGECONFIG', 'nmcli', 'bash-completion', '', d)}
PACKAGECONFIG[systemd] = " \
--with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \
--without-systemdsystemunitdir, \
"
PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit"
PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
# consolekit is not picked by shlibs, so add it to RDEPENDS too
PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf,,,resolvconf"
PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
PACKAGECONFIG[wifi] = "--with-wext=yes --enable-wifi=yes,--with-wext=no --enable-wifi=no,,wpa-supplicant"
PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
PACKAGECONFIG[cloud-setup] = "--with-nm-cloud-setup=yes,--with-nm-cloud-setup=no"
PACKAGECONFIG[nmcli] = "--with-nmcli=yes,--with-nmcli=no,readline"
PACKAGECONFIG[ovs] = "--enable-ovs,--disable-ovs,jansson"
PACKAGECONFIG[audit] = "--with-libaudit,--without-libaudit,audit"
PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
PACKAGES =+ " \
${PN}-nmcli ${PN}-nmcli-doc \
${PN}-nmtui ${PN}-nmtui-doc \
${PN}-adsl ${PN}-cloud-setup \
"
SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup"
FILES:${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so"
FILES:${PN}-cloud-setup = " \
${libexecdir}/nm-cloud-setup \
${systemd_system_unitdir}/nm-cloud-setup.service \
${systemd_system_unitdir}/nm-cloud-setup.timer \
${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \
${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \
"
ALLOW_EMPTY:${PN}-cloud-setup = "1"
SYSTEMD_SERVICE:${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}"
FILES:${PN} += " \
${libexecdir} \
${libdir}/NetworkManager/${PV}/*.so \
${libdir}/NetworkManager \
${libdir}/firewalld/zones \
${nonarch_libdir}/NetworkManager/conf.d \
${nonarch_libdir}/NetworkManager/dispatcher.d \
${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \
${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \
${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \
${nonarch_libdir}/NetworkManager/VPN \
${nonarch_libdir}/NetworkManager/system-connections \
${datadir}/polkit-1 \
${datadir}/dbus-1 \
${nonarch_base_libdir}/udev/* \
${systemd_system_unitdir} \
${libdir}/pppd \
"
RRECOMMENDS:${PN} += "iptables \
${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
"
RCONFLICTS:${PN} = "connman"
FILES:${PN}-dev += " \
${datadir}/NetworkManager/gdb-cmd \
${libdir}/pppd/*/*.la \
${libdir}/NetworkManager/*.la \
${libdir}/NetworkManager/${PV}/*.la \
"
FILES:${PN}-nmcli = " \
${bindir}/nmcli \
"
FILES:${PN}-nmcli-doc = " \
${mandir}/man1/nmcli* \
"
FILES:${PN}-nmtui = " \
${bindir}/nmtui \
${bindir}/nmtui-edit \
${bindir}/nmtui-connect \
${bindir}/nmtui-hostname \
"
FILES:${PN}-nmtui-doc = " \
${mandir}/man1/nmtui* \
"
INITSCRIPT_NAME = "network-manager"
SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}"
ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}"
ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}"
do_install:append() {
install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager
rm -rf ${D}/run ${D}${localstatedir}/run
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
# For read-only filesystem, do not create links during bootup
ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager
# systemd v210 and newer do not need this rule file
rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules
fi
}

View File

@ -0,0 +1,249 @@
SUMMARY = "NetworkManager"
HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
SECTION = "net/misc"
LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
"
DEPENDS = " \
coreutils-native \
intltool-native \
libxslt-native \
libnl \
udev \
util-linux \
libndp \
libnewt \
curl \
dbus \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext update-rc.d systemd gobject-introspection gtk-doc update-alternatives upstream-version-is-even
SRC_URI = " \
${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
file://${BPN}.initd \
file://enable-dhcpcd.conf \
file://enable-iwd.conf \
file://0001-do-not-ask-host-for-ifcfg-defaults.patch \
file://0001-libnm-client-test-add-dependency-libnm_client_public.patch \
"
SRC_URI[sha256sum] = "ab855cbe3b41832e9a3b003810e7c7313dfe19e630d29806d14d87fdd1470cab"
S = "${WORKDIR}/NetworkManager-${PV}"
# ['auto', 'symlink', 'file', 'netconfig', 'resolvconf']
NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT ??= "auto"
# ['dhcpcanon', 'dhclient', 'dhcpcd', 'internal', 'nettools']
NETWORKMANAGER_DHCP_DEFAULT ??= "internal"
EXTRA_OEMESON = "\
-Difcfg_rh=false \
-Dtests=yes \
-Dnmtui=true \
-Dudev_dir=${nonarch_base_libdir}/udev \
-Dlibpsl=false \
-Dqt=false \
-Dconfig_dns_rc_manager_default=${NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT} \
-Dconfig_dhcp_default=${NETWORKMANAGER_DHCP_DEFAULT} \
-Ddhcpcanon=false \
"
# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template
# avoids:
# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'?
CFLAGS:append:libc-musl = " \
-DRTLD_DEEPBIND=0 \
"
do_compile:prepend() {
export GI_TYPELIB_PATH="${B}}/src/libnm-client-impl${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}"
}
PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli vala \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \
"
inherit ${@bb.utils.contains('PACKAGECONFIG', 'nmcli', 'bash-completion', '', d)}
inherit ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)}
PACKAGECONFIG[systemd] = "\
-Dsystemdsystemunitdir=${systemd_unitdir}/system -Dsession_tracking=systemd,\
-Dsystemdsystemunitdir=no -Dsystemd_journal=false -Dsession_tracking=no\
"
PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false,polkit"
PACKAGECONFIG[bluez5] = "-Dbluez5_dun=true,-Dbluez5_dun=false,bluez5"
# consolekit is not picked by shlibs, so add it to RDEPENDS too
PACKAGECONFIG[consolekit] = "-Dsession_tracking_consolekit=true,-Dsession_tracking_consolekit=false,consolekit,consolekit"
PACKAGECONFIG[modemmanager] = "-Dmodem_manager=true,-Dmodem_manager=false,modemmanager mobile-broadband-provider-info"
PACKAGECONFIG[ppp] = "-Dppp=true,-Dppp=false,ppp,ppp"
PACKAGECONFIG[dnsmasq] = "-Ddnsmasq=${bindir}/dnsmasq"
PACKAGECONFIG[nss] = "-Dcrypto=nss,,nss"
PACKAGECONFIG[resolvconf] = "-Dresolvconf=${base_sbindir}/resolvconf,-Dresolvconf=no,,resolvconf"
PACKAGECONFIG[gnutls] = "-Dcrypto=gnutls,,gnutls"
PACKAGECONFIG[wifi] = "-Dwext=true -Dwifi=true,-Dwext=false -Dwifi=false"
PACKAGECONFIG[iwd] = "-Diwd=true,-Diwd=false"
PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false"
PACKAGECONFIG[cloud-setup] = "-Dnm_cloud_setup=true,-Dnm_cloud_setup=false"
PACKAGECONFIG[nmcli] = "-Dnmcli=true,-Dnmcli=false"
PACKAGECONFIG[readline] = "-Dreadline=libreadline,,readline"
PACKAGECONFIG[libedit] = "-Dreadline=libedit,,libedit"
PACKAGECONFIG[ovs] = "-Dovs=true,-Dovs=false,jansson"
PACKAGECONFIG[audit] = "-Dlibaudit=yes,-Dlibaudit=no"
PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux"
PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false"
PACKAGECONFIG[dhcpcd] = "-Ddhcpcd=yes,-Ddhcpcd=no,,dhcpcd"
PACKAGECONFIG[dhclient] = "-Ddhclient=yes,-Ddhclient=no,,dhcp"
PACKAGECONFIG[concheck] = "-Dconcheck=true,-Dconcheck=false"
PACKAGES =+ " \
${PN}-adsl \
${PN}-bluetooth \
${PN}-cloud-setup \
${PN}-nmcli ${PN}-nmcli-doc \
${PN}-nmtui ${PN}-nmtui-doc \
${PN}-wifi \
${PN}-wwan \
${PN}-ovs ${PN}-ovs-doc \
${PN}-ppp \
"
SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup"
NETWORKMANAGER_PLUGINDIR = "${libdir}/NetworkManager/${PV}"
FILES:${PN}-adsl = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-adsl.so"
FILES:${PN}-bluetooth = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-bluetooth.so"
FILES:${PN}-cloud-setup = " \
${libexecdir}/nm-cloud-setup \
${systemd_system_unitdir}/nm-cloud-setup.service \
${systemd_system_unitdir}/nm-cloud-setup.timer \
${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \
${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \
"
ALLOW_EMPTY:${PN}-cloud-setup = "1"
SYSTEMD_SERVICE:${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}"
FILES:${PN}-nmcli = " \
${bindir}/nmcli \
"
FILES:${PN}-nmcli-doc = " \
${mandir}/man1/nmcli* \
"
FILES:${PN}-nmtui = " \
${bindir}/nmtui \
${bindir}/nmtui-edit \
${bindir}/nmtui-connect \
${bindir}/nmtui-hostname \
"
FILES:${PN}-nmtui-doc = " \
${mandir}/man1/nmtui* \
"
FILES:${PN}-wifi = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wifi.so"
FILES:${PN}-wwan = "\
${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wwan.so \
${NETWORKMANAGER_PLUGINDIR}/libnm-wwan.so \
"
FILES:${PN}-ovs = "\
${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-ovs.so \
${systemd_system_unitdir}/NetworkManager.service.d/NetworkManager-ovs.conf \
"
FILES:${PN}-ovs-doc = "\
${mandir}/man7/nm-openvswitch.7* \
"
FILES:${PN}-ppp = "\
${NETWORKMANAGER_PLUGINDIR}/libnm-ppp-plugin.so \
${libdir}/pppd/*/nm-pppd-plugin.so \
"
FILES:${PN}-dev += " \
${libdir}/pppd/*/*.la \
${libdir}/NetworkManager/*.la \
${NETWORKMANAGER_PLUGINDIR}/*.la \
"
FILES:${PN} += " \
${libexecdir} \
${libdir}/NetworkManager \
${nonarch_libdir}/firewalld/zones \
${nonarch_libdir}/NetworkManager/conf.d \
${nonarch_libdir}/NetworkManager/dispatcher.d \
${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \
${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \
${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \
${nonarch_libdir}/NetworkManager/VPN \
${nonarch_libdir}/NetworkManager/system-connections \
${datadir}/polkit-1 \
${datadir}/dbus-1 \
${nonarch_base_libdir}/udev/* \
${systemd_system_unitdir} \
"
RRECOMMENDS:${PN} += "\
iptables \
${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
${@bb.utils.contains('PACKAGECONFIG','adsl','${PN}-adsl','',d)} \
${@bb.utils.contains('PACKAGECONFIG','bluez5','${PN}-bluetooth','',d)} \
${@bb.utils.contains('PACKAGECONFIG','cloud-setup','${PN}-cloud-setup','',d)} \
${@bb.utils.contains('PACKAGECONFIG','nmcli','${PN}-nmcli','',d)} \
${@bb.utils.contains('PACKAGECONFIG','nmtui','${PN}-nmtui','',d)} \
${@bb.utils.contains('PACKAGECONFIG','wifi','${PN}-wifi','',d)} \
${@bb.utils.contains('PACKAGECONFIG','wwan','${PN}-wwan','',d)} \
${@bb.utils.contains('PACKAGECONFIG','ovs','${PN}-ovs','',d)} \
${@bb.utils.contains('PACKAGECONFIG','ppp','${PN}-ppp','',d)} \
"
RCONFLICTS:${PN} = "connman"
INITSCRIPT_NAME = "network-manager"
SYSTEMD_SERVICE:${PN} = "\
NetworkManager.service \
NetworkManager-dispatcher.service \
"
ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}"
ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}"
do_install:append() {
install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager
rm -rf ${D}/run ${D}${localstatedir}/run
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
# For read-only filesystem, do not create links during bootup
ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager
# systemd v210 and newer do not need this rule file
rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules
fi
# Enable iwd if compiled
if ${@bb.utils.contains('PACKAGECONFIG','iwd','true','false',d)}; then
install -Dm 0644 ${WORKDIR}/enable-iwd.conf ${D}${libdir}/NetworkManager/conf.d/enable-iwd.conf
fi
# Enable dhcpd if compiled
if ${@bb.utils.contains('PACKAGECONFIG','dhcpcd','true','false',d)}; then
install -Dm 0644 ${WORKDIR}/enable-dhcpcd.conf ${D}${libdir}/NetworkManager/conf.d/enable-dhcpcd.conf
fi
}

View File

@ -0,0 +1,34 @@
From ff0718174faf1167fb4765ebe4bd280bbe8d2ac6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sun, 8 Dec 2019 23:42:00 +0100
Subject: [PATCH] musl: Hack to fix configure
---
meson.build | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/meson.build b/meson.build
index 075776f..dfd7421 100644
--- a/meson.build
+++ b/meson.build
@@ -101,9 +101,14 @@ elif cc.has_header_symbol('paths.h', '_PATH_WTMPX')
config_h.set('PATH_WTMP', '_PATH_WTMPX')
else
- path_wtmp = '/var/log/utx.log'
- assert(run_command('test', '-e', path_wtmp).returncode() == 0, 'Do not know which filename to watch for wtmp changes')
- config_h.set_quoted('PATH_WTMP', path_wtmp)
+ # musl: This is just a build fix hack.
+ # As usual they know better, consider all other projects crap and offer zero
+ # alternatives: So wtmp is a dead stub only [1] (= /dev/null/wtmp - taken
+ # from musl sources).
+ # Maybe a hero comes along and adds utmps [2] to make accountsservice useful for musl
+ # [1] https://wiki.musl-libc.org/faq.html#Q:-Why-is-the-utmp/wtmp-functionality-only-implemented-as-stubs?
+ # [2] https://github.com/skarnet/utmps
+ config_h.set_quoted('PATH_WTMP', '/dev/null/wtmp')
endif
# compiler flags
--
2.34.1

View File

@ -0,0 +1,44 @@
From 7401e682400df87f3258f795bb1d143f64a35a9f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Mon, 9 Dec 2019 00:12:08 +0100
Subject: [PATCH] musl: add missing fgetspent_r
Stolen from void-linux
Upstream-Status: Inappropriate [musl-specific]
---
src/daemon.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/src/daemon.c b/src/daemon.c
index c52bda3..a7676fe 100644
--- a/src/daemon.c
+++ b/src/daemon.c
@@ -164,6 +164,26 @@ remove_cache_files (const gchar *user_name)
g_remove (icon_filename);
}
+/* Musl libc does not support fgetspent_r(), write own
+ * wrapper
+ */
+static int fgetspent_r(FILE *fp, struct spwd *spbuf, char *buf, size_t buflen, struct spwd **spbufp) {
+ struct spwd *shadow_entry = fgetspent(fp);
+ if(!shadow_entry)
+ return -1;
+ size_t namplen = strlen(shadow_entry->sp_namp);
+ size_t pwdplen = strlen(shadow_entry->sp_pwdp);
+
+ if(namplen + pwdplen + 2 > buflen)
+ return -1;
+
+ *spbufp = memcpy(spbuf, shadow_entry, sizeof(struct spwd));
+ spbuf->sp_namp = strncpy(buf, shadow_entry->sp_namp, namplen + 1);
+ spbuf->sp_pwdp = strncpy(buf + namplen + 1, shadow_entry->sp_pwdp, pwdplen + 1);
+
+ return 0;
+}
+
static struct passwd *
entry_generator_fgetpwent (Daemon *daemon,
GHashTable *users,

View File

@ -1,22 +0,0 @@
SUMMARY = "D-Bus service for accessing the list of user accounts and information attached to those accounts."
HOMEPAGE = "https://www.freedesktop.org/wiki/Software/AccountsService"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "https://www.freedesktop.org/software/accountsservice/accountsservice-${PV}.tar.xz"
SRC_URI[md5sum] = "6e4c6fbd490260cfe17de2e76f5d803a"
SRC_URI[sha256sum] = "ff2b2419a7e06bd9cb335ffe391c7409b49a0f0130b890bd54692a3986699c9b"
DEPENDS = "glib-2.0 intltool-native polkit systemd glib-2.0-native dbus"
inherit meson pkgconfig gettext gobject-introspection
FILES:${PN} += "\
${datadir}/dbus-1/interfaces/*.xml \
${datadir}/dbus-1/system-services/org.freedesktop.Accounts.service \
${datadir}/polkit-1/actions/org.freedesktop.accounts.policy \
${systemd_system_unitdir} \
"
EXTRA_OEMESON = "-Dsystemd=true"

View File

@ -0,0 +1,32 @@
DESCRIPTION = "D-Bus interfaces for querying and manipulating user account information"
HOMEPAGE = "https://www.freedesktop.org/wiki/Software/AccountsService/"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = " \
dbus \
polkit \
"
inherit meson gobject-introspection gtk-doc features_check systemd vala
REQUIRED_DISTRO_FEATURES = "polkit"
SRC_URI = "https://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
SRC_URI:append:libc-musl = " \
file://0001-musl-Hack-to-fix-build.patch \
file://0002-musl-add-missing-fgetspent_r.patch \
"
SRC_URI[sha256sum] = "909997a76919fe7dc138a9a01cea70bd622d5a932dbc9fb13010113023a7a391"
GTKDOC_MESON_OPTION = "gtk_doc"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[systemd] = ", -Dsystemdsystemunitdir='no', systemd"
SYSTEMD_SERVICE:${PN} = "accounts-daemon.service"
FILES:${PN} += " \
${datadir}/dbus-1 \
${datadir}/polkit-1 \
"

View File

@ -1,16 +0,0 @@
SUMMARY = "GTK support library for colord"
HOMEPAGE = "https://www.freedesktop.org/software/colord/"
LICENSE = "LGPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
SRC_URI = "https://www.freedesktop.org/software/colord/releases/colord-gtk-${PV}.tar.xz"
SRC_URI[md5sum] = "bb9d6f3c037152ad791003375aa6c16c"
SRC_URI[sha256sum] = "28d00b7f157ea3e2ea5315387b2660fde82faba16674861c50465e55d61a3e45"
DEPENDS = "lcms glib-2.0 intltool-native gtk+3 glib-2.0-native colord"
inherit pkgconfig gettext autotools
EXTRA_OECONF = "--enable-introspection=no --disable-gtk-doc"

View File

@ -0,0 +1,25 @@
SUMMARY = "GTK support library for colord"
HOMEPAGE = "https://www.freedesktop.org/software/colord/"
LICENSE = "LGPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
inherit meson gobject-introspection gettext gtk-doc features_check
DEPENDS = " \
colord \
"
SRC_URI = "http://www.freedesktop.org/software/colord/releases/${BPN}-${PV}.tar.xz"
SRC_URI[sha256sum] = "b9466656d66d9a6ffbc2dd04fa91c8f6af516bf9efaacb69744eec0f56f3c1d0"
PACKAGECONFIG ??= "gtk3 gtk4"
PACKAGECONFIG[gtk3] = "-Dgtk3=true, -Dgtk3=false, gtk+3"
PACKAGECONFIG[gtk4] = "-Dgtk4=true, -Dgtk4=false, gtk4"
EXTRA_OEMESON = "-Dman=false"
GIR_MESON_OPTION = ""
# gobject-introspection is mandatory and cannot be configured
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
# colord
REQUIRED_DISTRO_FEATURES += "polkit"

View File

@ -1,93 +0,0 @@
From 7d5e205aa58a10e7b1ccc2fa75b443508a5c3e18 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 20 Jan 2016 04:31:59 +0000
Subject: [PATCH] make netgroup support configurable
Disable using innetgr and *netigrent function if not available
These functions are not available on all libc implementations e.g. musl
doesnt have them.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
Rebase to 0.115
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
configure.ac | 2 +-
src/polkitbackend/polkitbackendinteractiveauthority.c | 6 +++++-
src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 8b3e1b1..1c392df 100644
--- a/configure.ac
+++ b/configure.ac
@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"],
[AC_MSG_ERROR([Can't find expat library. Please install expat.])])
AC_SUBST(EXPAT_LIBS)
-AC_CHECK_FUNCS(clearenv fdatasync)
+AC_CHECK_FUNCS(clearenv fdatasync getnetgrent innetgr)
if test "x$GCC" = "xyes"; then
LDFLAGS="-Wl,--as-needed $LDFLAGS"
diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c
index cb6fdab..de3f752 100644
--- a/src/polkitbackend/polkitbackendinteractiveauthority.c
+++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
@@ -2224,7 +2224,7 @@ get_users_in_group (PolkitIdentity *group,
out:
return ret;
}
-
+#if defined HAVE_GETNETGRENT
static GList *
get_users_in_net_group (PolkitIdentity *group,
gboolean include_root)
@@ -2285,6 +2285,8 @@ get_users_in_net_group (PolkitIdentity *group,
return ret;
}
+#endif
+
/* ---------------------------------------------------------------------------------------------------- */
static void
@@ -2369,10 +2371,12 @@ authentication_agent_initiate_challenge (AuthenticationAgent *agent,
{
user_identities = g_list_concat (user_identities, get_users_in_group (identity, FALSE));
}
+#if defined HAVE_GETNETGRENT
else if (POLKIT_IS_UNIX_NETGROUP (identity))
{
user_identities = g_list_concat (user_identities, get_users_in_net_group (identity, FALSE));
}
+#endif
else
{
g_warning ("Unsupported identity");
diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
index 517f3c6..6042dd2 100644
--- a/src/polkitbackend/polkitbackendjsauthority.cpp
+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
user = JS_EncodeString (cx, args[0].toString());
netgroup = JS_EncodeString (cx, args[1].toString());
+#if defined HAVE_INNETGR
if (innetgr (netgroup,
NULL, /* host */
user,
@@ -1509,6 +1510,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
{
is_in_netgroup = true;
}
+#endif
JS_free (cx, netgroup);
JS_free (cx, user);
--
2.7.4

View File

@ -0,0 +1,84 @@
From 85c2dd9275cdfb369f613089f22733c0f1ba2aec Mon Sep 17 00:00:00 2001
From: Jan Rybar <jrybar@redhat.com>
Date: Tue, 25 Jan 2022 17:21:46 +0000
Subject: [PATCH 1/3] pkexec: local privilege escalation (CVE-2021-4034)
Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
---
src/programs/pkcheck.c | 5 +++++
src/programs/pkexec.c | 23 ++++++++++++++++++++---
2 files changed, 25 insertions(+), 3 deletions(-)
CVE: CVE-2021-4034
Upstream-Status: Backport [a2bf5c9c83b6ae46cbd5c779d3055bff81ded683]
diff --git a/src/programs/pkcheck.c b/src/programs/pkcheck.c
index f1bb4e1..768525c 100644
--- a/src/programs/pkcheck.c
+++ b/src/programs/pkcheck.c
@@ -363,6 +363,11 @@ main (int argc, char *argv[])
local_agent_handle = NULL;
ret = 126;
+ if (argc < 1)
+ {
+ exit(126);
+ }
+
/* Disable remote file access from GIO. */
setenv ("GIO_USE_VFS", "local", 1);
diff --git a/src/programs/pkexec.c b/src/programs/pkexec.c
index 7698c5c..84e5ef6 100644
--- a/src/programs/pkexec.c
+++ b/src/programs/pkexec.c
@@ -488,6 +488,15 @@ main (int argc, char *argv[])
pid_t pid_of_caller;
gpointer local_agent_handle;
+
+ /*
+ * If 'pkexec' is called THIS wrong, someone's probably evil-doing. Don't be nice, just bail out.
+ */
+ if (argc<1)
+ {
+ exit(127);
+ }
+
ret = 127;
authority = NULL;
subject = NULL;
@@ -614,10 +623,10 @@ main (int argc, char *argv[])
path = g_strdup (pwstruct.pw_shell);
if (!path)
- {
+ {
g_printerr ("No shell configured or error retrieving pw_shell\n");
goto out;
- }
+ }
/* If you change this, be sure to change the if (!command_line)
case below too */
command_line = g_strdup (path);
@@ -636,7 +645,15 @@ main (int argc, char *argv[])
goto out;
}
g_free (path);
- argv[n] = path = s;
+ path = s;
+
+ /* argc<2 and pkexec runs just shell, argv is guaranteed to be null-terminated.
+ * /-less shell shouldn't happen, but let's be defensive and don't write to null-termination
+ */
+ if (argv[n] != NULL)
+ {
+ argv[n] = path;
+ }
}
if (access (path, F_OK) != 0)
{
--
2.20.1

View File

@ -0,0 +1,88 @@
From c86aea01a06ad4d6c428137e9cfe2f74b1ae7f01 Mon Sep 17 00:00:00 2001
From: Jan Rybar <jrybar@redhat.com>
Date: Mon, 21 Feb 2022 08:29:05 +0000
Subject: [PATCH 2/3] CVE-2021-4115 (GHSL-2021-077) fix
Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
---
src/polkit/polkitsystembusname.c | 38 ++++++++++++++++++++++++++++----
1 file changed, 34 insertions(+), 4 deletions(-)
CVE: CVE-2021-4115
Upstream-Status: Backport [41cb093f554da8772362654a128a84dd8a5542a7]
diff --git a/src/polkit/polkitsystembusname.c b/src/polkit/polkitsystembusname.c
index 8ed1363..2fbf5f1 100644
--- a/src/polkit/polkitsystembusname.c
+++ b/src/polkit/polkitsystembusname.c
@@ -62,6 +62,10 @@ enum
PROP_NAME,
};
+
+guint8 dbus_call_respond_fails; // has to be global because of callback
+
+
static void subject_iface_init (PolkitSubjectIface *subject_iface);
G_DEFINE_TYPE_WITH_CODE (PolkitSystemBusName, polkit_system_bus_name, G_TYPE_OBJECT,
@@ -364,6 +368,7 @@ on_retrieved_unix_uid_pid (GObject *src,
if (!v)
{
data->caught_error = TRUE;
+ dbus_call_respond_fails += 1;
}
else
{
@@ -405,6 +410,8 @@ polkit_system_bus_name_get_creds_sync (PolkitSystemBusName *system_bus
tmp_context = g_main_context_new ();
g_main_context_push_thread_default (tmp_context);
+ dbus_call_respond_fails = 0;
+
/* Do two async calls as it's basically as fast as one sync call.
*/
g_dbus_connection_call (connection,
@@ -432,11 +439,34 @@ polkit_system_bus_name_get_creds_sync (PolkitSystemBusName *system_bus
on_retrieved_unix_uid_pid,
&data);
- while (!((data.retrieved_uid && data.retrieved_pid) || data.caught_error))
- g_main_context_iteration (tmp_context, TRUE);
+ while (TRUE)
+ {
+ /* If one dbus call returns error, we must wait until the other call
+ * calls _call_finish(), otherwise fd leak is possible.
+ * Resolves: GHSL-2021-077
+ */
- if (data.caught_error)
- goto out;
+ if ( (dbus_call_respond_fails > 1) )
+ {
+ // we got two faults, we can leave
+ goto out;
+ }
+
+ if ((data.caught_error && (data.retrieved_pid || data.retrieved_uid)))
+ {
+ // we got one fault and the other call finally finished, we can leave
+ goto out;
+ }
+
+ if ( !(data.retrieved_uid && data.retrieved_pid) )
+ {
+ g_main_context_iteration (tmp_context, TRUE);
+ }
+ else
+ {
+ break;
+ }
+ }
if (out_uid)
*out_uid = data.uid;
--
2.20.1

View File

@ -1,4 +1,4 @@
From 21aa2747e8f0048759aab184b07dd6389666d5e6 Mon Sep 17 00:00:00 2001
From 0c1debb380fee7f5b2bc62406e45856dc9c9e1a1 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 22 May 2019 13:18:55 -0700
Subject: [PATCH] make netgroup support optional
@ -17,20 +17,23 @@ Fixes bug 50145.
Closes polkit/polkit#14.
Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 2 +-
src/polkit/polkitidentity.c | 16 ++++++++++++++++
src/polkit/polkitunixnetgroup.c | 3 +++
.../polkitbackendinteractiveauthority.c | 14 ++++++++------
src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++
src/polkitbackend/polkitbackendjsauthority.cpp | 3 +++
test/polkit/polkitidentitytest.c | 9 ++++++++-
test/polkit/polkitunixnetgrouptest.c | 3 +++
.../test-polkitbackendjsauthority.c | 2 ++
8 files changed, 43 insertions(+), 8 deletions(-)
8 files changed, 44 insertions(+), 8 deletions(-)
diff --git a/configure.ac b/configure.ac
index b625743..d807086 100644
--- a/configure.ac
+++ b/configure.ac
@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXP
@@ -100,7 +100,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"],
[AC_MSG_ERROR([Can't find expat library. Please install expat.])])
AC_SUBST(EXPAT_LIBS)
@ -39,9 +42,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
if test "x$GCC" = "xyes"; then
LDFLAGS="-Wl,--as-needed $LDFLAGS"
diff --git a/src/polkit/polkitidentity.c b/src/polkit/polkitidentity.c
index 3aa1f7f..10e9c17 100644
--- a/src/polkit/polkitidentity.c
+++ b/src/polkit/polkitidentity.c
@@ -182,7 +182,15 @@ polkit_identity_from_string (const gcha
@@ -182,7 +182,15 @@ polkit_identity_from_string (const gchar *str,
}
else if (g_str_has_prefix (str, "unix-netgroup:"))
{
@ -57,7 +62,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
}
if (identity == NULL && (error != NULL && *error == NULL))
@@ -344,6 +352,13 @@ polkit_identity_new_for_gvariant (GVaria
@@ -344,6 +352,13 @@ polkit_identity_new_for_gvariant (GVariant *variant,
GVariant *v;
const char *name;
@ -71,7 +76,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
v = lookup_asv (details_gvariant, "name", G_VARIANT_TYPE_STRING, error);
if (v == NULL)
{
@@ -353,6 +368,7 @@ polkit_identity_new_for_gvariant (GVaria
@@ -353,6 +368,7 @@ polkit_identity_new_for_gvariant (GVariant *variant,
name = g_variant_get_string (v, NULL);
ret = polkit_unix_netgroup_new (name);
g_variant_unref (v);
@ -79,9 +84,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
}
else
{
diff --git a/src/polkit/polkitunixnetgroup.c b/src/polkit/polkitunixnetgroup.c
index 8a2b369..83f8d4a 100644
--- a/src/polkit/polkitunixnetgroup.c
+++ b/src/polkit/polkitunixnetgroup.c
@@ -194,6 +194,9 @@ polkit_unix_netgroup_set_name (PolkitUni
@@ -194,6 +194,9 @@ polkit_unix_netgroup_set_name (PolkitUnixNetgroup *group,
PolkitIdentity *
polkit_unix_netgroup_new (const gchar *name)
{
@ -91,9 +98,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
g_return_val_if_fail (name != NULL, NULL);
return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_NETGROUP,
"name", name,
diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c
index 056d9a8..36c2f3d 100644
--- a/src/polkitbackend/polkitbackendinteractiveauthority.c
+++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
@@ -2233,25 +2233,26 @@ get_users_in_net_group (PolkitIdentity
@@ -2233,25 +2233,26 @@ get_users_in_net_group (PolkitIdentity *group,
GList *ret;
ret = NULL;
@ -126,7 +135,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
PolkitIdentity *user;
GError *error = NULL;
@@ -2282,6 +2283,7 @@ get_users_in_net_group (PolkitIdentity
@@ -2282,6 +2283,7 @@ get_users_in_net_group (PolkitIdentity *group,
out:
endnetgrent ();
@ -134,9 +143,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
return ret;
}
diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
index ca17108..41d8d5c 100644
--- a/src/polkitbackend/polkitbackendjsauthority.cpp
+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext
@@ -1520,6 +1520,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
JS::CallArgs args = JS::CallArgsFromVp (argc, vp);
@ -144,14 +155,17 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
JS::RootedString usrstr (authority->priv->cx);
usrstr = args[0].toString();
user = JS_EncodeStringToUTF8 (cx, usrstr);
@@ -1519,6 +1520,7 @@ js_polkit_user_is_in_netgroup (JSContext
@@ -1535,6 +1536,8 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
is_in_netgroup = true;
}
JS_free (cx, netgroup);
JS_free (cx, user);
+#endif
+
ret = true;
args.rval ().setBoolean (is_in_netgroup);
diff --git a/test/polkit/polkitidentitytest.c b/test/polkit/polkitidentitytest.c
index e91967b..e829aaa 100644
--- a/test/polkit/polkitidentitytest.c
+++ b/test/polkit/polkitidentitytest.c
@@ -19,6 +19,7 @@
@ -162,7 +176,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
#include "glib.h"
#include <polkit/polkit.h>
#include <polkit/polkitprivate.h>
@@ -145,11 +146,15 @@ struct ComparisonTestData comparison_tes
@@ -145,11 +146,15 @@ struct ComparisonTestData comparison_test_data [] = {
{"unix-group:root", "unix-group:jane", FALSE},
{"unix-group:jane", "unix-group:jane", TRUE},
@ -193,6 +207,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
add_comparison_tests ();
diff --git a/test/polkit/polkitunixnetgrouptest.c b/test/polkit/polkitunixnetgrouptest.c
index 3701ba1..e3352eb 100644
--- a/test/polkit/polkitunixnetgrouptest.c
+++ b/test/polkit/polkitunixnetgrouptest.c
@@ -19,6 +19,7 @@
@ -213,6 +229,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
+#endif
return g_test_run ();
}
diff --git a/test/polkitbackend/test-polkitbackendjsauthority.c b/test/polkitbackend/test-polkitbackendjsauthority.c
index f97e0e0..fc52149 100644
--- a/test/polkitbackend/test-polkitbackendjsauthority.c
+++ b/test/polkitbackend/test-polkitbackendjsauthority.c
@@ -137,12 +137,14 @@ test_get_admin_identities (void)

View File

@ -1,11 +1,11 @@
SUMMARY = "PolicyKit Authorization Framework"
DESCRIPTION = "The polkit package is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes."
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/polkit"
LICENSE = "LGPLv2+"
LICENSE = "LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \
file://src/polkit/polkit.h;beginline=1;endline=20;md5=0a8630b0133176d0504c87a0ded39db4"
DEPENDS = "expat glib-2.0 intltool-native mozjs78"
DEPENDS = "expat glib-2.0 intltool-native duktape"
inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection features_check
@ -24,27 +24,30 @@ PACKAGECONFIG[consolekit] = ",,,consolekit"
PAM_SRC_URI = "file://polkit-1_pam.patch"
SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
file://0003-make-netgroup-support-optional.patch \
file://0001-pkexec-local-privilege-escalation-CVE-2021-4034.patch \
file://0002-CVE-2021-4115-GHSL-2021-077-fix.patch \
file://0003-Added-support-for-duktape-as-JS-engine.patch \
"
SRC_URI[sha256sum] = "6d54e984e7072339f0d3147179e16e34e5fe0705158f259a765d772dcf78956b"
SRC_URI[md5] = "ae3f2a742740069922589ad20ffd54d2"
SRC_URI[sha256sum] = "c8579fdb86e94295404211285fee0722ad04893f0213e571bd75c00972fd1f5c"
EXTRA_OECONF = "--with-os-type=moblin \
--disable-man-pages \
--disable-libelogind \
--enable-libsystemd-login \
--with-duktape \
"
do_configure_prepend() {
export LIBJS_CFLAGS="-include ${STAGING_INCDIR}/mozjs-78/js/RequiredDefines.h -isystem ${STAGING_INCDIR}/mozjs-78"
do_configure:prepend () {
rm -f ${S}/buildutil/lt*.m4 ${S}/buildutil/libtool.m4
}
do_compile_prepend () {
do_compile:prepend () {
export GIR_EXTRA_LIBS_PATH="${B}/src/polkit/.libs"
}
PACKAGES =+ "${PN}-examples"
FILES_${PN}_append = " \
FILES:${PN}:append = " \
${libdir}/${BPN}-1 \
${nonarch_libdir}/${BPN}-1 \
${datadir}/dbus-1 \
@ -52,10 +55,10 @@ FILES_${PN}_append = " \
${datadir}/gettext \
"
FILES_${PN}-examples = "${bindir}/*example*"
FILES:${PN}-examples = "${bindir}/*example*"
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd"
USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd"
SYSTEMD_SERVICE_${PN} = "${BPN}.service"
SYSTEMD_SERVICE:${PN} = "${BPN}.service"
SYSTEMD_AUTO_ENABLE = "disable"

View File

@ -0,0 +1,27 @@
From 63d97fefdbc90f5c68f67bdc30844776d9a1b720 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 30 May 2017 14:55:49 +0300
Subject: [PATCH] Don't use AC_CANONICAL_HOST
This won't work when building allarch (and is only used to find out if
target is windows).
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
configure.ac | 1 -
1 file changed, 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index f2659a5..1e8b016 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,6 @@ AC_PREREQ(2.53)
AC_INIT([adwaita-icon-theme], [41.0],
[http://bugzilla.gnome.org/enter_bug.cgi?product=adwaita-icon-theme])
-AC_CANONICAL_HOST
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([index.theme.in])

View File

@ -0,0 +1,84 @@
From 79da031e9811f3eef34b14cce419be93fea34319 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 13 Jun 2017 18:10:06 +0300
Subject: [PATCH] Run installation commands as shell jobs
This greatly speeds up installation time on multi-core systems.
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/adwaita-icon-theme/-/merge_requests/39]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
src/fullcolor/Makefile.am | 5 +++--
src/spinner/Makefile.am | 7 ++++---
src/symbolic/Makefile.am | 11 ++++++-----
3 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/src/fullcolor/Makefile.am b/src/fullcolor/Makefile.am
index d73529b..b7d0808 100644
--- a/src/fullcolor/Makefile.am
+++ b/src/fullcolor/Makefile.am
@@ -9,9 +9,10 @@ install-data-local:
for file in `cd $(top_srcdir)/$(SVGOUTDIR)/$$size && find . -name "*.png"`; do \
context="`dirname $$file`"; \
$(mkdir_p) $(DESTDIR)$(themedir)/$$size/$$context; \
- $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file; \
+ $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file & \
done; \
- done;
+ done; \
+ wait
## FIXME we should add a way to remove links generated by icon mapping
uninstall-local:
diff --git a/src/spinner/Makefile.am b/src/spinner/Makefile.am
index c14caf6..322dc0d 100644
--- a/src/spinner/Makefile.am
+++ b/src/spinner/Makefile.am
@@ -24,13 +24,14 @@ install-data-local:
for file in `cd $(top_srcdir)/$(SVGOUTDIR)/$$size; find . -name "*.png"`; do \
context="`dirname $$file`"; \
$(mkdir_p) $(DESTDIR)$(themedir)/$$size/$$context; \
- $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file; \
+ $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file & \
done; \
for file in `cd $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32; find . -name "*.svg"`; do \
context="`dirname $$file`"; \
$(mkdir_p) $(DESTDIR)$(themedir)/scalable-up-to-32/$$context; \
- $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32/$$file $(DESTDIR)$(themedir)/scalable-up-to-32/$$file; \
- done
+ $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32/$$file $(DESTDIR)$(themedir)/scalable-up-to-32/$$file & \
+ done; \
+ wait
uninstall-local:
for file in `cd $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32; find . -name "*.svg"`; do \
diff --git a/src/symbolic/Makefile.am b/src/symbolic/Makefile.am
index 957c0ee..e1f8818 100644
--- a/src/symbolic/Makefile.am
+++ b/src/symbolic/Makefile.am
@@ -34,18 +34,19 @@ install-data-local:
for file in `cd $(top_srcdir)/$(SVGOUTDIR)/$$size; find . -name "*.png"`; do \
context="`dirname $$file`"; \
$(mkdir_p) $(DESTDIR)$(themedir)/$$size/$$context; \
- $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file; \
+ $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file & \
done; \
- done
+ done; \
for file in `cd $(top_srcdir)/$(SVGOUTDIR)/scalable; find . -name "*.svg"`; do \
context="`dirname $$file`"; \
$(mkdir_p) $(DESTDIR)$(themedir)/scalable/$$context; \
- $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/scalable/$$file $(DESTDIR)$(themedir)/scalable/$$file; \
+ $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/scalable/$$file $(DESTDIR)$(themedir)/scalable/$$file & \
for size in $(symbolic_encode_sizes); do \
$(mkdir_p) $(DESTDIR)$(themedir)/$$size/$$context; \
- $(GTK_ENCODE_SYMBOLIC_SVG) $(top_srcdir)/$(SVGOUTDIR)/scalable/$$file $$size -o $(DESTDIR)$(themedir)/$$size/$$context; \
+ $(GTK_ENCODE_SYMBOLIC_SVG) $(top_srcdir)/$(SVGOUTDIR)/scalable/$$file $$size -o $(DESTDIR)$(themedir)/$$size/$$context & \
done \
- done
+ done; \
+ wait
uninstall-local:
for file in `cd $(top_srcdir)/$(SVGOUTDIR)/scalable; find . -name "*.svg"`; do \

View File

@ -0,0 +1,42 @@
SUMMARY = "GTK+ icon theme"
DESCRIPTION = "The Adwaita icon theme is the default icon theme of the GNOME desktop \
This package package contains an icon theme for Gtk+ 3 applications."
HOMEPAGE = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme/issues"
SECTION = "x11/gnome"
LICENSE = "LGPL-3.0-only | CC-BY-SA-3.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c \
file://COPYING_CCBYSA3;md5=96143d33de3a79321b1006c4e8ed07e7 \
file://COPYING_LGPL;md5=e6a600fd5e1d9cbde2d983680233ad02"
inherit allarch autotools pkgconfig gettext gtk-icon-cache gnomebase
SRC_URI += " \
file://0001-Don-t-use-AC_CANONICAL_HOST.patch \
"
SRC_URI[archive.sha256sum] = "5e85b5adc8dee666900fcaf271ba717f7dcb9d0a03d96dae08f9cbd27e18b1e0"
DEPENDS += "librsvg-native"
PACKAGES = "${PN}-cursors ${PN}-symbolic-hires ${PN}-symbolic ${PN}-hires ${PN}"
RREPLACES:${PN} = "gnome-icon-theme"
RCONFLICTS:${PN} = "gnome-icon-theme"
RPROVIDES:${PN} = "gnome-icon-theme"
FILES:${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/"
FILES:${PN}-symbolic-hires = "${prefix}/share/icons/Adwaita/96x96/*/*.symbolic.png \
${prefix}/share/icons/Adwaita/64x64/*/*.symbolic.png \
${prefix}/share/icons/Adwaita/48x48/*/*.symbolic.png \
${prefix}/share/icons/Adwaita/32x32/*/*.symbolic.png"
FILES:${PN}-symbolic = "${prefix}/share/icons/Adwaita/16x16/*/*.symbolic.png \
${prefix}/share/icons/Adwaita/24x24/*/*.symbolic.png \
${prefix}/share/icons/Adwaita/scalable/*/*-symbolic*.svg"
FILES:${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/ \
${prefix}/share/icons/Adwaita/512x512/"
FILES:${PN} = "${prefix}/share/icons/Adwaita/ \
${prefix}/share/pkgconfig/adwaita-icon-theme.pc"
BBCLASSEXTEND = "native nativesdk"

View File

@ -1,60 +0,0 @@
SUMMARY = "GNOME Display Manager"
LICENSE="GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = " \
dconf-native \
itstool-native \
gtk+3 \
glib-2.0 \
accountsservice \
libcanberra \
libxinerama \
libpam \
plymouth \
"
REQUIRED_DISTRO_FEATURES = "x11 systemd pam"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gobject-introspection gettext systemd useradd upstream-version-is-even features_check
SRC_URI[archive.sha256sum] = "5738c4293a9f5a80d4a6e9e06f4d0df3e9f313ca7b61bfb4d8afaba983e200dc"
SRC_URI += "file://gdm.conf"
GIR_MESON_OPTION = ""
FILES:${PN} += " \
${libdir}/systemd/system/gdm.service \
${libdir}/systemd/user \
${base_libdir}/security/pam_gdm.so \
${datadir}/gnome-session/sessions \
${datadir}/dconf/profile \
/run/gdm/greeter \
"
do_install:append() {
install -d ${D}${sysconfdir}/default/volatiles
echo "d gdm gdm 755 ${localstatedir}/run/gdm/greeter none" > ${D}${sysconfdir}/default/volatiles/99_gdm
rm ${D}${sysconfdir}/gdm/custom.conf
rm -rf ${D}/run/gdm
rm ${D}${libdir}/udev/rules.d/61-gdm.rules
install -m 644 ${WORKDIR}/gdm.conf ${D}${sysconfdir}/gdm/custom.conf
}
USERADD_PACKAGES = "${PN}"
USERADD_PARAM:${PN} = "--system --home /var/lib/gdm -u 21 -s /bin/false --user-group gdm"
SYSTEMD_SERVICE:${PN} = "${BPN}.service"
EXTRA_OEMESON = "\
-Dplymouth=enabled \
-Dxdmcp=disabled \
-Ddefault-pam-config=openembedded \
-Dpam-mod-dir=${base_libdir}/security \
-Dgdm-xsession=true\
"
PACKAGES += "${PN}-help"
FILES:${PN}-help = "${datadir}/help"

View File

@ -0,0 +1,58 @@
SUMMARY = "GNOME Display Manager"
LICENSE="GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = " \
dconf-native \
gtk+3 \
accountsservice \
libcanberra \
libpam \
libgudev \
"
REQUIRED_DISTRO_FEATURES = "x11 systemd pam polkit gobject-introspection-data"
GIR_MESON_OPTION = ""
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gobject-introspection gettext systemd useradd itstool gnome-help features_check
SRC_URI[archive.sha256sum] = "a328ac976937bec179971ff07829a1246b98ce724181c128ae32a0ba47ad3855"
EXTRA_OEMESON = " \
-Dplymouth=disabled \
-Ddefault-pam-config=openembedded \
-Dpam-mod-dir=${base_libdir}/security \
"
do_install:append() {
rm -rf ${D}/run ${D}${localstatedir}/run
}
USERADD_PACKAGES = "${PN}"
USERADD_PARAM:${PN} = "--system --no-create-home --home ${localstatedir}/lib/gdm --user-group gdm"
SYSTEMD_SERVICE:${PN} = "${BPN}.service"
# Some gnome components - as gnome-panel and gnome-shell (!!) - require gdm
# components. To allow gnome-images using different display-manager, split them
# out into a seperate package.
PACKAGE_BEFORE_PN = "${PN}-base"
FILES:${PN}-base = " \
${datadir}/glib-2.0 \
${datadir}/gnome-session \
${libdir}/lib*${SOLIBS} \
${libdir}/girepository-1.0 \
"
CONFFILES:${PN} += "${sysconfdir}/gdm/custom.conf"
FILES:${PN} += " \
${datadir}/dconf \
${base_libdir}/security/pam_gdm.so \
${localstatedir} \
${systemd_unitdir} ${systemd_user_unitdir} \
"
RDEPENDS:${PN} += "${PN}-base"

View File

@ -1,19 +0,0 @@
SUMMARY = "A GObject-based Exiv2 wrapper"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2"
DEPENDS = "exiv2"
GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk_doc"
inherit gnomebase gobject-introspection gtk-doc
SRC_URI[archive.md5sum] = "44a3cfeab1afd83a71e852835d24e656"
SRC_URI[archive.sha256sum] = "8aeafd59653ea88f6b78cb03780ee9fd61a2f993070c5f0d0976bed93ac2bd77"
EXTRA_OEMESON = " \
-Dvapi=false \
-Dpython2_girdir=no \
-Dpython3_girdir=no \
"

View File

@ -0,0 +1,21 @@
SUMMARY = "A GObject-based Exiv2 wrapper"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2"
DEPENDS = "exiv2 python3-pygobject-native"
GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk_doc"
inherit gnomebase gobject-introspection gtk-doc python3native
SRC_URI[archive.sha256sum] = "e58279a6ff20b6f64fa499615da5e9b57cf65ba7850b72fafdf17221a9d6d69e"
EXTRA_OEMESON = " \
-Dvapi=false \
-Dpython3_girdir=${PYTHON_SITEPACKAGES_DIR}/gi/overrides \
"
PACKAGES =+ "${PN}-python3"
FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}"
RDEPENDS:${PN}-python3 = "${PN}"

View File

@ -1,55 +0,0 @@
From a8011c5037a8807bb592b5d9e7e9f73be1e185e6 Mon Sep 17 00:00:00 2001
From: Bruce Leidl <bruce@subgraph.com>
Date: Tue, 5 Oct 2021 12:37:53 +0000
Subject: [PATCH] Fix tests that cannot run
---
meson.build | 28 ----------------------------
1 file changed, 28 deletions(-)
diff --git a/meson.build b/meson.build
index 6ded66c..3753b9f 100644
--- a/meson.build
+++ b/meson.build
@@ -234,27 +234,6 @@ release builds of SpiderMonkey. Try configuring SpiderMonkey with
--disable-debug.''')
endif
-# Check if a minimal SpiderMonkey program compiles, links, and runs. If not,
-# it's most likely the case that SpiderMonkey was configured incorrectly, for
-# example by building mozglue as a shared library.
-minimal_program = cxx.run('''
-#include <js/Initialization.h>
-int main(void) {
- if (!JS_Init()) return 1;
- JS_ShutDown();
- return 0;
-}
-''',
- args: debug_arg, dependencies: spidermonkey,
- name: 'SpiderMonkey sanity check')
-
-if not minimal_program.compiled() or minimal_program.returncode() != 0
- error('''A minimal SpiderMonkey program
-could not be compiled, linked, or run. Most likely you should build it with a
-different configuration. Check the recommended configuration:
-https://github.com/spidermonkey-embedders/spidermonkey-embedding-examples/blob/esr78/docs/Building%20SpiderMonkey.md''')
-endif
-
have_printf_alternative_int = cc.compiles('''
#include <stdio.h>
int main(void) {
@@ -656,13 +635,6 @@ if not get_option('skip_gtk_tests')
have_gtk4 = dependency('gtk4', required: false).found()
endif
-subdir('installed-tests')
-
-# Note: The test program in test/ needs to be ported
-# to Windows before we can build it on Windows.
-if host_machine.system() != 'windows'
- subdir('test')
-endif
valgrind_environment = environment()
valgrind_environment.set('G_SLICE', 'always-malloc,debug-blocks')

View File

@ -1,50 +0,0 @@
From cb34a340e47a2c85830346aa3ebeb7e2c278c6c4 Mon Sep 17 00:00:00 2001
From: Bruce Leidl <bruce@subgraph.com>
Date: Tue, 5 Oct 2021 11:58:42 +0000
Subject: [PATCH] Fix tests that cannot run
---
meson.build | 23 -----------------------
1 file changed, 23 deletions(-)
diff --git a/meson.build b/meson.build
index 6ded66c..3bd6142 100644
--- a/meson.build
+++ b/meson.build
@@ -234,27 +234,6 @@ release builds of SpiderMonkey. Try configuring SpiderMonkey with
--disable-debug.''')
endif
-# Check if a minimal SpiderMonkey program compiles, links, and runs. If not,
-# it's most likely the case that SpiderMonkey was configured incorrectly, for
-# example by building mozglue as a shared library.
-minimal_program = cxx.run('''
-#include <js/Initialization.h>
-int main(void) {
- if (!JS_Init()) return 1;
- JS_ShutDown();
- return 0;
-}
-''',
- args: debug_arg, dependencies: spidermonkey,
- name: 'SpiderMonkey sanity check')
-
-if not minimal_program.compiled() or minimal_program.returncode() != 0
- error('''A minimal SpiderMonkey program
-could not be compiled, linked, or run. Most likely you should build it with a
-different configuration. Check the recommended configuration:
-https://github.com/spidermonkey-embedders/spidermonkey-embedding-examples/blob/esr78/docs/Building%20SpiderMonkey.md''')
-endif
-
have_printf_alternative_int = cc.compiles('''
#include <stdio.h>
int main(void) {
@@ -656,8 +635,6 @@ if not get_option('skip_gtk_tests')
have_gtk4 = dependency('gtk4', required: false).found()
endif
-subdir('installed-tests')
-
# Note: The test program in test/ needs to be ported
# to Windows before we can build it on Windows.
if host_machine.system() != 'windows'

View File

@ -0,0 +1,47 @@
From fa47185d9c8150a0dcb0ea12b92fcf139edbef35 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Wed, 27 Oct 2021 20:18:47 +0200
Subject: [PATCH] Support cross builds a bit better
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Do not build/run mozjs-linked program
* Do not try to run test applications
Upstream-Status: Submitted[https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/690]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
meson.build | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 136e812..f5b91e0 100644
--- a/meson.build
+++ b/meson.build
@@ -252,6 +252,7 @@ release builds of SpiderMonkey. Try configuring SpiderMonkey with
--disable-debug.''')
endif
+if not meson.is_cross_build()
# Check if a minimal SpiderMonkey program compiles, links, and runs. If not,
# it's most likely the case that SpiderMonkey was configured incorrectly, for
# example by building mozglue as a shared library.
@@ -282,6 +283,7 @@ elif minimal_program.returncode() != 0
failed to execute. Most likely you should build it with a different
configuration.''' + recommended_configuration)
endif
+endif # not meson.is_cross_build()
have_printf_alternative_int = cc.compiles('''
#include <stdio.h>
@@ -682,7 +684,7 @@ subdir('installed-tests')
# Note: The test program in test/ needs to be ported
# to Windows before we can build it on Windows.
-if host_machine.system() != 'windows'
+if host_machine.system() != 'windows' and not meson.is_cross_build()
subdir('test')
endif

View File

@ -0,0 +1,31 @@
From 2b8aa1ea4a4d1836164c934b1ab2556a32cb5af7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Wed, 27 Oct 2021 20:04:02 +0200
Subject: [PATCH] meson.build: Do not add dir installed-tests when
installed_tests is false
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Submitted[https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/690]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
meson.build | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index f5b91e0..3110530 100644
--- a/meson.build
+++ b/meson.build
@@ -680,7 +680,9 @@ if not get_option('skip_gtk_tests')
have_gtk4 = dependency('gtk4', required: false).found()
endif
-subdir('installed-tests')
+if get_option('installed_tests')
+ subdir('installed-tests')
+endif
# Note: The test program in test/ needs to be ported
# to Windows before we can build it on Windows.

View File

@ -1,21 +0,0 @@
SUMMARY = "GNOME javascript bindings based on the Spidermonkey javascript engine"
HOMEPAGE = "https://wiki.gnome.org/Projects/Gjs"
LICENSE = "MIT & LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=8dcea832f6acf45d856abfeb2d51ec48"
inherit gnomebase gettext gobject-introspection meson
GIR_MESON_OPTION = ""
DEPENDS = "glib-2.0 gobject-introspection gobject-introspection-native cairo gtk+3 mozjs-91 glib-2.0-native"
EXTRA_OEMESON = " -Dskip_dbus_tests=true -Dskip_gtk_tests=true -Dinstalled_tests=false"
CFLAGS:append = " -include ${STAGING_INCDIR}/mozjs-91/js/RequiredDefines.h"
SRC_URI += " file://0001-Fix-tests-that-cannot-run.patch"
SRC_URI[archive.sha256sum] = "4b0629341a318a02374e113ab97f9a9f3325423269fc1e0b043a5ffb01861c5f"
RDEPENDS:${PN} += "libmozjs-91"
FILES:${PN}-dbg += "${datadir}/gjs-1.0/lsan ${datadir}/gjs-1.0/valgrind"

View File

@ -0,0 +1,40 @@
SUMMARY = "Javascript bindings for GNOME"
LICENSE = "MIT & LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=8dcea832f6acf45d856abfeb2d51ec48"
GNOMEBASEBUILDCLASS = "meson"
DEPENDS = "mozjs-91 cairo"
inherit gnomebase gsettings gobject-introspection vala gettext features_check upstream-version-is-even pkgconfig
SRC_URI[archive.sha256sum] = "3ef0caf716e3920dd61f7748f6d56e476cc0fc18351ad0548e7df1a0ab9bdcad"
SRC_URI += " \
file://0001-Support-cross-builds-a-bit-better.patch \
file://0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch \
"
# gobject-introspection is mandatory and cannot be configured
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
GIR_MESON_OPTION = ""
EXTRA_OEMESON = " \
-Dinstalled_tests=false \
-Dskip_dbus_tests=true \
-Dskip_gtk_tests=true \
"
LDFLAGS:append:mipsarch = " -latomic"
LDFLAGS:append:powerpc = " -latomic"
LDFLAGS:append:powerpc64 = " -latomic"
LDFLAGS:append:riscv32 = " -latomic"
FILES:${PN} += "${datadir}/gjs-1.0/lsan"
PACKAGES =+ "${PN}-valgrind"
FILES:${PN}-valgrind = "${datadir}/gjs-1.0/valgrind"
RDEPENDS:${PN}-valgrind += "valgrind"
# Valgrind not yet available on rv32/rv64
RDEPENDS:${PN}-valgrind:remove:riscv32 = "valgrind"
RDEPENDS:${PN}-valgrind:remove:riscv64 = "valgrind"

View File

@ -8,11 +8,13 @@ DEPENDS = " \
"
GNOMEBASEBUILDCLASS = "meson"
GIR_MESON_ENABLE_FLAG = "enabled"
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
GTKDOC_MESON_OPTION = "gtk_doc"
inherit gnomebase gobject-introspection gtk-doc vala
SRC_URI[archive.sha256sum] = "646bd50ebad92d91c1be89097a15364156157442cac1471ded7ecb27d9a9150e"
SRC_URI[archive.sha256sum] = "7bdf0789553496abddc3c963b0ce7363805c0c02c025feddebcaacc787249e88"
do_compile:prepend() {
export GIR_EXTRA_LIBS_PATH="${B}/gnome-autoar/.libs"

View File

@ -1,20 +0,0 @@
SUMMARY = "Default GNOME desktop background images"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext
def gnome_verdir(v):
return oe.utils.trim_version(v, 1)
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive"
SRC_URI[archive.sha256sum] = "1da1ac0d261bedf0fcd2c85b480bc65505e23cf51f1143126c0d37717e693145"
FILES:${PN} += "\
${datadir}/backgrounds/gnome \
${datadir}/gnome-background-properties \
"

View File

@ -0,0 +1,16 @@
SUMMARY = "GNOME wallpapers"
LICENSE = "CC-BY-SA-3.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=b52fb0a6df395efb7047cb6fc56bfd7e"
SECTION = "x11/gnome"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext allarch
SRC_URI[archive.sha256sum] = "4c7fe1a09f459c5f77189a5982524fce05d888944955d679910f234606c1295d"
FILES:${PN} += " \
${datadir}/backgrounds \
${datadir}/gnome-background-properties \
"

View File

@ -1,20 +0,0 @@
SUMMARY = "Bluetooth integration with GNOME desktop"
HOMEPAGE = "https://wiki.gnome.org/Projects/GnomeBluetooth"
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343"
SRC_URI[archive.md5sum] = "c82f7df6a411c897d4d59337d5d9a789"
SRC_URI[archive.sha256sum] = "0a068e3bddbbdab46991521e6624098579abe80da242398bdd579c4ca6926422"
DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libcanberra libnotify libxml2-native gobject-introspection"
GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk_doc"
inherit gnomebase gobject-introspection gettext gtk-doc
FILES:${PN} += "${datadir}/icons"

View File

@ -0,0 +1,44 @@
SUMMARY = "GNOME bluetooth manager"
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
"
SECTION = "x11/gnome"
DEPENDS = " \
udev \
libnotify \
libcanberra \
bluez5 \
upower \
gtk4 \
gsound \
libadwaita \
"
GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk_doc"
GTKIC_VERSION = "4"
inherit features_check gnomebase gtk-icon-cache gtk-doc gobject-introspection
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI[archive.sha256sum] = "3d1e2720673bc9a242619dc5d231fd6e776c18a49da29f43cdc433055adb0170"
BT_PULSE_PACKS = " \
pulseaudio-lib-bluez5-util \
pulseaudio-module-bluetooth-discover \
pulseaudio-module-bluetooth-policy \
pulseaudio-module-bluez5-device \
pulseaudio-module-bluez5-discover \
"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
PACKAGECONFIG[pulseaudio] = ",,,${BT_PULSE_PACKS}"
FILES:${PN} += "${datadir}/gnome-bluetooth-3.0"
RDEPENDS:${PN} += "bluez5"

View File

@ -0,0 +1,45 @@
From ba8aebe1259ae3f7f5a4827e5a47bb95c568b218 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Tue, 21 May 2019 16:07:46 +0200
Subject: [PATCH] Add meson option to pass sysroot
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We need to pass this to meson to help it finding gdesktop-enums.h:
| panels/background/meson.build:38:0: ERROR: File /usr/include/gsettings-desktop-schemas/gdesktop-enums.h does not exist.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
meson_options.txt | 1 +
panels/background/meson.build | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/meson_options.txt b/meson_options.txt
index dbca723..af0f871 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,4 @@
+option('oe_sysroot', type: 'string', value: '', description: 'Directory for OE-sysroot')
option('documentation', type: 'boolean', value: false, description: 'build documentation')
option('ibus', type: 'boolean', value: true, description: 'build with IBus support')
option('privileged_group', type: 'string', value: 'wheel', description: 'name of group that has elevated permissions')
diff --git a/panels/background/meson.build b/panels/background/meson.build
index 3634c47..459ccfe 100644
--- a/panels/background/meson.build
+++ b/panels/background/meson.build
@@ -25,7 +25,7 @@ common_sources = []
enums = 'gdesktop-enums-types'
enums_header = files(
- gsettings_desktop_dep.get_pkgconfig_variable('prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h',
+ get_option('oe_sysroot') + gsettings_desktop_dep.get_pkgconfig_variable('prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h',
'cc-background-item.h'
)
--
2.34.1

View File

@ -1,6 +1,6 @@
From 408e0ab8df0b7e98b642228a91ac1072196df36b Mon Sep 17 00:00:00 2001
From 34269016c3d438e2f84119c779ebdcf032307ed4 Mon Sep 17 00:00:00 2001
From: Bruce Leidl <bruce@subgraph.com>
Date: Wed, 6 Oct 2021 14:28:02 -0400
Date: Fri, 27 May 2022 15:06:26 -0400
Subject: [PATCH] Add options for Citadel and disabling GOA/CUPS
---
@ -14,12 +14,12 @@ Subject: [PATCH] Add options for Citadel and disabling GOA/CUPS
7 files changed, 81 insertions(+), 9 deletions(-)
diff --git a/meson.build b/meson.build
index 1ee69c5..a5a5243 100644
index 09aa30f..7835bc7 100644
--- a/meson.build
+++ b/meson.build
@@ -114,6 +114,15 @@ if not libhandy_dep.found()
libhandy_dep = libhandy.get_variable('libhandy_dep')
endif
@@ -99,6 +99,15 @@ libgvc = subproject(
)
libgvc_dep = libgvc.get_variable('libgvc_dep')
+enable_goa = get_option('online_accounts')
+enable_cups = get_option('cups')
@ -33,18 +33,18 @@ index 1ee69c5..a5a5243 100644
goa_req_version = '>= 3.25.3'
pulse_req_version = '>= 2.0'
@@ -124,7 +133,9 @@ gio_dep = dependency('gio-2.0')
glib_dep = dependency('glib-2.0', version: '>= 2.68.0')
gnome_desktop_dep = dependency('gnome-desktop-3.0', version: '>= 3.33.4')
gnome_settings_dep = dependency('gnome-settings-daemon', version: '>= 3.27.90')
@@ -118,7 +127,9 @@ gnome_desktop_dep = dependency('gnome-desktop-4')
gnome_bg_dep = dependency('gnome-bg-4')
gnome_rr_dep = dependency('gnome-rr-4')
gnome_settings_dep = dependency('gnome-settings-daemon', version: '>= 41.0')
+if enable_goa
goa_dep = dependency('goa-1.0', version: goa_req_version)
+endif
gsettings_desktop_dep = dependency('gsettings-desktop-schemas', version: '>= 40.alpha')
gsettings_desktop_dep = dependency('gsettings-desktop-schemas', version: '>= 42.alpha')
libxml_dep = dependency('libxml-2.0')
polkit_gobject_dep = dependency('polkit-gobject-1', version: '>= 0.114')
@@ -149,6 +160,8 @@ common_deps = [
]
pulse_dep = dependency('libpulse', version: pulse_req_version)
@@ -153,6 +164,8 @@ foreach polkit_file: polkit_files
endforeach
# Check for CUPS 1.4 or newer
+
@ -52,19 +52,19 @@ index 1ee69c5..a5a5243 100644
cups_dep = dependency('cups', version : '>= 1.4', required: false)
assert(cups_dep.found(), 'CUPS 1.4 or newer not found')
@@ -171,6 +184,7 @@ endforeach
@@ -175,6 +188,7 @@ endforeach
config_h.set10('HAVE_CUPS_HTTPCONNECT2',
cc.has_function('httpConnect2', dependencies: cups_dep),
description: 'Define if httpConnect2() is available in CUPS')
+endif
# Optional dependency for the user accounts panel
enable_cheese = get_option('cheese')
# IBus support
enable_ibus = get_option('ibus')
diff --git a/meson_options.txt b/meson_options.txt
index 1b7b548..8dd1b33 100644
index dbca723..1f65b82 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -8,3 +8,8 @@ option('tracing', type: 'boolean', value: false, description: 'add extra debuggi
@@ -7,3 +7,8 @@ option('tracing', type: 'boolean', value: false, description: 'add extra debuggi
option('wayland', type: 'boolean', value: true, description: 'build with Wayland support')
option('profile', type: 'combo', choices: ['default','development'], value: 'default')
option('malcontent', type: 'boolean', value: false, description: 'build with malcontent support')
@ -73,25 +73,8 @@ index 1b7b548..8dd1b33 100644
+option('cups', type: 'boolean', value: false, description: 'build with support for CUPS')
+option('user_accounts', type: 'boolean', value: false, description: 'build with support for user accounts panel')
+option('citadel', type: 'boolean', value: true, description: 'build with Citadel support, which removes unneeded components')
diff --git a/panels/background/meson.build b/panels/background/meson.build
index eb5e9ec..ee52d12 100644
--- a/panels/background/meson.build
+++ b/panels/background/meson.build
@@ -34,9 +34,11 @@ install_data(
common_sources = []
+staging = get_option('staging_dir')
+
enums = 'gdesktop-enums-types'
enums_header = files(
- gsettings_desktop_dep.get_pkgconfig_variable('prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h',
+ staging + gsettings_desktop_dep.get_pkgconfig_variable('prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h',
'cc-background-item.h'
)
diff --git a/panels/meson.build b/panels/meson.build
index f603db9..943210f 100644
index 75941ed..b3fe923 100644
--- a/panels/meson.build
+++ b/panels/meson.build
@@ -1,12 +1,10 @@
@ -122,7 +105,7 @@ index f603db9..943210f 100644
'universal-access',
'usage',
- 'user-accounts',
'wwan',
'wwan',
]
@@ -43,6 +36,22 @@ if host_is_linux_not_s390
@ -149,10 +132,10 @@ index f603db9..943210f 100644
panels_libs = []
foreach cappletname: panels
diff --git a/shell/cc-panel-list.c b/shell/cc-panel-list.c
index c5532ba..75be10d 100644
index 6cbc16b..41d6722 100644
--- a/shell/cc-panel-list.c
+++ b/shell/cc-panel-list.c
@@ -388,10 +388,16 @@ static const gchar * const panel_order[] = {
@@ -385,10 +385,16 @@ static const gchar * const panel_order[] = {
"notifications",
"search",
"multitasking",
@ -169,7 +152,7 @@ index c5532ba..75be10d 100644
/* Privacy page */
"location",
@@ -408,16 +414,24 @@ static const gchar * const panel_order[] = {
@@ -405,16 +411,24 @@ static const gchar * const panel_order[] = {
"display",
"mouse",
"keyboard",
@ -195,7 +178,7 @@ index c5532ba..75be10d 100644
"datetime",
"info-overview",
diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
index 67f3f1b..4b595af 100644
index 66c513e..97eea5b 100644
--- a/shell/cc-panel-loader.c
+++ b/shell/cc-panel-loader.c
@@ -31,14 +31,18 @@

View File

@ -1,293 +0,0 @@
From d7283acccea0a26c1236e757a186221cf9177cff Mon Sep 17 00:00:00 2001
From: Bruce Leidl <bruce@subgraph.com>
Date: Wed, 6 Oct 2021 14:19:27 -0400
Subject: [PATCH] Add options for Citadel and disabling GOA/CUPS
---
meson.build | 14 ++++++++++++++
meson_options.txt | 5 +++++
panels/meson.build | 23 ++++++++++++++++-------
shell/cc-panel-list.c | 14 ++++++++++++++
shell/cc-panel-loader.c | 28 ++++++++++++++++++++++++++++
tests/meson.build | 2 +-
6 files changed, 78 insertions(+), 8 deletions(-)
diff --git a/meson.build b/meson.build
index 1ee69c5..a5a5243 100644
--- a/meson.build
+++ b/meson.build
@@ -114,6 +114,15 @@ if not libhandy_dep.found()
libhandy_dep = libhandy.get_variable('libhandy_dep')
endif
+enable_goa = get_option('online_accounts')
+enable_cups = get_option('cups')
+enable_user_accounts = get_option('user_accounts')
+enable_citadel = get_option('citadel')
+config_h.set('WITH_GOA', enable_goa, description: 'Define to enable support for Gnome Online Accounts')
+config_h.set('WITH_CUPS', enable_goa, description: 'Define to enable support for CUPS')
+config_h.set('WITH_USER_ACCOUNTS', enable_user_accounts, description: 'Define to enable user accounts panel')
+config_h.set('CITADEL', enable_citadel, description: 'Define to enable the removal of components unneeded in Citadel')
+
goa_req_version = '>= 3.25.3'
pulse_req_version = '>= 2.0'
@@ -124,7 +133,9 @@ gio_dep = dependency('gio-2.0')
glib_dep = dependency('glib-2.0', version: '>= 2.68.0')
gnome_desktop_dep = dependency('gnome-desktop-3.0', version: '>= 3.33.4')
gnome_settings_dep = dependency('gnome-settings-daemon', version: '>= 3.27.90')
+if enable_goa
goa_dep = dependency('goa-1.0', version: goa_req_version)
+endif
gsettings_desktop_dep = dependency('gsettings-desktop-schemas', version: '>= 40.alpha')
libxml_dep = dependency('libxml-2.0')
polkit_gobject_dep = dependency('polkit-gobject-1', version: '>= 0.114')
@@ -149,6 +160,8 @@ common_deps = [
]
# Check for CUPS 1.4 or newer
+
+if enable_cups
cups_dep = dependency('cups', version : '>= 1.4', required: false)
assert(cups_dep.found(), 'CUPS 1.4 or newer not found')
@@ -171,6 +184,7 @@ endforeach
config_h.set10('HAVE_CUPS_HTTPCONNECT2',
cc.has_function('httpConnect2', dependencies: cups_dep),
description: 'Define if httpConnect2() is available in CUPS')
+endif
# Optional dependency for the user accounts panel
enable_cheese = get_option('cheese')
diff --git a/meson_options.txt b/meson_options.txt
index 1b7b548..8dd1b33 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -8,3 +8,8 @@ option('tracing', type: 'boolean', value: false, description: 'add extra debuggi
option('wayland', type: 'boolean', value: true, description: 'build with Wayland support')
option('profile', type: 'combo', choices: ['default','development'], value: 'default')
option('malcontent', type: 'boolean', value: false, description: 'build with malcontent support')
+option('staging_dir', type: 'string', description: 'set staging directory for cross-compile')
+option('online_accounts', type: 'boolean', value: false, description: 'build with support for gnome-online-accounts')
+option('cups', type: 'boolean', value: false, description: 'build with support for CUPS')
+option('user_accounts', type: 'boolean', value: false, description: 'build with support for user accounts panel')
+option('citadel', type: 'boolean', value: true, description: 'build with Citadel support, which removes unneeded components')
diff --git a/panels/meson.build b/panels/meson.build
index f603db9..943210f 100644
--- a/panels/meson.build
+++ b/panels/meson.build
@@ -1,12 +1,10 @@
subdir('common')
panels = [
- 'applications',
'background',
'camera',
'color',
'datetime',
- 'default-apps',
'diagnostics',
'display',
'info-overview',
@@ -17,17 +15,12 @@ panels = [
'mouse',
'multitasking',
'notifications',
- 'online-accounts',
'power',
- 'printers',
'region',
- 'removable-media',
'search',
- 'sharing',
'sound',
'universal-access',
'usage',
- 'user-accounts',
'wwan',
]
@@ -43,6 +36,22 @@ if host_is_linux_not_s390
]
endif
+if enable_goa
+ panels += ['online-accounts']
+endif
+
+if enable_cups
+ panels += ['printers']
+endif
+
+if enable_user_accounts
+ panels += ['user-accounts']
+endif
+
+if not enable_citadel
+ panel_names += ['applications', 'default-apps', 'removable-media', 'sharing']
+endif
+
panels_list = []
panels_libs = []
foreach cappletname: panels
diff --git a/shell/cc-panel-list.c b/shell/cc-panel-list.c
index c5532ba..75be10d 100644
--- a/shell/cc-panel-list.c
+++ b/shell/cc-panel-list.c
@@ -388,10 +388,16 @@ static const gchar * const panel_order[] = {
"notifications",
"search",
"multitasking",
+#ifndef CITADEL
"applications",
+#endif
"privacy",
+#ifndef WITH_GOA
"online-accounts",
+#endif
++#ifndef CITADEL
"sharing",
+#endif
/* Privacy page */
"location",
@@ -408,16 +414,24 @@ static const gchar * const panel_order[] = {
"display",
"mouse",
"keyboard",
+#ifndef WITH_CUPS
"printers",
+#endif
+#ifndef CITADEL
"removable-media",
+#endif
"wacom",
"color",
/* Details page */
"region",
"universal-access",
+#ifndef WITH_USER_ACCOUNTS
"user-accounts",
+#endif
+#ifndef CITADEL
"default-apps",
+#endif
"reset-settings",
"datetime",
"info-overview",
diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
index 67f3f1b..4b595af 100644
--- a/shell/cc-panel-loader.c
+++ b/shell/cc-panel-loader.c
@@ -31,14 +31,18 @@
#ifndef CC_PANEL_LOADER_NO_GTYPES
/* Extension points */
+#ifndef CITADEL
extern GType cc_applications_panel_get_type (void);
+#endif
extern GType cc_background_panel_get_type (void);
#ifdef BUILD_BLUETOOTH
extern GType cc_bluetooth_panel_get_type (void);
#endif /* BUILD_BLUETOOTH */
extern GType cc_color_panel_get_type (void);
extern GType cc_date_time_panel_get_type (void);
+#ifndef CITADEL
extern GType cc_default_apps_panel_get_type (void);
+#endif
extern GType cc_display_panel_get_type (void);
extern GType cc_info_overview_panel_get_type (void);
extern GType cc_keyboard_panel_get_type (void);
@@ -49,19 +53,29 @@ extern GType cc_network_panel_get_type (void);
extern GType cc_wifi_panel_get_type (void);
#endif /* BUILD_NETWORK */
extern GType cc_notifications_panel_get_type (void);
+#ifdef WITH_GOA
extern GType cc_goa_panel_get_type (void);
+#endif
extern GType cc_power_panel_get_type (void);
+#ifdef WITH_CUPS
extern GType cc_printers_panel_get_type (void);
+#endif
extern GType cc_region_panel_get_type (void);
+#ifndef CITADEL
extern GType cc_removable_media_panel_get_type (void);
+#endif
extern GType cc_search_panel_get_type (void);
+#ifndef CITADEL
extern GType cc_sharing_panel_get_type (void);
+#endif
extern GType cc_sound_panel_get_type (void);
#ifdef BUILD_THUNDERBOLT
extern GType cc_bolt_panel_get_type (void);
#endif /* BUILD_THUNDERBOLT */
extern GType cc_ua_panel_get_type (void);
+#ifdef WITH_USER_ACCOUNTS
extern GType cc_user_panel_get_type (void);
+#endif
#ifdef BUILD_WACOM
extern GType cc_wacom_panel_get_type (void);
#endif /* BUILD_WACOM */
@@ -97,7 +111,9 @@ extern void cc_wwan_panel_static_init_func (void);
static CcPanelLoaderVtable default_panels[] =
{
+#ifndef CITADEL
PANEL_TYPE("applications", cc_applications_panel_get_type, NULL),
+#endif
PANEL_TYPE("background", cc_background_panel_get_type, NULL),
#ifdef BUILD_BLUETOOTH
PANEL_TYPE("bluetooth", cc_bluetooth_panel_get_type, NULL),
@@ -105,7 +121,9 @@ static CcPanelLoaderVtable default_panels[] =
PANEL_TYPE("camera", cc_camera_panel_get_type, NULL),
PANEL_TYPE("color", cc_color_panel_get_type, NULL),
PANEL_TYPE("datetime", cc_date_time_panel_get_type, NULL),
+#ifndef CITADEL
PANEL_TYPE("default-apps", cc_default_apps_panel_get_type, NULL),
+#endif
PANEL_TYPE("diagnostics", cc_diagnostics_panel_get_type, cc_diagnostics_panel_static_init_func),
PANEL_TYPE("display", cc_display_panel_get_type, NULL),
PANEL_TYPE("info-overview", cc_info_overview_panel_get_type, NULL),
@@ -120,20 +138,30 @@ static CcPanelLoaderVtable default_panels[] =
PANEL_TYPE("wifi", cc_wifi_panel_get_type, cc_wifi_panel_static_init_func),
#endif
PANEL_TYPE("notifications", cc_notifications_panel_get_type, NULL),
+#ifdef WITH_GOA
PANEL_TYPE("online-accounts", cc_goa_panel_get_type, NULL),
+#endif
PANEL_TYPE("power", cc_power_panel_get_type, NULL),
+#ifdef WITH_CUPS
PANEL_TYPE("printers", cc_printers_panel_get_type, NULL),
+#endif
PANEL_TYPE("region", cc_region_panel_get_type, NULL),
+#ifndef CITADEL
PANEL_TYPE("removable-media", cc_removable_media_panel_get_type, NULL),
+#endif
PANEL_TYPE("search", cc_search_panel_get_type, NULL),
+#ifndef CITADEL
PANEL_TYPE("sharing", cc_sharing_panel_get_type, NULL),
+#endif
PANEL_TYPE("sound", cc_sound_panel_get_type, NULL),
#ifdef BUILD_THUNDERBOLT
PANEL_TYPE("thunderbolt", cc_bolt_panel_get_type, NULL),
#endif
PANEL_TYPE("universal-access", cc_ua_panel_get_type, NULL),
PANEL_TYPE("usage", cc_usage_panel_get_type, NULL),
+#ifdef WITH_USER_ACCOUNTS
PANEL_TYPE("user-accounts", cc_user_panel_get_type, NULL),
+#endif
#ifdef BUILD_WACOM
PANEL_TYPE("wacom", cc_wacom_panel_get_type, cc_wacom_panel_static_init_func),
#endif
diff --git a/tests/meson.build b/tests/meson.build
index d4fe361..b879160 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -6,5 +6,5 @@ endif
subdir('interactive-panels')
-subdir('printers')
+#subdir('printers')
subdir('info')

View File

@ -22,22 +22,20 @@ DEPENDS = " \
networkmanager \
network-manager-applet \
gnome-bluetooth \
libnma \
libgtop \
libgudev \
gsound \
libpwquality \
ibus \
libhandy \
libadwaita \
"
REQUIRED_DISTRO_FEATURES += " pulseaudio systemd x11"
def gnome_verdir(v):
return oe.utils.trim_version(v, 1)
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive"
SRC_URI[archive.sha256sum] = "ea0c71484c65ce2cc11376f9b01e6211fa4a7ffd334f4307fc52c93f0fddd4c7"
SRC_URI += "file://0001-Add-meson-option-to-pass-sysroot.patch"
SRC_URI += " file://0001-Add-options-for-Citadel-and-disabling-GOA-CUPS.patch"
SRC_URI[archive.sha256sum] = "fb30aff90fbe1d2ad56107d6e9f5f8a4a3aaf3635bbd88920d75b568bb776785"
#
@ -69,8 +67,19 @@ SRC_URI[archive.sha256sum] = "ea0c71484c65ce2cc11376f9b01e6211fa4a7ffd334f4307fc
# EXTRA_OEMESON += "-Dcitadel=false"
#
SRC_URI += " file://0001-Add-options-for-Citadel-and-disabling-GOA-CUPS.patch"
#SRC_URI += " file://0001-Add-options-for-Citadel-and-disabling-GOA-CUPS.patch"
EXTRA_OEMESON = " \
-Doe_sysroot=${STAGING_DIR_HOST} \
"
do_install:append() {
# If polkit is setup fixup permissions and ownership
if [ -d ${D}${datadir}/polkit-1/rules.d ]; then
chmod 700 ${D}${datadir}/polkit-1/rules.d
chown polkitd:root ${D}${datadir}/polkit-1/rules.d
fi
}
FILES:${PN} += " \
${datadir}/dbus-1 \
${datadir}/gnome-shell \
@ -80,5 +89,4 @@ FILES:${PN} += " \
FILES:${PN}-dev += "${datadir}/gettext"
RDEPENDS:${PN} += "gsettings-desktop-schemas"
EXTRA_OEMESON = "--buildtype=release -Dcheese=false -Ddocumentation=false -Dstaging_dir=${STAGING_DIR_TARGET}"

View File

@ -0,0 +1,40 @@
From de0d33b068a5d8e61cc0c82d88d15b9a8aa97977 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 6 Apr 2019 18:07:17 +0200
Subject: [PATCH] meson.build: Disable libseccomp for all archs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
It does not seem mandatory and can cause unsatisfied dependency [1].
[1] https://errors.yoctoproject.org/Errors/Details/235565/
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
meson.build | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/meson.build b/meson.build
index 1dc8a73..87d72fe 100644
--- a/meson.build
+++ b/meson.build
@@ -65,12 +65,7 @@ udev_dep = dependency('libudev', required: get_option('udev'))
host_os = host_machine.system()
host_cpu = host_machine.cpu()
supported_os = ['linux']
-unsupported_cpus = ['alpha', 'ia64', 'm68k', 'sh4', 'sparc', 'sparc64']
-if supported_os.contains(host_os) and not unsupported_cpus.contains(host_cpu)
- seccomp_dep = dependency('libseccomp')
-else
- seccomp_dep = dependency('', required: false)
-endif
+seccomp_dep = dependency('', required: false)
fontconfig_cache_path = fontconfig_dep.get_variable(pkgconfig: 'cachedir')
xkb_base = xkb_config_dep.get_variable(pkgconfig: 'xkb_base')
--
2.34.1

View File

@ -1,12 +0,0 @@
diff --git a/libgnome-desktop/gnome-rr.h b/libgnome-desktop/gnome-rr.h
index 111bab3f..f633a2d9 100644
--- a/libgnome-desktop/gnome-rr.h
+++ b/libgnome-desktop/gnome-rr.h
@@ -30,6 +30,7 @@
#include <glib.h>
#include <gdk/gdk.h>
+#include <stdint.h>
typedef struct GnomeRRScreenPrivate GnomeRRScreenPrivate;
typedef struct GnomeRROutput GnomeRROutput;

View File

@ -0,0 +1,61 @@
From 9048939b76b3bd10783adb79ed0aaf6cd13895cc Mon Sep 17 00:00:00 2001
From: Christopher Larson <chris_larson@mentor.com>
Date: Tue, 13 Dec 2016 20:39:51 -0700
Subject: [PATCH 1/2] gnome-desktop-thumbnail: don't convert time_t to long
Explicitly use strftime+strptime rather than snprintf+atol. This fixes the
build for X32, where long's size doesn't match that of time_t.
Upstream-Status: Pending
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Modify patch described above to eliminate replacement of
g_snprintf (mtime_str, 21, "%" G_GINT64_FORMAT, (gint64) mtime)
which is not necessary. Retain replacement of atol().
Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
libgnome-desktop/gnome-desktop-thumbnail.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/libgnome-desktop/gnome-desktop-thumbnail.c b/libgnome-desktop/gnome-desktop-thumbnail.c
index e56c3d7..5d96bf3 100644
--- a/libgnome-desktop/gnome-desktop-thumbnail.c
+++ b/libgnome-desktop/gnome-desktop-thumbnail.c
@@ -120,6 +120,8 @@
* Since: 2.2
*/
+#define _XOPEN_SOURCE
+
#include <config.h>
#include <glib.h>
@@ -1319,6 +1326,7 @@ gnome_desktop_thumbnail_is_valid (GdkPixbuf *pixbuf,
{
const char *thumb_uri, *thumb_mtime_str;
time_t thumb_mtime;
+ struct tm tmp_mtime;
thumb_uri = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::URI");
if (g_strcmp0 (uri, thumb_uri) != 0)
@@ -1327,7 +1335,11 @@ gnome_desktop_thumbnail_is_valid (GdkPixbuf *pixbuf,
thumb_mtime_str = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::MTime");
if (!thumb_mtime_str)
return FALSE;
- thumb_mtime = atol (thumb_mtime_str);
+ if (!strptime (thumb_mtime_str, "%s", &tmp_mtime))
+ return FALSE;
+ thumb_mtime = mktime (&tmp_mtime);
+ if (!thumb_mtime)
+ return FALSE;
if (mtime != thumb_mtime)
return FALSE;
--
2.14.1

View File

@ -1,26 +0,0 @@
SUMMARY = "GNOME library which provides API shared by several components and applications"
SECTION = "x11/gnome"
LICENSE = "GPL-2.0-only & LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gtk-icon-cache gconf mime pkgconfig upstream-version-is-even gobject-introspection gtk-doc
GIR_MESON_OPTION = ""
GTKDOC_MESON_OPTION = "gtk_doc"
SRC_URI += "file://0001-needs-stdint-include.patch"
SRC_URI[archive.sha256sum] = "be8aafa64d7ba2fd31079eed639d39fda1ea77ef77d35a678f019c4d91d473c2"
DEPENDS += "itstool-native gsettings-desktop-schemas gconf virtual/libx11 gtk+3 glib-2.0 startup-notification xkeyboard-config iso-codes udev libseccomp"
EXTRA_OEMESON = "-Ddesktop_docs=false -Dgnome_distributor='Subgraph'"
PACKAGES =+ "libgnome-desktop"
FILES:libgnome-desktop = "${libdir}/lib*${SOLIBS} ${datadir}/libgnome-desktop*/pnp.ids ${datadir}/gnome/*xml"
RRECOMMENDS:libgnome-desktop += "gsettings-desktop-schemas"

View File

@ -0,0 +1,47 @@
SUMMARY = "GNOME library for reading .desktop files"
SECTION = "x11/gnome"
LICENSE = "GPL-2.0-only & LGPL-2.0-only"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase itstool pkgconfig upstream-version-is-even gobject-introspection features_check gtk-doc
REQUIRED_DISTRO_FEATURES = "x11"
# gobject-introspection is mandatory and cannot be configured
REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"
GIR_MESON_OPTION = ""
SRC_URI[archive.sha256sum] = "2433ab606d244c3524de5b812094db8a670fb11ed9ff7180c2d021ae1fc9fc05"
SRC_URI += " \
file://gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch \
file://0001-meson.build-Disable-libseccomp-for-all-archs.patch \
"
DEPENDS += " \
gsettings-desktop-schemas \
virtual/libx11 \
gtk+3 \
gtk4 \
startup-notification \
xkeyboard-config \
iso-codes \
udev \
"
GTKDOC_MESON_OPTION = "gtk_doc"
EXTRA_OEMESON = "-Ddesktop_docs=false"
PACKAGES =+ "libgnome-desktop"
RDEPENDS:${PN} += "libgnome-desktop"
FILES:libgnome-desktop = " \
${libdir}/lib*${SOLIBS} \
${datadir}/libgnome-desktop*/pnp.ids \
${datadir}/gnome/*xml \
"
RRECOMMENDS:libgnome-desktop += "gsettings-desktop-schemas"

View File

@ -11,34 +11,28 @@ DEPENDS = " \
libnotify \
libsecret \
libpwquality \
libhandy \
udisks2 \
libxml2-native \
libhandy \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gtk-icon-cache gettext features_check upstream-version-is-even mime-xdg
inherit gnomebase gsettings gtk-icon-cache gettext features_check mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
REQUIRED_DISTRO_FEATURES = "x11 polkit"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
# As soon as elogind is of interest this needs rework: meson option is combo
PACKAGECONFIG[systemd] = "-Dlogind=libsystemd,-Dlogind=none,systemd"
EXTRA_OEMESON += "-Dman=false"
SRC_URI += "file://0001-Don-t-display-ignored-disks.patch"
def gnome_verdir(v):
return oe.utils.trim_version(v, 1)
SRC_URI[archive.sha256sum] = "1b6564454d67426322cb3bfc5a5558653bfc7dfeea2ae0825b1d08629f01090b"
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
file://0001-Don-t-display-ignored-disks.patch \
"
SRC_URI[archive.sha256sum] = "8743c98fd656062ef862933efe30c5be4c6b322ec02eee154ec70d08ed0895df"
EXTRA_OEMESON = "-Dman=false"
FILES:${PN} += " \
${datadir}/metainfo \
${datadir}/dbus-1 \
"

View File

@ -0,0 +1,36 @@
From c38c604b06a63f690d67318d4ef97ac556264876 Mon Sep 17 00:00:00 2001
From: Jack Hill <jackhill@jackhill.us>
Date: Thu, 18 Nov 2021 00:46:58 -0500
Subject: [PATCH] meson: remove extraneous positional argument
* data/meson.build (desktop_file)
(metainfo_file): Remove extraneous positional argument.
Closes #186
Upstream-Status: Backport
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
data/meson.build | 2 --
1 file changed, 2 deletions(-)
diff --git a/data/meson.build b/data/meson.build
index fd570b3..4e2e2e8 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,7 +1,6 @@
gnome = import('gnome')
desktop_file = i18n.merge_file(
- 'desktop',
type: 'desktop',
input: 'org.gnome.Screenshot.desktop.in',
output: 'org.gnome.Screenshot.desktop',
@@ -23,7 +22,6 @@ if desktop_file_validate.found()
endif
metainfo_file = i18n.merge_file(
- 'appdata',
input: 'org.gnome.Screenshot.metainfo.xml.in',
output: 'org.gnome.Screenshot.metainfo.xml',
po_dir: join_paths(meson.current_source_dir(), '../po'),

View File

@ -1,19 +0,0 @@
SUMMARY = "GNOME Screenshot"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext
DEPENDS += "libx11 libxext glib-2.0 gtk+3 libcanberra glib-2.0-native libxml2-native libhandy"
def gnome_verdir(v):
return oe.utils.trim_version(v, 1)
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive"
SRC_URI[archive.sha256sum] = "368ca95a39e39dc2406c849e8c4205e3f574acdd874c30741873455e3d21a5e2"
FILES:${PN} += "${datadir}/dbus-1/services"
FILES:${PN}-dev += "${datadir}/metainfo"

View File

@ -0,0 +1,23 @@
SUMMARY = "GNOME Screenshot"
DESCRIPTION = "GNOME Screenshot is a small utility that takes a screenshot \
of the whole desktop, the currently focused window, or an area of the screen."
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SECTION = "x11/gnome"
GNOMEBASEBUILDCLASS = "meson"
inherit features_check gnomebase gettext upstream-version-is-even pkgconfig
SRC_URI += " file://0001-meson-remove-extraneous-positional-argument.patch"
SRC_URI[archive.sha256sum] = "4adb7dec926428f74263d5796673cf142e4720b6e768f5468a8d0933f98c9597"
DEPENDS += "glib-2.0 glib-2.0-native gtk+3 libhandy xext"
REQUIRED_DISTRO_FEATURES = "x11"
FILES:${PN} += " \
${datadir}/dbus-1 \
${datadir}/metainfo \
"

View File

@ -1,6 +1,6 @@
From 77e6fdd36bdc562e42da57c5a753b885d57eea85 Mon Sep 17 00:00:00 2001
From: David McKinney <mckinney@subgraph.com>
Date: Fri, 12 Feb 2021 13:57:01 +0000
From 87a40c18adf3305f8b82679cc80b544158b566f9 Mon Sep 17 00:00:00 2001
From: Bruce Leidl <bruce@subgraph.com>
Date: Fri, 27 May 2022 14:51:48 -0400
Subject: [PATCH] Patch locking logout so it does not disable shutting down
---
@ -8,10 +8,10 @@ Subject: [PATCH] Patch locking logout so it does not disable shutting down
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
index 6839a02..4c2e862 100644
index 1b88b26..fb3f2ec 100644
--- a/gnome-session/gsm-manager.c
+++ b/gnome-session/gsm-manager.c
@@ -553,10 +553,10 @@ end_phase (GsmManager *manager)
@@ -560,10 +560,10 @@ end_phase (GsmManager *manager)
case GSM_MANAGER_PHASE_APPLICATION:
break;
case GSM_MANAGER_PHASE_RUNNING:
@ -24,7 +24,7 @@ index 6839a02..4c2e862 100644
break;
case GSM_MANAGER_PHASE_QUERY_END_SESSION:
if (!do_query_end_session_exit (manager))
@@ -2555,13 +2555,13 @@ gsm_manager_shutdown (GsmExportedManager *skeleton,
@@ -2633,13 +2633,13 @@ gsm_manager_shutdown (GsmExportedManager *skeleton,
return TRUE;
}
@ -38,9 +38,9 @@ index 6839a02..4c2e862 100644
- }
+ }*/
task = g_task_new (manager, manager->priv->end_session_cancellable, (GAsyncReadyCallback) complete_end_session_task, invocation);
task = g_task_new (manager, priv->end_session_cancellable, (GAsyncReadyCallback) complete_end_session_task, invocation);
@@ -2590,13 +2590,13 @@ gsm_manager_reboot (GsmExportedManager *skeleton,
@@ -2669,13 +2669,13 @@ gsm_manager_reboot (GsmExportedManager *skeleton,
return TRUE;
}
@ -54,15 +54,15 @@ index 6839a02..4c2e862 100644
- }
+ }*/
task = g_task_new (manager, manager->priv->end_session_cancellable, (GAsyncReadyCallback) complete_end_session_task, invocation);
task = g_task_new (manager, priv->end_session_cancellable, (GAsyncReadyCallback) complete_end_session_task, invocation);
@@ -2617,8 +2617,7 @@ gsm_manager_can_shutdown (GsmExportedManager *skeleton,
@@ -2697,8 +2697,7 @@ gsm_manager_can_shutdown (GsmExportedManager *skeleton,
g_debug ("GsmManager: CanShutdown called");
- shutdown_available = !_log_out_is_locked_down (manager) &&
- (gsm_system_can_stop (manager->priv->system)
+ shutdown_available = (gsm_system_can_stop (manager->priv->system)
|| gsm_system_can_restart (manager->priv->system)
|| gsm_system_can_suspend (manager->priv->system)
|| gsm_system_can_hibernate (manager->priv->system));
- (gsm_system_can_stop (priv->system)
+ shutdown_available = (gsm_system_can_stop (priv->system)
|| gsm_system_can_restart (priv->system)
|| gsm_system_can_suspend (priv->system)
|| gsm_system_can_hibernate (priv->system));

View File

@ -1,30 +1,27 @@
From a85ae8e4c464f0d4067ec86b4eba406917b4fd2e Mon Sep 17 00:00:00 2001
From 5ec8ebdb6ffa4af30deee2c3a594a57f9f5a9b28 Mon Sep 17 00:00:00 2001
From: Bruce Leidl <bruce@subgraph.com>
Date: Wed, 28 Oct 2020 08:18:59 -0400
Subject: [PATCH] Disable sharing and usb protection, add --systemd to desktops
Date: Fri, 27 May 2022 14:55:58 -0400
Subject: [PATCH] Add --systemd and --session to desktop files
---
data/gnome-wayland.desktop.in.in | 4 +++-
data/gnome-wayland.desktop.in.in | 2 +-
data/gnome-xorg.desktop.in.in | 2 +-
data/gnome.desktop.in.in | 2 +-
data/meson.build | 2 --
4 files changed, 5 insertions(+), 5 deletions(-)
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/data/gnome-wayland.desktop.in.in b/data/gnome-wayland.desktop.in.in
index 516c211..14b5f5a 100644
index b48eecd..18f5c7e 100644
--- a/data/gnome-wayland.desktop.in.in
+++ b/data/gnome-wayland.desktop.in.in
@@ -1,7 +1,9 @@
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=GNOME
Name=GNOME on Wayland
Comment=This session logs you into GNOME
-Exec=@bindir@/gnome-session
+Exec=@bindir@/gnome-session --systemd --session=gnome
TryExec=@bindir@/gnome-session
Type=Application
DesktopNames=GNOME
+X-GDM-SessionRegisters=true
+
diff --git a/data/gnome-xorg.desktop.in.in b/data/gnome-xorg.desktop.in.in
index 9a76fac..40ec660 100644
--- a/data/gnome-xorg.desktop.in.in

View File

@ -1,45 +0,0 @@
SUMMARY = "GNOME session"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = " \
glib-2.0-native \
libxslt-native \
xmlto-native \
xtrans \
libice \
libsm \
virtual/libx11 \
gtk+3 \
gnome-desktop \
gsettings-desktop-schemas \
json-glib \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext gsettings upstream-version-is-even features_check
REQUIRED_DISTRO_FEATURES = "x11 systemd pam gobject-introspection-data"
def gnome_verdir(v):
return oe.utils.trim_version(v, 1)
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive"
SRC_URI[archive.sha256sum] = "9c787829ee32e13e1508b9aee2b1d9ba42a02c48e6c8094e34f3e7f92af4df82"
SRC_URI += " \
file://0001-Patch-locking-logout-so-it-does-not-disable-shutting.patch \
file://0001-Disable-sharing-and-usb-protection-add-systemd-to-de.patch \
"
EXTRA_OEMESON += "-Dsystemd=true -Dsystemd_journal=true -Ddocbook=false -Dman=false"
FILES:${PN} += " \
${bindir}/gnome-session \
${libexecdir}/gnome-session-ctl \
${datadir}/xsessions \
${datadir}/wayland-sessions \
${systemd_user_unitdir} \
"
RDEPENDS:${PN} += "gnome-shell gnome-settings-daemon gsettings-desktop-schemas"

View File

@ -0,0 +1,41 @@
SUMMARY = "GNOME session"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = " \
glib-2.0-native \
libxslt-native \
xmlto-native \
xtrans \
libice \
libsm \
virtual/libx11 \
gtk+3 \
gnome-desktop \
gsettings-desktop-schemas \
json-glib \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext gsettings upstream-version-is-even features_check
REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data"
SRC_URI += "file://0001-Patch-locking-logout-so-it-does-not-disable-shutting.patch \
file://0002-Add-systemd-and-session-to-desktop-files.patch \
"
SRC_URI[archive.sha256sum] = "3cca06053ab682926920951a7da95f8cc6d72da74c682c46d0a0653332969caa"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit',d)}"
PACKAGECONFIG[consolekit] = "-Dconsolekit=true, -Dconsolekit=false, consolekit"
PACKAGECONFIG[systemd] = "-Dsystemd=true -Dsystemd_journal=true, -Dsystemd=false -Dsystemd_journal=false, systemd"
FILES:${PN} += " \
${datadir}/xsessions \
${datadir}/wayland-sessions \
${systemd_user_unitdir} \
"
RDEPENDS:${PN} += "gnome-shell gnome-settings-daemon gsettings-desktop-schemas"

View File

@ -1,35 +0,0 @@
SUMMARY = "A set of daemons that manage and provide various parameters to applications"
HOMEPAGE = "https://wiki.gnome.org/Initiatives/Wayland/gnome-settings-daemon"
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24"
DEPENDS = "pango gnome-desktop xorgproto libnotify fontconfig libgudev libxext wayland glib-2.0 libxi libx11 libwacom libxtst gsettings-desktop-schemas intltool-native gtk+3 polkit upower lcms glib-2.0-native wayland colord geoclue libcanberra geocode-glib libgweather pulseaudio networkmanager"
FILES:${PN} += "\
${systemd_user_unitdir} \
${libdir}/gnome-settings-daemon-41 \
"
FILES:${PN}-staticdev += "${libdir}/gnome-settings-daemon-3.0/libgsd.a"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gobject-introspection gettext meson-exe-wrapper
GIR_MESON_OPTION = ""
SRC_URI[archive.sha256sum] = "e6ca6361fbd1deab2de1a1e390d4f14167cf47b1c547dbb8b65a5d89e9663884"
SRC_URI += "file://0001-disable-power-tests-and-sharing.patch"
EXTRA_OEMESON += "\
--buildtype=release \
-Dcups=false \
-Dsmartcard=false \
-Dwwan=false \
-Dusb-protection=false \
-Dsystemd=true \
"

View File

@ -0,0 +1,53 @@
SUMMARY = "Window navigation construction toolkit"
LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gobject-introspection gettext features_check upstream-version-is-even
DEPENDS = " \
colord \
geocode-glib \
gcr \
gnome-desktop \
libgweather4 \
lcms \
libcanberra \
geoclue \
libnotify \
upower \
libwacom \
pulseaudio \
virtual/libx11 \
"
# all these are mandatory
REQUIRED_DISTRO_FEATURES = "x11 polkit pulseaudio systemd gobject-introspection-data"
GIR_MESON_OPTION = ""
SRC_URI[archive.sha256sum] = "ed65851ae54adcd58a24c86837d624fc6a14bd84ab22e94df40a3a4cfd19ffdb"
SRC_URI += "file://0001-disable-power-tests-and-sharing.patch"
PACKAGECONFIG ??= " \
nm \
alsa gudev \
${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
"
PACKAGECONFIG[alsa] = "-Dalsa=true,-Dalsa=false,alsa-lib"
PACKAGECONFIG[cups] = "-Dcups=true,-Dcups=false,cups"
PACKAGECONFIG[gudev] = "-Dgudev=true,-Dgudev=false,libgudev"
PACKAGECONFIG[nm] = "-Dnetwork_manager=true,-Dnetwork_manager=false,networkmanager"
PACKAGECONFIG[smartcard] = "-Dsmartcard=true,-Dsmartcard=false,nss"
PACKAGECONFIG[wayland] = "-Dwayland=true,-Dwayland=false,wayland"
FILES:${PN} += " \
${systemd_user_unitdir} \
${libdir}/gnome-settings-daemon-42/libgsd.so \
"
EXTRA_OEMESON += "\
-Dwwan=false \
-Dusb-protection=false \
-Dsystemd=true \
"

View File

@ -4,18 +4,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
REQUIRED_DISTRO_FEATURES = "x11 systemd pam"
GIR_MESON_OPTION = ""
GTKIC_VERSION = "4"
SRCREV = "d85bd654a3c830a8c3982286c1876321c96faf7d"
SRCREV = "3f794cbe00f3947335a57c1139c8eb3fc617ffb7"
EXTERNAL_TREE_VAR="CITADEL_GNOME_SHELL_PATH"
GIT_URI = "gitsm://github.com/brl/gnome-shell.git;branch=citadel;protocol=https"
GIT_URI = "gitsm://github.com/brl/gnome-shell.git;branch=citadel-42.1;protocol=https"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gettext gobject-introspection gobject-introspection-data features_check bash-completion external-tree
DEPENDS = " \
libxml2-native \
sassc-native \
@ -33,6 +30,8 @@ DEPENDS = " \
gsettings-desktop-schemas \
"
inherit gnomebase gsettings gettext gobject-introspection gtk-icon-cache features_check external-tree
RDEPENDS:${PN} = "gsettings-desktop-schemas librsvg-gtk"
FILES:${PN} += "\

View File

@ -9,20 +9,20 @@ DEPENDS = " \
gtkmm3 \
libgtop \
librsvg \
libhandy \
polkit \
libhandy \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext upstream-version-is-even
inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext
REQUIRED_DISTRO_FEATURES = "x11 polkit"
def gnome_verdir(v):
return oe.utils.trim_version(v, 1)
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive"
SRC_URI[archive.sha256sum] = "c7fc44c61949b794b0289968ebbbcc0c15f8cfc3d9e45bfaa81ed45c12139e5f"
SRC_URI[archive.sha256sum] = "13239d22032201a22bd29833c575b684816700d2de168a1530223577c5c075dc"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd"

View File

@ -0,0 +1,34 @@
From f231cecc151930fd5b6309da317a8c5bc6001f38 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 30 Oct 2021 15:10:28 +0200
Subject: [PATCH] Add W_EXITCODE macro for non-glibc systems
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
src/terminal.cc | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/terminal.cc b/src/terminal.cc
index 27ee91e..5f4d880 100644
--- a/src/terminal.cc
+++ b/src/terminal.cc
@@ -47,6 +47,11 @@
GS_DEFINE_CLEANUP_FUNCTION0(TerminalOptions*, gs_local_options_free, terminal_options_free)
#define gs_free_options __attribute__ ((cleanup(gs_local_options_free)))
+/* fix for musl */
+#ifndef W_EXITCODE
+#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
+#endif
+
/* Wait-for-exit helper */
typedef struct {
--
2.31.1

View File

@ -0,0 +1,46 @@
From f88447850e162c8d514be367db574c6fa2fec2a5 Mon Sep 17 00:00:00 2001
From: Christian Persch <chpe@src.gnome.org>
Date: Fri, 14 Jan 2022 11:33:32 +0100
Subject: [PATCH] build: Fix for newer meson
Upstream-Status: Backport
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
data/meson.build | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/data/meson.build b/data/meson.build
index 79d97e5..e0bcbb9 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -18,7 +18,6 @@
metainfodir = gt_datadir / 'metainfo'
i18n.merge_file(
- gt_dns_name + '.metainfo.xml',
input: gt_dns_name + '.metainfo.xml.in',
output: '@BASENAME@',
po_dir: po_dir,
@@ -27,7 +26,6 @@ i18n.merge_file(
)
i18n.merge_file(
- gt_dns_name + '.Nautilus.metainfo.xml',
input: gt_dns_name + '.Nautilus.metainfo.xml.in',
output: '@BASENAME@',
po_dir: po_dir,
@@ -40,7 +38,6 @@ i18n.merge_file(
desktopdatadir = gt_datadir / 'applications'
i18n.merge_file(
- gt_dns_name + '.desktop',
input: gt_dns_name + '.desktop.in',
output: '@BASENAME@',
type: 'desktop',
@@ -57,4 +54,4 @@ meson.add_install_script(
# Subdirs
-subdir('icons')
\ No newline at end of file
+subdir('icons')

View File

@ -1,35 +0,0 @@
SUMMARY = "GNOME terminal emulator"
HOMEPAGE = "https://wiki.gnome.org/Apps/Terminal"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
DEPENDS = " \
glib-2.0-native \
intltool-native \
yelp-tools-native \
desktop-file-utils-native \
gtk+3 \
gsettings-desktop-schemas \
vte \
dconf \
libpcre2 \
docbook-xsl-stylesheets-native \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gnome-help gettext itstool upstream-version-is-even
SRC_URI[archive.sha256sum] = "c319b1405501b8c7693e616f48eced41695d2e786148ca5f9e27bc7d98f4aeb1"
EXTRA_OEMESON = "-Ddocs=false -Dnautilus_extension=false -Dsearch_provider=false"
FILES:${PN} += "\
${systemd_user_unitdir} \
${datadir}/dbus-1/services \
${datadir}/glib-2.0/schemas \
${datadir}/metainfo \
"
FILES:${PN}-doc += "\
${datadir}/help \
"

View File

@ -0,0 +1,40 @@
SUMMARY = "GNOME terminal"
LICENSE = "GPL-3.0-only & GFDL-1.3"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
file://COPYING.GFDL;md5=a22d0be1ce2284b67950a4d1673dd1b0 \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gnome-help gettext itstool upstream-version-is-even
DEPENDS = " \
glib-2.0-native \
intltool-native \
yelp-tools-native \
docbook-xsl-stylesheets-native libxslt-native \
desktop-file-utils-native \
gtk+3 \
gsettings-desktop-schemas \
vte \
dconf \
libpcre2 \
"
SRC_URI[archive.sha256sum] = "8a9c8e5ef7a3a73b246a947e1190bb08ec98935af860cf0b3aa2fbf4606817a0"
SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
SRC_URI += " file://0001-build-Fix-for-newer-meson.patch"
EXTRA_OEMESON += " \
-Dsearch_provider=false \
-Dnautilus_extension=false \
"
FILES:${PN} += " \
${datadir}/metainfo \
${datadir}/dbus-1 \
${systemd_user_unitdir} \
"
RRECOMMENDS:${PN} += "vte-prompt gsettings-desktop-schemas"

View File

@ -1,76 +0,0 @@
SUMMARY = "Multi-platform toolkit for creating GUIs"
DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
HOMEPAGE = "http://www.gtk.org"
BUGTRACKER = "https://bugzilla.gnome.org/"
SECTION = "libs"
DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf libepoxy graphene libxcursor libxinerama libxi sassc-native \
gdk-pixbuf-native wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
GNOMEBASEBUILDCLASS = "meson"
GIR_MESON_ENABLE_FLAG = "enabled"
GIR_MESON_DISABLE_FLAG = "disbled"
GTKDOC_MESON_OPTION = "gtk_doc"
inherit gnomebase gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings features_check gobject-introspection
# versions >= 3.90 are development versions, otherwise like upstream-version-is-even
UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3\.([1-8]?[02468])+(\.\d+)+)\.tar"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
# This should be in autotools.bbclass, but until something elses uses it putting
# it here avoids rebuilding everything.
export PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
do_configure:prepend() {
# Do this because the configure script is running ./libtool directly
rm -f libtool
ln -s ${TARGET_PREFIX}libtool libtool
#delete a file that will get confused with generated one in ${B}
rm -f ${S}/gtk/gtktypefuncs.c
}
EXTRA_OEMESON += " \
-Ddemos=false \
-Dmedia-gstreamer=disabled \
"
do_compile:prepend() {
export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs"
}
LIBV = "4.0.0"
FILES:${PN}:append = " ${datadir}/gtk-4.0/emoji "
FILES:${PN}-dev += "\
${datadir}/gtk-4.0/valgrind \
${datadir}/gtk-4.0/gtk4builder.rng \
${datadir}/gettext/its \
"
RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
python populate_packages:prepend () {
import os.path
gtk_libdir = d.expand('${libdir}/gtk-4.0/${LIBV}')
immodules_root = os.path.join(gtk_libdir, 'immodules')
printmodules_root = os.path.join(gtk_libdir, 'printbackends');
immodules = do_split_packages(d, immodules_root, r'^im-(.*)\.so$', 'gtk4-immodule-%s', 'GTK input module for %s')
if immodules:
d.setVar("GTKIMMODULES_PACKAGES", " ".join(immodules))
do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk4-printbackend-%s', 'GTK printbackend module for %s')
if (d.getVar('DEBIAN_NAMES')):
d.setVar(d.expand('PKG_${PN}'), '${MLPREFIX}libgtk-4.0')
}

View File

@ -1,47 +0,0 @@
From 0ecaa5bab162abf0cb2057d77beeb7b89d5873b4 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 21 Jun 2016 14:53:56 +0300
Subject: [PATCH 1/4] Hardcoded libtool
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
configure.ac | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 6628e21..f43ac09 100644
--- a/configure.ac
+++ b/configure.ac
@@ -617,7 +617,7 @@ AC_MSG_CHECKING([whether to write dependencies into .pc files])
case $enable_explicit_deps in
auto)
export SED
- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
+ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
if test "x$deplibs_check_method" != xpass_all || test "x$enable_static" = xyes ; then
enable_explicit_deps=yes
else
@@ -895,7 +895,7 @@ else
dnl Now we check to see if our libtool supports shared lib deps
dnl (in a rather ugly way even)
if $dynworks; then
- module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
+ module_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config"
module_deplibs_check=`$module_libtool_config | \
grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
@@ -1649,7 +1649,7 @@ AC_SUBST(GTK_PRINT_BACKENDS)
# We are using gmodule-no-export now, but I'm leaving the stripping
# code in place for now, since pango and atk still require gmodule.
export SED
-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
if test -n "$export_dynamic"; then
GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
--
2.12.0

View File

@ -1,57 +0,0 @@
From 6575ab0f0e8c1bba033ad1616511e37a2ec995ff Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Fri, 16 Oct 2015 16:35:16 +0300
Subject: [PATCH] Do not try to initialize GL without libGL
_gdk_x11_screen_update_visuals_for_gl() will end up calling epoxys
GLX api which will exit() if libGL.so.1 is not present. We do not
want that to happen and we don't want every app to have to set
"GDK_GL=disabled" environment variable: so use #ifdef set based on
opengl distro feature.
Upstream is not interested in the fix as it is: Either epoxy should be
fixed (to not exit) or GTK+ possibly could do some additional probing
before calling epoxy APIs.
Upstream-Status: Denied
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
configure.ac | 6 ++++++
gdk/x11/gdkvisual-x11.c | 5 +++++
2 files changed, 11 insertions(+)
diff --git a/configure.ac b/configure.ac
index e9f5583..bd651bb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -346,6 +346,12 @@ AC_ARG_ENABLE(cloudproviders,
[AS_HELP_STRING([--enable-cloudproviders],
[enable libcloudproviders integration])],
[cloudproviders_set=yes])
+AC_ARG_ENABLE(glx,
+ [AS_HELP_STRING([--enable-glx],
+ [When enabled Gdk will try to initialize GLX])])
+AS_IF([test "x$enable_glx" != "xno"], [
+ AC_DEFINE([HAVE_GLX], [], [GLX will be available at runtime])
+])
AC_ARG_ENABLE(profiler,
[AS_HELP_STRING([--enable-profiler],
diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c
index 81479d8..3c8c5c0 100644
--- a/gdk/x11/gdkvisual-x11.c
+++ b/gdk/x11/gdkvisual-x11.c
@@ -306,7 +306,12 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen)
/* If GL is available we want to pick better default/rgba visuals,
as we care about glx details such as alpha/depth/stencil depth,
stereo and double buffering */
+ /* update_visuals_for_gl() will end up calling epoxy GLX api which
+ will exit if libgl is not there: so only do this if we know GL
+ is available */
+#ifdef HAVE_GLX
_gdk_x11_screen_update_visuals_for_gl (screen);
+#endif
}
gint

View File

@ -1,872 +0,0 @@
From f83fcf1991afad6d9c15546b2ccd775dad4e314c Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 21 Jun 2016 15:11:39 +0300
Subject: [PATCH] Add --disable-opengl configure option
--disable-opengl will remove the dependency on libepoxy and on the
OpenGL APIs. This is useful for those who want to keep using gtk+3
without the "opengl" distro feature.
GtkGLArea is still part of the API (it just doesn't work) even when
OpenGL is disabled. GdkX11GLContext was removed from the Gtk API
completely: that object exposes GL API elements so it had to be at
the very least modified.
The patch is _not_ great from a maintenance point of view and
modifying the library API is also a fairly nasty thing to do.
Next long term release (4.0) will require alternative solutions
as it actually will depend on OpenGL.
Upstream-Status: Inappropriate [Evil eye expected from upstream]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
configure.ac | 13 ++++-
demos/gtk-demo/glarea.c | 14 ++++++
docs/tools/Makefile.am | 9 +++-
docs/tools/widgets.c | 4 +-
gdk/Makefile.am | 8 ++-
gdk/gdkdisplay.c | 4 +-
gdk/gdkgl.c | 10 ++++
gdk/gdkglcontext.c | 6 +++
gdk/gdkwindow.c | 13 +++++
gdk/x11/Makefile.am | 30 +++++++++--
gdk/x11/gdkdisplay-x11.c | 6 ++-
gdk/x11/gdkscreen-x11.c | 5 ++
gdk/x11/gdkwindow-x11.c | 4 ++
gdk/x11/gdkx-autocleanups.h | 2 +
gdk/x11/{gdkx.h => gdkx-with-gl-context.h} | 1 -
gdk/x11/gdkx-without-gl-context.h | 58 ++++++++++++++++++++++
gtk/Makefile.am | 2 +-
gtk/gtkglarea.c | 20 +++++++-
gtk/inspector/general.c | 6 +++
tests/Makefile.am | 10 ++--
testsuite/gtk/objects-finalize.c | 2 +
21 files changed, 208 insertions(+), 19 deletions(-)
rename gdk/x11/{gdkx.h => gdkx-with-gl-context.h} (98%)
create mode 100644 gdk/x11/gdkx-without-gl-context.h
diff --git a/configure.ac b/configure.ac
index bd651bb..b4c061f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -346,6 +346,15 @@ AC_ARG_ENABLE(cloudproviders,
[AS_HELP_STRING([--enable-cloudproviders],
[enable libcloudproviders integration])],
[cloudproviders_set=yes])
+AC_ARG_ENABLE(opengl,
+ [AS_HELP_STRING([--enable-opengl],
+ [When enabled, Gtk+ will use libepoxy and exposes GtkGLArea widget ])])
+AS_IF([test "x$enable_opengl" != "xno"], [
+ AC_DEFINE([HAVE_OPENGL], [1], [libepoxy and opengl APIs are available at buildtime])
+ EPOXY_PACKAGES="epoxy >= epoxy_required_version"
+])
+AM_CONDITIONAL([HAVE_OPENGL],[test "x$enable_opengl" != "xno"])
+
AC_ARG_ENABLE(glx,
[AS_HELP_STRING([--enable-glx],
[When enabled Gdk will try to initialize GLX])])
@@ -1345,7 +1354,7 @@ CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags"
GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0 >= gdk_pixbuf_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version"
-GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $cairo_backends epoxy >= epoxy_required_version $CLOUDPROVIDER_PACKAGES $PROFILER_PACKAGES fribidi >= fribidi_required_version"
+GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $cairo_backends $EPOXY_PACKAGES $CLOUDPROVIDER_PACKAGES $PROFILER_PACKAGES fribidi >= fribidi_required_version"
PKG_CHECK_MODULES(GDK_DEP, $GDK_PACKAGES $GDK_PRIVATE_PACKAGES)
GDK_DEP_LIBS="$GDK_EXTRA_LIBS $GDK_DEP_LIBS $MATH_LIB"
@@ -1379,7 +1388,7 @@ fi
PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
GTK_PACKAGES="atk >= atk_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version gdk-pixbuf-2.0 >= gdk_pixbuf_required_version gio-2.0 >= glib_required_version"
-GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES epoxy >= epoxy_required_version fribidi >= fribidi_required_version"
+GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $EPOXY_PACKAGES fribidi >= fribidi_required_version"
if test "x$enable_x11_backend" = xyes -o "x$enable_wayland_backend" = xyes; then
GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES pangoft2"
fi
diff --git a/demos/gtk-demo/glarea.c b/demos/gtk-demo/glarea.c
index b51e4ae..82409c7 100644
--- a/demos/gtk-demo/glarea.c
+++ b/demos/gtk-demo/glarea.c
@@ -3,9 +3,12 @@
* GtkGLArea is a widget that allows custom drawing using OpenGL calls.
*/
+#include "config.h"
#include <math.h>
#include <gtk/gtk.h>
+#if HAVE_OPENGL
#include <epoxy/gl.h>
+#endif
static GtkWidget *demo_window = NULL;
@@ -23,6 +26,8 @@ enum {
/* Rotation angles on each axis */
static float rotation_angles[N_AXIS] = { 0.0 };
+#ifdef HAVE_OPENGL
+
/* The object we are drawing */
static const GLfloat vertex_data[] = {
0.f, 0.5f, 0.f, 1.f,
@@ -215,6 +220,7 @@ compute_mvp (float *res,
static GLuint position_buffer;
static GLuint program;
static GLuint mvp_location;
+#endif
/* We need to set up our state when we realize the GtkGLArea widget */
static void
@@ -241,8 +247,10 @@ realize (GtkWidget *widget)
fragment_path = "/glarea/glarea-gl.fs.glsl";
}
+#ifdef HAVE_OPENGL
init_buffers (&position_buffer, NULL);
init_shaders (vertex_path, fragment_path, &program, &mvp_location);
+#endif
}
/* We should tear down the state when unrealizing */
@@ -254,10 +262,13 @@ unrealize (GtkWidget *widget)
if (gtk_gl_area_get_error (GTK_GL_AREA (widget)) != NULL)
return;
+#ifdef HAVE_OPENGL
glDeleteBuffers (1, &position_buffer);
glDeleteProgram (program);
+#endif
}
+#ifdef HAVE_OPENGL
static void
draw_triangle (void)
{
@@ -290,6 +301,7 @@ draw_triangle (void)
glBindBuffer (GL_ARRAY_BUFFER, 0);
glUseProgram (0);
}
+#endif
static gboolean
render (GtkGLArea *area,
@@ -298,6 +310,7 @@ render (GtkGLArea *area,
if (gtk_gl_area_get_error (area) != NULL)
return FALSE;
+#ifdef HAVE_OPENGL
/* Clear the viewport */
glClearColor (0.5, 0.5, 0.5, 1.0);
glClear (GL_COLOR_BUFFER_BIT);
@@ -307,6 +320,7 @@ render (GtkGLArea *area,
/* Flush the contents of the pipeline */
glFlush ();
+#endif
return TRUE;
}
diff --git a/docs/tools/Makefile.am b/docs/tools/Makefile.am
index bec43e3..189e8fc 100644
--- a/docs/tools/Makefile.am
+++ b/docs/tools/Makefile.am
@@ -9,13 +9,18 @@ AM_CPPFLAGS = \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
+if HAVE_OPENGL
+GEARS_LDADD = $(top_builddir)/tests/gtkgears.o
+endif
+
DEPS = \
- $(top_builddir)/gtk/libgtk-3.la
+ $(top_builddir)/gtk/libgtk-3.la \
+ $(GEARS_LDADD)
LDADDS = \
$(top_builddir)/gtk/libgtk-3.la \
$(top_builddir)/gdk/libgdk-3.la \
- $(top_builddir)/tests/gtkgears.o \
+ $(GEARS_LDADD) \
$(GTK_DEP_LIBS) \
$(GDK_DEP_LIBS) \
-lm
diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c
index 932daf1..54239d6 100644
--- a/docs/tools/widgets.c
+++ b/docs/tools/widgets.c
@@ -1526,9 +1526,11 @@ create_gl_area (void)
widget = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (widget), GTK_SHADOW_IN);
+#ifdef HAVE_OPENGL
gears = gtk_gears_new ();
gtk_container_add (GTK_CONTAINER (widget), gears);
-
+#endif
+
info = new_widget_info ("glarea", widget, MEDIUM);
return info;
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index 479d6a1..7edbee8 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -274,7 +274,6 @@ x11_introspection_files = \
x11/gdkeventsource.c \
x11/gdkeventtranslator.c \
x11/gdkgeometry-x11.c \
- x11/gdkglcontext-x11.c \
x11/gdkkeys-x11.c \
x11/gdkmain-x11.c \
x11/gdkmonitor-x11.c \
@@ -300,7 +299,6 @@ x11_introspection_files = \
x11/gdkx11display.h \
x11/gdkx11displaymanager.h \
x11/gdkx11dnd.h \
- x11/gdkx11glcontext.h \
x11/gdkx11keys.h \
x11/gdkx11monitor.h \
x11/gdkx11property.h \
@@ -310,6 +308,12 @@ x11_introspection_files = \
x11/gdkx11visual.h \
x11/gdkx11window.h
+if HAVE_OPENGL
+x11_introspection_files += \
+ x11/gdkglcontext-x11.c \
+ x11/gdkx11glcontext.h
+endif
+
GdkX11-3.0.gir: libgdk-3.la Gdk-3.0.gir Makefile
GdkX11_3_0_gir_SCANNERFLAGS = \
--identifier-prefix=Gdk \
diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
index 240c99f..9eb49bf 100644
--- a/gdk/gdkdisplay.c
+++ b/gdk/gdkdisplay.c
@@ -2419,7 +2419,9 @@ gboolean
gdk_display_make_gl_context_current (GdkDisplay *display,
GdkGLContext *context)
{
- return GDK_DISPLAY_GET_CLASS (display)->make_gl_context_current (display, context);
+ if (GDK_DISPLAY_GET_CLASS (display)->make_gl_context_current)
+ return GDK_DISPLAY_GET_CLASS (display)->make_gl_context_current (display, context);
+ return FALSE;
}
GdkRenderingMode
diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
index 933e204..1767508 100644
--- a/gdk/gdkgl.c
+++ b/gdk/gdkgl.c
@@ -26,7 +26,9 @@
# include "win32/gdkwin32.h"
#endif
+#ifdef HAVE_OPENGL
#include <epoxy/gl.h>
+#endif
#include <math.h>
#include <string.h>
@@ -40,6 +42,7 @@ gdk_cairo_surface_mark_as_direct (cairo_surface_t *surface,
g_object_ref (window), g_object_unref);
}
+#ifdef HAVE_OPENGL
static const char *
get_vertex_type_name (int type)
{
@@ -212,6 +215,7 @@ use_texture_rect_program (GdkGLContextPaintData *paint_data)
glUseProgram (paint_data->current_program->program);
}
}
+#endif
void
gdk_gl_texture_quads (GdkGLContext *paint_context,
@@ -220,6 +224,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
GdkTexturedQuad *quads,
gboolean flip_colors)
{
+#ifdef HAVE_OPENGL
GdkGLContextPaintData *paint_data = gdk_gl_context_get_paint_data (paint_context);
GdkGLContextProgram *program;
GdkWindow *window = gdk_gl_context_get_window (paint_context);
@@ -293,6 +298,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
glDisableVertexAttribArray (program->position_location);
glDisableVertexAttribArray (program->uv_location);
+#endif
}
/* x,y,width,height describes a rectangle in the gl render buffer
@@ -341,6 +347,7 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
int width,
int height)
{
+#ifdef HAVE_OPENGL
GdkGLContext *paint_context;
cairo_surface_t *image;
cairo_matrix_t matrix;
@@ -718,6 +725,7 @@ out:
if (clip_region)
cairo_region_destroy (clip_region);
+#endif
}
/* This is always called with the paint context current */
@@ -725,6 +733,7 @@ void
gdk_gl_texture_from_surface (cairo_surface_t *surface,
cairo_region_t *region)
{
+#ifdef HAVE_OPENGL
GdkGLContext *paint_context;
cairo_surface_t *image;
double device_x_offset, device_y_offset;
@@ -825,4 +834,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
glDisable (GL_SCISSOR_TEST);
glDeleteTextures (1, &texture_id);
+#endif
}
diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
index dfbed63..556f0a3 100644
--- a/gdk/gdkglcontext.c
+++ b/gdk/gdkglcontext.c
@@ -85,7 +85,9 @@
#include "gdkintl.h"
#include "gdk-private.h"
+#ifdef HAVE_OPENGL
#include <epoxy/gl.h>
+#endif
typedef struct {
GdkDisplay *display;
@@ -243,6 +245,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
int height,
guint texture_target)
{
+#ifdef HAVE_OPENGL
GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
g_return_if_fail (GDK_IS_GL_CONTEXT (context));
@@ -286,6 +289,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
glTexSubImage2D (texture_target, 0, 0, i, width, 1, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, (unsigned char*) data + (i * stride));
}
}
+#endif
}
static gboolean
@@ -774,6 +778,7 @@ gdk_gl_context_realize (GdkGLContext *context,
static void
gdk_gl_context_check_extensions (GdkGLContext *context)
{
+#ifdef HAVE_OPENGL
GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
gboolean has_npot, has_texture_rectangle;
@@ -853,6 +858,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
priv->use_texture_rectangle ? "yes" : "no"));
priv->extensions_checked = TRUE;
+#endif
}
/**
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 6ae0f86..4e48a2a 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -45,7 +45,9 @@
#include <math.h>
+#ifdef HAVE_OPENGL
#include <epoxy/gl.h>
+#endif
/* for the use of round() */
#include "fallback-c89.c"
@@ -2844,6 +2846,13 @@ gdk_window_get_paint_gl_context (GdkWindow *window,
{
GError *internal_error = NULL;
+#ifndef HAVE_OPENGL
+ g_set_error_literal (error, GDK_GL_ERROR,
+ GDK_GL_ERROR_NOT_AVAILABLE,
+ _("GL support disabled with --disable-opengl"));
+ return NULL;
+#endif
+
if (_gdk_gl_flags & GDK_GL_DISABLE)
{
g_set_error_literal (error, GDK_GL_ERROR,
@@ -2979,6 +2988,7 @@ gdk_window_begin_paint_internal (GdkWindow *window,
}
else
{
+#ifdef HAVE_OPENGL
gdk_gl_context_make_current (context);
/* With gl we always need a surface to combine the gl
drawing with the native drawing. */
@@ -2993,6 +3003,7 @@ gdk_window_begin_paint_internal (GdkWindow *window,
glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glViewport (0, 0, ww, wh);
+#endif
}
}
@@ -3056,6 +3067,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
gdk_gl_context_make_current (window->gl_paint_context);
+#ifdef HAVE_OPENGL
if (!cairo_region_is_empty (opaque_region))
gdk_gl_texture_from_surface (window->current_paint.surface,
opaque_region);
@@ -3066,6 +3078,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
window->current_paint.need_blend_region);
glDisable(GL_BLEND);
}
+#endif
cairo_region_destroy (opaque_region);
diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am
index 32b1f24..6352313 100644
--- a/gdk/x11/Makefile.am
+++ b/gdk/x11/Makefile.am
@@ -40,8 +40,6 @@ libgdk_x11_la_SOURCES = \
gdkeventtranslator.c \
gdkeventtranslator.h \
gdkgeometry-x11.c \
- gdkglcontext-x11.c \
- gdkglcontext-x11.h \
gdkkeys-x11.c \
gdkmain-x11.c \
gdkmonitor-x11.c \
@@ -56,14 +54,32 @@ libgdk_x11_la_SOURCES = \
gdkwindow-x11.h \
gdkxftdefaults.c \
gdkxid.c \
- gdkx.h \
gdkprivate-x11.h \
xsettings-client.h \
xsettings-client.c
+if HAVE_OPENGL
+libgdk_x11_la_SOURCES += \
+ gdkglcontext-x11.c \
+ gdkglcontext-x11.h
+endif
+
libgdkinclude_HEADERS = \
gdkx.h
+if HAVE_OPENGL
+GDKX_HEADER = gdkx-with-gl-context.h
+else
+GDKX_HEADER = gdkx-without-gl-context.h
+endif
+
+BUILT_SOURCES = gdkx.h
+
+.PHONY: gdkx.h
+gdkx.h:
+ $(AM_V_GEN) cd $(srcdir) \
+ && (cmp -s $(GDKX_HEADER) gdkx.h || cp $(GDKX_HEADER) gdkx.h )
+
libgdkx11include_HEADERS = \
gdkx-autocleanups.h \
gdkx11applaunchcontext.h \
@@ -77,7 +93,6 @@ libgdkx11include_HEADERS = \
gdkx11display.h \
gdkx11displaymanager.h \
gdkx11dnd.h \
- gdkx11glcontext.h \
gdkx11keys.h \
gdkx11monitor.h \
gdkx11property.h \
@@ -87,10 +102,17 @@ libgdkx11include_HEADERS = \
gdkx11visual.h \
gdkx11window.h
+if HAVE_OPENGL
+libgdkx11include_HEADERS += gdkx11glcontext.h
+endif
+
# We need to include all these C files here since the conditionals
# don't seem to be correctly expanded for the dist files.
EXTRA_DIST += \
+ gdkx.h \
gdksettings.c \
meson.build
+MAINTAINERCLEANFILES = gdkx.h
+
-include $(top_srcdir)/git.mk
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
index 817944e..e7a2947 100644
--- a/gdk/x11/gdkdisplay-x11.c
+++ b/gdk/x11/gdkdisplay-x11.c
@@ -37,7 +37,9 @@
#include "gdkdisplay-x11.h"
#include "gdkprivate-x11.h"
#include "gdkscreen-x11.h"
+#ifdef HAVE_OPENGL
#include "gdkglcontext-x11.h"
+#endif
#include "gdk-private.h"
#include "gdkprofilerprivate.h"
@@ -3188,7 +3190,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
display_class->text_property_to_utf8_list = _gdk_x11_display_text_property_to_utf8_list;
display_class->utf8_to_string_target = _gdk_x11_display_utf8_to_string_target;
- display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
+#ifdef HAVE_OPENGL
+ display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
+#endif
display_class->get_default_seat = gdk_x11_display_get_default_seat;
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
index 8939ae9..931bff9 100644
--- a/gdk/x11/gdkscreen-x11.c
+++ b/gdk/x11/gdkscreen-x11.c
@@ -1723,3 +1723,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen)
{
return get_netwm_cardinal_property (screen, "_NET_CURRENT_DESKTOP");
}
+
+#ifndef HAVE_OPENGL
+/* Function from in gdk/x11/gdkglcontext-x11.c */
+void _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) {}
+#endif
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 1fe7b90..d23a347 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -36,7 +36,9 @@
#include "gdkasync.h"
#include "gdkeventsource.h"
#include "gdkdisplay-x11.h"
+#ifdef HAVE_OPENGL
#include "gdkglcontext-x11.h"
+#endif
#include "gdkprivate-x11.h"
#include "gdk-private.h"
@@ -5861,7 +5863,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
impl_class->show_window_menu = gdk_x11_window_show_window_menu;
+#ifdef HAVE_OPENGL
impl_class->create_gl_context = gdk_x11_window_create_gl_context;
impl_class->invalidate_for_new_frame = gdk_x11_window_invalidate_for_new_frame;
+#endif
impl_class->get_unscaled_size = gdk_x11_window_get_unscaled_size;
}
diff --git a/gdk/x11/gdkx-autocleanups.h b/gdk/x11/gdkx-autocleanups.h
index edb0ea7..a317d61 100644
--- a/gdk/x11/gdkx-autocleanups.h
+++ b/gdk/x11/gdkx-autocleanups.h
@@ -30,7 +30,9 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceXI2, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Display, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DisplayManager, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DragContext, g_object_unref)
+#ifdef HAVE_OPENGL
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11GLContext, g_object_unref)
+#endif
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Keymap, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Screen, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Visual, g_object_unref)
diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx-with-gl-context.h
similarity index 98%
rename from gdk/x11/gdkx.h
rename to gdk/x11/gdkx-with-gl-context.h
index 1f64bcc..ae05fa6 100644
--- a/gdk/x11/gdkx.h
+++ b/gdk/x11/gdkx-with-gl-context.h
@@ -45,7 +45,6 @@
#include <gdk/x11/gdkx11dnd.h>
#include <gdk/x11/gdkx11glcontext.h>
#include <gdk/x11/gdkx11keys.h>
-#include <gdk/x11/gdkx11monitor.h>
#include <gdk/x11/gdkx11property.h>
#include <gdk/x11/gdkx11screen.h>
#include <gdk/x11/gdkx11selection.h>
diff --git a/gdk/x11/gdkx-without-gl-context.h b/gdk/x11/gdkx-without-gl-context.h
new file mode 100644
index 0000000..c9e2617
--- /dev/null
+++ b/gdk/x11/gdkx-without-gl-context.h
@@ -0,0 +1,58 @@
+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
+ * file for a list of people on the GTK+ Team. See the ChangeLog
+ * files for a list of changes. These files are distributed with
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
+#ifndef __GDK_X_H__
+#define __GDK_X_H__
+
+#include <gdk/gdk.h>
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+
+#define __GDKX_H_INSIDE__
+
+#include <gdk/x11/gdkx11applaunchcontext.h>
+#include <gdk/x11/gdkx11cursor.h>
+#include <gdk/x11/gdkx11device.h>
+#include <gdk/x11/gdkx11device-core.h>
+#include <gdk/x11/gdkx11device-xi2.h>
+#include <gdk/x11/gdkx11devicemanager.h>
+#include <gdk/x11/gdkx11devicemanager-core.h>
+#include <gdk/x11/gdkx11devicemanager-xi2.h>
+#include <gdk/x11/gdkx11display.h>
+#include <gdk/x11/gdkx11displaymanager.h>
+#include <gdk/x11/gdkx11dnd.h>
+#include <gdk/x11/gdkx11keys.h>
+#include <gdk/x11/gdkx11property.h>
+#include <gdk/x11/gdkx11screen.h>
+#include <gdk/x11/gdkx11selection.h>
+#include <gdk/x11/gdkx11utils.h>
+#include <gdk/x11/gdkx11visual.h>
+#include <gdk/x11/gdkx11window.h>
+
+#include <gdk/x11/gdkx-autocleanups.h>
+
+#undef __GDKX_H_INSIDE__
+
+#endif /* __GDK_X_H__ */
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index eaca473..99352d1 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -1449,7 +1449,7 @@ gtktypefuncs.inc: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_s
${CPP} $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
$(GREP) -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
sort | uniq | \
- $(SED) '{ s/^/*tp++ = /; s/$$/();/; s/^.*\(gdk_x11\|gtk_plug_\|gtk_socket_\).*$$/#ifdef GDK_WINDOWING_X11\n&\n#endif/; }' >> xgen-gtf \
+ $(SED) '{ s/^/*tp++ = /; s/$$/();/; s/^.*\(gdk_x11\|gtk_plug_\|gtk_socket_\).*$$/#ifdef GDK_WINDOWING_X11\n&\n#endif/; s/^.*gdk_x11_gl.*$$/#ifdef HAVE_OPENGL\n&\n#endif/; }' >> xgen-gtf \
&& cp xgen-gtf $@ && rm -f xgen-gtf
$(srcdir)/gtktestutils.c: gtktypefuncs.inc
diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
index 9a56443..7de0db2 100644
--- a/gtk/gtkglarea.c
+++ b/gtk/gtkglarea.c
@@ -29,7 +29,9 @@
#include "gtkprivate.h"
#include "gtkrender.h"
+#ifdef HAVE_OPENGL
#include <epoxy/gl.h>
+#endif
/**
* SECTION:gtkglarea
@@ -369,9 +371,12 @@ gtk_gl_area_real_create_context (GtkGLArea *area)
static void
gtk_gl_area_resize (GtkGLArea *area, int width, int height)
{
+#ifdef HAVE_OPENGL
glViewport (0, 0, width, height);
+#endif
}
+#ifdef HAVE_OPENGL
/*
* Creates all the buffer objects needed for rendering the scene
*/
@@ -483,6 +488,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area)
priv->needs_render = TRUE;
}
+#endif
/**
* gtk_gl_area_attach_buffers:
@@ -501,6 +507,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area)
void
gtk_gl_area_attach_buffers (GtkGLArea *area)
{
+#ifdef HAVE_OPENGL
GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
g_return_if_fail (GTK_IS_GL_AREA (area));
@@ -533,11 +540,13 @@ gtk_gl_area_attach_buffers (GtkGLArea *area)
glFramebufferRenderbufferEXT (GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT,
GL_RENDERBUFFER_EXT, priv->depth_stencil_buffer);
}
+#endif
}
static void
gtk_gl_area_delete_buffers (GtkGLArea *area)
{
+#ifdef HAVE_OPENGL
GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
if (priv->context == NULL)
@@ -569,6 +578,7 @@ gtk_gl_area_delete_buffers (GtkGLArea *area)
glDeleteFramebuffersEXT (1, &priv->frame_buffer);
priv->frame_buffer = 0;
}
+#endif
}
static void
@@ -679,6 +689,7 @@ gtk_gl_area_draw (GtkWidget *widget,
GtkGLArea *area = GTK_GL_AREA (widget);
GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
gboolean unused;
+#ifdef HAVE_OPENGL
int w, h, scale;
GLenum status;
@@ -690,7 +701,6 @@ gtk_gl_area_draw (GtkWidget *widget,
gtk_widget_get_allocated_height (widget));
return FALSE;
}
-
if (priv->context == NULL)
return FALSE;
@@ -736,6 +746,14 @@ gtk_gl_area_draw (GtkWidget *widget,
}
return TRUE;
+#else
+ if (priv->error != NULL)
+ gtk_gl_area_draw_error_screen (area,
+ cr,
+ gtk_widget_get_allocated_width (widget),
+ gtk_widget_get_allocated_height (widget));
+ return FALSE;
+#endif
}
static gboolean
diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
index c241ec8..24576dd 100644
--- a/gtk/inspector/general.c
+++ b/gtk/inspector/general.c
@@ -33,8 +33,10 @@
#ifdef GDK_WINDOWING_X11
#include "x11/gdkx.h"
+#ifdef HAVE_OPENGL
#include <epoxy/glx.h>
#endif
+#endif
#ifdef GDK_WINDOWING_WIN32
#include "win32/gdkwin32.h"
@@ -196,6 +198,7 @@ add_label_row (GtkInspectorGeneral *gen,
gtk_size_group_add_widget (GTK_SIZE_GROUP (gen->priv->labels), label);
}
+#ifdef HAVE_OPENGL
#ifdef GDK_WINDOWING_X11
static void
append_glx_extension_row (GtkInspectorGeneral *gen,
@@ -205,6 +208,7 @@ append_glx_extension_row (GtkInspectorGeneral *gen,
add_check_row (gen, GTK_LIST_BOX (gen->priv->gl_box), ext, epoxy_has_glx_extension (dpy, 0, ext), 0);
}
#endif
+#endif
#ifdef GDK_WINDOWING_WAYLAND
static void
@@ -254,6 +258,7 @@ wayland_get_display (struct wl_display *wl_display)
static void
init_gl (GtkInspectorGeneral *gen)
{
+#ifdef HAVE_OPENGL
#ifdef GDK_WINDOWING_X11
if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
{
@@ -280,6 +285,7 @@ init_gl (GtkInspectorGeneral *gen)
}
else
#endif
+#endif
#ifdef GDK_WINDOWING_WAYLAND
if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()))
{
diff --git a/tests/Makefile.am b/tests/Makefile.am
index ee1e8b5..e6c6502 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -80,8 +80,6 @@ noinst_PROGRAMS = $(TEST_PROGS) \
testfullscreen \
testgeometry \
testgiconpixbuf \
- testglarea \
- testglblending \
testgrid \
testgtk \
testheaderbar \
@@ -172,12 +170,18 @@ noinst_PROGRAMS = $(TEST_PROGS) \
testactionbar \
testwindowsize \
testpopover \
- gdkgears \
listmodel \
testpopup \
testpopupat \
$(NULL)
+if HAVE_OPENGL
+noinst_PROGRAMS +=
+ testglarea \
+ testglblending \
+ gdkgears
+endif
+
if USE_WAYLAND
noinst_PROGRAMS += testforeign
endif
diff --git a/testsuite/gtk/objects-finalize.c b/testsuite/gtk/objects-finalize.c
index 24540e3..e0f863a 100644
--- a/testsuite/gtk/objects-finalize.c
+++ b/testsuite/gtk/objects-finalize.c
@@ -116,7 +116,9 @@ main (int argc, char **argv)
all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_CORE &&
all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_XI2 &&
all_types[i] != GDK_TYPE_X11_DISPLAY_MANAGER &&
+#ifdef HAVE_OPENGL
all_types[i] != GDK_TYPE_X11_GL_CONTEXT &&
+#endif
#endif
/* Not allowed to finalize a GdkPixbufLoader without calling gdk_pixbuf_loader_close() */
all_types[i] != GDK_TYPE_PIXBUF_LOADER &&

View File

@ -1,19 +0,0 @@
Link with libfribidi, this is to avoid under linking where these functions are
used but the library is not linked in, and they are marked undefined by BFD linker
but gold linker refuses to link
| ./.libs/libgdk-3.so: error: undefined reference to 'fribidi_get_bidi_type'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -55,6 +55,7 @@ LDADD = \
-version-info $(LT_VERSION_INFO) \
-export-dynamic \
-rpath $(libdir) \
+ -lfribidi \
$(no_undefined)
#

View File

@ -1,19 +0,0 @@
If the resources file isn't sorted in some way then libgdk.so will differ
depending on the inode order of the resource files.
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@intel.com>
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index e25b57ba50..26f2d57c6e 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -465,7 +465,7 @@ stamp-gc-h: $(top_builddir)/config.status
# Resources
#
-glsl_sources := $(wildcard $(srcdir)/resources/glsl/*.glsl)
+glsl_sources := $(sort $(wildcard $(srcdir)/resources/glsl/*.glsl))
gdk.gresource.xml: Makefile.am
$(AM_V_GEN) echo "<?xml version='1.0' encoding='UTF-8'?>" > $@; \

View File

@ -1,15 +0,0 @@
require gtk4.inc
MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz \
"
SRC_URI[sha256sum] = "0faada983dc6b0bc409cb34c1713c1f3267e67c093f86b1e3b17db6100a3ddf4"
S = "${WORKDIR}/gtk-${PV}"
LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
file://tests/testgtk.c;endline=25;md5=49d06770681b8322466b52ed19d29fb2"

View File

@ -0,0 +1,142 @@
SUMMARY = "Multi-platform toolkit for creating GUIs"
DESCRIPTION = "GTK is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
set of widgets, GTK is suitable for projects ranging from small one-off projects to complete application suites."
HOMEPAGE = "http://www.gtk.org"
BUGTRACKER = "https://bugzilla.gnome.org/"
SECTION = "libs"
DEPENDS = " \
sassc-native \
glib-2.0 \
libepoxy \
graphene \
cairo \
pango \
atk \
jpeg \
libpng \
librsvg \
tiff \
gdk-pixbuf-native gdk-pixbuf \
"
LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
file://tests/testgtk.c;endline=25;md5=49d06770681b8322466b52ed19d29fb2 \
"
MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz"
SRC_URI[sha256sum] = "a79a2bbcc7931b703fc4fa1fcbe1b906e229a1522d854d522801766a79bcac9f"
S = "${WORKDIR}/gtk-${PV}"
inherit meson gettext pkgconfig gtk-doc update-alternatives gsettings features_check gobject-introspection
# TBD: nativesdk
# gobject-introspection.bbclass pins introspection off for nativesk. As long as
# we do not remove this wisdom or hack gtk4, it is not possible to build
# nativesdk-gtk4
BBCLASSEXTEND = "native"
GSETTINGS_PACKAGE:class-native = ""
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
REQUIRED_DISTRO_FEATURES = "opengl"
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
GTKDOC_MESON_OPTION = 'gtk_doc'
EXTRA_OEMESON = " -Dbuild-tests=false"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = "-Dx11-backend=true,-Dx11-backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes xinerama"
PACKAGECONFIG[wayland] = "-Dwayland-backend=true,-Dwayland-backend=false,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
PACKAGECONFIG[cups] = "-Dprint-cups=enabled,-Dprint-cups=disabled,cups"
PACKAGECONFIG[colord] = "-Dcolord=enabled,-Dcolord=disabled,colord"
# gtk4 wants gstreamer-player-1.0 -> gstreamer1.0-plugins-bad
PACKAGECONFIG[gstreamer] = "-Dmedia-gstreamer=enabled,-Dmedia-gstreamer=disabled,gstreamer1.0-plugins-bad"
PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tracker"
do_compile:prepend() {
export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs"
}
PACKAGES =+ "${PN}-demo"
LIBV = "4.0.0"
FILES:${PN}-demo = " \
${datadir}/applications/org.gtk.Demo4.desktop \
${datadir}/applications/org.gtk.IconBrowser4.desktop \
${datadir}/applications/org.gtk.WidgetFactory4.desktop \
${datadir}/icons/hicolor/*/apps/org.gtk.Demo4*.* \
${datadir}/icons/hicolor/*/apps/org.gtk.IconBrowser4*.* \
${datadir}/icons/hicolor/*/apps/org.gtk.WidgetFactory4*.* \
${bindir}/gtk4-demo \
${bindir}/gtk4-demo-application \
${bindir}/gtk4-icon-browser \
${bindir}/gtk4-widget-factory \
"
FILES:${PN}:append = " \
${datadir}/glib-2.0/schemas/ \
${datadir}/gtk-4.0/emoji/ \
${datadir}/metainfo/ \
${datadir}/icons/hicolor/*/apps/org.gtk.PrintEditor4*.* \
${libdir}/gtk-4.0/${LIBV}/printbackends \
${bindir}/gtk4-update-icon-cache \
${bindir}/gtk4-launch \
"
FILES:${PN}-dev += " \
${datadir}/gtk-4.0/gtk4builder.rng \
${datadir}/gtk-4.0/include \
${datadir}/gtk-4.0/valgrind \
${datadir}/gettext/its \
${bindir}/gtk4-builder-tool \
${bindir}/gtk4-encode-symbolic-svg \
${bindir}/gtk4-query-settings \
"
GTKBASE_RRECOMMENDS ?= " \
liberation-fonts \
gdk-pixbuf-loader-png \
gdk-pixbuf-loader-jpeg \
gdk-pixbuf-loader-gif \
gdk-pixbuf-loader-xpm \
shared-mime-info \
adwaita-icon-theme-symbolic \
"
GTKBASE_RRECOMMENDS:class-native ?= ""
GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
PACKAGES_DYNAMIC += "^gtk4-printbackend-.*"
python populate_packages:prepend () {
import os.path
gtk_libdir = d.expand('${libdir}/gtk-3.0/${LIBV}')
printmodules_root = os.path.join(gtk_libdir, 'printbackends');
do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk4-printbackend-%s', 'GTK printbackend module for %s')
if (d.getVar('DEBIAN_NAMES')):
d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-4.0')
}

View File

@ -1,72 +0,0 @@
DESCRIPTION = "gvfs is a userspace virtual filesystem"
LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gtk-icon-cache gconf mime bash-completion gettext upstream-version-is-even
DEPENDS += "libsecret glib-2.0 gconf libgudev udisks2 polkit shadow-native libusb1 gsettings-desktop-schemas"
SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
SRC_URI[archive.sha256sum] = "b2ea4f271aad2711f16b43c03151e2ec5a9874ff1a21142ef6d6406486a19dc2"
EXTRA_OEMESON = " \
-Dadmin=false \
-Dafc=false \
-Dafp=false \
-Darchive=false \
-Dcdda=false \
-Ddnssd=false \
-Dgoa=false \
-Dgoogle=false \
-Dgphoto2=false \
-Dhttp=false \
-Dmtp=false \
-Dhttp=false \
-Dnfs=false \
-Dsftp=false \
-Dsmb=false \
-Dbluray=false \
-Dgcr=false \
-Dkeyring=false \
-Dudisks2=true \
"
FILES:${PN} += " \
${datadir}/glib-2.0 \
${datadir}/GConf \
${datadir}/dbus-1/services \
${libdir}/gio/modules/*.so \
${libdir}/tmpfiles.d \
${systemd_user_unitdir} \
"
RDEPENDS:${PN} = "udisks2"
FILES:${PN}-dbg += "${libdir}/gio/modules/.debug/*"
FILES:${PN}-dev += "${libdir}/gio/modules/*.la"
PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd"
# needs meta-filesystems
PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse"
do_install:append() {
# After rebuilds (not from scracth) it can happen that the executables in
# libexec ar missing executable permission flag. Not sure but it came up
# during transition to meson. Looked into build files and logs but could
# not find suspicious
for exe in `find ${D}/${libexec}`; do
chmod +x $exe
done
# Something sets user services executable - looks a bit as if meson
# transition has room for enhancements...
# Systemd warns with messages as:
# Apr 07 01:00:33 raspberrypi3 systemd[348]: Configuration file /usr/lib/systemd/user/gvfs-mtp-volume-monitor.service is marked executable. Please remove executable permissio>
for service in `find ${D}/${systemd_user_unitdir}`; do
chmod -x $service
done
}

View File

@ -0,0 +1,89 @@
DESCRIPTION = "gvfs is a userspace virtual filesystem"
LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings bash-completion gettext upstream-version-is-even features_check useradd
DEPENDS += "libsecret glib-2.0 glib-2.0-native libgudev shadow-native \
gsettings-desktop-schemas dbus"
RDEPENDS:${PN} += "gsettings-desktop-schemas"
SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
SRC_URI[archive.sha256sum] = "cbc2f564d2e9f00c760673f42d6803bce3e081ab7ffb4456deffffba9339b4dd"
# depends on gsettings-desktop-schemas->gcr->gtk+3-> x11
REQUIRED_DISTRO_FEATURES = "x11"
EXTRA_OEMESON = " \
-Dbluray=false \
-Dgoa=false \
-Dgoogle=false \
-Dnfs=false \
"
PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
FILES:${PN} += " \
${datadir}/glib-2.0 \
${datadir}/GConf \
${datadir}/dbus-1/services \
${libdir}/gio/modules/*.so \
${libdir}/tmpfiles.d \
${systemd_user_unitdir} \
"
FILES:${PN}-dbg += "${libdir}/gio/modules/.debug/*"
FILES:${PN}-dev += "${libdir}/gio/modules/*.la"
FILES:gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
FILES:gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
FILES:gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
RRECOMMENDS:gvfsd-ftp += "openssh-sftp openssh-ssh"
PACKAGECONFIG ?= "libgphoto2 \
${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
${@bb.utils.contains('DISTRO_FEATURES','polkit','udisks2','',d)} \
${@bb.utils.contains('DISTRO_FEATURES','polkit','admin','',d)} \
"
PACKAGECONFIG[udisks2] = "-Dudisks2=true, -Dudisks2=false, udisks2, udisks2"
PACKAGECONFIG[admin] = "-Dadmin=true, -Dadmin=false, libcap polkit"
PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist"
PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive"
PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi"
PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr"
PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-2.4"
PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp"
PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd"
PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2"
PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba"
PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd"
# needs meta-filesystems
PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse3"
# libcdio-paranoia recipe doesn't exist yet
PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia"
USERADD_PACKAGES = "${PN}"
USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd"
do_install:append() {
if ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'true', 'false', d)}; then
# Fix up permissions on polkit rules.d to work with rpm4 constraints
chmod 700 ${D}/${datadir}/polkit-1/rules.d
chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
fi
# After rebuilds (not from scracth) it can happen that the executables in
# libexec ar missing executable permission flag. Not sure but it came up
# during transition to meson. Looked into build files and logs but could
# not find suspicious
for exe in `find ${D}/${libexecdir}`; do
chmod +x $exe
done
}

View File

@ -0,0 +1,25 @@
SUMMARY = "Building blocks for modern GNOME applications"
LICENSE="LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
GNOMEBASEBUILDCLASS = "meson"
DEPENDS = " \
sassc-native \
gtk4 \
"
inherit gnomebase gobject-introspection gtk-doc vala features_check
SRC_URI[archive.sha256sum] = "491169d4f6a11765328996bc088272d05c7235453bc0ee73c20dfd4bd67b401c"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
REQUIRED_DISTRO_FEATURES = "opengl"
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
GTKDOC_MESON_OPTION = 'gtk_doc'
PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false"
FILES:${PN} += "${datadir}/metainfo"

View File

@ -0,0 +1,33 @@
From 179102310e9a3729fb5b00f2a7bf24b12f4a7a83 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 16 Apr 2022 20:04:14 +0200
Subject: [PATCH] Allow building gir in cross environments
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
For us this works perfectly fine
Upstream-Status: Inappropriate [OE-specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
libgweather/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libgweather/meson.build b/libgweather/meson.build
index 08311af..ef554f2 100644
--- a/libgweather/meson.build
+++ b/libgweather/meson.build
@@ -208,7 +208,7 @@ lib_libgweather = library('gweather-4',
)
g_ir_scanner = find_program('g-ir-scanner', required: get_option('introspection'))
-build_gir = get_option('introspection') and g_ir_scanner.found() and not meson.is_cross_build()
+build_gir = get_option('introspection') and g_ir_scanner.found()
enable_vala = get_option('enable_vala')
vapigen = find_program('vapigen', required: enable_vala == 'true')
--
2.34.1

View File

@ -0,0 +1,28 @@
SUMMARY = "A library to access weather information from online services"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
GNOMEBASEBUILDCLASS = "meson"
GNOMEBN = "libgweather"
S = "${WORKDIR}/${GNOMEBN}-${PV}"
inherit gnomebase gsettings gobject-introspection gettext gtk-doc vala
SRC_URI += "file://0001-Allow-building-gir-in-cross-environments.patch"
SRC_URI[archive.sha256sum] = "440d44801b6f72b48c676e5e37f9109cfee1394fd74cc92725e1b1ba4fae834c"
GTKDOC_MESON_OPTION = "gtk_doc"
DEPENDS = " \
geocode-glib \
gtk+3 \
json-glib \
libsoup-2.4 \
python3-pygobject-native \
"
FILES:${PN} += " \
${datadir}/libgweather-4 \
${libdir}/libgweather-4 \
"

View File

@ -1,43 +0,0 @@
SUMMARY = "Location and timezone database and weather lookup library"
HOMEPAGE = "https://wiki.gnome.org/Projects/LibGWeather"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase meson pkgconfig gobject-introspection gettext features_check
SRC_URI[archive.sha256sum] = "ca4e8f2a4baaa9fc6d75d8856adb57056ef1cd6e55c775ba878ae141b6276ee6"
DEPENDS = "gtk+3 libxml2 libsoup-2.4 glib-2.0 python3-pygobject-native itstool-native geocode-glib glib-2.0-native"
# gobject-introspection is mandatory and cannot be configured
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
GIR_MESON_OPTION = ""
GTKDOC_MESON_OPTION = "gtk_doc"
FILES:${PN} += "${datadir}/glib-2.0/schemas"
SECTION ?= "x11/gnome"
FILES:${PN} += "${datadir}/application-registry \
${datadir}/mime-info \
${datadir}/mime/packages \
${datadir}/mime/application \
${datadir}/gnome-2.0 \
${datadir}/polkit* \
${datadir}/GConf \
${datadir}/glib-2.0/schemas \
${datadir}/appdata \
${datadir}/icons \
"
FILES:${PN}-doc += "${datadir}/devhelp"
do_install:append() {
rm -rf ${D}${localstatedir}/lib/scrollkeeper/*
rm -rf ${D}${localstatedir}/scrollkeeper/*
rm -f ${D}${datadir}/applications/*.cache
}

View File

@ -37,10 +37,10 @@ DEPENDS = " \
RDEPENDS:${PN} += " xwayland zenity"
SRCREV = "7cab502754edef977215bdfc9f8dfa0849a426f3"
SRCREV = "56e7b774e9a2ea215d02cb1ac88a8cfa74b5a4a6"
EXTERNAL_TREE_VAR="CITADEL_MUTTER_PATH"
GIT_URI = "git://github.com/brl/mutter.git;branch=citadel;protocol=https"
GIT_URI = "git://github.com/brl/mutter.git;branch=citadel-42.1;protocol=https"
GNOMEBASEBUILDCLASS = "meson"
@ -65,7 +65,7 @@ EXTRA_OEMESON += " \
-Dgles2_libname=libGLESv2.so.2 \
"
MUTTER_API_NAME = "mutter-9"
MUTTER_API_NAME = "mutter-10"
do_install:append() {
# Add gir links in standard paths. That makes dependents life much easier

View File

@ -9,14 +9,14 @@ inherit features_check gnomebase gsettings gtk-icon-cache gettext
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI[archive.sha256sum] = "ddbb400ace804b59cc513611ce9701f7ef3f00de151dbbfb96284c8c1ef2b18b"
SRC_URI[archive.sha256sum] = "69611b29064adbd57395fe3e51a9ebde1ea794615f776900453a2bbe3d8cddfd"
# We don't not have ubuntu's appindicator (yet?)
EXTRA_OEMESON = "-Dappindicator=no"
# We currently don't build NetworkManager with libteamdctl support
EXTRA_OEMESON += "-Dteam=false"
PACKAGECONFIG ??= ""
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
PACKAGECONFIG[modemmanager] = "-Dwwan=true, -Dwwan=false, modemmanager"
PACKAGECONFIG[selinux] = "-Dselinux=true, -Dselinux=false, libselinux"

View File

@ -5,17 +5,19 @@ LIC_FILES_CHKSUM = " \
file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \
"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase itstool
DEPENDS += " \
libxslt-native \
libxml2-native \
python3-lxml-native \
yelp-xsl \
"
SRC_URI[archive.md5sum] = "7856f9ad0492aaf9adf097f5058bfc2e"
SRC_URI[archive.sha256sum] = "183856b5ed0b0bb2c05dd1204af023946ed436943e35e789afb0295e5e71e8f9"
SRC_URI[archive.sha256sum] = "2cd43063ffa7262df15dd8d379aa3ea3999d42661f07563f4802daa1149f7df4"
RDEPENDS:${PN} += "yelp-xsl"
RDEPENDS:${PN} += "python3-core yelp-xsl"
BBCLASSEXTEND = "native"

View File

@ -1,7 +1,7 @@
SUMMARY = "XSL stylesheets for the yelp help browser"
LICENSE = "LGPL-2.1-only & GPL-2.0-only"
LICENSE = "LGPL-2.1-only & GPL-2.0-only & BSD-3-Clause"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=3e2bad3c5e3990988f9fa1bc5785b147 \
file://COPYING;md5=8ca13a5a6972ac1620a1e42a3dacd774 \
file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \
file://COPYING.LGPL;md5=a6f89e2100d9b6cdffcea4f398e37343 \
"
@ -10,8 +10,7 @@ inherit gnomebase gettext itstool
DEPENDS += "libxml2"
SRC_URI[archive.md5sum] = "7d71af68fff4a92bcb2b8989f126be6c"
SRC_URI[archive.sha256sum] = "4fe51c0233b79a4c204c68498d45f09b342c30ed02c4e418506c0e35f0904ec3"
SRC_URI[archive.sha256sum] = "29b273cc0bd16efb6e983443803f1e9fdc03511e5c4ff6348fd30a604d4dc846"
RDEPENDS:${PN}:append:class-target = " libxml2 itstool"

Some files were not shown because too many files have changed in this diff Show More