diff --git a/dbus-glib/.SRCINFO b/dbus-glib/.SRCINFO new file mode 100644 index 0000000000..41cfb4193b --- /dev/null +++ b/dbus-glib/.SRCINFO @@ -0,0 +1,25 @@ +pkgbase = dbus-glib + pkgdesc = GLib bindings for D-Bus (deprecated) + pkgver = 0.112 + pkgrel = 4 + url = https://www.freedesktop.org/wiki/Software/dbus/ + arch = x86_64 + arch = powerpc64le + arch = powerpc64 + arch = powerpc + arch = riscv64 + license = AFL-2.1 OR GPL-2.0-or-later + makedepends = git + makedepends = glib2-devel + makedepends = gtk-doc + depends = dbus + depends = expat + depends = glib2 + depends = glibc + source = git+https://gitlab.freedesktop.org/dbus/dbus-glib.git?signed#tag=dbus-glib-0.112 + source = dbus-glib-bash-completion.patch + validpgpkeys = DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90 + sha256sums = 00d56564489516f1cb4a9d0cbaff88e38321fae6c08ecc8858cefe012e312d41 + sha256sums = edbdd4fb5fce358b427da1a1c68347ce09ca444da6ac67ff1fcd6cc67fc92f99 + +pkgname = dbus-glib diff --git a/dbus-glib/.nvchecker.toml b/dbus-glib/.nvchecker.toml new file mode 100644 index 0000000000..053d2e8249 --- /dev/null +++ b/dbus-glib/.nvchecker.toml @@ -0,0 +1,4 @@ +[dbus-glib] +source = "git" +git = "https://gitlab.freedesktop.org/dbus/dbus-glib.git" +prefix = "dbus-glib-" diff --git a/dbus-glib/PKGBUILD b/dbus-glib/PKGBUILD index 2cb4dafc33..8201283bcf 100644 --- a/dbus-glib/PKGBUILD +++ b/dbus-glib/PKGBUILD @@ -4,42 +4,62 @@ pkgname=dbus-glib pkgver=0.112 -pkgrel=3 +pkgrel=4 pkgdesc='GLib bindings for D-Bus (deprecated)' arch=(x86_64 powerpc64le powerpc64 powerpc riscv64) url='https://www.freedesktop.org/wiki/Software/dbus/' -license=('GPL') -depends=('dbus' 'expat' 'glib2' 'glibc') -makedepends=('python') -source=("https://dbus.freedesktop.org/releases/$pkgname/$pkgname-$pkgver.tar.gz"{,.asc} - 'dbus-glib-bash-completion.patch::https://gitlab.freedesktop.org/dbus/dbus-glib/-/merge_requests/5.patch') -sha256sums=('7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a' - 'SKIP' - 'edbdd4fb5fce358b427da1a1c68347ce09ca444da6ac67ff1fcd6cc67fc92f99') -validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90') +license=('AFL-2.1 OR GPL-2.0-or-later') +depends=( + dbus + expat + glib2 + glibc +) +makedepends=( + git + glib2-devel + gtk-doc +) +source=( + "git+https://gitlab.freedesktop.org/dbus/dbus-glib.git?signed#tag=$pkgname-$pkgver" + dbus-glib-bash-completion.patch +) +sha256sums=( + 00d56564489516f1cb4a9d0cbaff88e38321fae6c08ecc8858cefe012e312d41 + edbdd4fb5fce358b427da1a1c68347ce09ca444da6ac67ff1fcd6cc67fc92f99 +) +validpgpkeys=(DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90) # Simon McVittie prepare() { - patch -d $pkgname-$pkgver -Np1 -i ../dbus-glib-bash-completion.patch # Fix bash completion + cd $pkgname + + # Fix bash completion + # https://gitlab.freedesktop.org/dbus/dbus-glib/-/merge_requests/5 + git apply -3 ../dbus-glib-bash-completion.patch + + autoreconf -fi } build() { - cd $pkgname-$pkgver + cd $pkgname ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --libexecdir=/usr/lib \ + --enable-gtk-doc \ --enable-tests make } check() { - cd $pkgname-$pkgver + cd $pkgname make check } package() { - cd $pkgname-$pkgver + cd $pkgname make DESTDIR="$pkgdir" install completiondir='$(datadir)/bash-completion/completions' mv "$pkgdir/usr/share/bash-completion/completions/"{dbus-bash-completion.sh,dbus-send} + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname/" COPYING } diff --git a/dbus-glib/dbus-glib-bash-completion.patch b/dbus-glib/dbus-glib-bash-completion.patch new file mode 100644 index 0000000000..def6f81f14 --- /dev/null +++ b/dbus-glib/dbus-glib-bash-completion.patch @@ -0,0 +1,162 @@ +From 484e483d1fb98b56ebd2cb7d73a7f0851f7b4ab5 Mon Sep 17 00:00:00 2001 +From: Koki Fukuda +Date: Wed, 5 May 2021 21:59:34 +0900 +Subject: [PATCH] Fix bash completion and its helper + +This fixes the following errors: +* Completion script causing an usage error. +* Better error handling in helper program in case the bus + is inaccessible. +--- + dbus/dbus-bash-completion-helper.c | 43 ++++++++++++++++++++++++++++++ + dbus/dbus-bash-completion.sh.in | 3 +-- + 2 files changed, 44 insertions(+), 2 deletions(-) + +diff --git a/dbus/dbus-bash-completion-helper.c b/dbus/dbus-bash-completion-helper.c +index 6240ed6..2dcae22 100644 +--- a/dbus/dbus-bash-completion-helper.c ++++ b/dbus/dbus-bash-completion-helper.c +@@ -56,6 +56,11 @@ print_services (DBusConnection *connection) + -1, + &error); + dbus_message_unref (message); ++ ++ if (reply == NULL) { ++ goto fail; ++ } ++ + dbus_message_iter_init (reply, &iter); + dbus_message_iter_recurse (&iter, &iter_array); + while (dbus_message_iter_get_arg_type (&iter_array) != DBUS_TYPE_INVALID) +@@ -77,6 +82,11 @@ print_services (DBusConnection *connection) + -1, + &error); + dbus_message_unref (message); ++ ++ if (reply == NULL) { ++ goto fail; ++ } ++ + dbus_message_iter_init (reply, &iter); + dbus_message_iter_recurse (&iter, &iter_array); + while (dbus_message_iter_get_arg_type (&iter_array) != DBUS_TYPE_INVALID) +@@ -86,6 +96,9 @@ print_services (DBusConnection *connection) + dbus_message_iter_next (&iter_array); + } + dbus_message_unref (reply); ++ ++ fail: ++ dbus_error_free(&error); + } + + static gboolean +@@ -139,6 +152,11 @@ print_objects (DBusConnection *connection, const char *service_name, const char + -1, + &error); + dbus_message_unref (message); ++ ++ if (reply == NULL) { ++ goto fail; ++ } ++ + dbus_message_iter_init (reply, &iter); + dbus_message_iter_get_basic (&iter, &introspection_xml); + +@@ -167,6 +185,9 @@ print_objects (DBusConnection *connection, const char *service_name, const char + node_info_unref (root); + + dbus_message_unref (reply); ++ ++ fail: ++ dbus_error_free(&error); + } + + static gboolean +@@ -192,6 +213,11 @@ is_object_path_with_interfaces (DBusConnection *connection, const char *service_ + -1, + &error); + dbus_message_unref (message); ++ ++ if (reply == NULL) { ++ goto fail; ++ } ++ + dbus_message_iter_init (reply, &iter); + dbus_message_iter_get_basic (&iter, &introspection_xml); + +@@ -203,6 +229,9 @@ is_object_path_with_interfaces (DBusConnection *connection, const char *service_ + node_info_unref (root); + dbus_message_unref (reply); + ++ fail: ++ dbus_error_free(&error); ++ + return ret; + } + +@@ -228,6 +257,11 @@ print_methods (DBusConnection *connection, const char *service_name, const char + -1, + &error); + dbus_message_unref (message); ++ ++ if (reply == NULL) { ++ goto fail; ++ } ++ + dbus_message_iter_init (reply, &iter); + dbus_message_iter_get_basic (&iter, &introspection_xml); + +@@ -247,6 +281,9 @@ print_methods (DBusConnection *connection, const char *service_name, const char + } + node_info_unref (root); + dbus_message_unref (reply); ++ ++ fail: ++ dbus_error_free(&error); + } + + static void +@@ -285,6 +322,11 @@ print_signature (DBusConnection *connection, const char *service_name, const cha + -1, + &error); + dbus_message_unref (message); ++ ++ if (reply == NULL) { ++ goto fail; ++ } ++ + dbus_message_iter_init (reply, &iter); + dbus_message_iter_get_basic (&iter, &introspection_xml); + +@@ -324,6 +366,7 @@ print_signature (DBusConnection *connection, const char *service_name, const cha + node_info_unref (root); + dbus_message_unref (reply); + fail: ++ dbus_error_free(&error); + g_free (method_name); + g_free (interface_name); + } +diff --git a/dbus/dbus-bash-completion.sh.in b/dbus/dbus-bash-completion.sh.in +index a7751da..e582438 100644 +--- a/dbus/dbus-bash-completion.sh.in ++++ b/dbus/dbus-bash-completion.sh.in +@@ -5,7 +5,6 @@ + ################################################################################ + + __dbus_send() { +- local IFS=$'\n' + local cur="${COMP_WORDS[COMP_CWORD]}" + + # --name=value style option +@@ -13,7 +12,7 @@ __dbus_send() { + cur=${cur/*=/} + fi + +- COMPREPLY=($(compgen -W "$(@libexecdir@/dbus-bash-completion-helper dbus-send ${COMP_WORDS[@]:0})" -- $cur)) ++ COMPREPLY=($(compgen -W "$(@libexecdir@/dbus-bash-completion-helper dbus-send "${COMP_LINE}")" -- $cur)) + } + + ################################################################################ +-- +GitLab +