Mega update of poky, kernel, Gnome 3.36
This commit is contained in:
parent
34a2bad374
commit
1bbbe3ebbc
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -7,3 +7,6 @@
|
||||
[submodule "meta-intel"]
|
||||
path = meta-intel
|
||||
url = https://git.yoctoproject.org/git/meta-intel
|
||||
[submodule "meta-clang"]
|
||||
path = meta-clang
|
||||
url = https://github.com/kraj/meta-clang
|
||||
|
@ -11,4 +11,5 @@ BBLAYERS ?= " \
|
||||
##OEROOT##/../meta-rust \
|
||||
##OEROOT##/../meta-citadel \
|
||||
##OEROOT##/../meta-gnome \
|
||||
##OEROOT##/../meta-clang \
|
||||
"
|
||||
|
@ -5,13 +5,14 @@ BBPATH =. "${LAYERDIR}:"
|
||||
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
|
||||
${LAYERDIR}/recipes-*/*/*.bbappend"
|
||||
|
||||
BBMASK += "meta-intel/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend"
|
||||
LICENSE_PATH += "${LAYERDIR}/licenses"
|
||||
|
||||
BBFILE_COLLECTIONS += "citadel"
|
||||
BBFILE_PATTERN_citadel = "^${LAYERDIR}/"
|
||||
BBFILE_PRIORITY_citadel = "5"
|
||||
|
||||
LAYERSERIES_COMPAT_citadel = "thud warrior"
|
||||
LAYERSERIES_COMPAT_citadel = "thud warrior zeus"
|
||||
|
||||
# This should only be incremented on significant changes that will
|
||||
# cause compatibility issues with other layers
|
||||
|
@ -49,7 +49,8 @@ SRC_URI = "\
|
||||
file://iptables-flush.sh \
|
||||
file://systemd/zram-swap.service \
|
||||
file://systemd/iptables.service \
|
||||
file://systemd/session-switcher.service \
|
||||
file://systemd/sway-session-switcher.service \
|
||||
file://systemd/x11-session-switcher.service \
|
||||
file://systemd/citadel-setpassword.service \
|
||||
file://skel/profile \
|
||||
file://skel/bashrc \
|
||||
@ -68,11 +69,11 @@ USERADD_PARAM_${PN} = "-m -u 1000 -s /bin/bash citadel"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
# for citadel-ifconfig.sh citadel-setpassword.sh
|
||||
RDEPENDS_${PN} = "bash"
|
||||
RDEPENDS_${PN} = "bash wireless-regdb-static"
|
||||
|
||||
inherit allarch systemd useradd
|
||||
|
||||
SYSTEMD_SERVICE_${PN} = "zram-swap.service watch-run-user.path iptables.service session-switcher.service citadel-setpassword.service"
|
||||
SYSTEMD_SERVICE_${PN} = "zram-swap.service watch-run-user.path iptables.service sway-session-switcher.service x11-session-switcher.service citadel-setpassword.service"
|
||||
|
||||
do_install() {
|
||||
install -m 0755 -d ${D}/storage
|
||||
@ -104,7 +105,8 @@ do_install() {
|
||||
install -m 644 ${WORKDIR}/systemd/zram-swap.service ${D}${systemd_system_unitdir}
|
||||
install -m 644 ${WORKDIR}/systemd/iptables.service ${D}${systemd_system_unitdir}
|
||||
|
||||
install -m 644 ${WORKDIR}/systemd/session-switcher.service ${D}${systemd_system_unitdir}
|
||||
install -m 644 ${WORKDIR}/systemd/sway-session-switcher.service ${D}${systemd_system_unitdir}
|
||||
install -m 644 ${WORKDIR}/systemd/x11-session-switcher.service ${D}${systemd_system_unitdir}
|
||||
install -m 644 ${WORKDIR}/systemd/citadel-setpassword.service ${D}${systemd_system_unitdir}
|
||||
|
||||
install -m 644 ${WORKDIR}/systemd/watch-run-user.path ${D}${systemd_system_unitdir}
|
||||
|
@ -33,7 +33,7 @@ gtk-enable-primary-paste=false
|
||||
clock-format='12h'
|
||||
|
||||
[org.gnome.shell]
|
||||
enabled-extensions=['dash-to-panel@jderose9.github.com', 'drive-menu@subgraph.com']
|
||||
enabled-extensions=['dash-to-panel@jderose9.github.com']
|
||||
|
||||
[org.gnome.shell.extensions]
|
||||
user-theme-name='Adapta-Eta'
|
||||
|
@ -1,5 +1,5 @@
|
||||
[Unit]
|
||||
Description=Session Switcher
|
||||
Description=Sway Session Switcher
|
||||
After=accounts-daemon.service
|
||||
Wants=accounts-daemon.service
|
||||
|
@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=X11 Session Switcher
|
||||
After=accounts-daemon.service
|
||||
Wants=accounts-daemon.service
|
||||
|
||||
ConditionKernelCommandLine=|citadel.x11
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=no
|
||||
|
||||
ExecStartPre=-/usr/bin/plymouth message --text="Setting session to Gnome X11"
|
||||
ExecStart=/usr/bin/busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User1000 org.freedesktop.Accounts.User SetXSession s "gnome-xorg"
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical.target
|
||||
|
@ -5,4 +5,4 @@ CITADEL_IMAGE_VERSION_rootfs = "1"
|
||||
CITADEL_IMAGE_VERSION_extra = "1"
|
||||
CITADEL_IMAGE_VERSION_kernel = "1"
|
||||
|
||||
CITADEL_KERNEL_VERSION = "5.2.9"
|
||||
CITADEL_KERNEL_VERSION = "5.6.2"
|
||||
|
@ -19,6 +19,8 @@ RDEPENDS_${PN} = "\
|
||||
base-files \
|
||||
base-passwd \
|
||||
systemd \
|
||||
systemd-conf \
|
||||
systemd-container \
|
||||
syslinux \
|
||||
syslinux-extlinux \
|
||||
keymaps \
|
||||
@ -42,7 +44,6 @@ RDEPENDS_${PN} = "\
|
||||
tar \
|
||||
pciutils \
|
||||
sysfsutils \
|
||||
wpa-supplicant \
|
||||
vim-tiny \
|
||||
nano \
|
||||
tzdata \
|
||||
|
@ -13,7 +13,6 @@ RDEPENDS_${PN} = "\
|
||||
accountsservice \
|
||||
upower \
|
||||
colord \
|
||||
colord-plugins \
|
||||
gdm \
|
||||
plymouth \
|
||||
shared-mime-info \
|
||||
|
@ -23,8 +23,12 @@ RDEPENDS_${PN} = "\
|
||||
gnome-session \
|
||||
gnome-shell \
|
||||
hicolor-icon-theme \
|
||||
xf86-video-vesa \
|
||||
xf86-video-intel \
|
||||
xf86-video-modesetting \
|
||||
xserver-xorg-extension-glx \
|
||||
libdrm-amdgpu \
|
||||
dash-to-panel \
|
||||
gnome-shell-extension-drive-menu \
|
||||
citadel-config-gnome \
|
||||
"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Append recipe from meta-openembedded/meta-networking
|
||||
PACKAGECONFIG = "gnutls dhclient systemd wifi glib"
|
||||
PACKAGECONFIG = "gnutls dhclient systemd wifi"
|
||||
EXTRA_OECONF_remove = "--with-nmtui=yes"
|
||||
EXTRA_OECONF += "--disable-ovs --with-nmtui=no"
|
||||
|
@ -6,9 +6,14 @@ dirs755="/boot /dev /usr/bin /usr/sbin /usr/lib /etc /etc/default /etc/skel /usr
|
||||
|
||||
volatiles = ""
|
||||
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
|
||||
SRC_URI += "file://profile"
|
||||
|
||||
do_install_append () {
|
||||
rm ${D}${sysconfdir}/fstab
|
||||
rm ${D}${sysconfdir}/skel/.bashrc
|
||||
rm ${D}${sysconfdir}/skel/.profile
|
||||
|
||||
install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile
|
||||
sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}${sysconfdir}/profile
|
||||
sed -i 's#@BINDIR@#${bindir}#g' ${D}${sysconfdir}/profile
|
||||
}
|
||||
|
32
meta-citadel/recipes-core/base-files/files/profile
Normal file
32
meta-citadel/recipes-core/base-files/files/profile
Normal file
@ -0,0 +1,32 @@
|
||||
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
|
||||
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
|
||||
|
||||
PATH="/usr/local/bin:/usr/bin:/bin:/sbin"
|
||||
EDITOR="vi" # needed for packages like cron, git-commit
|
||||
[ "$TERM" ] || TERM="vt100" # Basic terminal capab. For screen etc.
|
||||
|
||||
# Add /sbin & co to $PATH for the root user
|
||||
[ "$HOME" != "ROOTHOME" ] || PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin
|
||||
|
||||
# Set the prompt for bash and ash (no other shells known to be in use here)
|
||||
[ -z "$PS1" ] || PS1='\u@\h:\w\$ '
|
||||
|
||||
if [ -d /etc/profile.d ]; then
|
||||
for i in /etc/profile.d/*.sh; do
|
||||
if [ -f $i -a -r $i ]; then
|
||||
. $i
|
||||
fi
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
|
||||
# Make sure we are on a serial console (i.e. the device used starts with
|
||||
# /dev/tty[A-z]), otherwise we confuse e.g. the eclipse launcher which tries do
|
||||
# use ssh
|
||||
case $(tty 2>/dev/null) in
|
||||
/dev/tty[A-z]*) [ -x @BINDIR@/resize ] && @BINDIR@/resize >/dev/null;;
|
||||
esac
|
||||
|
||||
export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM
|
||||
|
||||
umask 022
|
@ -1,4 +1,6 @@
|
||||
CONFFILES_${PN} += "${sysconfdir}/machine-id"
|
||||
|
||||
do_install_append() {
|
||||
install -d ${D}${sysconfdir}
|
||||
echo "a4e415feff81466c925aab34b0c35a3c" > ${D}${sysconfdir}/machine-id
|
||||
}
|
||||
|
@ -0,0 +1,91 @@
|
||||
# do not edit this file, it will be overwritten on update
|
||||
|
||||
# run a command on remove events
|
||||
ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
|
||||
ACTION=="remove", GOTO="default_end"
|
||||
|
||||
SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
|
||||
|
||||
# select "system RTC" or just use the first one
|
||||
SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc"
|
||||
SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"
|
||||
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
|
||||
ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"
|
||||
|
||||
ACTION!="add", GOTO="default_end"
|
||||
|
||||
SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666"
|
||||
SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666"
|
||||
SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620"
|
||||
SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620"
|
||||
SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620"
|
||||
SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620"
|
||||
SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
|
||||
KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
|
||||
|
||||
SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
|
||||
|
||||
SUBSYSTEM=="input", GROUP="input"
|
||||
SUBSYSTEM=="input", KERNEL=="js[0-9]*", MODE="0664"
|
||||
|
||||
SUBSYSTEM=="video4linux", GROUP="video"
|
||||
SUBSYSTEM=="graphics", GROUP="video"
|
||||
SUBSYSTEM=="drm", KERNEL!="renderD*", GROUP="video"
|
||||
SUBSYSTEM=="dvb", GROUP="video"
|
||||
SUBSYSTEM=="media", GROUP="video"
|
||||
SUBSYSTEM=="cec", GROUP="video"
|
||||
|
||||
SUBSYSTEM=="drm", KERNEL=="renderD*", GROUP="video", MODE="0666"
|
||||
SUBSYSTEM=="kfd", GROUP="video", MODE="0666"
|
||||
|
||||
# When using static_node= with non-default permissions, also update
|
||||
# tmpfiles.d/static-nodes-permissions.conf.in to keep permissions synchronized.
|
||||
|
||||
SUBSYSTEM=="sound", GROUP="audio", \
|
||||
OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
|
||||
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
|
||||
|
||||
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", GROUP="video"
|
||||
SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", GROUP="video"
|
||||
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video"
|
||||
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", GROUP="video"
|
||||
|
||||
KERNEL=="parport[0-9]*", GROUP="lp"
|
||||
SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp"
|
||||
SUBSYSTEM=="ppdev", GROUP="lp"
|
||||
KERNEL=="lp[0-9]*", GROUP="lp"
|
||||
KERNEL=="irlpt[0-9]*", GROUP="lp"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"
|
||||
|
||||
SUBSYSTEM=="block", GROUP="disk"
|
||||
SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="cdrom"
|
||||
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
|
||||
KERNEL=="sch[0-9]*", GROUP="cdrom"
|
||||
KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
|
||||
KERNEL=="pktcdvd", GROUP="cdrom"
|
||||
|
||||
SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
|
||||
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
|
||||
KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
|
||||
KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control"
|
||||
KERNEL=="btrfs-control", GROUP="disk"
|
||||
KERNEL=="rawctl", GROUP="disk"
|
||||
SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", GROUP="disk"
|
||||
SUBSYSTEM=="aoe", GROUP="disk", MODE="0220"
|
||||
SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
|
||||
|
||||
KERNEL=="rfkill", MODE="0664"
|
||||
KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"
|
||||
|
||||
KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse"
|
||||
|
||||
# The static_node is required on s390x and ppc (they are using MODULE_ALIAS)
|
||||
KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"
|
||||
|
||||
KERNEL=="udmabuf", GROUP="kvm"
|
||||
|
||||
SUBSYSTEM=="ptp", ATTR{clock_name}=="KVM virtual PTP", SYMLINK += "ptp_kvm"
|
||||
|
||||
LABEL="default_end"
|
@ -12,7 +12,15 @@ PACKAGECONFIG = "\
|
||||
nss polkit randomseed seccomp timedated utmp timesyncd kmod sysusers gshadow \
|
||||
"
|
||||
|
||||
SRC_URI += "\
|
||||
file://50-udev-default.rules \
|
||||
"
|
||||
|
||||
|
||||
do_install_append() {
|
||||
rm -f ${D}${sysconfdir}/tmpfiles.d/00-create-volatile.conf
|
||||
ln -s rescue.target ${D}${systemd_unitdir}/system/kbrequest.target
|
||||
rm -f ${D}${libdir}/udev/rules.d/50-udev-default.rules
|
||||
install -d ${D}{$libdir}/udev/rules.d
|
||||
install -m 644 ${WORKDIR}/50-udev-default.rules ${D}{$libdir}/udev/rules.d/
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
|
||||
|
||||
SRC_URI = "git://github.com/jderose9/dash-to-panel.git;protocol=https"
|
||||
SRCREV="5558eeae574e9ae7b6bf2e1b9f4aacd97f944054"
|
||||
SRC_URI = "git://github.com/home-sweet-gnome/dash-to-panel.git;protocol=https"
|
||||
SRCREV="50edcc7e86493017a9f34142ce7ce62f89a4547a"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
DEPENDS = "gettext-native glib-2.0-native"
|
@ -1,16 +1,15 @@
|
||||
DESCRIPTION = "Citadel linux kernel"
|
||||
LICENSE = "GPLv2"
|
||||
SECTION = "kernel"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
|
||||
|
||||
inherit kernel
|
||||
|
||||
SRC_URI = "https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.2.9.tar.xz\
|
||||
file://0117-WireGuard.patch \
|
||||
SRC_URI = "https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.6.2.tar.xz\
|
||||
file://defconfig \
|
||||
"
|
||||
SRC_URI[md5sum] = "d7162b4421327c756b1d548204fd8fb1"
|
||||
SRC_URI[sha256sum] = "b6f02a4b306ca5cd314d72615bfc2650166969613135da202630e6c4e1b5d4e6"
|
||||
SRC_URI[md5sum] = "8b96e9e8eff865ff84a23b4f858dafa1"
|
||||
SRC_URI[sha256sum] = "2d4d91d8329c1ed3826c61463650dd4bfbb6ad39dcee6dba4f98a7e94a67b5b9"
|
||||
|
||||
LINUX_VERSION ?= "${PV}"
|
||||
S = "${WORKDIR}/linux-${LINUX_VERSION}"
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -6,7 +6,7 @@ SECTION = "base"
|
||||
LICENSE = "GPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
|
||||
|
||||
DEPENDS = "pciutils zlib efivar"
|
||||
DEPENDS = "pciutils zlib efivar popt"
|
||||
|
||||
COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
|
||||
|
||||
|
@ -1,32 +0,0 @@
|
||||
From a9115d9e6f0f62d6bb735ce3698858d1f89f8d73 Mon Sep 17 00:00:00 2001
|
||||
From: Kai Kang <kai.kang@windriver.com>
|
||||
Date: Fri, 25 Sep 2015 18:14:31 +0800
|
||||
Subject: [PATCH] efivar: fix for cross compile
|
||||
|
||||
It builds and calls elf file makeguids to generate a header file which
|
||||
doesn't work for cross compile. Fix it.
|
||||
|
||||
Signed-off-by: Kai Kang <kai.kang@windriver.com>
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
|
||||
---
|
||||
src/Makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index 0c16597..dcc7fc8 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -40,8 +40,8 @@ abicheck : $(patsubst %.so,%.abicheck,$(LIBTARGETS))
|
||||
./guid-symbols.c : include/efivar/efivar-guids.h
|
||||
./guids.bin : include/efivar/efivar-guids.h
|
||||
./names.bin : include/efivar/efivar-guids.h
|
||||
-include/efivar/efivar-guids.h : makeguids guids.txt
|
||||
- ./makeguids guids.txt guids.bin names.bin \
|
||||
+include/efivar/efivar-guids.h : guids.txt
|
||||
+ makeguids guids.txt guids.bin names.bin \
|
||||
guid-symbols.c include/efivar/efivar-guids.h
|
||||
|
||||
makeguids : CPPFLAGS+=-DEFIVAR_BUILD_ENVIRONMENT
|
@ -1,35 +0,0 @@
|
||||
From b3d35e7dd27a755df5acbe050837885914dbb28b Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Tue, 10 May 2016 11:34:50 -0400
|
||||
Subject: [PATCH] fix unknow option for gold linker
|
||||
|
||||
- Revert the following patch, since oe-core work with gcc 5
|
||||
...
|
||||
commit 3055a3797f16693dfdd855fa68bc57fd900dc408
|
||||
Author: Peter Jones <pjones@redhat.com>
|
||||
Date: Mon Feb 15 14:15:40 2016 -0500
|
||||
|
||||
Make gcc.specs work with gcc 6 / binutils 2.26
|
||||
|
||||
Apparently binutils 2.26 gets real picky about "ld -PIC" vs "ld -fPIC".
|
||||
|
||||
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||
...
|
||||
|
||||
- Remove unknown option '--add-needed'
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
---
|
||||
gcc.specs | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: git/gcc.specs
|
||||
===================================================================
|
||||
--- git.orig/gcc.specs
|
||||
+++ git/gcc.specs
|
||||
@@ -14,4 +14,4 @@
|
||||
+ %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now}
|
||||
|
||||
*link:
|
||||
-+ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined --add-needed -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie}
|
||||
++ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie}
|
@ -1,36 +0,0 @@
|
||||
From c10368b397483a2fc7b493c099d8416d902f8cd8 Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Tue, 31 Jul 2018 14:18:35 +0800
|
||||
Subject: [PATCH] allow multi definitions for native
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
It fails to create .so file when build efivar-native:
|
||||
|
||||
| lib.o:(*IND*+0x0): multiple definition of `efi_set_variable'
|
||||
| lib.o:lib.c:(.text+0xa0): first defined here
|
||||
|
||||
Add link option '-z muldefs' to fix it.
|
||||
|
||||
Signed-off-by: Kai Kang <kai.kang@windriver.com>
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
---
|
||||
Make.rules | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Make.rules b/Make.rules
|
||||
index 042585b..257ba45 100644
|
||||
--- a/Make.rules
|
||||
+++ b/Make.rules
|
||||
@@ -20,6 +20,7 @@ include $(TOPDIR)/Make.version
|
||||
$(CCLD) $(ccldflags) $(CPPFLAGS) $(SOFLAGS) \
|
||||
-Wl,-soname,$@.1 \
|
||||
-Wl,--version-script=$(MAP) \
|
||||
+ -Wl,-z,muldefs \
|
||||
-o $@ $^ $(LDLIBS)
|
||||
ln -vfs $@ $@.1
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 3edce6a0019bcb90febc1f654b5b2e2bad5c59bd Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Thu, 26 May 2016 21:50:01 -0400
|
||||
Subject: [PATCH] fix compile failure with older host gcc (<=4.6)
|
||||
|
||||
While host gcc version is 4.6.3 in ubuntu 1204, it
|
||||
did not recognize -std=gnu11 and -Wmaybe-uninitialized.
|
||||
|
||||
While host gcc version is 4.4.7 in centos6, it
|
||||
did not recognize -std=gnu11, -Wmaybe-uninitialized,
|
||||
and -flto.
|
||||
|
||||
For native build, use -std=gnu99 to replace -std=gnu11,
|
||||
and directly remove -Wmaybe-uninitialized and -flto.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
|
||||
---
|
||||
gcc.specs | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gcc.specs b/gcc.specs
|
||||
index 45d43d1..f1c6944 100644
|
||||
--- a/gcc.specs
|
||||
+++ b/gcc.specs
|
||||
@@ -2,13 +2,13 @@
|
||||
+ -D_GNU_SOURCE
|
||||
|
||||
*efivar_cpp_options:
|
||||
- -Werror -Wall -std=gnu11 -Wextra
|
||||
+ -Werror -Wall -std=gnu99 -Wextra
|
||||
|
||||
*cpp_options:
|
||||
+ %(efivar_cpp_options)
|
||||
|
||||
*cc1_options:
|
||||
-+ %(efivar_cpp_options) -Wmaybe-uninitialized -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}}
|
||||
++ %(efivar_cpp_options) -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}}
|
||||
|
||||
*self_spec:
|
||||
+ %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now}
|
18
meta-citadel/recipes-support/efivar/efivar/no-werror.patch
Normal file
18
meta-citadel/recipes-support/efivar/efivar/no-werror.patch
Normal file
@ -0,0 +1,18 @@
|
||||
Don't use -Werror because newer compilers introduce newer warnings.
|
||||
|
||||
Upstream-Status: Inappropriate [https://github.com/rhboot/efivar/issues/131]
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
|
||||
diff --git a/gcc.specs b/gcc.specs
|
||||
index 45d43d1..1baf11a 100644
|
||||
--- a/gcc.specs
|
||||
+++ b/gcc.specs
|
||||
@@ -2,7 +2,7 @@
|
||||
+ -D_GNU_SOURCE
|
||||
|
||||
*efivar_cpp_options:
|
||||
- -Werror -Wall -std=gnu11 -Wextra
|
||||
+ -Wall -std=gnu11 -Wextra
|
||||
|
||||
*cpp_options:
|
||||
+ %(efivar_cpp_options)
|
@ -1,43 +1,40 @@
|
||||
SUMMARY = "Tools to manipulate UEFI variables"
|
||||
DESCRIPTION = "efivar provides a simple command line interface to the UEFI variable facility"
|
||||
HOMEPAGE = "https://github.com/rhinstaller/efivar"
|
||||
HOMEPAGE = "https://github.com/rhboot/efivar"
|
||||
|
||||
LICENSE = "LGPLv2.1"
|
||||
LICENSE = "LGPLv2.1+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
|
||||
|
||||
DEPENDS = "popt"
|
||||
DEPENDS_append_class-target = " efivar-native"
|
||||
|
||||
inherit pkgconfig
|
||||
|
||||
COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
|
||||
|
||||
SRCREV = "c1d6b10e1ed4ba2be07f385eae5bceb694478a10"
|
||||
SRC_URI = "git://github.com/rhinstaller/efivar.git \
|
||||
file://allow-multi-definitions-for-native.patch \
|
||||
"
|
||||
SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'file://0004-fix-unknow-option-for-gold-linker.patch', '', d)} \
|
||||
"
|
||||
SRC_URI_append_class-native = " file://fix-compile-failure-with-host-gcc-4.6.patch \
|
||||
"
|
||||
file://no-werror.patch"
|
||||
SRCREV = "c1d6b10e1ed4ba2be07f385eae5bceb694478a10"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_compile_prepend() {
|
||||
sed -i -e s:-Werror::g ${S}/gcc.specs
|
||||
}
|
||||
inherit pkgconfig
|
||||
|
||||
do_compile_class-native() {
|
||||
oe_runmake -C src makeguids CC_FOR_BUILD="${BUILD_CC}"
|
||||
export CCLD_FOR_BUILD = "${BUILD_CCLD}"
|
||||
|
||||
# Upstream uses --add-needed in gcc.specs which gold doesn't support, so
|
||||
# enforce BFD.
|
||||
LDFLAGS += "-fuse-ld=bfd"
|
||||
|
||||
do_compile_prepend() {
|
||||
# Remove when https://github.com/rhboot/efivar/issues/130 is fixed
|
||||
oe_runmake \
|
||||
CFLAGS="${BUILD_CFLAGS}" \
|
||||
LDFLAGS="${BUILD_LDFLAGS}" \
|
||||
-C src makeguids
|
||||
}
|
||||
|
||||
do_install() {
|
||||
oe_runmake install DESTDIR=${D}
|
||||
}
|
||||
|
||||
do_install_class-native() {
|
||||
install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
RRECOMMENDS_${PN}_class-target = "kernel-module-efivarfs"
|
||||
|
||||
CLEANBROKEN = "1"
|
||||
|
@ -10,8 +10,6 @@ DEPENDS = " \
|
||||
dbus-glib \
|
||||
glib-2.0 \
|
||||
libblockdev \
|
||||
intltool-native \
|
||||
gnome-common-native \
|
||||
libxslt-native \
|
||||
"
|
||||
DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
|
||||
@ -19,18 +17,25 @@ DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
|
||||
RDEPENDS_${PN} = "acl"
|
||||
|
||||
SRC_URI = " \
|
||||
git://github.com/storaged-project/udisks.git;branch=2.7.x-branch \
|
||||
file://non-gnu-libc.patch \
|
||||
git://github.com/storaged-project/udisks.git;branch=master \
|
||||
"
|
||||
SRCREV = "47bc0141cb84624ba1e2242d596a89a30df1f5ea"
|
||||
PV = "2.8.4+git${SRCREV}"
|
||||
SRCREV = "db5f487345da2eaa87976450ea51c2c465d9b82e"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
CVE_PRODUCT = "udisks"
|
||||
|
||||
inherit autotools systemd gtk-doc gobject-introspection
|
||||
inherit autotools systemd gtk-doc gobject-introspection gettext
|
||||
|
||||
|
||||
EXTRA_OECONF = "--disable-man --disable-gtk-doc"
|
||||
|
||||
do_configure_prepend() {
|
||||
# | configure.ac:656: error: required file 'build-aux/config.rpath' not found
|
||||
mkdir -p ${S}/build-aux
|
||||
touch ${S}/build-aux/config.rpath
|
||||
}
|
||||
|
||||
FILES_${PN} += " \
|
||||
${datadir}/dbus-1/ \
|
||||
${datadir}/polkit-1 \
|
||||
@ -43,6 +48,7 @@ FILES_${PN} += " \
|
||||
|
||||
PACKAGES =+ "${PN}-libs"
|
||||
FILES_${PN}-libs = "${libdir}/lib*${SOLIBS}"
|
||||
FILES_${PN} += "${nonarch_libdir}/tmpfiles.d"
|
||||
|
||||
SYSTEMD_SERVICE_${PN} = "${BPN}.service"
|
||||
SYSTEMD_AUTO_ENABLE = "disable"
|
@ -0,0 +1,27 @@
|
||||
require wireguard.inc
|
||||
|
||||
inherit bash-completion systemd pkgconfig
|
||||
|
||||
DEPENDS = "libmnl"
|
||||
|
||||
do_compile_prepend () {
|
||||
cd ${S}/tools
|
||||
}
|
||||
|
||||
do_install () {
|
||||
cd ${S}/tools
|
||||
oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \
|
||||
SYSTEMDUNITDIR="${systemd_unitdir}" \
|
||||
WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \
|
||||
WITH_BASHCOMPLETION=yes \
|
||||
WITH_WGQUICK=yes \
|
||||
install
|
||||
}
|
||||
|
||||
FILES_${PN} = " \
|
||||
${sysconfdir} \
|
||||
${systemd_unitdir} \
|
||||
${bindir} \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN} = "bash"
|
@ -0,0 +1,27 @@
|
||||
require wireguard.inc
|
||||
|
||||
inherit bash-completion systemd pkgconfig
|
||||
|
||||
DEPENDS = "libmnl"
|
||||
|
||||
do_compile_prepend () {
|
||||
cd ${S}
|
||||
}
|
||||
|
||||
do_install () {
|
||||
cd ${S}
|
||||
oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \
|
||||
SYSTEMDUNITDIR="${systemd_unitdir}" \
|
||||
WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \
|
||||
WITH_BASHCOMPLETION=yes \
|
||||
WITH_WGQUICK=yes \
|
||||
install
|
||||
}
|
||||
|
||||
FILES_${PN} = " \
|
||||
${sysconfdir} \
|
||||
${systemd_unitdir} \
|
||||
${bindir} \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN} = "bash"
|
16
meta-citadel/recipes-support/wireguard-tools/wireguard.inc
Normal file
16
meta-citadel/recipes-support/wireguard-tools/wireguard.inc
Normal file
@ -0,0 +1,16 @@
|
||||
SUMMARY = "WireGuard is an extremely simple yet fast and modern VPN"
|
||||
DESCRIPTION="WireGuard is a secure network tunnel, operating at layer 3, \
|
||||
implemented as a kernel virtual network interface for Linux, which aims to \
|
||||
replace both IPsec for most use cases, as well as popular user space and/or \
|
||||
TLS-based solutions like OpenVPN, while being more secure, more performant, \
|
||||
and easier to use."
|
||||
SECTION = "networking"
|
||||
HOMEPAGE = "https://www.wireguard.io/"
|
||||
LICENSE = "GPLv2"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
SRC_URI = "https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-${PV}.tar.xz"
|
||||
SRC_URI[md5sum] = "36cd9411f56bc5dcaac29bbab6fd9c67"
|
||||
SRC_URI[sha256sum] = "757ed31d4d48d5fd7853bfd9bfa6a3a1b53c24a94fe617439948784a2c0ed987"
|
||||
|
||||
S = "${WORKDIR}/wireguard-tools-${PV}/src/"
|
@ -7,9 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
DEPENDS = "autoconf-archive-native glib-2.0"
|
||||
|
||||
inherit autotools gnomebase
|
||||
inherit autotools gnomebase gtk-icon-cache mime
|
||||
|
||||
SRCREV = "7531b44424f834f193fe7f83fe572084d9c77ad9"
|
||||
SRCREV = "9f6c5624f0dd57a8e301cd84c5525298bb754ed8"
|
||||
SRC_URI = "git://github.com/flatpak/xdg-dbus-proxy.git;protocol=https"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
1
meta-clang
Submodule
1
meta-clang
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit ee1dcdfbb8d31f168b26c2e3e5be97efea6537df
|
@ -1,7 +1,7 @@
|
||||
# We have a conf and classes directory, add to BBPATH
|
||||
BBPATH .= ":${LAYERDIR}"
|
||||
|
||||
LAYERSERIES_COMPAT_meta-gnome = "thud warrior"
|
||||
LAYERSERIES_COMPAT_meta-gnome = "thud warrior zeus"
|
||||
|
||||
# We have recipes-* directories, add to BBFILES
|
||||
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
|
||||
|
@ -0,0 +1,21 @@
|
||||
From b8687182b9103a1209a6cb553821bb4e4cda5591 Mon Sep 17 00:00:00 2001
|
||||
From: David McKinney <mckinney@subgraph.com>
|
||||
Date: Thu, 2 Jul 2020 15:46:40 +0000
|
||||
Subject: [PATCH] Remove config dir from unit file
|
||||
|
||||
---
|
||||
src/iwd.service.in | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/iwd.service.in b/src/iwd.service.in
|
||||
index 77819eaf..e33b2f0b 100644
|
||||
--- a/src/iwd.service.in
|
||||
+++ b/src/iwd.service.in
|
||||
@@ -19,7 +19,6 @@ ProtectHome=yes
|
||||
ProtectSystem=strict
|
||||
ProtectControlGroups=yes
|
||||
ProtectKernelModules=yes
|
||||
-ConfigurationDirectory=iwd
|
||||
StateDirectory=iwd
|
||||
StateDirectoryMode=0700
|
||||
|
56
meta-gnome/recipes-connectivity/iwd/iwd_1.7.bb
Normal file
56
meta-gnome/recipes-connectivity/iwd/iwd_1.7.bb
Normal file
@ -0,0 +1,56 @@
|
||||
SUMMARY = "Wireless daemon for Linux"
|
||||
HOMEPAGE = "https://iwd.wiki.kernel.org/"
|
||||
LICENSE = "LGPL-2.1"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
|
||||
|
||||
DEPENDS = "ell"
|
||||
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/network/wireless/iwd.git \
|
||||
file://0001-Remove-config-dir-from-unit-file.patch \
|
||||
"
|
||||
SRCREV = "ef6084dcb4fe2e00327bb9c7b113ece204042c22"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools manpages pkgconfig python3native systemd
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
client \
|
||||
monitor \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
|
||||
"
|
||||
PACKAGECONFIG[client] = "--enable-client,--disable-client,readline"
|
||||
PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor"
|
||||
PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native"
|
||||
PACKAGECONFIG[wired] = "--enable-wired,--disable-wired"
|
||||
PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono"
|
||||
PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd"
|
||||
|
||||
EXTRA_OECONF = "--enable-external-ell"
|
||||
|
||||
SYSTEMD_SERVICE_${PN} = " \
|
||||
iwd.service \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \
|
||||
"
|
||||
|
||||
do_configure_prepend() {
|
||||
install -d ${S}/build-aux
|
||||
}
|
||||
|
||||
do_install_append() {
|
||||
# If client and monitor are disabled, bindir is empty, causing a QA error
|
||||
rmdir --ignore-fail-on-non-empty ${D}/${bindir}
|
||||
}
|
||||
|
||||
FILES_${PN} += " \
|
||||
${datadir}/dbus-1 \
|
||||
${nonarch_libdir}/modules-load.d \
|
||||
${systemd_unitdir}/network \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN} = "dbus"
|
||||
|
||||
RRECOMMENDS_${PN} = "\
|
||||
kernel-module-pkcs7-message \
|
||||
kernel-module-pkcs8-key-parser \
|
||||
kernel-module-x509-key-parser \
|
||||
"
|
@ -0,0 +1,8 @@
|
||||
[main]
|
||||
plugins=keyfile
|
||||
|
||||
[keyfile]
|
||||
path=/var/lib/NetworkManager/system-connections
|
||||
|
||||
[device]
|
||||
wifi.backend=iwd
|
@ -1,4 +1,4 @@
|
||||
From 4f000a4a19975d6aba71427e693cd1ed080abda9 Mon Sep 17 00:00:00 2001
|
||||
From 9eab96351a726e9ce6a15d158f743e35d73a8900 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Thu, 22 Mar 2018 11:08:30 +0100
|
||||
Subject: [PATCH] Do not create settings settings/property documentation
|
||||
@ -6,23 +6,29 @@ MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
It was tried to get this work but gi / GirRepository could not be found by
|
||||
python. 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>
|
||||
|
||||
---
|
||||
Makefile.am | 11 -----------
|
||||
configure.ac | 5 -----
|
||||
2 files changed, 16 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index b180466..1ab4658 100644
|
||||
index d5cbcf5..2a1819a 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -1298,9 +1298,7 @@ EXTRA_DIST += \
|
||||
if HAVE_INTROSPECTION
|
||||
@@ -1473,9 +1473,7 @@ libnm/libnm.typelib: libnm/libnm.gir
|
||||
INTROSPECTION_GIRS += libnm/NM-1.0.gir
|
||||
|
||||
libnm_noinst_data = \
|
||||
- libnm/nm-property-docs.xml \
|
||||
@ -31,7 +37,7 @@ index b180466..1ab4658 100644
|
||||
libnm/nm-settings-keyfile-docs.xml \
|
||||
libnm/nm-settings-ifcfg-rh-docs.xml
|
||||
|
||||
@@ -3930,18 +3928,9 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_lib_h_pub_mkenums)
|
||||
@@ -4236,18 +4234,9 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_lib_h_pub_mkenums)
|
||||
$(clients_common_libnmc_base_la_OBJECTS): clients/common/.dirstamp
|
||||
|
||||
clients_common_settings_doc_h = clients/common/settings-docs.h
|
||||
@ -51,10 +57,10 @@ index b180466..1ab4658 100644
|
||||
$(clients_common_settings_doc_h) \
|
||||
$(clients_common_settings_doc_h).in
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index b914219..872c292 100644
|
||||
index ad4b0fc..0092092 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1215,11 +1215,6 @@ GTK_DOC_CHECK(1.0)
|
||||
@@ -1201,11 +1201,6 @@ GTK_DOC_CHECK(1.0)
|
||||
# check if we can build setting property documentation
|
||||
build_docs=no
|
||||
if test -n "$INTROSPECTION_MAKEFILE"; then
|
||||
@ -66,6 +72,3 @@ index b914219..872c292 100644
|
||||
AC_PATH_PROG(PERL, perl)
|
||||
if test -z "$PERL"; then
|
||||
AC_MSG_ERROR([--enable-introspection requires perl])
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
@ -0,0 +1,110 @@
|
||||
#! /bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: network-manager
|
||||
# Required-Start: $remote_fs dbus udev
|
||||
# Required-Stop: $remote_fs dbus udev
|
||||
# Should-Start: $syslog
|
||||
# Should-Stop: $syslog
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: network connection manager
|
||||
# Description: Daemon for automatically switching network
|
||||
# connections to the best available connection.
|
||||
### END INIT INFO
|
||||
|
||||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||
DESC="network connection manager"
|
||||
NAME="NetworkManager"
|
||||
|
||||
DAEMON=/usr/sbin/$NAME
|
||||
|
||||
PIDFILE=/run/$NAME/$NAME.pid
|
||||
|
||||
SCRIPTNAME=/etc/init.d/network-manager
|
||||
|
||||
. /etc/init.d/functions || exit 1
|
||||
|
||||
# Exit if the package is not installed
|
||||
[ -x "$DAEMON" ] || exit 0
|
||||
|
||||
log_daemon_msg() {
|
||||
echo -n $*
|
||||
}
|
||||
|
||||
log_end_msg() {
|
||||
if [ $1 -eq 0 ]; then
|
||||
success
|
||||
else
|
||||
failure
|
||||
fi
|
||||
echo
|
||||
}
|
||||
|
||||
log_progress_msg () {
|
||||
if [ -z "${1:-}" ]; then
|
||||
return 1
|
||||
fi
|
||||
echo -n " $@"
|
||||
}
|
||||
|
||||
#
|
||||
# Function that starts the daemon/service.
|
||||
#
|
||||
d_start() {
|
||||
start-stop-daemon --start --quiet --pidfile $PIDFILE \
|
||||
--exec $DAEMON -- $DAEMON_OPTS
|
||||
}
|
||||
|
||||
#
|
||||
# Function that stops the daemon/service.
|
||||
#
|
||||
d_stop() {
|
||||
start-stop-daemon --stop --retry 5 --quiet --pidfile $PIDFILE \
|
||||
--exec $DAEMON
|
||||
}
|
||||
|
||||
d_reload() {
|
||||
start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE \
|
||||
--exec $DAEMON
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
log_daemon_msg "Starting $DESC" "$NAME"
|
||||
d_start
|
||||
case "$?" in
|
||||
0) log_end_msg 0 ;;
|
||||
1) log_progress_msg "already started"
|
||||
log_end_msg 0 ;;
|
||||
*) log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
stop)
|
||||
log_daemon_msg "Stopping $DESC" "$NAME"
|
||||
d_stop
|
||||
case "$?" in
|
||||
0) log_end_msg 0 ;;
|
||||
1) log_progress_msg "already stopped"
|
||||
log_end_msg 0 ;;
|
||||
*) log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
reload|force-reload)
|
||||
log_daemon_msg "Reloading $DESC" "$NAME"
|
||||
d_reload
|
||||
log_end_msg $?
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
status)
|
||||
status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
@ -1,143 +0,0 @@
|
||||
SUMMARY = "NetworkManager"
|
||||
HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
|
||||
SECTION = "net/misc"
|
||||
|
||||
LICENSE = "GPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
|
||||
file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
|
||||
file://docs/api/html/license.html;md5=233931303ef80eded167add1f60a50c1 \
|
||||
"
|
||||
|
||||
DEPENDS = " \
|
||||
intltool-native \
|
||||
libxslt-native \
|
||||
libnl \
|
||||
libgudev \
|
||||
util-linux \
|
||||
libndp \
|
||||
libnewt \
|
||||
jansson \
|
||||
curl \
|
||||
"
|
||||
|
||||
inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection gtk-doc
|
||||
|
||||
SRC_URI = " \
|
||||
${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
|
||||
file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
|
||||
file://0002-Do-not-create-settings-settings-property-documentati.patch \
|
||||
file://musl/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch \
|
||||
file://musl/0002-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch \
|
||||
file://musl/0003-musl-basic.patch \
|
||||
file://musl/0004-musl-dlopen-configure-ac.patch \
|
||||
file://musl/0005-musl-network-support.patch \
|
||||
file://musl/0006-musl-process-util.patch \
|
||||
file://musl/0007-musl-avoid-further-conflicts-by-including-net-ethern.patch \
|
||||
file://musl/0008-Add-a-strndupa-replacement-for-musl.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "10abacaafb162a67d2942adf03e7e9e4"
|
||||
SRC_URI[sha256sum] = "8e962833b6ca03edda1bc57ed6614a7b8c2339531b44acef098d05f2324c5d2c"
|
||||
|
||||
UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.10/"
|
||||
UPSTREAM_CHECK_REGEX = "NetworkManager\-(?P<pver>1\.10(\.\d+)+).tar.xz"
|
||||
|
||||
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 \
|
||||
"
|
||||
|
||||
# gobject-introspection related
|
||||
GI_DATA_ENABLED_libc-musl = "False"
|
||||
|
||||
# stolen from https://github.com/voidlinux/void-packages/blob/master/srcpkgs/NetworkManager/template
|
||||
CFLAGS_libc-musl_append = " \
|
||||
-DHAVE_SECURE_GETENV -Dsecure_getenv=getenv \
|
||||
-D__USE_POSIX199309 -DRTLD_DEEPBIND=0 \
|
||||
"
|
||||
|
||||
do_compile_prepend() {
|
||||
export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs"
|
||||
}
|
||||
|
||||
PACKAGECONFIG ??= "nss ifupdown dhclient dnsmasq \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \
|
||||
"
|
||||
PACKAGECONFIG[systemd] = " \
|
||||
--with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \
|
||||
--without-systemdsystemunitdir, \
|
||||
"
|
||||
PACKAGECONFIG[polkit] = "--enable-polkit --enable-polkit-agent,--disable-polkit --disable-polkit-agent,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"
|
||||
# Use full featured dhcp client instead of internal one
|
||||
PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
|
||||
PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
|
||||
PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
|
||||
PACKAGECONFIG[glib] = "--with-libnm-glib,,dbus-glib-native dbus-glib"
|
||||
PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
|
||||
PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant"
|
||||
PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
|
||||
PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
|
||||
|
||||
PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \
|
||||
${PN}-nmtui ${PN}-nmtui-doc \
|
||||
${PN}-adsl \
|
||||
"
|
||||
|
||||
FILES_libnmutil += "${libdir}/libnm-util.so.*"
|
||||
FILES_libnmglib += "${libdir}/libnm-glib.so.*"
|
||||
FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*"
|
||||
|
||||
FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so"
|
||||
|
||||
FILES_${PN} += " \
|
||||
${libexecdir} \
|
||||
${libdir}/NetworkManager/${PV}/*.so \
|
||||
${nonarch_libdir}/NetworkManager/VPN \
|
||||
${nonarch_libdir}/NetworkManager/conf.d \
|
||||
${datadir}/polkit-1 \
|
||||
${datadir}/dbus-1 \
|
||||
${noarch_base_libdir}/udev/* \
|
||||
${systemd_unitdir}/system \
|
||||
${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}-nmtui = " \
|
||||
${bindir}/nmtui \
|
||||
${bindir}/nmtui-edit \
|
||||
${bindir}/nmtui-connect \
|
||||
${bindir}/nmtui-hostname \
|
||||
"
|
||||
|
||||
FILES_${PN}-nmtui-doc = " \
|
||||
${mandir}/man1/nmtui* \
|
||||
"
|
||||
|
||||
SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}"
|
||||
|
||||
do_install_append() {
|
||||
rm -rf ${D}/run ${D}${localstatedir}/run
|
||||
}
|
@ -0,0 +1,170 @@
|
||||
SUMMARY = "NetworkManager"
|
||||
HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
|
||||
SECTION = "net/misc"
|
||||
|
||||
LICENSE = "GPLv2+ & LGPLv2.1+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
|
||||
"
|
||||
|
||||
DEPENDS = " \
|
||||
intltool-native \
|
||||
libxslt-native \
|
||||
libnl \
|
||||
libgudev \
|
||||
util-linux \
|
||||
libndp \
|
||||
libnewt \
|
||||
jansson \
|
||||
curl \
|
||||
"
|
||||
|
||||
inherit gnomebase gettext update-rc.d systemd bash-completion 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://NetworkManager.conf \
|
||||
"
|
||||
SRC_URI_append_libc-musl = " \
|
||||
file://musl/0001-Fix-build-with-musl-systemd-specific.patch \
|
||||
file://musl/0002-Fix-build-with-musl.patch \
|
||||
file://musl/0003-Fix-build-with-musl-for-n-dhcp4.patch \
|
||||
file://musl/0004-Fix-build-with-musl-systemd-specific.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "2b29ccc1531ba7ebba95a97f40c22b963838e8b6833745efe8e6fb71fd8fca77"
|
||||
|
||||
S = "${WORKDIR}/NetworkManager-${PV}"
|
||||
|
||||
EXTRA_OECONF = " \
|
||||
--disable-ifcfg-rh \
|
||||
--disable-more-warnings \
|
||||
--with-iptables=${sbindir}/iptables \
|
||||
--with-tests \
|
||||
--with-nmtui=no \
|
||||
--with-udev-dir=${nonarch_base_libdir}/udev \
|
||||
--with-iwd \
|
||||
"
|
||||
|
||||
# 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}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs"
|
||||
}
|
||||
|
||||
PACKAGECONFIG ??= "nss ifupdown dhclient dnsmasq \
|
||||
${@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)} \
|
||||
"
|
||||
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"
|
||||
# Use full featured dhcp client instead of internal one
|
||||
PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
|
||||
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] = "--enable-wifi=yes,--enable-wifi=no,,iwd"
|
||||
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"
|
||||
|
||||
PACKAGES =+ " \
|
||||
${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 \
|
||||
${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}-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
|
||||
install -d ${D}${sysconfdir}/NetworkManager/
|
||||
install -m 0644 ${WORKDIR}/NetworkManager.conf ${D}${sysconfdir}/NetworkManager/
|
||||
}
|
82
meta-gnome/recipes-devtools/cbindgen/cbindgen_0.8.7.bb
Normal file
82
meta-gnome/recipes-devtools/cbindgen/cbindgen_0.8.7.bb
Normal file
@ -0,0 +1,82 @@
|
||||
# Auto-Generated by cargo-bitbake 0.3.10
|
||||
#
|
||||
inherit cargo
|
||||
|
||||
# If this is git based prefer versioned ones if they exist
|
||||
# DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
# how to get cbindgen could be as easy as but default to a git checkout:
|
||||
# SRC_URI += "crate://crates.io/cbindgen/0.8.7"
|
||||
SRC_URI += "git://github.com/eqrion/cbindgen.git;protocol=https"
|
||||
SRCREV = "7b9ea991bdabb442093014d21fde6a192f574f21"
|
||||
S = "${WORKDIR}/git"
|
||||
CARGO_SRC_DIR=""
|
||||
PV_append = ".AUTOINC+7b9ea991bd"
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
# please note if you have entries that do not begin with crate://
|
||||
# you must change them to how that package can be fetched
|
||||
SRC_URI += " \
|
||||
crate://crates.io/ansi_term/0.11.0 \
|
||||
crate://crates.io/atty/0.2.11 \
|
||||
crate://crates.io/autocfg/0.1.2 \
|
||||
crate://crates.io/bitflags/1.0.4 \
|
||||
crate://crates.io/cfg-if/0.1.6 \
|
||||
crate://crates.io/clap/2.32.0 \
|
||||
crate://crates.io/cloudabi/0.0.3 \
|
||||
crate://crates.io/fuchsia-zircon-sys/0.3.3 \
|
||||
crate://crates.io/fuchsia-zircon/0.3.3 \
|
||||
crate://crates.io/itoa/0.4.3 \
|
||||
crate://crates.io/libc/0.2.47 \
|
||||
crate://crates.io/log/0.4.6 \
|
||||
crate://crates.io/proc-macro2/0.4.25 \
|
||||
crate://crates.io/quote/0.6.10 \
|
||||
crate://crates.io/rand/0.6.4 \
|
||||
crate://crates.io/rand_chacha/0.1.1 \
|
||||
crate://crates.io/rand_core/0.3.0 \
|
||||
crate://crates.io/rand_hc/0.1.0 \
|
||||
crate://crates.io/rand_isaac/0.1.1 \
|
||||
crate://crates.io/rand_os/0.1.1 \
|
||||
crate://crates.io/rand_pcg/0.1.1 \
|
||||
crate://crates.io/rand_xorshift/0.1.1 \
|
||||
crate://crates.io/rdrand/0.4.0 \
|
||||
crate://crates.io/redox_syscall/0.1.50 \
|
||||
crate://crates.io/redox_termios/0.1.1 \
|
||||
crate://crates.io/remove_dir_all/0.5.1 \
|
||||
crate://crates.io/rustc_version/0.2.3 \
|
||||
crate://crates.io/ryu/0.2.7 \
|
||||
crate://crates.io/semver-parser/0.7.0 \
|
||||
crate://crates.io/semver/0.9.0 \
|
||||
crate://crates.io/serde/1.0.84 \
|
||||
crate://crates.io/serde_derive/1.0.84 \
|
||||
crate://crates.io/serde_json/1.0.36 \
|
||||
crate://crates.io/strsim/0.7.0 \
|
||||
crate://crates.io/syn/0.15.26 \
|
||||
crate://crates.io/tempfile/3.0.5 \
|
||||
crate://crates.io/termion/1.5.1 \
|
||||
crate://crates.io/textwrap/0.10.0 \
|
||||
crate://crates.io/toml/0.5.1 \
|
||||
crate://crates.io/unicode-width/0.1.5 \
|
||||
crate://crates.io/unicode-xid/0.1.0 \
|
||||
crate://crates.io/vec_map/0.8.1 \
|
||||
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
|
||||
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
|
||||
crate://crates.io/winapi/0.3.6 \
|
||||
"
|
||||
|
||||
|
||||
|
||||
LIC_FILES_CHKSUM=" \
|
||||
file://LICENSE;md5=9741c346eef56131163e13b9db1241b3 \
|
||||
"
|
||||
|
||||
SUMMARY = "A tool for generating C bindings to Rust code."
|
||||
HOMEPAGE = "https://github.com/eqrion/cbindgen/"
|
||||
LICENSE = "MPL-2.0"
|
||||
|
||||
# includes this file if it exists but does not fail
|
||||
# this is useful for anything you may want to override from
|
||||
# what cargo-bitbake generates.
|
||||
include cbindgen-${PV}.inc
|
||||
include cbindgen.inc
|
@ -1,6 +1,6 @@
|
||||
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/meson:"
|
||||
|
||||
SRC_URI += "\
|
||||
file://0001-use-exe-wrapper-for-custom-targets.patch \
|
||||
"
|
||||
#SRC_URI += "\
|
||||
# file://0001-use-exe-wrapper-for-custom-targets.patch \
|
||||
#"
|
||||
|
22
meta-gnome/recipes-devtools/yasm/yasm_git.bb
Normal file
22
meta-gnome/recipes-devtools/yasm/yasm_git.bb
Normal file
@ -0,0 +1,22 @@
|
||||
SUMMARY = "x86 (SSE) assembler supporting NASM and GAS-syntaxes"
|
||||
LICENSE = "MIT"
|
||||
HOMEPAGE = "http://www.tortall.net/projects/yasm/"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=a12d8903508fb6bfd49d8d82c6170dd9"
|
||||
|
||||
DEPENDS += "flex-native bison-native xmlto-native"
|
||||
|
||||
PV = "1.3.0+git${SRCPV}"
|
||||
# v1.3.0
|
||||
SRCREV = "ba463d3c26c0ece2e797b8d6381b161633b5971a"
|
||||
SRC_URI = "git://github.com/yasm/yasm.git"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools gettext python3native
|
||||
|
||||
CACHED_CONFIGUREVARS = "CCLD_FOR_BUILD='${CC_FOR_BUILD}'"
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
PARALLEL_MAKE = ""
|
@ -0,0 +1,22 @@
|
||||
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 = "GPLv3"
|
||||
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"
|
||||
|
64
meta-gnome/recipes-freedesktop/colord/colord-native.bb
Normal file
64
meta-gnome/recipes-freedesktop/colord/colord-native.bb
Normal file
@ -0,0 +1,64 @@
|
||||
require ${BPN}.inc
|
||||
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}-native:"
|
||||
|
||||
inherit meson native
|
||||
|
||||
DEPENDS += " \
|
||||
meson-native \
|
||||
glib-2.0-native \
|
||||
lcms-native \
|
||||
"
|
||||
|
||||
SRC_URI += " \
|
||||
file://0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch \
|
||||
file://Makefile;subdir=${BPN}-${PV} \
|
||||
"
|
||||
|
||||
do_configure() {
|
||||
# we expect meson to fail - but before it extracts project's version in log file
|
||||
meson ${MESONOPTS} "${MESON_SOURCEPATH}" "${B}" ${MESON_CROSS_FILE} ${EXTRA_OEMESON} > /dev/null 2>&1 || true
|
||||
|
||||
# extract and split version
|
||||
version=`grep 'Project version:' ${B}/meson-logs/meson-log.txt | sed 's|Project version: ||'`
|
||||
major=`echo $version | cut -d. -f1`
|
||||
minor=`echo $version | cut -d. -f2`
|
||||
micro=`echo $version | cut -d. -f3`
|
||||
echo "Project version: $major.$minor.$micro"
|
||||
|
||||
# extract project name
|
||||
proj_name=`grep 'Project name:' ${B}/meson-logs/meson-log.txt | sed 's|Project name: ||'`
|
||||
|
||||
# create cd-version.h
|
||||
mkdir -p ${B}/colord
|
||||
sed ${S}/lib/colord/cd-version.h.in \
|
||||
-e 's:@CD_MAJOR_VERSION_PRIVATE@:1:g' \
|
||||
-e 's:@CD_MINOR_VERSION_PRIVATE@:4:g' \
|
||||
-e 's:@CD_MICRO_VERSION_PRIVATE@:4:g' \
|
||||
> ${B}/colord/cd-version.h
|
||||
|
||||
# create config.h based on target build and add what's necessary only
|
||||
localedir=`echo ${datadir}/locale | sed 's:${prefix}/::g'`
|
||||
echo "#define LOCALEDIR \"$localedir\"" >> ${B}/config.h
|
||||
echo "#define GETTEXT_PACKAGE \"colord\"" >> ${B}/config.h
|
||||
echo "#define PACKAGE_NAME \"$proj_name\"" >> ${B}/config.h
|
||||
echo "#define PACKAGE_VERSION \"$version\"" >> ${B}/config.h
|
||||
}
|
||||
|
||||
do_compile() {
|
||||
oe_runmake -C${S} DESTDIR=${B}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
version=`grep 'Project version:' ${B}/meson-logs/meson-log.txt | sed 's|Project version: ||'`
|
||||
major=`echo $version | cut -d. -f1`
|
||||
|
||||
install -d ${D}${libdir}
|
||||
install -m 755 ${B}/libcolord.so ${D}${libdir}/libcolord.so.$version
|
||||
ln -s libcolord.so.$version "${D}/${libdir}/libcolord.so"
|
||||
ln -s libcolord.so.$version "${D}/${libdir}/libcolord.so.$major"
|
||||
|
||||
install -d ${D}${bindir}
|
||||
install -m 755 ${B}/cd_create_profile ${D}${bindir}/
|
||||
install -m 755 ${B}/cd_idt8 ${D}${bindir}/
|
||||
}
|
@ -0,0 +1,166 @@
|
||||
From cbb8f5c05fce1d56ae2e5fa9f57fc49c47bed5ab Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Sun, 12 May 2019 21:58:02 +0200
|
||||
Subject: [PATCH] Move the function cd_icc_create_from_edid to avoid udev
|
||||
dependeny
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
We do not have udev-native so it is a dependeny we cannot satisfy
|
||||
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
lib/colord/cd-edid.c | 63 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
lib/colord/cd-icc.c | 62 -------------------------------------------
|
||||
2 files changed, 63 insertions(+), 62 deletions(-)
|
||||
|
||||
diff --git a/lib/colord/cd-edid.c b/lib/colord/cd-edid.c
|
||||
index a5e2328..dec509a 100644
|
||||
--- a/lib/colord/cd-edid.c
|
||||
+++ b/lib/colord/cd-edid.c
|
||||
@@ -687,3 +687,66 @@ cd_edid_new (void)
|
||||
edid = g_object_new (CD_TYPE_EDID, NULL);
|
||||
return CD_EDID (edid);
|
||||
}
|
||||
+
|
||||
+/**
|
||||
+ * cd_icc_create_from_edid_data:
|
||||
+ * @icc: A valid #CdIcc
|
||||
+ * @edid: EDID data
|
||||
+ * @error: A #GError, or %NULL
|
||||
+ *
|
||||
+ * Creates an ICC profile from EDID data.
|
||||
+ *
|
||||
+ * Return value: %TRUE for success
|
||||
+ *
|
||||
+ * Since: 1.1.2
|
||||
+ **/
|
||||
+gboolean
|
||||
+cd_icc_create_from_edid_data (CdIcc *icc, CdEdid *edid, GError **error)
|
||||
+{
|
||||
+ CdIccPrivate *priv = GET_PRIVATE (icc);
|
||||
+ const gchar *data;
|
||||
+
|
||||
+ /* not loaded */
|
||||
+ if (priv->lcms_profile != NULL) {
|
||||
+ g_set_error_literal (error,
|
||||
+ CD_ICC_ERROR,
|
||||
+ CD_ICC_ERROR_FAILED_TO_CREATE,
|
||||
+ "already loaded or generated");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ /* create from parsed object */
|
||||
+ if (!cd_icc_create_from_edid (icc,
|
||||
+ cd_edid_get_gamma (edid),
|
||||
+ cd_edid_get_red (edid),
|
||||
+ cd_edid_get_green (edid),
|
||||
+ cd_edid_get_blue (edid),
|
||||
+ cd_edid_get_white (edid),
|
||||
+ error)) {
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ /* set copyright */
|
||||
+ cd_icc_set_copyright (icc, NULL,
|
||||
+ /* deliberately not translated */
|
||||
+ "This profile is free of known copyright restrictions.");
|
||||
+
|
||||
+ /* set 'ICC meta Tag for Monitor Profiles' data */
|
||||
+ data = cd_edid_get_checksum (edid);
|
||||
+ if (data != NULL)
|
||||
+ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MD5, data);
|
||||
+ data = cd_edid_get_monitor_name (edid);
|
||||
+ if (data != NULL)
|
||||
+ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MODEL, data);
|
||||
+ data = cd_edid_get_serial_number (edid);
|
||||
+ if (data != NULL)
|
||||
+ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_SERIAL, data);
|
||||
+ data = cd_edid_get_pnp_id (edid);
|
||||
+ if (data != NULL)
|
||||
+ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MNFT, data);
|
||||
+ data = cd_edid_get_vendor_name (edid);
|
||||
+ if (data != NULL)
|
||||
+ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_VENDOR, data);
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
diff --git a/lib/colord/cd-icc.c b/lib/colord/cd-icc.c
|
||||
index f231814..2c8fe77 100644
|
||||
--- a/lib/colord/cd-icc.c
|
||||
+++ b/lib/colord/cd-icc.c
|
||||
@@ -3094,68 +3094,6 @@ out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
-/**
|
||||
- * cd_icc_create_from_edid_data:
|
||||
- * @icc: A valid #CdIcc
|
||||
- * @edid: EDID data
|
||||
- * @error: A #GError, or %NULL
|
||||
- *
|
||||
- * Creates an ICC profile from EDID data.
|
||||
- *
|
||||
- * Return value: %TRUE for success
|
||||
- *
|
||||
- * Since: 1.1.2
|
||||
- **/
|
||||
-gboolean
|
||||
-cd_icc_create_from_edid_data (CdIcc *icc, CdEdid *edid, GError **error)
|
||||
-{
|
||||
- CdIccPrivate *priv = GET_PRIVATE (icc);
|
||||
- const gchar *data;
|
||||
-
|
||||
- /* not loaded */
|
||||
- if (priv->lcms_profile != NULL) {
|
||||
- g_set_error_literal (error,
|
||||
- CD_ICC_ERROR,
|
||||
- CD_ICC_ERROR_FAILED_TO_CREATE,
|
||||
- "already loaded or generated");
|
||||
- return FALSE;
|
||||
- }
|
||||
-
|
||||
- /* create from parsed object */
|
||||
- if (!cd_icc_create_from_edid (icc,
|
||||
- cd_edid_get_gamma (edid),
|
||||
- cd_edid_get_red (edid),
|
||||
- cd_edid_get_green (edid),
|
||||
- cd_edid_get_blue (edid),
|
||||
- cd_edid_get_white (edid),
|
||||
- error)) {
|
||||
- return FALSE;
|
||||
- }
|
||||
-
|
||||
- /* set copyright */
|
||||
- cd_icc_set_copyright (icc, NULL,
|
||||
- /* deliberately not translated */
|
||||
- "This profile is free of known copyright restrictions.");
|
||||
-
|
||||
- /* set 'ICC meta Tag for Monitor Profiles' data */
|
||||
- data = cd_edid_get_checksum (edid);
|
||||
- if (data != NULL)
|
||||
- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MD5, data);
|
||||
- data = cd_edid_get_monitor_name (edid);
|
||||
- if (data != NULL)
|
||||
- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MODEL, data);
|
||||
- data = cd_edid_get_serial_number (edid);
|
||||
- if (data != NULL)
|
||||
- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_SERIAL, data);
|
||||
- data = cd_edid_get_pnp_id (edid);
|
||||
- if (data != NULL)
|
||||
- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MNFT, data);
|
||||
- data = cd_edid_get_vendor_name (edid);
|
||||
- if (data != NULL)
|
||||
- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_VENDOR, data);
|
||||
- return TRUE;
|
||||
-}
|
||||
-
|
||||
/**
|
||||
* cd_icc_create_from_edid:
|
||||
* @icc: A valid #CdIcc
|
||||
--
|
||||
2.20.1
|
||||
|
48
meta-gnome/recipes-freedesktop/colord/colord-native/Makefile
Normal file
48
meta-gnome/recipes-freedesktop/colord/colord-native/Makefile
Normal file
@ -0,0 +1,48 @@
|
||||
# For native build cd_idt8, cd_create_profile and a tiny version of libcolord.so
|
||||
# only. By reducing the library to what's necessary, we avoid dependencies on
|
||||
# naitve udev and libgudev
|
||||
|
||||
CFLAGS+=$(shell pkg-config-native --cflags gio-2.0)
|
||||
CFLAGS+=$(shell pkg-config-native --cflags lcms2)
|
||||
CFLAGS+=-std=c99 -I./lib -I./lib/colord -I$(DESTDIR) -DCD_COMPILATION
|
||||
|
||||
LDFLAGS+=$(shell pkg-config-native --libs gio-2.0)
|
||||
LDFLAGS+=$(shell pkg-config-native --libs lcms2)
|
||||
LDFLAGS+=-lm
|
||||
|
||||
all: cd_idt8 cd_create_profile
|
||||
|
||||
LIBSOURCES = \
|
||||
lib/colord/cd-it8.c \
|
||||
lib/colord/cd-color.c \
|
||||
lib/colord/cd-spectrum.c \
|
||||
lib/colord/cd-math.c \
|
||||
lib/colord/cd-interp-akima.c \
|
||||
lib/colord/cd-context-lcms.c \
|
||||
lib/colord/cd-interp.c \
|
||||
lib/colord/cd-interp-linear.c \
|
||||
lib/colord/cd-it8-utils.c \
|
||||
lib/colord/cd-enum.c \
|
||||
lib/colord/cd-icc.c \
|
||||
lib/colord/cd-icc-utils.c \
|
||||
lib/colord/cd-dom.c
|
||||
|
||||
libcolord.so: $(LIBSOURCES)
|
||||
$(CC) $(CFLAGS) -L$(DESTDIR) -fPIC -shared -Wl,-soname,$@ $^ -o $(DESTDIR)/$@ $(LDFLAGS)
|
||||
|
||||
cd_idt8.o: client/cd-it8.c
|
||||
$(CC) $(CFLAGS) -c $^ -o $(DESTDIR)/$@
|
||||
|
||||
cd_idt8: libcolord.so cd_idt8.o
|
||||
$(CC) $(DESTDIR)/cd_idt8.o -o $(DESTDIR)/$@ -L$(DESTDIR) -lcolord $(LDFLAGS)
|
||||
|
||||
cd_create_profile.o: client/cd-create-profile.c
|
||||
$(CC) $(CFLAGS) -c $^ -o $(DESTDIR)/$@
|
||||
|
||||
cd_create_profile: libcolord.so cd_create_profile.o
|
||||
$(CC) $(DESTDIR)/cd_create_profile.o -o $(DESTDIR)/$@ -L$(DESTDIR) -lcolord $(LDFLAGS)
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
clean:
|
||||
rm -f $(DESTDIR)/libcolord.so $(DESTDIR)/*.o $(DESTDIR)/cd_idt8 $(DESTDIR)/cd_create_profile
|
44
meta-gnome/recipes-freedesktop/colord/colord.bb
Normal file
44
meta-gnome/recipes-freedesktop/colord/colord.bb
Normal file
@ -0,0 +1,44 @@
|
||||
require ${BPN}.inc
|
||||
|
||||
inherit meson gobject-introspection gsettings gettext bash-completion systemd useradd
|
||||
|
||||
# polkit and gobject-introspection are mandatory and cannot be configured
|
||||
UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
|
||||
|
||||
DEPENDS += " \
|
||||
${BPN}-native \
|
||||
glib-2.0 \
|
||||
lcms \
|
||||
sqlite3 \
|
||||
libgusb \
|
||||
libgudev \
|
||||
polkit \
|
||||
"
|
||||
|
||||
SRC_URI += " \
|
||||
file://0001-Run-native-cd_idt8-cd_create_profile.patch \
|
||||
"
|
||||
|
||||
EXTRA_OEMESON = " \
|
||||
-Dman=false \
|
||||
-Ddocs=false \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
|
||||
PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd"
|
||||
|
||||
SYSTEMD_SERVICE_${PN} = "colord.service"
|
||||
|
||||
FILES_${PN} += " \
|
||||
${datadir}/dbus-1 \
|
||||
${datadir}/polkit-1 \
|
||||
${datadir}/glib-2.0 \
|
||||
${datadir}/color \
|
||||
${systemd_user_unitdir} \
|
||||
${libdir}/tmpfiles.d \
|
||||
${libdir}/colord-plugins \
|
||||
${libdir}/colord-sensors \
|
||||
"
|
||||
|
||||
USERADD_PACKAGES = "${PN}"
|
||||
USERADD_PARAM_${PN} = "--system --user-group -d /var/lib/colord -s /bin/false colord"
|
13
meta-gnome/recipes-freedesktop/colord/colord.inc
Normal file
13
meta-gnome/recipes-freedesktop/colord/colord.inc
Normal file
@ -0,0 +1,13 @@
|
||||
SUMMARY = "Making color management just work"
|
||||
HOMEPAGE = "https://www.freedesktop.org/software/colord/"
|
||||
LICENSE = "GPLv2 & LGPLv2.1"
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
file://meson.build;beginline=3;endline=3;md5=f42198707d793be58b274d34fd5238c3 \
|
||||
"
|
||||
|
||||
PV = "1.4.4"
|
||||
SRC_URI = "https://www.freedesktop.org/software/colord/releases/${BPN}-${PV}.tar.xz"
|
||||
SRC_URI[md5sum] = "32c2709a6002d9ee750483aaed6379c8"
|
||||
SRC_URI[sha256sum] = "9a0fe80160bf88efddb582a9fc0169f56065276dc3882c47dddb9eecd048c0a5"
|
||||
|
@ -0,0 +1,59 @@
|
||||
From 5aad8831c0fb71940d6c4f982b0b30ffb6ae33b3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Sun, 12 May 2019 22:47:05 +0200
|
||||
Subject: [PATCH] Run native cd_idt8/cd_create_profile
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
data/cmf/meson.build | 2 +-
|
||||
data/illuminant/meson.build | 2 +-
|
||||
data/profiles/meson.build | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/data/cmf/meson.build b/data/cmf/meson.build
|
||||
index a693cd7..1ae3613 100644
|
||||
--- a/data/cmf/meson.build
|
||||
+++ b/data/cmf/meson.build
|
||||
@@ -2,7 +2,7 @@ foreach arg: [ 'CIE1964-10deg-XYZ', 'CIE1931-2deg-XYZ' ]
|
||||
custom_target(arg,
|
||||
input: arg + '.csv',
|
||||
output: arg + '.cmf',
|
||||
- command: [ cd_idt8, 'create-cmf', '@OUTPUT@', '@INPUT@', '1.0' ],
|
||||
+ command: [ 'cd_idt8', 'create-cmf', '@OUTPUT@', '@INPUT@', '1.0' ],
|
||||
install: true,
|
||||
install_dir: join_paths(datadir, 'colord', 'cmf')
|
||||
)
|
||||
diff --git a/data/illuminant/meson.build b/data/illuminant/meson.build
|
||||
index f8dfa07..ad7dced 100644
|
||||
--- a/data/illuminant/meson.build
|
||||
+++ b/data/illuminant/meson.build
|
||||
@@ -24,7 +24,7 @@ foreach arg: generated_spectra
|
||||
custom_target(arg,
|
||||
input: arg + '.csv',
|
||||
output: arg + '.sp',
|
||||
- command: [ cd_idt8, 'create-sp', '@OUTPUT@', '@INPUT@', '100.0' ],
|
||||
+ command: [ 'cd_idt8', 'create-sp', '@OUTPUT@', '@INPUT@', '100.0' ],
|
||||
install: true,
|
||||
install_dir: join_paths(datadir, 'colord', 'illuminant')
|
||||
)
|
||||
diff --git a/data/profiles/meson.build b/data/profiles/meson.build
|
||||
index 591b97d..2cef011 100644
|
||||
--- a/data/profiles/meson.build
|
||||
+++ b/data/profiles/meson.build
|
||||
@@ -59,7 +59,7 @@ foreach arg: icc_profiles
|
||||
generated_icc = custom_target(arg + '.icc',
|
||||
input: xml_i18n,
|
||||
output: arg + '.icc',
|
||||
- command: [ cd_create_profile, '--output=@OUTPUT@', '@INPUT@' ],
|
||||
+ command: [ 'cd_create_profile', '--output=@OUTPUT@', '@INPUT@' ],
|
||||
install: true,
|
||||
install_dir: join_paths(datadir, 'color', 'icc', 'colord'),
|
||||
)
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,36 +0,0 @@
|
||||
SUMMARY = "System service to manage, install and generate color profiles to color manage input and output devices"
|
||||
HOMEPAGE ="https://www.freedesktop.org/software/colord/"
|
||||
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
SRC_URI = "https://www.freedesktop.org/software/colord/releases/colord-${PV}.tar.xz"
|
||||
SRC_URI[md5sum] = "32c2709a6002d9ee750483aaed6379c8"
|
||||
SRC_URI[sha256sum] = "9a0fe80160bf88efddb582a9fc0169f56065276dc3882c47dddb9eecd048c0a5"
|
||||
|
||||
inherit python3native meson meson-exe-wrapper pkgconfig systemd useradd gettext gobject-introspection
|
||||
|
||||
WARN_QA_remove = "unknown-configure-option"
|
||||
|
||||
DEPENDS = "glib-2.0-native lcms libgusb libgudev polkit"
|
||||
EXTRA_OEMESON = "-Dargyllcms_sensor=false -Dman=false -Ddocs=false -Ddaemon_user=colord -Dbash_completion=false -Dtests=false --buildtype=release"
|
||||
|
||||
PACKAGES += "${PN}-plugins"
|
||||
|
||||
FILES_${PN} += "\
|
||||
${datadir}/glib-2.0/schemas \
|
||||
${datadir}/polkit-1 \
|
||||
${datadir}/dbus-1 \
|
||||
${datadir}/color/icc/colord \
|
||||
${libdir}/tmpfiles.d \
|
||||
${systemd_user_unitdir}/colord-session.service \
|
||||
"
|
||||
SYSTEMD_SERVICE_${PN} = "colord.service"
|
||||
|
||||
FILES_${PN}-plugins = "\
|
||||
${libdir}/colord-plugins \
|
||||
${libdir}/colord-sensors \
|
||||
"
|
||||
USERADD_PACKAGES = "${PN}"
|
||||
USERADD_PARAM_${PN} = "--system --home /var/lib/colord --no-create-home --shell /bin/false --user-group colord"
|
||||
|
@ -2,7 +2,7 @@ SUMMARY = "GNOME Authentication Agent for PolicyKit"
|
||||
DESCRIPTION = "PolicyKit-gnome provides an Authentication Agent for PolicyKit that integrates well with the GNOME desktop environment"
|
||||
HOMEPAGE = "http://www.packagekit.org/"
|
||||
BUGTRACKER = "http://bugzilla.gnome.org/"
|
||||
DEPENDS = "polkit dbus-glib gconf gtk+ intltool-native gnome-common"
|
||||
DEPENDS = "polkit dbus-glib gconf gtk+3 glib-2.0-native intltool-native gnome-common"
|
||||
LICENSE = "LGPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=74579fab173e4c5e12aac0cd83ee98ec \
|
||||
file://src/main.c;beginline=1;endline=20;md5=aba145d1802f2329ba561e3e48ecb795"
|
||||
@ -17,8 +17,6 @@ EXTRA_OECONF = "\
|
||||
--disable-static \
|
||||
"
|
||||
|
||||
DEPENDS += "gtk+3 glib-2.0-native"
|
||||
|
||||
inherit autotools gtk-doc pkgconfig
|
||||
|
||||
FILES_${PN} += " ${datadir}/dbus-1 \
|
||||
|
@ -0,0 +1,232 @@
|
||||
From 21aa2747e8f0048759aab184b07dd6389666d5e6 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
|
||||
|
||||
On at least Linux/musl and Linux/uclibc, netgroup
|
||||
support is not available. PolKit fails to compile on these systems
|
||||
for that reason.
|
||||
|
||||
This change makes netgroup support conditional on the presence of the
|
||||
setnetgrent(3) function which is required for the support to work. If
|
||||
that function is not available on the system, an error will be returned
|
||||
to the administrator if unix-netgroup: is specified in configuration.
|
||||
|
||||
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 ++
|
||||
test/polkit/polkitidentitytest.c | 9 ++++++++-
|
||||
test/polkit/polkitunixnetgrouptest.c | 3 +++
|
||||
.../test-polkitbackendjsauthority.c | 2 ++
|
||||
8 files changed, 43 insertions(+), 8 deletions(-)
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXP
|
||||
[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 setnetgrent)
|
||||
|
||||
if test "x$GCC" = "xyes"; then
|
||||
LDFLAGS="-Wl,--as-needed $LDFLAGS"
|
||||
--- a/src/polkit/polkitidentity.c
|
||||
+++ b/src/polkit/polkitidentity.c
|
||||
@@ -182,7 +182,15 @@ polkit_identity_from_string (const gcha
|
||||
}
|
||||
else if (g_str_has_prefix (str, "unix-netgroup:"))
|
||||
{
|
||||
+#ifndef HAVE_SETNETGRENT
|
||||
+ g_set_error (error,
|
||||
+ POLKIT_ERROR,
|
||||
+ POLKIT_ERROR_FAILED,
|
||||
+ "Netgroups are not available on this machine ('%s')",
|
||||
+ str);
|
||||
+#else
|
||||
identity = polkit_unix_netgroup_new (str + sizeof "unix-netgroup:" - 1);
|
||||
+#endif
|
||||
}
|
||||
|
||||
if (identity == NULL && (error != NULL && *error == NULL))
|
||||
@@ -344,6 +352,13 @@ polkit_identity_new_for_gvariant (GVaria
|
||||
GVariant *v;
|
||||
const char *name;
|
||||
|
||||
+#ifndef HAVE_SETNETGRENT
|
||||
+ g_set_error (error,
|
||||
+ POLKIT_ERROR,
|
||||
+ POLKIT_ERROR_FAILED,
|
||||
+ "Netgroups are not available on this machine");
|
||||
+ goto out;
|
||||
+#else
|
||||
v = lookup_asv (details_gvariant, "name", G_VARIANT_TYPE_STRING, error);
|
||||
if (v == NULL)
|
||||
{
|
||||
@@ -353,6 +368,7 @@ polkit_identity_new_for_gvariant (GVaria
|
||||
name = g_variant_get_string (v, NULL);
|
||||
ret = polkit_unix_netgroup_new (name);
|
||||
g_variant_unref (v);
|
||||
+#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
--- a/src/polkit/polkitunixnetgroup.c
|
||||
+++ b/src/polkit/polkitunixnetgroup.c
|
||||
@@ -194,6 +194,9 @@ polkit_unix_netgroup_set_name (PolkitUni
|
||||
PolkitIdentity *
|
||||
polkit_unix_netgroup_new (const gchar *name)
|
||||
{
|
||||
+#ifndef HAVE_SETNETGRENT
|
||||
+ g_assert_not_reached();
|
||||
+#endif
|
||||
g_return_val_if_fail (name != NULL, NULL);
|
||||
return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_NETGROUP,
|
||||
"name", name,
|
||||
--- a/src/polkitbackend/polkitbackendinteractiveauthority.c
|
||||
+++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
|
||||
@@ -2233,25 +2233,26 @@ get_users_in_net_group (PolkitIdentity
|
||||
GList *ret;
|
||||
|
||||
ret = NULL;
|
||||
+#ifdef HAVE_SETNETGRENT
|
||||
name = polkit_unix_netgroup_get_name (POLKIT_UNIX_NETGROUP (group));
|
||||
|
||||
-#ifdef HAVE_SETNETGRENT_RETURN
|
||||
+# ifdef HAVE_SETNETGRENT_RETURN
|
||||
if (setnetgrent (name) == 0)
|
||||
{
|
||||
g_warning ("Error looking up net group with name %s: %s", name, g_strerror (errno));
|
||||
goto out;
|
||||
}
|
||||
-#else
|
||||
+# else
|
||||
setnetgrent (name);
|
||||
-#endif
|
||||
+# endif /* HAVE_SETNETGRENT_RETURN */
|
||||
|
||||
for (;;)
|
||||
{
|
||||
-#if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD)
|
||||
+# if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD)
|
||||
const char *hostname, *username, *domainname;
|
||||
-#else
|
||||
+# else
|
||||
char *hostname, *username, *domainname;
|
||||
-#endif
|
||||
+# endif /* defined(HAVE_NETBSD) || defined(HAVE_OPENBSD) */
|
||||
PolkitIdentity *user;
|
||||
GError *error = NULL;
|
||||
|
||||
@@ -2282,6 +2283,7 @@ get_users_in_net_group (PolkitIdentity
|
||||
|
||||
out:
|
||||
endnetgrent ();
|
||||
+#endif /* HAVE_SETNETGRENT */
|
||||
return ret;
|
||||
}
|
||||
|
||||
--- a/src/polkitbackend/polkitbackendjsauthority.cpp
|
||||
+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
|
||||
@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext
|
||||
|
||||
JS::CallArgs args = JS::CallArgsFromVp (argc, vp);
|
||||
|
||||
+#ifdef HAVE_SETNETGRENT
|
||||
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
|
||||
|
||||
JS_free (cx, netgroup);
|
||||
JS_free (cx, user);
|
||||
+#endif
|
||||
|
||||
ret = true;
|
||||
|
||||
--- a/test/polkit/polkitidentitytest.c
|
||||
+++ b/test/polkit/polkitidentitytest.c
|
||||
@@ -19,6 +19,7 @@
|
||||
* Author: Nikki VonHollen <vonhollen@google.com>
|
||||
*/
|
||||
|
||||
+#include "config.h"
|
||||
#include "glib.h"
|
||||
#include <polkit/polkit.h>
|
||||
#include <polkit/polkitprivate.h>
|
||||
@@ -145,11 +146,15 @@ struct ComparisonTestData comparison_tes
|
||||
{"unix-group:root", "unix-group:jane", FALSE},
|
||||
{"unix-group:jane", "unix-group:jane", TRUE},
|
||||
|
||||
+#ifdef HAVE_SETNETGRENT
|
||||
{"unix-netgroup:foo", "unix-netgroup:foo", TRUE},
|
||||
{"unix-netgroup:foo", "unix-netgroup:bar", FALSE},
|
||||
+#endif
|
||||
|
||||
{"unix-user:root", "unix-group:root", FALSE},
|
||||
+#ifdef HAVE_SETNETGRENT
|
||||
{"unix-user:jane", "unix-netgroup:foo", FALSE},
|
||||
+#endif
|
||||
|
||||
{NULL},
|
||||
};
|
||||
@@ -181,11 +186,13 @@ main (int argc, char *argv[])
|
||||
g_test_add_data_func ("/PolkitIdentity/group_string_2", "unix-group:jane", test_string);
|
||||
g_test_add_data_func ("/PolkitIdentity/group_string_3", "unix-group:users", test_string);
|
||||
|
||||
+#ifdef HAVE_SETNETGRENT
|
||||
g_test_add_data_func ("/PolkitIdentity/netgroup_string", "unix-netgroup:foo", test_string);
|
||||
+ g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant);
|
||||
+#endif
|
||||
|
||||
g_test_add_data_func ("/PolkitIdentity/user_gvariant", "unix-user:root", test_gvariant);
|
||||
g_test_add_data_func ("/PolkitIdentity/group_gvariant", "unix-group:root", test_gvariant);
|
||||
- g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant);
|
||||
|
||||
add_comparison_tests ();
|
||||
|
||||
--- a/test/polkit/polkitunixnetgrouptest.c
|
||||
+++ b/test/polkit/polkitunixnetgrouptest.c
|
||||
@@ -19,6 +19,7 @@
|
||||
* Author: Nikki VonHollen <vonhollen@google.com>
|
||||
*/
|
||||
|
||||
+#include "config.h"
|
||||
#include "glib.h"
|
||||
#include <polkit/polkit.h>
|
||||
#include <string.h>
|
||||
@@ -69,7 +70,9 @@ int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
+#ifdef HAVE_SETNETGRENT
|
||||
g_test_add_func ("/PolkitUnixNetgroup/new", test_new);
|
||||
g_test_add_func ("/PolkitUnixNetgroup/set_name", test_set_name);
|
||||
+#endif
|
||||
return g_test_run ();
|
||||
}
|
||||
--- a/test/polkitbackend/test-polkitbackendjsauthority.c
|
||||
+++ b/test/polkitbackend/test-polkitbackendjsauthority.c
|
||||
@@ -137,12 +137,14 @@ test_get_admin_identities (void)
|
||||
"unix-group:users"
|
||||
}
|
||||
},
|
||||
+#ifdef HAVE_SETNETGRENT
|
||||
{
|
||||
"net.company.action3",
|
||||
{
|
||||
"unix-netgroup:foo"
|
||||
}
|
||||
},
|
||||
+#endif
|
||||
};
|
||||
guint n;
|
||||
|
@ -9,6 +9,8 @@ DEPENDS = "expat glib-2.0 intltool-native mozjs"
|
||||
|
||||
inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection
|
||||
|
||||
REQUIRED_DISTRO_FEATURES = "polkit"
|
||||
|
||||
PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \
|
||||
bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
|
||||
@ -20,18 +22,17 @@ PACKAGECONFIG[systemd] = "--enable-libsystemd-login=yes --with-systemdsystemunit
|
||||
PACKAGECONFIG[consolekit] = ",,,consolekit"
|
||||
|
||||
PAM_SRC_URI = "file://polkit-1_pam.patch"
|
||||
SRC_URI = "git://gitlab.freedesktop.org/polkit/polkit.git;protocol=https \
|
||||
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 \
|
||||
"
|
||||
SRCREV = "2e756da8b6517ffa52a58674b6800b0b444b13c2"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
#SRC_URI[md5sum] = "f03b055d6ae5fc8eac76838c7d83d082"
|
||||
#SRC_URI[sha256sum] = "2f87ecdabfbd415c6306673ceadc59846f059b18ef2fce42bac63fe283f12131"
|
||||
SRC_URI[md5sum] = "4b37258583393e83069a0e2e89c0162a"
|
||||
SRC_URI[sha256sum] = "88170c9e711e8db305a12fdb8234fac5706c61969b94e084d0f117d8ec5d34b1"
|
||||
|
||||
EXTRA_OECONF = "--with-os-type=moblin \
|
||||
--disable-man-pages \
|
||||
--disable-libelogind \
|
||||
--enable-libsystemd-login \
|
||||
"
|
||||
|
||||
do_compile_prepend () {
|
19
meta-gnome/recipes-gnome/atk/at-spi2-atk_2.34.2.bb
Normal file
19
meta-gnome/recipes-gnome/atk/at-spi2-atk_2.34.2.bb
Normal file
@ -0,0 +1,19 @@
|
||||
SUMMARY = "AT-SPI 2 Toolkit Bridge"
|
||||
HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus"
|
||||
LICENSE = "LGPL-2.1+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
SRC_URI[archive.md5sum] = "58cd278574e101363b18d9a8b7053d67"
|
||||
SRC_URI[archive.sha256sum] = "901323cee0eef05c01ec4dee06c701aeeca81a314a7d60216fa363005e27f4f0"
|
||||
|
||||
DEPENDS = "dbus glib-2.0 glib-2.0-native atk at-spi2-core libxml2"
|
||||
|
||||
GNOMEBASEBUILDCLASS = "meson"
|
||||
inherit gnomebase upstream-version-is-even
|
||||
|
||||
PACKAGES =+ "${PN}-gnome ${PN}-gtk2"
|
||||
|
||||
FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/gtk-modules"
|
||||
FILES_${PN}-gtk2 = "${libdir}/gtk-2.0/modules/libatk-bridge.*"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
36
meta-gnome/recipes-gnome/atk/at-spi2-core_2.36.0.bb
Normal file
36
meta-gnome/recipes-gnome/atk/at-spi2-core_2.36.0.bb
Normal file
@ -0,0 +1,36 @@
|
||||
SUMMARY = "Assistive Technology Service Provider Interface (dbus core)"
|
||||
HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus"
|
||||
LICENSE = "LGPL-2.1+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
|
||||
|
||||
SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz"
|
||||
|
||||
SRC_URI[md5sum] = "f101d111b06293d15738afc904c1d931"
|
||||
SRC_URI[sha256sum] = "88da57de0a7e3c60bc341a974a80fdba091612db3547c410d6deab039ca5c05a"
|
||||
|
||||
X11DEPENDS = "virtual/libx11 libxi libxtst"
|
||||
|
||||
DEPENDS = "dbus glib-2.0"
|
||||
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
|
||||
|
||||
inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject-introspection
|
||||
|
||||
EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \
|
||||
-Ddbus_daemon=${bindir}/dbus-daemon \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '-Dx11=yes', '-Dx11=no', d)} \
|
||||
"
|
||||
|
||||
GTKDOC_MESON_OPTION = "docs"
|
||||
|
||||
GIR_MESON_OPTION = 'introspection'
|
||||
GIR_MESON_ENABLE_FLAG = 'yes'
|
||||
GIR_MESON_DISABLE_FLAG = 'no'
|
||||
|
||||
FILES_${PN} += "${datadir}/dbus-1/services/*.service \
|
||||
${datadir}/dbus-1/accessibility-services/*.service \
|
||||
${datadir}/defaults/at-spi2 \
|
||||
${systemd_user_unitdir}/at-spi-dbus-bus.service \
|
||||
"
|
||||
BBCLASSEXTEND = "native nativesdk"
|
21
meta-gnome/recipes-gnome/atk/atk_2.36.0.bb
Normal file
21
meta-gnome/recipes-gnome/atk/atk_2.36.0.bb
Normal file
@ -0,0 +1,21 @@
|
||||
SUMMARY = "Accessibility toolkit for GNOME"
|
||||
HOMEPAGE = "http://live.gnome.org/GAP/"
|
||||
BUGTRACKER = "https://bugzilla.gnome.org/"
|
||||
SECTION = "x11/libs"
|
||||
|
||||
LICENSE = "GPLv2+ & LGPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
|
||||
file://atk/atkutil.c;endline=18;md5=6fd31cd2fdc9b30f619ca8d819bc12d3 \
|
||||
file://atk/atk.h;endline=18;md5=fcd7710187e0eae485e356c30d1b0c3b"
|
||||
|
||||
# Need gettext-native as Meson can't turn off i18n
|
||||
DEPENDS = "gettext-native glib-2.0"
|
||||
|
||||
GNOMEBASEBUILDCLASS = "meson"
|
||||
inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection
|
||||
|
||||
SRC_URI[archive.md5sum] = "01aa5ec5138f5f8c9b3a4e3196ed2900"
|
||||
SRC_URI[archive.sha256sum] = "fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
24
meta-gnome/recipes-gnome/dconf/dconf_0.36.0.bb
Normal file
24
meta-gnome/recipes-gnome/dconf/dconf_0.36.0.bb
Normal file
@ -0,0 +1,24 @@
|
||||
SUMMARY = "configuation database system"
|
||||
LICENSE = "LGPLv2.1"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
|
||||
SECTION = "x11/gnome"
|
||||
|
||||
SRC_URI[archive.md5sum] = "1a50c988d9f0206f74a44f7c6d09cead"
|
||||
SRC_URI[archive.sha256sum] = "9fe6bb22191fc2a036ad86fd8e7d165e9983c687b9fedccf85d46c799301da2d"
|
||||
|
||||
DEPENDS = "dbus glib-2.0 xmlto-native glib-2.0-native"
|
||||
|
||||
GNOMEBASEBUILDCLASS = "meson"
|
||||
|
||||
inherit gnomebase bash-completion vala
|
||||
|
||||
SRC_URI += "file://0001-meson.build-do-not-compile-docs.patch"
|
||||
|
||||
FILES_${PN} += " \
|
||||
${datadir}/dbus-1 \
|
||||
${libdir}/gio/modules/*.so \
|
||||
"
|
||||
|
||||
EXTRA_OEMESON_append_class-native = "-Dbash_completion=false"
|
||||
|
||||
BBCLASSEXTEND= "native"
|
@ -0,0 +1,45 @@
|
||||
From ebb77dad4563b882b449cbc5e882f36ac8c2de71 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Mon, 11 May 2020 22:19:16 +0000
|
||||
Subject: [PATCH] meson.build: correctly set internal vapi dependencies
|
||||
|
||||
If they are set as strings, meson will supply the right
|
||||
arguments to vapigen, but will not set the ninja dependencies
|
||||
to ensure they get built first, and so races will occur:
|
||||
https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/1881/steps/8/logs/step1b
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/55]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
---
|
||||
gcr/meson.build | 2 +-
|
||||
ui/meson.build | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/gcr/meson.build b/gcr/meson.build
|
||||
index 254a933..199452f 100644
|
||||
--- a/gcr/meson.build
|
||||
+++ b/gcr/meson.build
|
||||
@@ -203,7 +203,7 @@ if get_option('introspection')
|
||||
|
||||
gcr_vapi = gnome.generate_vapi('gcr-@0@'.format(gcr_major_version),
|
||||
sources: gcr_gir[0],
|
||||
- packages: [ 'glib-2.0', 'gio-2.0', 'gck-@0@'.format(gck_major_version) ],
|
||||
+ packages: [ 'glib-2.0', 'gio-2.0', gck_vapi ],
|
||||
metadata_dirs: meson.current_source_dir(),
|
||||
vapi_dirs: [
|
||||
build_root / 'gck',
|
||||
diff --git a/ui/meson.build b/ui/meson.build
|
||||
index 5ca3753..477412d 100644
|
||||
--- a/ui/meson.build
|
||||
+++ b/ui/meson.build
|
||||
@@ -174,8 +174,8 @@ if get_option('introspection')
|
||||
packages: [
|
||||
'glib-2.0',
|
||||
'gio-2.0',
|
||||
- 'gck-@0@'.format(gck_major_version),
|
||||
- 'gcr-@0@'.format(gcr_major_version),
|
||||
+ gck_vapi,
|
||||
+ gcr_vapi,
|
||||
'gtk+-3.0'
|
||||
],
|
||||
metadata_dirs: meson.current_source_dir(),
|
@ -1,32 +0,0 @@
|
||||
SUMMARY = "A library for bits of crypto UI and parsing etc"
|
||||
HOMEPAGE = "http://www.gnome.org/"
|
||||
BUGTRACKER = "https://bugzilla.gnome.org/"
|
||||
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
|
||||
|
||||
DEPENDS = "intltool-native gtk+3 p11-kit glib-2.0 libgcrypt \
|
||||
${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}"
|
||||
|
||||
inherit autotools gnomebase gtk-icon-cache gtk-doc distro_features_check upstream-version-is-even vala gobject-introspection
|
||||
# depends on gtk+3, but also x11 through gtk+-x11
|
||||
REQUIRED_DISTRO_FEATURES = "x11"
|
||||
|
||||
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
|
||||
file://0001-Use-pkgconfig-to-find-libgcrypt.patch \
|
||||
"
|
||||
SRC_URI[archive.md5sum] = "afd88cacfd54c1ac5b3e0eb35e3aa674"
|
||||
SRC_URI[archive.sha256sum] = "95204aa2111c301778ebfbe60975ce3ed698c958430ffcc2a785ac5e593d168b"
|
||||
|
||||
FILES_${PN} += " \
|
||||
${datadir}/dbus-1 \
|
||||
${datadir}/gcr-3 \
|
||||
"
|
||||
|
||||
# http://errors.yoctoproject.org/Errors/Details/20229/
|
||||
ARM_INSTRUCTION_SET = "arm"
|
||||
|
||||
do_install_append () {
|
||||
rm ${D}${datadir}/applications/gcr-prompter.desktop
|
||||
rm ${D}${datadir}/applications/gcr-viewer.desktop
|
||||
}
|
32
meta-gnome/recipes-gnome/gcr/gcr_3.36.0.bb
Normal file
32
meta-gnome/recipes-gnome/gcr/gcr_3.36.0.bb
Normal file
@ -0,0 +1,32 @@
|
||||
SUMMARY = "A library for bits of crypto UI and parsing etc"
|
||||
DESCRIPTION = "GCR is a library for displaying certificates, and crypto UI, \
|
||||
accessing key stores. It also provides the viewer for crypto files on the \
|
||||
GNOME desktop."
|
||||
HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcr"
|
||||
BUGTRACKER = "https://gitlab.gnome.org/GNOME/gcr/issues"
|
||||
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
|
||||
|
||||
DEPENDS = "gtk+3 p11-kit glib-2.0 libgcrypt gnupg-native \
|
||||
${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}"
|
||||
|
||||
GNOMEBASEBUILDCLASS = "meson"
|
||||
GTKDOC_MESON_OPTION = "gtk_doc"
|
||||
inherit gnomebase gtk-icon-cache gtk-doc distro_features_check upstream-version-is-even vala gobject-introspection gettext mime
|
||||
# depends on gtk+3, but also x11 through gtk+-x11
|
||||
REQUIRED_DISTRO_FEATURES = "x11"
|
||||
|
||||
SRC_URI += " file://0001-meson.build-correctly-set-internal-vapi-dependencies.patch"
|
||||
SRC_URI[archive.md5sum] = "adc65563b6b458507b9a578a8b68fb61"
|
||||
SRC_URI[archive.sha256sum] = "aaf9bed017a2263c6145c89a1a84178f9f40f238426463e4ae486694ef5f6601"
|
||||
|
||||
FILES_${PN} += " \
|
||||
${datadir}/dbus-1 \
|
||||
${datadir}/gcr-3 \
|
||||
"
|
||||
|
||||
# http://errors.yoctoproject.org/Errors/Details/20229/
|
||||
ARM_INSTRUCTION_SET_armv4 = "arm"
|
||||
ARM_INSTRUCTION_SET_armv5 = "arm"
|
||||
ARM_INSTRUCTION_SET_armv6 = "arm"
|
@ -0,0 +1,48 @@
|
||||
From f7bba53adf8a26f900442a05bb98326747c392b4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Tue, 3 Dec 2019 00:24:27 +0100
|
||||
Subject: [PATCH] Ensure pam-file installation
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
All the detection magic does not work for us
|
||||
|
||||
Upstream-Status: Inappropriate [OE-specific]
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
data/Makefile.am | 12 +-----------
|
||||
1 file changed, 1 insertion(+), 11 deletions(-)
|
||||
|
||||
diff --git a/data/Makefile.am b/data/Makefile.am
|
||||
index bda9160..dbc3ea3 100644
|
||||
--- a/data/Makefile.am
|
||||
+++ b/data/Makefile.am
|
||||
@@ -296,22 +296,12 @@ endif
|
||||
chown root:root $(DESTDIR)$(logdir) || : ; \
|
||||
fi
|
||||
|
||||
- system=`uname`; \
|
||||
- if test -f /usr/include/security/pam_appl.h; then \
|
||||
- if test '!' -d $(DESTDIR)$(PAM_PREFIX)/pam.d; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(PAM_PREFIX)/pam.d; \
|
||||
chmod 755 $(DESTDIR)$(PAM_PREFIX)/pam.d; \
|
||||
- fi; \
|
||||
- if test $$system = Linux; then \
|
||||
for pamfile in $(pam_files); do \
|
||||
bn=$$(basename $$pamfile .pam); \
|
||||
$(INSTALL_DATA) $(srcdir)/$$pamfile $(DESTDIR)$(PAM_PREFIX)/pam.d/$$bn; \
|
||||
- done; \
|
||||
- fi; \
|
||||
- if test $$system = SunOS; then \
|
||||
- echo "Please add PAM authentication for gdm, gdm-autologin and gdm-welcome in $(PAM_PREFIX)/pam.conf!"; \
|
||||
- fi; \
|
||||
- fi
|
||||
+ done;
|
||||
|
||||
if test '!' -d $(DESTDIR)$(xauthdir); then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(xauthdir); \
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1,43 +0,0 @@
|
||||
SUMMARY = "GNOME display manager"
|
||||
HOMEPAGE = "https://wiki.gnome.org/Projects/GDM"
|
||||
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
inherit gnomebase useradd gettext pkgconfig autotools gobject-introspection systemd
|
||||
|
||||
SRC_URI[archive.md5sum] = "3af260a278e99ff4b17b999fd6c44465"
|
||||
SRC_URI[archive.sha256sum] = "791f24f0e15d7dcd747efa2957f2bad3d5c9aeab185b0090bfba19bcc57b958a"
|
||||
|
||||
SRC_URI += "\
|
||||
file://gdm.conf \
|
||||
file://0001-replace-absolute-path-with-staging-path.patch \
|
||||
"
|
||||
|
||||
DEPENDS = "libxcb libxinerama libxau libxdmcp intltool-native glib-2.0 accountsservice libpam libcheck libcanberra gtk+3 libx11 libxi systemd libxext glib-2.0-native dconf-native plymouth"
|
||||
|
||||
FILES_${PN} += "\
|
||||
${libdir}/systemd/system/gdm.service \
|
||||
${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 -rf ${D}/run/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
|
||||
}
|
||||
|
||||
|
||||
SYSTEMD_SERVICE_${PN} = "gdm.service"
|
||||
|
||||
USERADD_PACKAGES = "${PN}"
|
||||
USERADD_PARAM_${PN} = "--system --home /var/lib/gdm -u 21 -s /bin/false --user-group gdm"
|
||||
|
||||
EXTRA_OECONF = "--enable-introspection --enable-systemd-journal --enable-wayland-support --with-xdmcp=no --disable-static --with-default-pam-config=openembedded --with-plymouth=yes"
|
||||
|
75
meta-gnome/recipes-gnome/gdm/gdm_3.34.1.bb
Normal file
75
meta-gnome/recipes-gnome/gdm/gdm_3.34.1.bb
Normal file
@ -0,0 +1,75 @@
|
||||
SUMMARY = "GNOME Display Manager"
|
||||
LICENSE="GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
DEPENDS = " \
|
||||
dconf-native \
|
||||
gtk+3 \
|
||||
glib-2.0 \
|
||||
accountsservice \
|
||||
libcanberra \
|
||||
libxinerama \
|
||||
libpam \
|
||||
plymouth \
|
||||
"
|
||||
|
||||
REQUIRED_DISTRO_FEATURES = "x11 systemd pam"
|
||||
|
||||
inherit gnomebase gsettings gobject-introspection gettext systemd useradd upstream-version-is-even distro_features_check
|
||||
|
||||
SRC_URI[archive.md5sum] = "65d1fd4bb85e8b133d1cbffb80ecf62e"
|
||||
SRC_URI[archive.sha256sum] = "e85df657aa8d9361af4fb122014d8f123a93bfe45a7662fba2b373d839dbd8d3"
|
||||
|
||||
SRC_URI += "\
|
||||
file://gdm.conf \
|
||||
file://0001-replace-absolute-path-with-staging-path.patch \
|
||||
"
|
||||
|
||||
# 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} += " \
|
||||
${libdir}/systemd/system/gdm.service \
|
||||
${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_OECONF = " \
|
||||
--with-plymouth \
|
||||
--with-default-pam-config=openembedded \
|
||||
--with-pam-mod-dir=${base_libdir}/security \
|
||||
--enable-introspection \
|
||||
--enable-systemd-journal \
|
||||
--enable-wayland-support \
|
||||
--with-xdmcp=no \
|
||||
--disable-static \
|
||||
--enable-gdm-xsession \
|
||||
--with-initial-vt=7 \
|
||||
"
|
||||
|
@ -0,0 +1,63 @@
|
||||
From 462ed3afdfc6988daf79448558f5433ea773e64c Mon Sep 17 00:00:00 2001
|
||||
From: David McKinney <mckinne@subgraph.com>
|
||||
Date: Thu, 2 Jul 2020 14:52:35 +0000
|
||||
Subject: [PATCH] Fix tests that cannot run
|
||||
|
||||
---
|
||||
meson.build | 36 ++++++++++++++++++------------------
|
||||
1 file changed, 18 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 2ffbf28..6679e45 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -221,23 +221,23 @@ 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/esr60/docs/Building%20SpiderMonkey.md''')
|
||||
-endif
|
||||
+#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/esr60/docs/Building%20SpiderMonkey.md''')
|
||||
+#endif
|
||||
|
||||
have_printf_alternative_int = cc.compiles('''
|
||||
#include <stdio.h>
|
||||
@@ -610,7 +610,7 @@ if not get_option('skip_gtk_tests')
|
||||
have_gtk4 = dependency('gtk4', required: false).found()
|
||||
endif
|
||||
|
||||
-subdir('installed-tests')
|
||||
+#subdir('installed-tests')
|
||||
|
||||
valgrind_environment = environment()
|
||||
valgrind_environment.set('G_SLICE', 'always-malloc,debug-blocks')
|
24
meta-gnome/recipes-gnome/gjs/gjs_1.64.2.bb
Normal file
24
meta-gnome/recipes-gnome/gjs/gjs_1.64.2.bb
Normal file
@ -0,0 +1,24 @@
|
||||
SUMMARY = "GNOME javascript bindings based on the Spidermonkey javascript engine"
|
||||
HOMEPAGE = "https://wiki.gnome.org/Projects/Gjs"
|
||||
|
||||
LICENSE = "MIT & LGPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=beb29cf17fabe736f0639b09ee6e76fa \
|
||||
file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7"
|
||||
|
||||
inherit gnomebase gettext gobject-introspection meson
|
||||
|
||||
WARN_QA_remove = "unknown-configure-option"
|
||||
|
||||
export GIDATADIR="${STAGING_DATADIR_NATIVE}/gobject-introspection-1.0"
|
||||
|
||||
DEPENDS = "glib-2.0 gobject-introspection gobject-introspection-native cairo gtk+3 mozjs68 glib-2.0-native"
|
||||
|
||||
EXTRA_OEMESON = " -Dskip_dbus_tests=true -Dskip_gtk_tests=true -Dinstalled_tests=false -Dpkgconfig-sysroot-path=${GIDATADIR}"
|
||||
|
||||
SRC_URI += " file://0001-Fix-tests-that-cannot-run.patch"
|
||||
SRC_URI[archive.md5sum] = "bd2f7f411b46016e8ee2d2c8d3c140d9"
|
||||
SRC_URI[archive.sha256sum] = "15ff834d374df19595d955f03e6b60631a3bb14fabda36d00f81ab3eabd3997b"
|
||||
|
||||
RDEPENDS_${PN} += "libmozjs-68"
|
||||
|
||||
FILES_${PN}-dbg += "${datadir}/gjs-1.0/lsan ${datadir}/gjs-1.0/valgrind"
|
@ -0,0 +1,39 @@
|
||||
From d250652782b65b071b7cc8f01f2db833df104e0e Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 16 Apr 2016 13:28:59 -0700
|
||||
Subject: [PATCH] Do not ignore return value of write()
|
||||
|
||||
gcc warns about ignoring return value when compiling
|
||||
with fortify turned on.
|
||||
|
||||
assert when write() fails
|
||||
|
||||
Upstream-Status: Submitted
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
---
|
||||
glib/tests/unix.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/glib/tests/unix.c b/glib/tests/unix.c
|
||||
index 9d55a6c..a07f945 100644
|
||||
--- a/glib/tests/unix.c
|
||||
+++ b/glib/tests/unix.c
|
||||
@@ -32,14 +32,15 @@ test_pipe (void)
|
||||
GError *error = NULL;
|
||||
int pipefd[2];
|
||||
char buf[1024];
|
||||
- gssize bytes_read;
|
||||
+ gssize bytes_read, bytes_written;
|
||||
gboolean res;
|
||||
|
||||
res = g_unix_open_pipe (pipefd, FD_CLOEXEC, &error);
|
||||
g_assert (res);
|
||||
g_assert_no_error (error);
|
||||
|
||||
- write (pipefd[1], "hello", sizeof ("hello"));
|
||||
+ bytes_written = write (pipefd[1], "hello", sizeof ("hello"));
|
||||
+ g_assert (bytes_written != -1 && "write() failed");
|
||||
memset (buf, 0, sizeof (buf));
|
||||
bytes_read = read (pipefd[0], buf, sizeof(buf) - 1);
|
||||
g_assert_cmpint (bytes_read, >, 0);
|
@ -0,0 +1,61 @@
|
||||
From 60b36289ac314ad972cf81c1acd19f6f2e58ff25 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Fri, 15 Feb 2019 11:17:27 +0100
|
||||
Subject: [PATCH] Do not write $bindir into pkg-config files
|
||||
|
||||
This would otherwise break when using the files to build other target
|
||||
components (we need to rely on PATH containing the paths to utilities,
|
||||
rather than use target paths).
|
||||
|
||||
Upstream-Status: Inappropriate [upstream wants the paths in .pc files]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
gio/meson.build | 16 ++++++++--------
|
||||
glib/meson.build | 6 +++---
|
||||
2 files changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/gio/meson.build b/gio/meson.build
|
||||
index 71e88c4..8ce3987 100644
|
||||
--- a/gio/meson.build
|
||||
+++ b/gio/meson.build
|
||||
@@ -831,14 +831,14 @@ pkg.generate(libgio,
|
||||
'schemasdir=' + join_paths('${datadir}', schemas_subdir),
|
||||
'bindir=' + join_paths('${prefix}', get_option('bindir')),
|
||||
'giomoduledir=' + giomodulesdir,
|
||||
- 'gio=' + join_paths('${bindir}', 'gio'),
|
||||
- 'gio_querymodules=' + join_paths('${bindir}', 'gio-querymodules'),
|
||||
- 'glib_compile_schemas=' + join_paths('${bindir}', 'glib-compile-schemas'),
|
||||
- 'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'),
|
||||
- 'gdbus=' + join_paths('${bindir}', 'gdbus'),
|
||||
- 'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen'),
|
||||
- 'gresource=' + join_paths('${bindir}', 'gresource'),
|
||||
- 'gsettings=' + join_paths('${bindir}', 'gsettings')],
|
||||
+ 'gio=gio',
|
||||
+ 'gio_querymodules=gio-querymodules',
|
||||
+ 'glib_compile_schemas=glib-compile-schemas',
|
||||
+ 'glib_compile_resources=glib-compile-resources',
|
||||
+ 'gdbus=gdbus',
|
||||
+ 'gdbus_codegen=gdbus-codegen',
|
||||
+ 'gresource=gresource',
|
||||
+ 'gsettings=gsettings'],
|
||||
version : glib_version,
|
||||
install_dir : glib_pkgconfigreldir,
|
||||
filebase : 'gio-2.0',
|
||||
diff --git a/glib/meson.build b/glib/meson.build
|
||||
index 91a48f1..978fb73 100644
|
||||
--- a/glib/meson.build
|
||||
+++ b/glib/meson.build
|
||||
@@ -375,9 +375,9 @@ pkg.generate(libglib,
|
||||
subdirs : ['glib-2.0'],
|
||||
extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags,
|
||||
variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')),
|
||||
- 'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'),
|
||||
- 'gobject_query=' + join_paths('${bindir}', 'gobject-query'),
|
||||
- 'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')],
|
||||
+ 'glib_genmarshal=glib-genmarshal',
|
||||
+ 'gobject_query=gobject-query',
|
||||
+ 'glib_mkenums=glib-mkenums'],
|
||||
version : glib_version,
|
||||
install_dir : glib_pkgconfigreldir,
|
||||
filebase : 'glib-2.0',
|
@ -0,0 +1,34 @@
|
||||
From 15f807481de53942525b48952c5b6bbb9fb66542 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 15 Mar 2014 22:42:29 -0700
|
||||
Subject: [PATCH] Fix DATADIRNAME on uclibc/Linux
|
||||
|
||||
translation files are always installed under PREFIX/share/locale in uclibc
|
||||
based systems therefore lets set DATADIRNAME to "share".
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Upstream-Status: Pending
|
||||
|
||||
%% original patch: uclibc_musl_translation.patch
|
||||
---
|
||||
m4macros/glib-gettext.m4 | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/m4macros/glib-gettext.m4 b/m4macros/glib-gettext.m4
|
||||
index df6fbf0..47db864 100644
|
||||
--- a/m4macros/glib-gettext.m4
|
||||
+++ b/m4macros/glib-gettext.m4
|
||||
@@ -293,6 +293,10 @@ msgstr ""
|
||||
CATOBJEXT=.mo
|
||||
DATADIRNAME=share
|
||||
;;
|
||||
+ *-*-musl* | *-*-linux-uclibc*)
|
||||
+ CATOBJEXT=.gmo
|
||||
+ DATADIRNAME=share
|
||||
+ ;;
|
||||
*)
|
||||
CATOBJEXT=.mo
|
||||
DATADIRNAME=lib
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,27 @@
|
||||
From d29dfba67b1808eea6d428085f95b6e42cf2d1e4 Mon Sep 17 00:00:00 2001
|
||||
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
Date: Tue, 22 Mar 2016 15:14:58 +0200
|
||||
Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM
|
||||
|
||||
We want to install this binary with the gio library, and debian
|
||||
renamer does not cope with library packages with files in ${bindir}
|
||||
|
||||
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
|
||||
---
|
||||
gio/meson.build | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/gio/meson.build b/gio/meson.build
|
||||
index 4e5e021..90a741a 100644
|
||||
--- a/gio/meson.build
|
||||
+++ b/gio/meson.build
|
||||
@@ -940,6 +940,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
|
||||
c_args : gio_c_args,
|
||||
# intl.lib is not compatible with SAFESEH
|
||||
link_args : noseh_link_args,
|
||||
+ install_dir: glib_libexecdir,
|
||||
dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
|
||||
|
||||
glib_compile_schemas = executable('glib-compile-schemas',
|
@ -0,0 +1,43 @@
|
||||
From 2acf40361eecd17c6981743dabd06e25a9934258 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Fri, 12 Jun 2015 17:08:46 +0300
|
||||
Subject: [PATCH 05/10] Remove the warning about deprecated paths in schemas
|
||||
|
||||
Some schemas in gsettings-desktop-schemas (such as proxy and locale)
|
||||
are still using deprecated paths, as of 3.16.1. This causes warning
|
||||
messages, and meta/lib/oe/rootfs.py complaints about them.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
gio/glib-compile-schemas.c | 13 -------------
|
||||
1 file changed, 13 deletions(-)
|
||||
|
||||
diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c
|
||||
index b8de090..130f89b 100644
|
||||
--- a/gio/glib-compile-schemas.c
|
||||
+++ b/gio/glib-compile-schemas.c
|
||||
@@ -1219,19 +1219,6 @@ parse_state_start_schema (ParseState *state,
|
||||
return;
|
||||
}
|
||||
|
||||
- if (path && (g_str_has_prefix (path, "/apps/") ||
|
||||
- g_str_has_prefix (path, "/desktop/") ||
|
||||
- g_str_has_prefix (path, "/system/")))
|
||||
- {
|
||||
- gchar *message = NULL;
|
||||
- message = g_strdup_printf (_("Warning: Schema “%s” has path “%s”. "
|
||||
- "Paths starting with "
|
||||
- "“/apps/”, “/desktop/” or “/system/” are deprecated."),
|
||||
- id, path);
|
||||
- g_printerr ("%s\n", message);
|
||||
- g_free (message);
|
||||
- }
|
||||
-
|
||||
state->schema_state = schema_state_new (path, gettext_domain,
|
||||
extends, extends_name, list_of);
|
||||
|
||||
--
|
||||
2.14.1
|
||||
|
@ -0,0 +1,95 @@
|
||||
From cfff734af6bff6a30a649f784ecf698658c01884 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Wed, 13 Feb 2019 15:32:05 +0100
|
||||
Subject: [PATCH] Set host_machine correctly when building with mingw32
|
||||
|
||||
Upstream-Status: Inappropriate [oe-core specific]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
gio/tests/meson.build | 8 ++++----
|
||||
glib/tests/meson.build | 2 +-
|
||||
meson.build | 3 +++
|
||||
tests/meson.build | 2 +-
|
||||
4 files changed, 9 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/gio/tests/meson.build b/gio/tests/meson.build
|
||||
index 95aafc1..9025eb2 100644
|
||||
--- a/gio/tests/meson.build
|
||||
+++ b/gio/tests/meson.build
|
||||
@@ -13,7 +13,7 @@ test_c_args = [
|
||||
'-UG_DISABLE_ASSERT',
|
||||
]
|
||||
|
||||
-if host_machine.system() == 'windows'
|
||||
+if host_system == 'windows'
|
||||
common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')]
|
||||
endif
|
||||
|
||||
@@ -120,7 +120,7 @@ if dbus1_dep.found()
|
||||
endif
|
||||
|
||||
# Test programs buildable on UNIX only
|
||||
-if host_machine.system() != 'windows'
|
||||
+if host_system != 'windows'
|
||||
gio_tests += {
|
||||
'file' : {},
|
||||
'gdbus-peer' : {
|
||||
@@ -332,7 +332,7 @@ if host_machine.system() != 'windows'
|
||||
endif # unix
|
||||
|
||||
# Test programs buildable on Windows only
|
||||
-if host_machine.system() == 'windows'
|
||||
+if host_system == 'windows'
|
||||
gio_tests += {'win32-streams' : {}}
|
||||
endif
|
||||
|
||||
@@ -397,7 +397,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl'
|
||||
}
|
||||
endif
|
||||
|
||||
-if host_machine.system() != 'windows'
|
||||
+if host_system != 'windows'
|
||||
test_extra_programs += {
|
||||
'gdbus-example-unix-fd-client' : {
|
||||
'install' : false,
|
||||
diff --git a/glib/tests/meson.build b/glib/tests/meson.build
|
||||
index c47133f..cad975f 100644
|
||||
--- a/glib/tests/meson.build
|
||||
+++ b/glib/tests/meson.build
|
||||
@@ -132,7 +132,7 @@ if glib_conf.has('HAVE_EVENTFD')
|
||||
}
|
||||
endif
|
||||
|
||||
-if host_machine.system() == 'windows'
|
||||
+if host_system == 'windows'
|
||||
if winsock2.found()
|
||||
glib_tests += {
|
||||
'gpoll' : {
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 717d1bc..2a3beb8 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -32,6 +32,9 @@ else
|
||||
endif
|
||||
|
||||
host_system = host_machine.system()
|
||||
+if host_system == 'mingw32'
|
||||
+ host_system = 'windows'
|
||||
+endif
|
||||
|
||||
glib_version = meson.project_version()
|
||||
glib_api_version = '2.0'
|
||||
diff --git a/tests/meson.build b/tests/meson.build
|
||||
index ce30442..5710f2c 100644
|
||||
--- a/tests/meson.build
|
||||
+++ b/tests/meson.build
|
||||
@@ -66,7 +66,7 @@ test_extra_programs = {
|
||||
'unicode-collate' : {},
|
||||
}
|
||||
|
||||
-if host_machine.system() != 'windows'
|
||||
+if host_system != 'windows'
|
||||
tests += {
|
||||
'timeloop' : {},
|
||||
'iochannel-test' : {},
|
@ -0,0 +1,27 @@
|
||||
From 730803f2bc3f2f1a74f4db809a224066e7eae114 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Wed, 8 Jan 2020 18:22:46 +0100
|
||||
Subject: [PATCH] gio/tests/resources.c: comment out a build host-only test
|
||||
|
||||
This test requires building resources in a way that is
|
||||
not cross-compatible (hardcodes ld and objcopy).
|
||||
|
||||
Upstream-Status: Inappropriate [oe-core specific]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
---
|
||||
gio/tests/resources.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gio/tests/resources.c b/gio/tests/resources.c
|
||||
index c44d214..e289a01 100644
|
||||
--- a/gio/tests/resources.c
|
||||
+++ b/gio/tests/resources.c
|
||||
@@ -993,7 +993,7 @@ main (int argc,
|
||||
g_test_add_func ("/resource/automatic", test_resource_automatic);
|
||||
/* This only uses automatic resources too, so it tests the constructors and destructors */
|
||||
g_test_add_func ("/resource/module", test_resource_module);
|
||||
- g_test_add_func ("/resource/binary-linked", test_resource_binary_linked);
|
||||
+ /* g_test_add_func ("/resource/binary-linked", test_resource_binary_linked); */
|
||||
#endif
|
||||
g_test_add_func ("/resource/uri/query-info", test_uri_query_info);
|
||||
g_test_add_func ("/resource/uri/file", test_uri_file);
|
@ -0,0 +1,31 @@
|
||||
From cce617bec254e327ed7bcad60f58208024c6dc42 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 12 Oct 2019 17:46:26 -0700
|
||||
Subject: [PATCH] meson: Run atomics test on clang as well
|
||||
|
||||
Fixes
|
||||
./glib-2.62.1/glib/gatomic.c:675:2: error: G_ATOMIC_LOCK_FREE defined, but incapable of lock-free atomics.
|
||||
^
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 9731de4..c678931 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -1634,7 +1634,7 @@ atomicdefine = '''
|
||||
# We know that we can always use real ("lock free") atomic operations with MSVC
|
||||
if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl' or cc.links(atomictest, name : 'atomic ops')
|
||||
have_atomic_lock_free = true
|
||||
- if cc.get_id() == 'gcc' and not cc.compiles(atomicdefine, name : 'atomic ops define')
|
||||
+ if (cc.get_id() == 'gcc' or cc.get_id() == 'clang') and not cc.compiles(atomicdefine, name : 'atomic ops define')
|
||||
# Old gcc release may provide
|
||||
# __sync_bool_compare_and_swap but doesn't define
|
||||
# __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
|
||||
--
|
||||
2.23.0
|
||||
|
@ -0,0 +1,46 @@
|
||||
From b9160d951b9af647b97766c57295ca4f45cf9521 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Tue, 3 Oct 2017 10:45:55 +0300
|
||||
Subject: [PATCH 10/10] Do not hardcode python path into various tools
|
||||
|
||||
Upstream-Status: Inappropriate [oe-core specific]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
---
|
||||
gio/gdbus-2.0/codegen/gdbus-codegen.in | 2 +-
|
||||
gobject/glib-genmarshal.in | 2 +-
|
||||
gobject/glib-mkenums.in | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in
|
||||
index 8050981..e693ef3 100755
|
||||
--- a/gio/gdbus-2.0/codegen/gdbus-codegen.in
|
||||
+++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env @PYTHON@
|
||||
+#!/usr/bin/env python3
|
||||
|
||||
# GDBus - GLib D-Bus Library
|
||||
#
|
||||
diff --git a/gobject/glib-genmarshal.in b/gobject/glib-genmarshal.in
|
||||
index 09e8408..b2f9d99 100755
|
||||
--- a/gobject/glib-genmarshal.in
|
||||
+++ b/gobject/glib-genmarshal.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env @PYTHON@
|
||||
+#!/usr/bin/env python3
|
||||
|
||||
# pylint: disable=too-many-lines, missing-docstring, invalid-name
|
||||
|
||||
diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in
|
||||
index d4bfd11..051fce4 100755
|
||||
--- a/gobject/glib-mkenums.in
|
||||
+++ b/gobject/glib-mkenums.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env @PYTHON@
|
||||
+#!/usr/bin/env python3
|
||||
|
||||
# If the code below looks horrible and unpythonic, do not panic.
|
||||
#
|
||||
--
|
||||
2.14.1
|
||||
|
@ -0,0 +1,43 @@
|
||||
From ef2be42998e3fc10299055a5a01f7c791538174c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
|
||||
Date: Mon, 3 Feb 2020 15:38:28 +0200
|
||||
Subject: [PATCH] GMainContext - Fix GSource iterator if iteration can modify
|
||||
the list
|
||||
|
||||
We first have to ref the next source and then unref the previous one.
|
||||
This might be the last reference to the previous source, and freeing the
|
||||
previous source might unref and free the next one which would then leave
|
||||
use with a dangling pointer here.
|
||||
|
||||
Fixes https://gitlab.gnome.org/GNOME/glib/issues/2031
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/b06c48de7554607ff3fb58d6c0510cfa5088e909]
|
||||
|
||||
---
|
||||
glib/gmain.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/glib/gmain.c b/glib/gmain.c
|
||||
index af979c8..a9a287d 100644
|
||||
--- a/glib/gmain.c
|
||||
+++ b/glib/gmain.c
|
||||
@@ -969,13 +969,17 @@ g_source_iter_next (GSourceIter *iter, GSource **source)
|
||||
* GSourceList to be removed from source_lists (if iter->source is
|
||||
* the only source in its list, and it is destroyed), so we have to
|
||||
* keep it reffed until after we advance iter->current_list, above.
|
||||
+ *
|
||||
+ * Also we first have to ref the next source before unreffing the
|
||||
+ * previous one as unreffing the previous source can potentially
|
||||
+ * free the next one.
|
||||
*/
|
||||
+ if (next_source && iter->may_modify)
|
||||
+ g_source_ref (next_source);
|
||||
|
||||
if (iter->source && iter->may_modify)
|
||||
g_source_unref_internal (iter->source, iter->context, TRUE);
|
||||
iter->source = next_source;
|
||||
- if (iter->source && iter->may_modify)
|
||||
- g_source_ref (iter->source);
|
||||
|
||||
*source = iter->source;
|
||||
return *source != NULL;
|
@ -0,0 +1,109 @@
|
||||
From 611430a32a46d0dc806a829161e2dccf9c0196a8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
|
||||
Date: Mon, 3 Feb 2020 15:35:51 +0200
|
||||
Subject: [PATCH] GMainContext - Fix memory leaks and memory corruption when
|
||||
freeing sources while freeing a context
|
||||
|
||||
Instead of destroying sources directly while freeing the context, and
|
||||
potentially freeing them if this was the last reference to them, collect
|
||||
new references of all sources in a separate list before and at the same
|
||||
time invalidate their context so that they can't access it anymore. Only
|
||||
once all sources have their context invalidated, destroy them while
|
||||
still keeping a reference to them. Once all sources are destroyed we get
|
||||
rid of the additional references and free them if nothing else keeps a
|
||||
reference to them anymore.
|
||||
|
||||
This fixes a regression introduced by 26056558be in 2012.
|
||||
|
||||
The previous code that invalidated the context of each source and then
|
||||
destroyed it before going to the next source without keeping an
|
||||
additional reference caused memory leaks or memory corruption depending
|
||||
on the order of the sources in the sources lists.
|
||||
|
||||
If a source was destroyed it might happen that this was the last
|
||||
reference to this source, and it would then be freed. This would cause
|
||||
the finalize function to be called, which might destroy and unref
|
||||
another source and potentially free it. This other source would then
|
||||
either
|
||||
- go through the normal free logic and change the intern linked list
|
||||
between the sources, while other sources that are unreffed as part of
|
||||
the main context freeing would not. As such the list would be in an
|
||||
inconsistent state and we might dereference freed memory.
|
||||
- go through the normal destroy and free logic but because the context
|
||||
pointer was already invalidated it would simply mark the source as
|
||||
destroyed without actually removing it from the context. This would
|
||||
then cause a memory leak because the reference owned by the context is
|
||||
not freed.
|
||||
|
||||
Fixes https://github.com/gtk-rs/glib/issues/583 while still keeping
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=661767 fixes.
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/aa20167d419c649f34fed06a9463890b41b1eba0]
|
||||
|
||||
---
|
||||
glib/gmain.c | 35 ++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 34 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/glib/gmain.c b/glib/gmain.c
|
||||
index a9a287d..10ba2f8 100644
|
||||
--- a/glib/gmain.c
|
||||
+++ b/glib/gmain.c
|
||||
@@ -538,6 +538,7 @@ g_main_context_unref (GMainContext *context)
|
||||
GSourceIter iter;
|
||||
GSource *source;
|
||||
GList *sl_iter;
|
||||
+ GSList *s_iter, *remaining_sources = NULL;
|
||||
GSourceList *list;
|
||||
guint i;
|
||||
|
||||
@@ -557,10 +558,30 @@ g_main_context_unref (GMainContext *context)
|
||||
|
||||
/* g_source_iter_next() assumes the context is locked. */
|
||||
LOCK_CONTEXT (context);
|
||||
- g_source_iter_init (&iter, context, TRUE);
|
||||
+
|
||||
+ /* First collect all remaining sources from the sources lists and store a
|
||||
+ * new reference in a separate list. Also set the context of the sources
|
||||
+ * to NULL so that they can't access a partially destroyed context anymore.
|
||||
+ *
|
||||
+ * We have to do this first so that we have a strong reference to all
|
||||
+ * sources and destroying them below does not also free them, and so that
|
||||
+ * none of the sources can access the context from their finalize/dispose
|
||||
+ * functions. */
|
||||
+ g_source_iter_init (&iter, context, FALSE);
|
||||
while (g_source_iter_next (&iter, &source))
|
||||
{
|
||||
source->context = NULL;
|
||||
+ remaining_sources = g_slist_prepend (remaining_sources, g_source_ref (source));
|
||||
+ }
|
||||
+ g_source_iter_clear (&iter);
|
||||
+
|
||||
+ /* Next destroy all sources. As we still hold a reference to all of them,
|
||||
+ * this won't cause any of them to be freed yet and especially prevents any
|
||||
+ * source that unrefs another source from its finalize function to be freed.
|
||||
+ */
|
||||
+ for (s_iter = remaining_sources; s_iter; s_iter = s_iter->next)
|
||||
+ {
|
||||
+ source = s_iter->data;
|
||||
g_source_destroy_internal (source, context, TRUE);
|
||||
}
|
||||
UNLOCK_CONTEXT (context);
|
||||
@@ -585,6 +606,18 @@ g_main_context_unref (GMainContext *context)
|
||||
g_cond_clear (&context->cond);
|
||||
|
||||
g_free (context);
|
||||
+
|
||||
+ /* And now finally get rid of our references to the sources. This will cause
|
||||
+ * them to be freed unless something else still has a reference to them. Due
|
||||
+ * to setting the context pointers in the sources to NULL above, this won't
|
||||
+ * ever access the context or the internal linked list inside the GSource.
|
||||
+ * We already removed the sources completely from the context above. */
|
||||
+ for (s_iter = remaining_sources; s_iter; s_iter = s_iter->next)
|
||||
+ {
|
||||
+ source = s_iter->data;
|
||||
+ g_source_unref_internal (source, NULL, FALSE);
|
||||
+ }
|
||||
+ g_slist_free (remaining_sources);
|
||||
}
|
||||
|
||||
/* Helper function used by mainloop/overflow test.
|
@ -0,0 +1,36 @@
|
||||
From 3e9d85f1b75e2b1096d9643563d7d17380752fc7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
|
||||
Date: Tue, 11 Feb 2020 09:34:38 +0200
|
||||
Subject: [PATCH] GMainContext - Move mutex unlocking in destructor right
|
||||
before freeing the mutex
|
||||
|
||||
This does not have any behaviour changes but is cleaner. The mutex is
|
||||
only unlocked now after all operations on the context are done and right
|
||||
before freeing the mutex and the context itself.
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/730a75fc8e8271c38fbd5363d1f77a00876b9ddc]
|
||||
|
||||
---
|
||||
glib/gmain.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/glib/gmain.c b/glib/gmain.c
|
||||
index 10ba2f8..b1df470 100644
|
||||
--- a/glib/gmain.c
|
||||
+++ b/glib/gmain.c
|
||||
@@ -584,7 +584,6 @@ g_main_context_unref (GMainContext *context)
|
||||
source = s_iter->data;
|
||||
g_source_destroy_internal (source, context, TRUE);
|
||||
}
|
||||
- UNLOCK_CONTEXT (context);
|
||||
|
||||
for (sl_iter = context->source_lists; sl_iter; sl_iter = sl_iter->next)
|
||||
{
|
||||
@@ -595,6 +594,7 @@ g_main_context_unref (GMainContext *context)
|
||||
|
||||
g_hash_table_destroy (context->sources);
|
||||
|
||||
+ UNLOCK_CONTEXT (context);
|
||||
g_mutex_clear (&context->mutex);
|
||||
|
||||
g_ptr_array_free (context->pending_dispatches, TRUE);
|
@ -0,0 +1,121 @@
|
||||
From 0061d66057dfd7e7267772df60b36474fb180eed Mon Sep 17 00:00:00 2001
|
||||
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
Date: Mon, 9 Nov 2015 11:07:27 +0200
|
||||
Subject: [PATCH] Enable more tests while cross-compiling
|
||||
|
||||
Upstream disables a few tests while cross-compiling because their build requires
|
||||
running other built binaries. This usually makes sense but in the cross-compile
|
||||
case we can depend on glib-2.0-native.
|
||||
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
|
||||
---
|
||||
gio/tests/meson.build | 24 ++++++++++++------------
|
||||
1 file changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/gio/tests/meson.build b/gio/tests/meson.build
|
||||
index 382dfcc..c171717 100644
|
||||
--- a/gio/tests/meson.build
|
||||
+++ b/gio/tests/meson.build
|
||||
@@ -191,7 +191,7 @@ if host_machine.system() != 'windows'
|
||||
|
||||
# Test programs that need to bring up a session bus (requires dbus-daemon)
|
||||
have_dbus_daemon = find_program('dbus-daemon', required : false).found()
|
||||
- if have_dbus_daemon
|
||||
+ if true
|
||||
annotate_args = [
|
||||
'--annotate', 'org.project.Bar', 'Key1', 'Value1',
|
||||
'--annotate', 'org.project.Bar', 'org.gtk.GDBus.Internal', 'Value2',
|
||||
@@ -465,12 +465,12 @@ if installed_tests_enabled
|
||||
install_data('static-link.py', install_dir : installed_tests_execdir)
|
||||
endif
|
||||
|
||||
-if not meson.is_cross_build() or meson.has_exe_wrapper()
|
||||
+if meson.is_cross_build()
|
||||
|
||||
plugin_resources_c = custom_target('plugin-resources.c',
|
||||
input : 'test4.gresource.xml',
|
||||
output : 'plugin-resources.c',
|
||||
- command : [glib_compile_resources,
|
||||
+ command : ['glib-compile-resources',
|
||||
'--target=@OUTPUT@',
|
||||
'--sourcedir=' + meson.current_source_dir(),
|
||||
'--generate-source',
|
||||
@@ -494,7 +494,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
|
||||
test_gresource = custom_target('test.gresource',
|
||||
input : 'test.gresource.xml',
|
||||
output : 'test.gresource',
|
||||
- command : [glib_compile_resources,
|
||||
+ command : ['glib-compile-resources',
|
||||
'--target=@OUTPUT@',
|
||||
'--sourcedir=' + meson.current_source_dir(),
|
||||
'--sourcedir=' + meson.current_build_dir(),
|
||||
@@ -505,7 +505,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
|
||||
test_resources2_c = custom_target('test_resources2.c',
|
||||
input : 'test3.gresource.xml',
|
||||
output : 'test_resources2.c',
|
||||
- command : [glib_compile_resources,
|
||||
+ command : ['glib-compile-resources',
|
||||
'--target=@OUTPUT@',
|
||||
'--sourcedir=' + meson.current_source_dir(),
|
||||
'--generate',
|
||||
@@ -516,7 +516,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
|
||||
test_resources2_h = custom_target('test_resources2.h',
|
||||
input : 'test3.gresource.xml',
|
||||
output : 'test_resources2.h',
|
||||
- command : [glib_compile_resources,
|
||||
+ command : ['glib-compile-resources',
|
||||
'--target=@OUTPUT@',
|
||||
'--sourcedir=' + meson.current_source_dir(),
|
||||
'--generate',
|
||||
@@ -528,7 +528,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
|
||||
input : 'test2.gresource.xml',
|
||||
depends : big_test_resource,
|
||||
output : 'test_resources.c',
|
||||
- command : [glib_compile_resources,
|
||||
+ command : ['glib-compile-resources',
|
||||
'--target=@OUTPUT@',
|
||||
'--sourcedir=' + meson.current_source_dir(),
|
||||
'--sourcedir=' + meson.current_build_dir(),
|
||||
@@ -539,7 +539,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
|
||||
digit_test_resources_c = custom_target('digit_test_resources.c',
|
||||
input : '111_digit_test.gresource.xml',
|
||||
output : 'digit_test_resources.c',
|
||||
- command : [glib_compile_resources,
|
||||
+ command : ['glib-compile-resources',
|
||||
'--target=@OUTPUT@',
|
||||
'--sourcedir=' + meson.current_source_dir(),
|
||||
'--sourcedir=' + meson.current_build_dir(),
|
||||
@@ -550,7 +550,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
|
||||
digit_test_resources_h = custom_target('digit_test_resources.h',
|
||||
input : '111_digit_test.gresource.xml',
|
||||
output : 'digit_test_resources.h',
|
||||
- command : [glib_compile_resources,
|
||||
+ command : ['glib-compile-resources',
|
||||
'--target=@OUTPUT@',
|
||||
'--sourcedir=' + meson.current_source_dir(),
|
||||
'--generate',
|
||||
@@ -579,11 +579,11 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
|
||||
# LLVM once that support is in a stable release.
|
||||
objcopy = find_program('objcopy', required : false)
|
||||
|
||||
- if build_machine.system() == 'linux' and cc.get_id() == 'gcc' and objcopy.found()
|
||||
+ if not meson.is_cross_build()
|
||||
test_gresource_binary = custom_target('test5.gresource',
|
||||
input : 'test5.gresource.xml',
|
||||
output : 'test5.gresource',
|
||||
- command : [glib_compile_resources,
|
||||
+ command : ['glib-compile-resources',
|
||||
'--target=@OUTPUT@',
|
||||
'--sourcedir=' + meson.current_source_dir(),
|
||||
'--sourcedir=' + meson.current_build_dir(),
|
||||
@@ -595,7 +595,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
|
||||
test_resources_binary_c = custom_target('test_resources_binary.c',
|
||||
input : 'test5.gresource.xml',
|
||||
output : 'test_resources_binary.c',
|
||||
- command : [glib_compile_resources,
|
||||
+ command : ['glib-compile-resources',
|
||||
'--target=@OUTPUT@',
|
||||
'--sourcedir=' + meson.current_source_dir(),
|
||||
'--sourcedir=' + meson.current_build_dir(),
|
@ -0,0 +1,3 @@
|
||||
[properties]
|
||||
# On all known supported architectures the stack grows down
|
||||
growing_stack = false
|
@ -0,0 +1,5 @@
|
||||
[properties]
|
||||
have_c99_vsnprintf = true
|
||||
have_c99_snprintf = true
|
||||
have_unix98_printf = true
|
||||
va_val_copy = true
|
@ -0,0 +1,5 @@
|
||||
[properties]
|
||||
have_proc_self_cmdline = true
|
||||
|
||||
[binaries]
|
||||
env = "/usr/bin/env"
|
@ -0,0 +1,6 @@
|
||||
[properties]
|
||||
have_c99_vsnprintf = false
|
||||
have_c99_snprintf = false
|
||||
have_unix98_printf = false
|
||||
va_val_copy = true
|
||||
have_proc_self_cmdline = false
|
@ -0,0 +1,6 @@
|
||||
[properties]
|
||||
have_c99_vsnprintf = true
|
||||
have_c99_snprintf = true
|
||||
have_unix98_printf = true
|
||||
va_val_copy = true
|
||||
have_strlcpy = true
|
@ -0,0 +1,50 @@
|
||||
From 8c623acdbea3ecc2812bbaafcfc892758fa978da Mon Sep 17 00:00:00 2001
|
||||
From: Ross Burton <ross.burton@intel.com>
|
||||
Date: Fri, 11 Mar 2016 15:35:55 +0000
|
||||
Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
|
||||
|
||||
Instead of hard-coding GIO_MODULE_PATH when glib is built, use dladdr() to
|
||||
determine where libglib.so is and use that path to calculate GIO_MODULES_DIR.
|
||||
|
||||
This solves relocation problems with GIOModule for native builds of glib.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
|
||||
Port patch to 2.48
|
||||
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
|
||||
---
|
||||
gio/giomodule.c | 12 +++++++++++-
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gio/giomodule.c b/gio/giomodule.c
|
||||
index 1007abd..5380982 100644
|
||||
--- a/gio/giomodule.c
|
||||
+++ b/gio/giomodule.c
|
||||
@@ -44,6 +44,8 @@
|
||||
#include "gnetworkmonitor.h"
|
||||
#ifdef G_OS_WIN32
|
||||
#include "gregistrysettingsbackend.h"
|
||||
+#else
|
||||
+#include <dlfcn.h>
|
||||
#endif
|
||||
#include <glib/gstdio.h>
|
||||
|
||||
@@ -1158,7 +1160,15 @@ get_gio_module_dir (void)
|
||||
#endif
|
||||
g_free (install_dir);
|
||||
#else
|
||||
- module_dir = g_strdup (GIO_MODULE_DIR);
|
||||
+ Dl_info info;
|
||||
+
|
||||
+ if (dladdr (g_io_module_new, &info)) {
|
||||
+ char *libdir = g_path_get_dirname (info.dli_fname);
|
||||
+ module_dir = g_build_filename (libdir, "gio", "modules", NULL);
|
||||
+ g_free (libdir);
|
||||
+ } else {
|
||||
+ module_dir = g_strdup (GIO_MODULE_DIR);
|
||||
+ }
|
||||
#endif
|
||||
}
|
||||
|
9
meta-gnome/recipes-gnome/glib-2.0/glib-2.0/run-ptest
Normal file
9
meta-gnome/recipes-gnome/glib-2.0/glib-2.0/run-ptest
Normal file
@ -0,0 +1,9 @@
|
||||
#! /bin/sh
|
||||
|
||||
set -eux
|
||||
if id -u glib2-test; then
|
||||
userdel glib2-test
|
||||
fi
|
||||
useradd glib2-test
|
||||
su glib2-test -c 'gnome-desktop-testing-runner glib'
|
||||
userdel glib2-test
|
53
meta-gnome/recipes-gnome/glib-2.0/glib-2.0_2.62.4.bb
Normal file
53
meta-gnome/recipes-gnome/glib-2.0/glib-2.0_2.62.4.bb
Normal file
@ -0,0 +1,53 @@
|
||||
require glib.inc
|
||||
|
||||
PE = "1"
|
||||
|
||||
SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
|
||||
|
||||
SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
|
||||
file://run-ptest \
|
||||
file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \
|
||||
file://Enable-more-tests-while-cross-compiling.patch \
|
||||
file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
|
||||
file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
|
||||
file://0001-Do-not-ignore-return-value-of-write.patch \
|
||||
file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
|
||||
file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \
|
||||
file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
|
||||
file://0001-meson-Run-atomics-test-on-clang-as-well.patch \
|
||||
file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
|
||||
file://0011-GMainContext-Fix-GSource-iterator-if-iteration-can-m.patch \
|
||||
file://0012-GMainContext-Fix-memory-leaks-and-memory-corruption-.patch \
|
||||
file://0013-GMainContext-Move-mutex-unlocking-in-destructor-righ.patch \
|
||||
"
|
||||
|
||||
SRC_URI_append_class-native = " file://relocate-modules.patch"
|
||||
|
||||
SRC_URI[md5sum] = "d52234ecba128932bed90bbc3553bfe5"
|
||||
SRC_URI[sha256sum] = "4c84030d77fa9712135dfa8036ad663925655ae95b1d19399b6200e869925bbc"
|
||||
|
||||
# Find any meson cross files in FILESPATH that are relevant for the current
|
||||
# build (using siteinfo) and add them to EXTRA_OEMESON.
|
||||
inherit siteinfo
|
||||
def find_meson_cross_files(d):
|
||||
if bb.data.inherits_class('native', d):
|
||||
return ""
|
||||
|
||||
corebase = d.getVar("COREBASE")
|
||||
import collections
|
||||
sitedata = siteinfo_data(d)
|
||||
# filename -> found
|
||||
files = collections.OrderedDict()
|
||||
for path in d.getVar("FILESPATH").split(":"):
|
||||
for element in sitedata:
|
||||
filename = os.path.normpath(os.path.join(path, "meson.cross.d", element))
|
||||
files[filename.replace(corebase, "${COREBASE}")] = os.path.exists(filename)
|
||||
|
||||
items = ["--cross-file=" + k for k,v in files.items() if v]
|
||||
d.appendVar("EXTRA_OEMESON", " " + " ".join(items))
|
||||
items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()]
|
||||
d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items))
|
||||
|
||||
python () {
|
||||
find_meson_cross_files(d)
|
||||
}
|
199
meta-gnome/recipes-gnome/glib-2.0/glib.inc
Normal file
199
meta-gnome/recipes-gnome/glib-2.0/glib.inc
Normal file
@ -0,0 +1,199 @@
|
||||
SUMMARY = "A general-purpose utility library"
|
||||
DESCRIPTION = "GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on."
|
||||
HOMEPAGE = "https://developer.gnome.org/glib/"
|
||||
|
||||
# pcre is under BSD;
|
||||
# docs/reference/COPYING is with a 'public domain'-like license!
|
||||
LICENSE = "LGPLv2.1+ & BSD & PD"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
|
||||
file://glib/glib.h;beginline=4;endline=17;md5=b88abb7f3ad09607e71cb9d530155906 \
|
||||
file://gmodule/COPYING;md5=4fbd65380cdd255951079008b364516c \
|
||||
file://gmodule/gmodule.h;beginline=4;endline=17;md5=b88abb7f3ad09607e71cb9d530155906 \
|
||||
file://glib/pcre/pcre.h;beginline=8;endline=36;md5=3e2977dae4ad05217f58c446237298fc \
|
||||
file://docs/reference/COPYING;md5=f51a5100c17af6bae00735cd791e1fcc"
|
||||
BUGTRACKER = "http://bugzilla.gnome.org"
|
||||
SECTION = "libs"
|
||||
|
||||
CVE_PRODUCT = "glib"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
DEPENDS = "glib-2.0-native \
|
||||
virtual/libintl \
|
||||
virtual/libiconv \
|
||||
libffi \
|
||||
zlib"
|
||||
|
||||
PACKAGES += "${PN}-codegen ${PN}-utils"
|
||||
|
||||
LEAD_SONAME = "libglib-2.0.*"
|
||||
|
||||
inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages
|
||||
|
||||
GTKDOC_MESON_OPTION = "gtk_doc"
|
||||
|
||||
# This avoids the need to depend on target python3, which in case of mingw is not even possible.
|
||||
# meson's python configuration pokes into python3 configuration, so this provides the native config to it.
|
||||
unset _PYTHON_SYSCONFIGDATA_NAME
|
||||
|
||||
S = "${WORKDIR}/glib-${PV}"
|
||||
|
||||
PACKAGECONFIG ??= "system-pcre libmount \
|
||||
${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
|
||||
# To use the system pcre it must be configured with --enable-unicode-properties
|
||||
PACKAGECONFIG[system-pcre] = "-Dinternal_pcre=false,-Dinternal_pcre=true,libpcre"
|
||||
PACKAGECONFIG[libmount] = "-Dlibmount=true,-Dlibmount=false,util-linux"
|
||||
PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native"
|
||||
# libelf is auto-detected without a configuration option
|
||||
PACKAGECONFIG[libelf] = ",,elfutils"
|
||||
PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,dbus"
|
||||
|
||||
EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=disabled"
|
||||
|
||||
do_configure_prepend() {
|
||||
sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in
|
||||
}
|
||||
|
||||
FILES_${PN} = "${libdir}/lib*${SOLIBS} \
|
||||
${libdir}/gio \
|
||||
${libexecdir}/*gio-querymodules \
|
||||
${datadir}/glib-2.0/schemas"
|
||||
|
||||
FILES_${PN}-utils += "${bindir}/glib-genmarshal \
|
||||
${bindir}/glib-gettextize \
|
||||
${bindir}/glib-mkenums \
|
||||
${bindir}/glib-compile-resources"
|
||||
|
||||
FILES_${PN}-dev += "${libdir}/glib-2.0/include \
|
||||
${libdir}/gio/modules/lib*${SOLIBSDEV} \
|
||||
${libdir}/gio/modules/*.la \
|
||||
${datadir}/glib-2.0/gettext/po/Makefile.in.in \
|
||||
${datadir}/glib-2.0/schemas/gschema.dtd \
|
||||
${datadir}/glib-2.0/valgrind/glib.supp \
|
||||
${datadir}/gettext/its"
|
||||
FILES_${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb"
|
||||
FILES_${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \
|
||||
${bindir}/gdbus-codegen"
|
||||
FILES_${PN}-utils = "${bindir}/*"
|
||||
|
||||
SHAREDMIMEDEP = "shared-mime-info"
|
||||
SHAREDMIMEDEP_class-native = ""
|
||||
# When cross compiling for Windows we don't want to include this
|
||||
SHAREDMIMEDEP_mingw32 = ""
|
||||
|
||||
RRECOMMENDS_${PN} += "${SHAREDMIMEDEP}"
|
||||
|
||||
ARM_INSTRUCTION_SET_armv4 = "arm"
|
||||
ARM_INSTRUCTION_SET_armv5 = "arm"
|
||||
# Valgrind runtime detection works using hand-written assembly, which
|
||||
# doesn't support mips16e
|
||||
CPPFLAGS_append_class-target_mips16e = " -DNVALGRIND=1"
|
||||
|
||||
# GLib generally requires gettext to be present so for USE_NLS to yes. For
|
||||
# native builds as i18n is disabled globally we have to add a gettext-native dependency.
|
||||
USE_NLS_class-target = "yes"
|
||||
USE_NLS_class-nativesdk = "yes"
|
||||
DEPENDS_append_class-native = " gettext-native"
|
||||
|
||||
EXEEXT = ""
|
||||
EXEEXT_mingw32 = ".exe"
|
||||
|
||||
do_install_append () {
|
||||
if [ -f ${D}${bindir}/gtester-report ]; then
|
||||
sed ${D}${bindir}/gtester-report -i -e '1s|^#!.*|#!/usr/bin/env python3|'
|
||||
fi
|
||||
|
||||
# Remove some unpackaged files
|
||||
rm -rf ${D}${datadir}/glib-2.0/codegen/__pycache__
|
||||
rm -f ${D}${datadir}/glib-2.0/codegen/*.pyc
|
||||
rm -f ${D}${datadir}/glib-2.0/codegen/*.pyo
|
||||
|
||||
if [ -e ${D}${libdir}/charset.alias ]; then
|
||||
rm -f ${D}${libdir}/charset.alias
|
||||
fi
|
||||
|
||||
# Make sure gio-querymodules is unique among multilibs
|
||||
if test "x${MLPREFIX}" != "x"; then
|
||||
mv ${D}${libexecdir}/gio-querymodules${EXEEXT} ${D}${libexecdir}/${MLPREFIX}gio-querymodules${EXEEXT}
|
||||
fi
|
||||
# Autotools does this, meson does not
|
||||
mkdir -p ${D}${libdir}/gio/modules
|
||||
}
|
||||
|
||||
do_install_append_class-target () {
|
||||
# Tests are only installed on targets, not native builds. Separating this out
|
||||
# keeps glib-2.0-native from depending on DISTRO_FEATURES
|
||||
if [ -f ${D}${datadir}/installed-tests/glib/gdbus-serialization.test ]; then
|
||||
if ${@bb.utils.contains("DISTRO_FEATURES", "x11", "false", "true", d)}; then
|
||||
rm ${D}${datadir}/installed-tests/glib/gdbus-serialization.test
|
||||
fi
|
||||
fi
|
||||
if [ -f ${D}${datadir}/installed-tests/glib/static-link.test ]; then
|
||||
if test "x${MLPREFIX}" != "x"; then
|
||||
mv ${D}${datadir}/installed-tests/glib/static-link.test ${D}${datadir}/installed-tests/glib/${MLPREFIX}static-link.test
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# As we do not build python3 for windows, makes no sense to ship the script that's using it
|
||||
do_install_append_mingw32() {
|
||||
rm -f ${D}${bindir}/gtester-report
|
||||
}
|
||||
|
||||
CODEGEN_PYTHON_RDEPENDS = "python3 python3-distutils python3-xml"
|
||||
CODEGEN_PYTHON_RDEPENDS_mingw32 = ""
|
||||
|
||||
RDEPENDS_${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}"
|
||||
|
||||
RDEPENDS_${PN}-ptest += "${PN}-utils"
|
||||
|
||||
RDEPENDS_${PN}-ptest += "\
|
||||
coreutils \
|
||||
libgcc \
|
||||
dbus \
|
||||
gnome-desktop-testing \
|
||||
tzdata \
|
||||
tzdata-americas \
|
||||
tzdata-asia \
|
||||
tzdata-europe \
|
||||
tzdata-posix \
|
||||
shared-mime-info \
|
||||
${PN}-locale-ja \
|
||||
${PN}-locale-fr \
|
||||
${PN}-locale-el \
|
||||
${PN}-locale-hr \
|
||||
${PN}-locale-lt \
|
||||
${PN}-locale-pl \
|
||||
${PN}-locale-ru \
|
||||
${PN}-locale-th \
|
||||
python3-core \
|
||||
python3-modules \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN}-ptest_append_libc-glibc = "\
|
||||
glibc-gconv-utf-16 \
|
||||
glibc-charmap-utf-8 \
|
||||
glibc-gconv-cp1255 \
|
||||
glibc-charmap-cp1255 \
|
||||
glibc-gconv-utf-32 \
|
||||
glibc-gconv-utf-7 \
|
||||
glibc-gconv-euc-jp \
|
||||
glibc-gconv-iso8859-1 \
|
||||
glibc-gconv-iso8859-15 \
|
||||
glibc-charmap-invariant \
|
||||
glibc-localedata-translit-cjk-variants \
|
||||
locale-base-tr-tr \
|
||||
locale-base-lt-lt \
|
||||
locale-base-ja-jp.euc-jp \
|
||||
locale-base-fa-ir \
|
||||
locale-base-ru-ru \
|
||||
locale-base-de-de \
|
||||
locale-base-hr-hr \
|
||||
locale-base-el-gr \
|
||||
locale-base-fr-fr \
|
||||
locale-base-es-es \
|
||||
locale-base-en-gb \
|
||||
locale-base-en-us \
|
||||
locale-base-pl-pl \
|
||||
locale-base-pl-pl.iso-8859-2 \
|
||||
"
|
@ -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 a347168..2cd8121 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('cheese', type: 'boolean', value: true, description: 'build with cheese webcam support')
|
||||
option('documentation', type: 'boolean', value: false, description: 'build documentation')
|
||||
option('gnome_session_libexecdir', type: 'string', value: '', description: 'Directory for gnome-session\'s libexecdir')
|
||||
diff --git a/panels/background/meson.build b/panels/background/meson.build
|
||||
index bb34b69..f22722e 100644
|
||||
--- a/panels/background/meson.build
|
||||
+++ b/panels/background/meson.build
|
||||
@@ -36,7 +36,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.20.1
|
||||
|
@ -0,0 +1,460 @@
|
||||
From 94a5f59e39861ae98e305cca96dc296f6e44e28a Mon Sep 17 00:00:00 2001
|
||||
From: David McKinney <mckinney@subgraph.com>
|
||||
Date: Mon, 6 Jul 2020 12:30:21 +0000
|
||||
Subject: [PATCH] Add options for Citadel and disabling GOA/CUPS
|
||||
|
||||
---
|
||||
meson.build | 14 +++++++++++++
|
||||
meson_options.txt | 5 +++++
|
||||
panels/background/bg-pictures-source.c | 21 ++++++++++++++++---
|
||||
panels/background/meson.build | 15 ++++++++++----
|
||||
panels/meson.build | 23 ++++++++++++++-------
|
||||
shell/cc-panel-list.c | 15 +++++++++++++-
|
||||
shell/cc-panel-loader.c | 28 ++++++++++++++++++++++++++
|
||||
tests/meson.build | 2 +-
|
||||
8 files changed, 107 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 79a8053..db2f328 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -115,6 +115,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'
|
||||
|
||||
@@ -125,7 +134,9 @@ gio_dep = dependency('gio-2.0')
|
||||
glib_dep = dependency('glib-2.0', version: '>= 2.56.0')
|
||||
gnome_desktop_dep = dependency('gnome-desktop-3.0', version: '>= 3.27.90')
|
||||
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: '>= 3.31.0')
|
||||
libxml_dep = dependency('libxml-2.0')
|
||||
polkit_gobject_dep = dependency('polkit-gobject-1', version: '>= 0.114')
|
||||
@@ -150,6 +161,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')
|
||||
|
||||
@@ -172,6 +185,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 e76308e..4bb77cd 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -7,3 +7,8 @@ option('tests', type: 'boolean', value: true, description: 'build tests')
|
||||
option('tracing', type: 'boolean', value: false, description: 'add extra debugging information')
|
||||
option('wayland', type: 'boolean', value: true, description: 'build with Wayland support')
|
||||
option('profile', type: 'combo', choices: ['default','development'], value: 'default')
|
||||
+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/background/bg-pictures-source.c b/panels/background/bg-pictures-source.c
|
||||
index faafd93..841fa66 100644
|
||||
--- a/panels/background/bg-pictures-source.c
|
||||
+++ b/panels/background/bg-pictures-source.c
|
||||
@@ -29,7 +29,9 @@
|
||||
#include <string.h>
|
||||
#include <cairo-gobject.h>
|
||||
#include <gio/gio.h>
|
||||
+#ifdef WITH_GOA
|
||||
#include <grilo.h>
|
||||
+#endif
|
||||
#include <libgnome-desktop/gnome-desktop-thumbnail.h>
|
||||
#include <gdesktop-enums.h>
|
||||
|
||||
@@ -43,8 +45,9 @@ struct _BgPicturesSource
|
||||
|
||||
GCancellable *cancellable;
|
||||
|
||||
+#ifdef WITH_GOA
|
||||
CcBackgroundGriloMiner *grl_miner;
|
||||
-
|
||||
+#endif
|
||||
GFileMonitor *picture_dir_monitor;
|
||||
GFileMonitor *cache_dir_monitor;
|
||||
|
||||
@@ -83,8 +86,9 @@ bg_pictures_source_dispose (GObject *object)
|
||||
g_clear_object (&source->cancellable);
|
||||
}
|
||||
|
||||
+#ifdef WITH_GOA
|
||||
g_clear_object (&source->grl_miner);
|
||||
-
|
||||
+#endif
|
||||
G_OBJECT_CLASS (bg_pictures_source_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
@@ -392,7 +396,9 @@ add_single_file (BgPicturesSource *bg_source,
|
||||
const gchar *pictures_path;
|
||||
g_autoptr(GFile) pictures_dir = NULL;
|
||||
g_autoptr(GFile) cache_dir = NULL;
|
||||
+#ifdef WITH_GOA
|
||||
GrlMedia *media;
|
||||
+#endif
|
||||
|
||||
/* find png and jpeg files */
|
||||
if (!content_type)
|
||||
@@ -432,13 +438,16 @@ add_single_file (BgPicturesSource *bg_source,
|
||||
"source-url", source_uri,
|
||||
NULL);
|
||||
|
||||
+#ifdef WITH_GOA
|
||||
media = g_object_get_data (G_OBJECT (file), "grl-media");
|
||||
if (media == NULL)
|
||||
{
|
||||
+#endif
|
||||
g_object_set_data_full (G_OBJECT (file), "item", g_object_ref (item), g_object_unref);
|
||||
g_file_read_async (file, G_PRIORITY_DEFAULT,
|
||||
bg_source->cancellable,
|
||||
picture_opened_for_read, bg_source);
|
||||
+#ifdef WITH_GOA
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -476,7 +485,7 @@ add_single_file (BgPicturesSource *bg_source,
|
||||
picture_copied_for_read,
|
||||
bg_source);
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
retval = TRUE;
|
||||
|
||||
out:
|
||||
@@ -496,6 +505,7 @@ add_single_file_from_info (BgPicturesSource *bg_source,
|
||||
return add_single_file (bg_source, file, content_type, mtime);
|
||||
}
|
||||
|
||||
+#ifdef WITH_GOA
|
||||
static gboolean
|
||||
add_single_file_from_media (BgPicturesSource *bg_source,
|
||||
GFile *file,
|
||||
@@ -520,6 +530,7 @@ add_single_file_from_media (BgPicturesSource *bg_source,
|
||||
|
||||
return add_single_file (bg_source, file, content_type, (guint64) mtime_unix);
|
||||
}
|
||||
+#endif
|
||||
|
||||
gboolean
|
||||
bg_pictures_source_add (BgPicturesSource *bg_source,
|
||||
@@ -806,6 +817,7 @@ monitor_path (BgPicturesSource *self,
|
||||
return monitor;
|
||||
}
|
||||
|
||||
+#ifdef WITH_GOA
|
||||
static void
|
||||
media_found_cb (BgPicturesSource *self, GrlMedia *media)
|
||||
{
|
||||
@@ -817,6 +829,7 @@ media_found_cb (BgPicturesSource *self, GrlMedia *media)
|
||||
g_object_set_data_full (G_OBJECT (file), "grl-media", g_object_ref (media), g_object_unref);
|
||||
add_single_file_from_media (self, file, media);
|
||||
}
|
||||
+#endif
|
||||
|
||||
static void
|
||||
bg_pictures_source_init (BgPicturesSource *self)
|
||||
@@ -839,9 +852,11 @@ bg_pictures_source_init (BgPicturesSource *self)
|
||||
cache_path = bg_pictures_source_get_cache_path ();
|
||||
self->cache_dir_monitor = monitor_path (self, cache_path);
|
||||
|
||||
+#ifdef WITH_GOA
|
||||
self->grl_miner = cc_background_grilo_miner_new ();
|
||||
g_signal_connect_swapped (self->grl_miner, "media-found", G_CALLBACK (media_found_cb), self);
|
||||
cc_background_grilo_miner_start (self->grl_miner);
|
||||
+#endif
|
||||
}
|
||||
|
||||
BgPicturesSource *
|
||||
diff --git a/panels/background/meson.build b/panels/background/meson.build
|
||||
index e9fa398..534b999 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'
|
||||
)
|
||||
|
||||
@@ -81,22 +83,27 @@ sources = common_sources + files(
|
||||
'bg-source.c',
|
||||
'bg-wallpapers-source.c',
|
||||
'cc-background-chooser.c',
|
||||
- 'cc-background-grilo-miner.c',
|
||||
'cc-background-item.c',
|
||||
'cc-background-panel.c',
|
||||
'cc-background-preview.c',
|
||||
'cc-background-xml.c',
|
||||
)
|
||||
|
||||
+if enable_goa
|
||||
+sources += files('cc-background-grilo-miner.c')
|
||||
+endif
|
||||
+
|
||||
deps = common_deps + [
|
||||
gdk_pixbuf_dep,
|
||||
gnome_desktop_dep,
|
||||
- goa_dep,
|
||||
libxml_dep,
|
||||
dependency('cairo-gobject'),
|
||||
- dependency('grilo-0.3', version: '>= 0.3.0')
|
||||
]
|
||||
|
||||
+if enable_goa
|
||||
+deps += [ goa_dep, dependency('grilo-0.3', version: '>= 0.3.0') ]
|
||||
+endif
|
||||
+
|
||||
cflags += [
|
||||
'-DDATADIR="@0@"'.format(control_center_datadir),
|
||||
'-DGNOME_DESKTOP_USE_UNSTABLE_API'
|
||||
diff --git a/panels/meson.build b/panels/meson.build
|
||||
index 2f4fdc5..82f54bd 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',
|
||||
@@ -16,17 +14,12 @@ panels = [
|
||||
'microphone',
|
||||
'mouse',
|
||||
'notifications',
|
||||
- 'online-accounts',
|
||||
'power',
|
||||
- 'printers',
|
||||
'region',
|
||||
- 'removable-media',
|
||||
'search',
|
||||
- 'sharing',
|
||||
'sound',
|
||||
'universal-access',
|
||||
'usage',
|
||||
- 'user-accounts'
|
||||
]
|
||||
|
||||
if host_is_linux
|
||||
@@ -41,6 +34,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 2578590..28251a9 100644
|
||||
--- a/shell/cc-panel-list.c
|
||||
+++ b/shell/cc-panel-list.c
|
||||
@@ -392,11 +392,16 @@ static const gchar * const panel_order[] = {
|
||||
"background",
|
||||
"notifications",
|
||||
"search",
|
||||
+#ifndef CITADEL
|
||||
"applications",
|
||||
+#endif
|
||||
"privacy",
|
||||
+#ifndef WITH_GOA
|
||||
"online-accounts",
|
||||
+#endif
|
||||
+#ifndef CITADEL
|
||||
"sharing",
|
||||
-
|
||||
+#endif
|
||||
/* Privacy page */
|
||||
"location",
|
||||
"camera",
|
||||
@@ -412,16 +417,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 f203843..cad01f5 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);
|
||||
@@ -48,19 +52,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 */
|
||||
@@ -90,7 +104,9 @@ extern void cc_wacom_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),
|
||||
@@ -98,7 +114,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),
|
||||
@@ -112,20 +130,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')
|
@ -0,0 +1,502 @@
|
||||
From a5c21a082006e940cf8802123439292beb967f83 Mon Sep 17 00:00:00 2001
|
||||
From: David McKinney <mckinney@subgraph.com>
|
||||
Date: Thu, 2 Jul 2020 15:18:05 +0000
|
||||
Subject: [PATCH] Remove unneeded panels, make GOA/CUPS optional
|
||||
|
||||
---
|
||||
meson.build | 52 +++++++++++++++-----------
|
||||
meson_options.txt | 5 +++
|
||||
panels/background/bg-pictures-source.c | 30 ++++++++++-----
|
||||
panels/background/meson.build | 14 +++++--
|
||||
panels/meson.build | 23 ++++++++----
|
||||
shell/cc-panel-list.c | 15 +++++++-
|
||||
shell/cc-panel-loader.c | 28 ++++++++++++++
|
||||
tests/meson.build | 1 -
|
||||
8 files changed, 124 insertions(+), 44 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 6534dba..2db99bb 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -115,6 +115,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'
|
||||
|
||||
@@ -125,7 +134,9 @@ gio_dep = dependency('gio-2.0')
|
||||
glib_dep = dependency('glib-2.0', version: '>= 2.56.0')
|
||||
gnome_desktop_dep = dependency('gnome-desktop-3.0', version: '>= 3.27.90')
|
||||
gnome_settings_dep = dependency('gnome-settings-daemon', version: '>= 3.27.90')
|
||||
-goa_dep = dependency('goa-1.0', version: goa_req_version)
|
||||
+if enable_goa
|
||||
+ goa_dep = dependency('goa-1.0', version: goa_req_version)
|
||||
+endif
|
||||
gsettings_desktop_dep = dependency('gsettings-desktop-schemas', version: '>= 3.31.0')
|
||||
libxml_dep = dependency('libxml-2.0')
|
||||
polkit_gobject_dep = dependency('polkit-gobject-1', version: '>= 0.114')
|
||||
@@ -149,29 +160,28 @@ common_deps = [
|
||||
dependency('gtk+-3.0', version: '>= 3.22.20')
|
||||
]
|
||||
|
||||
-# Check for CUPS 1.4 or newer
|
||||
-cups_dep = dependency('cups', version : '>= 1.4', required: false)
|
||||
-assert(cups_dep.found(), 'CUPS 1.4 or newer not found')
|
||||
-
|
||||
+if enable_cups
|
||||
+ # Check for CUPS 1.4 or newer
|
||||
+ cups_dep = dependency('cups', version : '>= 1.4', required: false)
|
||||
+ assert(cups_dep.found(), 'CUPS 1.4 or newer not found')
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=696766
|
||||
-cups_cflags = []
|
||||
-if cups_dep.version().version_compare('>= 1.6')
|
||||
- cups_cflags += '-D_PPD_DEPRECATED='
|
||||
-endif
|
||||
-
|
||||
-# cups headers
|
||||
-check_headers = [
|
||||
- ['HAVE_CUPS_CUPS_H', 'cups/cups.h'],
|
||||
- ['HAVE_CUPS_PPD_H', 'cups/ppd.h']
|
||||
-]
|
||||
-
|
||||
-foreach header: check_headers
|
||||
- assert(cc.has_header(header[1], args: cups_cflags), 'CUPS headers not found: ' + header[1])
|
||||
-endforeach
|
||||
-
|
||||
-config_h.set10('HAVE_CUPS_HTTPCONNECT2',
|
||||
+ cups_cflags = []
|
||||
+ if cups_dep.version().version_compare('>= 1.6')
|
||||
+ cups_cflags += '-D_PPD_DEPRECATED='
|
||||
+ endif
|
||||
+
|
||||
+ # cups headers
|
||||
+ check_headers = [
|
||||
+ ['HAVE_CUPS_CUPS_H', 'cups/cups.h'],
|
||||
+ ['HAVE_CUPS_PPD_H', 'cups/ppd.h']
|
||||
+ ]
|
||||
+ foreach header: check_headers
|
||||
+ assert(cc.has_header(header[1], args: cups_cflags), 'CUPS headers not found: ' + header[1])
|
||||
+ 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 0df930c..ccb45c5 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -8,3 +8,8 @@ option('tests', type: 'boolean', value: true, description: 'build tests')
|
||||
option('tracing', type: 'boolean', value: false, description: 'add extra debugging information')
|
||||
option('wayland', type: 'boolean', value: true, description: 'build with Wayland support')
|
||||
option('profile', type: 'combo', choices: ['default','development'], value: 'default')
|
||||
+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/background/bg-pictures-source.c b/panels/background/bg-pictures-source.c
|
||||
index faafd93..3df8277 100644
|
||||
--- a/panels/background/bg-pictures-source.c
|
||||
+++ b/panels/background/bg-pictures-source.c
|
||||
@@ -23,13 +23,17 @@
|
||||
|
||||
#include "bg-pictures-source.h"
|
||||
|
||||
+#ifdef WITH_GOA
|
||||
#include "cc-background-grilo-miner.h"
|
||||
+#endif
|
||||
#include "cc-background-item.h"
|
||||
|
||||
#include <string.h>
|
||||
#include <cairo-gobject.h>
|
||||
#include <gio/gio.h>
|
||||
+#ifdef WITH_GOA
|
||||
#include <grilo.h>
|
||||
+#endif
|
||||
#include <libgnome-desktop/gnome-desktop-thumbnail.h>
|
||||
#include <gdesktop-enums.h>
|
||||
|
||||
@@ -43,8 +47,9 @@ struct _BgPicturesSource
|
||||
|
||||
GCancellable *cancellable;
|
||||
|
||||
+#ifdef WITH_GOA
|
||||
CcBackgroundGriloMiner *grl_miner;
|
||||
-
|
||||
+#endif
|
||||
GFileMonitor *picture_dir_monitor;
|
||||
GFileMonitor *cache_dir_monitor;
|
||||
|
||||
@@ -82,9 +87,9 @@ bg_pictures_source_dispose (GObject *object)
|
||||
g_cancellable_cancel (source->cancellable);
|
||||
g_clear_object (&source->cancellable);
|
||||
}
|
||||
-
|
||||
+#ifdef WITH_GOA
|
||||
g_clear_object (&source->grl_miner);
|
||||
-
|
||||
+#endif
|
||||
G_OBJECT_CLASS (bg_pictures_source_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
@@ -392,7 +397,9 @@ add_single_file (BgPicturesSource *bg_source,
|
||||
const gchar *pictures_path;
|
||||
g_autoptr(GFile) pictures_dir = NULL;
|
||||
g_autoptr(GFile) cache_dir = NULL;
|
||||
+#ifdef WITH_GOA
|
||||
GrlMedia *media;
|
||||
+#endif
|
||||
|
||||
/* find png and jpeg files */
|
||||
if (!content_type)
|
||||
@@ -431,14 +438,16 @@ add_single_file (BgPicturesSource *bg_source,
|
||||
"needs-download", needs_download,
|
||||
"source-url", source_uri,
|
||||
NULL);
|
||||
-
|
||||
+#ifdef WITH_GOA
|
||||
media = g_object_get_data (G_OBJECT (file), "grl-media");
|
||||
if (media == NULL)
|
||||
{
|
||||
+#endif
|
||||
g_object_set_data_full (G_OBJECT (file), "item", g_object_ref (item), g_object_unref);
|
||||
g_file_read_async (file, G_PRIORITY_DEFAULT,
|
||||
bg_source->cancellable,
|
||||
picture_opened_for_read, bg_source);
|
||||
+#ifdef WITH_GOA
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -477,8 +486,8 @@ add_single_file (BgPicturesSource *bg_source,
|
||||
bg_source);
|
||||
}
|
||||
|
||||
+#endif
|
||||
retval = TRUE;
|
||||
-
|
||||
out:
|
||||
return retval;
|
||||
}
|
||||
@@ -495,7 +504,7 @@ add_single_file_from_info (BgPicturesSource *bg_source,
|
||||
mtime = g_file_info_get_attribute_uint64 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED);
|
||||
return add_single_file (bg_source, file, content_type, mtime);
|
||||
}
|
||||
-
|
||||
+#ifdef WITH_GOA
|
||||
static gboolean
|
||||
add_single_file_from_media (BgPicturesSource *bg_source,
|
||||
GFile *file,
|
||||
@@ -520,7 +529,7 @@ add_single_file_from_media (BgPicturesSource *bg_source,
|
||||
|
||||
return add_single_file (bg_source, file, content_type, (guint64) mtime_unix);
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
gboolean
|
||||
bg_pictures_source_add (BgPicturesSource *bg_source,
|
||||
const char *uri,
|
||||
@@ -805,7 +814,7 @@ monitor_path (BgPicturesSource *self,
|
||||
|
||||
return monitor;
|
||||
}
|
||||
-
|
||||
+#ifdef WITH_GOA
|
||||
static void
|
||||
media_found_cb (BgPicturesSource *self, GrlMedia *media)
|
||||
{
|
||||
@@ -817,7 +826,7 @@ media_found_cb (BgPicturesSource *self, GrlMedia *media)
|
||||
g_object_set_data_full (G_OBJECT (file), "grl-media", g_object_ref (media), g_object_unref);
|
||||
add_single_file_from_media (self, file, media);
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
static void
|
||||
bg_pictures_source_init (BgPicturesSource *self)
|
||||
{
|
||||
@@ -838,10 +847,11 @@ bg_pictures_source_init (BgPicturesSource *self)
|
||||
|
||||
cache_path = bg_pictures_source_get_cache_path ();
|
||||
self->cache_dir_monitor = monitor_path (self, cache_path);
|
||||
-
|
||||
+#ifdef WITH_GOA
|
||||
self->grl_miner = cc_background_grilo_miner_new ();
|
||||
g_signal_connect_swapped (self->grl_miner, "media-found", G_CALLBACK (media_found_cb), self);
|
||||
cc_background_grilo_miner_start (self->grl_miner);
|
||||
+#endif
|
||||
}
|
||||
|
||||
BgPicturesSource *
|
||||
diff --git a/panels/background/meson.build b/panels/background/meson.build
|
||||
index 5a2efc0..6d4a394 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(
|
||||
- get_option('oe_sysroot') + 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'
|
||||
)
|
||||
|
||||
@@ -81,22 +83,26 @@ sources = common_sources + files(
|
||||
'bg-source.c',
|
||||
'bg-wallpapers-source.c',
|
||||
'cc-background-chooser.c',
|
||||
- 'cc-background-grilo-miner.c',
|
||||
'cc-background-item.c',
|
||||
'cc-background-panel.c',
|
||||
'cc-background-preview.c',
|
||||
'cc-background-xml.c',
|
||||
)
|
||||
|
||||
+if enable_goa
|
||||
+ sources += files('cc-background-grilo-miner.c')
|
||||
+endif
|
||||
+
|
||||
deps = common_deps + [
|
||||
gdk_pixbuf_dep,
|
||||
gnome_desktop_dep,
|
||||
- goa_dep,
|
||||
libxml_dep,
|
||||
dependency('cairo-gobject'),
|
||||
- dependency('grilo-0.3', version: '>= 0.3.0')
|
||||
]
|
||||
|
||||
+if enable_goa
|
||||
+ sources += files('cc-background-grilo-miner.c')
|
||||
+endif
|
||||
cflags += [
|
||||
'-DDATADIR="@0@"'.format(control_center_datadir),
|
||||
'-DGNOME_DESKTOP_USE_UNSTABLE_API'
|
||||
diff --git a/panels/meson.build b/panels/meson.build
|
||||
index 2f4fdc5..48bffdf 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',
|
||||
@@ -16,19 +14,30 @@ panels = [
|
||||
'microphone',
|
||||
'mouse',
|
||||
'notifications',
|
||||
- 'online-accounts',
|
||||
'power',
|
||||
- 'printers',
|
||||
'region',
|
||||
- 'removable-media',
|
||||
'search',
|
||||
- 'sharing',
|
||||
'sound',
|
||||
'universal-access',
|
||||
'usage',
|
||||
- 'user-accounts'
|
||||
]
|
||||
|
||||
+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
|
||||
+
|
||||
if host_is_linux
|
||||
panels += ['network']
|
||||
endif
|
||||
diff --git a/shell/cc-panel-list.c b/shell/cc-panel-list.c
|
||||
index 2578590..28251a9 100644
|
||||
--- a/shell/cc-panel-list.c
|
||||
+++ b/shell/cc-panel-list.c
|
||||
@@ -392,11 +392,16 @@ static const gchar * const panel_order[] = {
|
||||
"background",
|
||||
"notifications",
|
||||
"search",
|
||||
+#ifndef CITADEL
|
||||
"applications",
|
||||
+#endif
|
||||
"privacy",
|
||||
+#ifndef WITH_GOA
|
||||
"online-accounts",
|
||||
+#endif
|
||||
+#ifndef CITADEL
|
||||
"sharing",
|
||||
-
|
||||
+#endif
|
||||
/* Privacy page */
|
||||
"location",
|
||||
"camera",
|
||||
@@ -412,16 +417,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 f203843..652afe3 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);
|
||||
@@ -48,19 +52,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 */
|
||||
@@ -90,7 +104,9 @@ extern void cc_wacom_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),
|
||||
@@ -98,7 +114,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),
|
||||
@@ -112,20 +130,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..01f7c92 100644
|
||||
--- a/tests/meson.build
|
||||
+++ b/tests/meson.build
|
||||
@@ -6,5 +6,4 @@ endif
|
||||
|
||||
subdir('interactive-panels')
|
||||
|
||||
-subdir('printers')
|
||||
subdir('info')
|
@ -1,51 +0,0 @@
|
||||
SUMMARY = "GNOME desktop configuration UI"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
|
||||
|
||||
SRC_URI[archive.md5sum] = "31728ca3e3dc8d2e3a6cbdfd987b7901"
|
||||
SRC_URI[archive.sha256sum] = "86795715bf439aafb5b74a42065ac1d86cac53075b1cc8044bc27a964e15c012"
|
||||
|
||||
GNOMEBASEBUILDCLASS = "meson"
|
||||
inherit gnomebase gettext
|
||||
|
||||
|
||||
DEPENDS = "pulseaudio colord-gtk networkmanager ibus colord gnome-desktop gnome-settings-daemon polkit libcanberra gdk-pixbuf fontconfig gtk+3 glib-2.0 intltool-native upower libpwquality cairo libxml2 libgudev libsoup-2.4 libxi libwacom libx11 libgtop gnome-common-native autoconf-archive-native wayland accountsservice modemmanager network-manager-applet gnome-bluetooth clutter-1.0 clutter-gtk gsettings-desktop-schemas glib-2.0-native libxml2-native udisks2 gsound"
|
||||
|
||||
#
|
||||
# Extra options have been added to meson_options.txt to make some components of the control
|
||||
# center optional. One reason is that these components drag in heavy dependencies, and some
|
||||
# of these dependencies have not been packaged and tested yet.
|
||||
#
|
||||
# Gnome Online Accounts support
|
||||
#
|
||||
# EXTRA_OEMESON += "-Donline_accounts=true"
|
||||
# DEPENDS += "grilo gnome-online-accounts webkitgtk rest"
|
||||
#
|
||||
# Printer Panel
|
||||
#
|
||||
# EXTRA_OEMESON += "-Dcups=true"
|
||||
# DEPENDS += "cups samba" (only smbclient needed from samba)
|
||||
#
|
||||
# User Accounts Panel
|
||||
#
|
||||
# EXTRA_OEMESON += "-Duser_accounts=true"
|
||||
# DEPENDS += "accountsservice krb5"
|
||||
# Citadel
|
||||
#
|
||||
# This option disables some things in gnome-control-center such as certain
|
||||
# panels that are not used in Citadel, defaults to true in meson_options.
|
||||
# To re-enable these things, set the option to false:
|
||||
#
|
||||
# EXTRA_OEMESON += "-Dcitadel=false"
|
||||
SRC_URI += " file://0001-Make-GOA-CUPS-and-User-Accounts-optional.patch \
|
||||
file://0001-Remove-unneeded-panels.patch"
|
||||
|
||||
FILES_${PN} += "\
|
||||
${datadir}/bash-completion \
|
||||
${datadir}/gettext \
|
||||
${datadir}/dbus-1 \
|
||||
${datadir}/gnome-shell/search-providers \
|
||||
${datadir}/metainfo \
|
||||
"
|
||||
|
||||
EXTRA_OEMESON = "--buildtype=release -Dcheese=false -Ddocumentation=false -Dstaging_dir=${STAGING_DIR_TARGET}"
|
@ -0,0 +1,77 @@
|
||||
SUMMARY = "GNOME Settings"
|
||||
DESCRIPTION = "GNOME Settings is GNOME's main interface for configuration of various aspects of your desktop"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
|
||||
|
||||
GNOMEBASEBUILDCLASS = "meson"
|
||||
|
||||
inherit gnomebase gsettings gettext vala upstream-version-is-even bash-completion distro_features_check
|
||||
|
||||
DEPENDS = " \
|
||||
gdk-pixbuf-native \
|
||||
colord-gtk \
|
||||
udisks2 \
|
||||
upower \
|
||||
polkit \
|
||||
pulseaudio \
|
||||
accountsservice \
|
||||
gsettings-desktop-schemas \
|
||||
gnome-settings-daemon \
|
||||
gnome-desktop \
|
||||
networkmanager \
|
||||
network-manager-applet \
|
||||
gnome-bluetooth \
|
||||
libgtop \
|
||||
libgudev \
|
||||
gsound \
|
||||
libpwquality \
|
||||
ibus \
|
||||
"
|
||||
|
||||
REQUIRED_DISTRO_FEATURES += " pulseaudio systemd x11"
|
||||
SRC_URI += " file://0001-Add-options-for-Citadel-and-disabling-GOA-CUPS.patch"
|
||||
SRC_URI[archive.md5sum] = "fd99a8df0cc656e971415f2a1b310019"
|
||||
SRC_URI[archive.sha256sum] = "bc174d970dbeca3ee19c26019de31e9edf78dc9c4abde16e763566ee38c3691c"
|
||||
|
||||
#SRC_URI += " file://0001-Remove-unneeded-panels-make-GOA-CUPS-optional.patch"
|
||||
|
||||
#
|
||||
# Extra options have been added to meson_options.txt to make some components of the control
|
||||
# center optional. One reason is that these components drag in heavy dependencies, and some
|
||||
# of these dependencies have not been packaged and tested yet.
|
||||
#
|
||||
# Gnome Online Accounts support
|
||||
#
|
||||
# EXTRA_OEMESON += "-Donline_accounts=true"
|
||||
# DEPENDS += "grilo gnome-online-accounts webkitgtk rest"
|
||||
#
|
||||
# Printer Panel
|
||||
#
|
||||
# EXTRA_OEMESON += "-Dcups=true"
|
||||
# DEPENDS += "cups samba" (only smbclient needed from samba)
|
||||
#
|
||||
# User Accounts Panel
|
||||
#
|
||||
# EXTRA_OEMESON += "-Duser_accounts=true"
|
||||
# DEPENDS += "accountsservice krb5"
|
||||
# Citadel
|
||||
#
|
||||
# This option disables some things in gnome-control-center such as certain
|
||||
# panels that are not used in Citadel, defaults to true in meson_options.
|
||||
# To re-enable these things, set the option to false:
|
||||
#
|
||||
# EXTRA_OEMESON += "-Dcitadel=false"
|
||||
#SRC_URI += " file://0001-Make-GOA-CUPS-and-User-Accounts-optional.patch \
|
||||
# file://0001-Remove-unneeded-panels.patch"
|
||||
|
||||
FILES_${PN} += " \
|
||||
${datadir}/dbus-1 \
|
||||
${datadir}/gnome-shell \
|
||||
${datadir}/metainfo \
|
||||
"
|
||||
|
||||
FILES_${PN}-dev += "${datadir}/gettext"
|
||||
|
||||
RDEPENDS_${PN} += "gsettings-desktop-schemas"
|
||||
EXTRA_OEMESON = "--buildtype=release -Dcheese=false -Ddocumentation=false -Dstaging_dir=${STAGING_DIR_TARGET}"
|
||||
|
@ -5,13 +5,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
|
||||
|
||||
GNOMEBASEBUILDCLASS = "meson"
|
||||
inherit gnome pkgconfig upstream-version-is-even gobject-introspection
|
||||
inherit gnomebase gtk-icon-cache gconf mime pkgconfig upstream-version-is-even gobject-introspection
|
||||
|
||||
WARN_QA_remove = "unknown-configure-option"
|
||||
|
||||
SRC_URI[archive.md5sum] = "e423ed6d648c6c4f9798fa9cd9ea8d99"
|
||||
SRC_URI[archive.sha256sum] = "a6393dc5fc29fc0652ac84c73b3da205d0b0168128c4cf6d27797a08f3d07b54"
|
||||
|
||||
SRC_URI[archive.md5sum] = "9fa17a6e2eacde3f9dd0df6be10091b2"
|
||||
SRC_URI[archive.sha256sum] = "38f994dcb1e1ae093d1c929c7acc4f88e39111e43b5fdc13125b0f6e2311c789"
|
||||
|
||||
DEPENDS += "itstool-native gsettings-desktop-schemas gconf virtual/libx11 gtk+3 glib-2.0 startup-notification xkeyboard-config iso-codes udev libseccomp"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user