diff options
author | Gilles Dartiguelongue <eva@gentoo.org> | 2018-12-12 15:05:57 +0100 |
---|---|---|
committer | Gilles Dartiguelongue <eva@gentoo.org> | 2018-12-12 15:17:30 +0100 |
commit | 07bdf34d44f4414410f79d275a1be4e9a905ac40 (patch) | |
tree | 2498651fc261354cf9cb87c0e0166683d228152c /app-admin/packagekit-base | |
parent | media-libs/mesa: mark s390 stable (diff) | |
download | gentoo-07bdf34d44f4414410f79d275a1be4e9a905ac40.tar.gz gentoo-07bdf34d44f4414410f79d275a1be4e9a905ac40.tar.bz2 gentoo-07bdf34d44f4414410f79d275a1be4e9a905ac40.zip |
app-admin/packagekit-base: 1.1.7-r2 → 1.1.12
Prepare ebuild to receive python3 targets. Code is almost compatible so
just make sure we only need to touch PYTHON_TARGETS when the time
comes.
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org>
Diffstat (limited to 'app-admin/packagekit-base')
6 files changed, 428 insertions, 0 deletions
diff --git a/app-admin/packagekit-base/Manifest b/app-admin/packagekit-base/Manifest index f4cb2740e6b1..f6a175783815 100644 --- a/app-admin/packagekit-base/Manifest +++ b/app-admin/packagekit-base/Manifest @@ -1 +1,2 @@ +DIST PackageKit-1.1.12.tar.xz 1439024 BLAKE2B 458cb7a9a47941214ec58846fb840f852851555dbd94ed5113745f9e375cd28edaa8475db30fb889b1722ea01bce5200a5ea7a5f52e45b424703228bff59d689 SHA512 a7428416ae85df0c8e7dbe017396921e9214612c8eb7c91020523457d0feaff86ad50d595f702d255e4091364cb10b8d9506b603b9d0e449c39fced07180840b DIST PackageKit-1.1.7.tar.xz 1431648 BLAKE2B 0cc64e7ac38d6641a1fbd98ffad2e7920eb7b3c86ea36d3ad036541886191c38deeeb7241f81ec3d29f8268b1c84ec500511895312c29c706403607215117d5e SHA512 0d0277e24feb63e94aeb5fec2c4306ccdf5935c2f62d5eef3be8db9f534eb302eff09ea0e020db48b2dd0af9ba6b31f7960d661d1040774dccf650ebf04c4f83 diff --git a/app-admin/packagekit-base/files/1.1.12-add-missing-config.h.patch b/app-admin/packagekit-base/files/1.1.12-add-missing-config.h.patch new file mode 100644 index 000000000000..eb8c192e882c --- /dev/null +++ b/app-admin/packagekit-base/files/1.1.12-add-missing-config.h.patch @@ -0,0 +1,25 @@ +From 3620f182745db77b5bf4552a9e8d8cb38fdc0268 Mon Sep 17 00:00:00 2001 +From: Kalev Lember <klember@redhat.com> +Date: Tue, 4 Dec 2018 22:15:49 +0100 +Subject: [PATCH 2/2] trivial: Add missing config.h include + +--- + lib/packagekit-glib2/pk-progress-bar.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lib/packagekit-glib2/pk-progress-bar.c b/lib/packagekit-glib2/pk-progress-bar.c +index e75f319e4..28d8f5ac2 100644 +--- a/lib/packagekit-glib2/pk-progress-bar.c ++++ b/lib/packagekit-glib2/pk-progress-bar.c +@@ -19,6 +19,8 @@ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++#include "config.h" ++ + #include <glib.h> + #include <string.h> + #include <unistd.h> +-- +2.19.2 + diff --git a/app-admin/packagekit-base/files/1.1.12-cache-qafix.patch b/app-admin/packagekit-base/files/1.1.12-cache-qafix.patch new file mode 100644 index 000000000000..4e747616c06f --- /dev/null +++ b/app-admin/packagekit-base/files/1.1.12-cache-qafix.patch @@ -0,0 +1,38 @@ +From d64070f1782ed06f83be7783e22cf86f4098f34e Mon Sep 17 00:00:00 2001 +From: Ettore Di Giacinto <mudler@gentoo.org> +Date: Tue, 11 Dec 2018 16:54:42 +0100 +Subject: [PATCH 1/2] Drop $(localstatedir)/cache rules + +This directory can be flushed any moment and pre-existence of folders +in it cannot be assumed. + +pk-transaction creates the downloads directory as needed. If backends +need metadata folder they should create it if not found. + +Closes: https://github.com/gentoo/gentoo/pull/1760 +References: https://github.com/hughsie/PackageKit/issues/143 +--- + src/Makefile.am | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 830aaf873..24c9a0b9a 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -166,13 +166,6 @@ pk_self_test_CFLAGS = \ + + TESTS = pk-self-test + +-install-data-hook: +- if test -w $(DESTDIR)$(prefix)/; then \ +- mkdir -p $(DESTDIR)$(localstatedir)/cache/PackageKit/downloads; \ +- mkdir -p $(DESTDIR)$(localstatedir)/cache/PackageKit/metadata; \ +- mkdir -p $(DESTDIR)$(localstatedir)/log; \ +- fi +- + clean-local: + rm -f *~ + +-- +2.19.2 + diff --git a/app-admin/packagekit-base/files/1.1.12-elogind-support.patch b/app-admin/packagekit-base/files/1.1.12-elogind-support.patch new file mode 100644 index 000000000000..8be115bbc71d --- /dev/null +++ b/app-admin/packagekit-base/files/1.1.12-elogind-support.patch @@ -0,0 +1,196 @@ +From ee8a65b3fd7636a60f8a2b2e509376cbbd8326cb Mon Sep 17 00:00:00 2001 +From: Sven Eden <yamakuzure@gmx.net> +Date: Tue, 11 Dec 2018 16:59:28 +0100 +Subject: [PATCH 2/2] Add elogind support + +Closes: https://bugs.gentoo.org/620948 +Signed-off-by: Ettore Di Giacinto <mudler@gentoo.org> +--- + configure.ac | 20 +++++++++++++++++++- + src/Makefile.am | 4 ++++ + src/pk-dbus.c | 8 ++++---- + src/pk-engine.c | 12 ++++++------ + 4 files changed, 33 insertions(+), 11 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 737c1d4dc..0778c57d3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -216,7 +216,6 @@ if test x$enable_systemd = xyes; then + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [has_systemdsystemunitdir=$with_systemdsystemunitdir], + [has_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +- AC_DEFINE(HAVE_SYSTEMD,1,[Build systemd code]) + AC_SUBST([systemdsystemunitdir], [$has_systemdsystemunitdir]) + fi + AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$has_systemdsystemunitdir"]) +@@ -228,6 +227,24 @@ AC_ARG_ENABLE(offline-update, AS_HELP_STRING([--enable-offline-update],[enable o + enable_offline_update=$enableval,enable_offline_update=yes) + AM_CONDITIONAL(ENABLE_OFFLINE_UPDATE, [test x$enable_systemd = xyes -a x$enable_offline_update = xyes]) + ++dnl --------------------------------------------------------------------------- ++dnl - Use elogind instead of systemd-login ++dnl --------------------------------------------------------------------------- ++AC_ARG_ENABLE(elogind, AS_HELP_STRING([--enable-elogind],[enable elogind session tracker]), ++ enable_elogind=$enableval,enable_elogind=no) ++if test x$enable_elogind = xyes; then ++ PKG_CHECK_MODULES(ELOGIND, [libelogind >= 229.4], [have_elogind=yes], [have_elogind=no]) ++else ++ have_elogind=no ++fi ++ ++dnl --------------------------------------------------------------------------- ++dnl --- Is systemd/sd-login.h, either from systemd or elogind, available? ++dnl --------------------------------------------------------------------------- ++if test -n "$has_systemdsystemunitdir" -o "x$have_elogind" != "xno" ; then ++ AC_DEFINE(HAVE_SYSTEMD_SD_LOGIN_H,1,[Build systemd-login code]) ++fi ++ + dnl --------------------------------------------------------------------------- + dnl - Generate man pages ? (default enabled) + dnl --------------------------------------------------------------------------- +@@ -590,6 +607,7 @@ echo " + cflags: ${CFLAGS} + cppflags: ${CPPFLAGS} + Able to run locally: ${enable_local} ++ Use elogind: ${enable_elogind} + Use systemd: ${enable_systemd} + Enable offline update: ${enable_offline_update} + GStreamer plugin: ${build_gstreamer_plugin} +diff --git a/src/Makefile.am b/src/Makefile.am +index 24c9a0b9a..468f31d04 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -9,6 +9,7 @@ AM_CPPFLAGS = \ + $(SQLITE_CFLAGS) \ + $(POLKIT_CFLAGS) \ + $(PYTHON_CFLAGS) \ ++ $(ELOGIND_CFLAGS) \ + $(SYSTEMD_CFLAGS) \ + -DPACKAGE_LOCALE_DIR=\"$(localedir)\" \ + -DBINDIR=\"$(bindir)\" \ +@@ -100,6 +101,7 @@ packagekit_direct_LDADD = \ + $(POLKIT_LIBS) \ + $(GIO_LIBS) \ + $(ARCHIVE_LIBS) \ ++ $(ELOGIND_LIBS) \ + $(SYSTEMD_LIBS) + + packagekit_direct_LDFLAGS = \ +@@ -128,6 +130,7 @@ packagekitd_LDADD = \ + $(POLKIT_LIBS) \ + $(GIO_LIBS) \ + $(ARCHIVE_LIBS) \ ++ $(ELOGIND_LIBS) \ + $(SYSTEMD_LIBS) + + packagekitd_LDFLAGS = \ +@@ -153,6 +156,7 @@ pk_self_test_LDADD = \ + $(POLKIT_LIBS) \ + $(GIO_LIBS) \ + $(ARCHIVE_LIBS) \ ++ $(ELOGIND_LIBS) \ + $(SYSTEMD_LIBS) + + pk_self_test_CPPFLAGS = \ +diff --git a/src/pk-dbus.c b/src/pk-dbus.c +index 0cf512f38..37cc1d83c 100644 +--- a/src/pk-dbus.c ++++ b/src/pk-dbus.c +@@ -27,7 +27,7 @@ + #include <glib.h> + #include <gio/gio.h> + +-#ifdef HAVE_SYSTEMD ++#ifdef HAVE_SYSTEMD_SD_LOGIN_H + #include <systemd/sd-login.h> + #endif + +@@ -177,7 +177,7 @@ pk_dbus_get_cmdline (PkDbus *dbus, const gchar *sender) + return cmdline; + } + +-#ifdef HAVE_SYSTEMD ++#ifdef HAVE_SYSTEMD_SD_LOGIN_H + static gchar * + pk_dbus_make_logind_session_id (const gchar *session) + { +@@ -218,7 +218,7 @@ gchar * + pk_dbus_get_session (PkDbus *dbus, const gchar *sender) + { + gchar *session = NULL; +-#ifndef HAVE_SYSTEMD ++#ifndef HAVE_SYSTEMD_SD_LOGIN_H + g_autoptr(GError) error = NULL; + #endif + guint pid; +@@ -248,7 +248,7 @@ pk_dbus_get_session (PkDbus *dbus, const gchar *sender) + } + + /* get session from systemd or ConsoleKit */ +-#ifdef HAVE_SYSTEMD ++#ifdef HAVE_SYSTEMD_SD_LOGIN_H + session = pk_dbus_get_session_systemd (pid); + if (session == NULL) + g_warning ("failed to get session for pid %u", pid); +diff --git a/src/pk-engine.c b/src/pk-engine.c +index f63058fbc..7ea87a448 100644 +--- a/src/pk-engine.c ++++ b/src/pk-engine.c +@@ -98,7 +98,7 @@ struct PkEnginePrivate + guint owner_id; + GDBusNodeInfo *introspection; + GDBusConnection *connection; +-#ifdef HAVE_SYSTEMD ++#ifdef HAVE_SYSTEMD_SD_LOGIN_H + GDBusProxy *logind_proxy; + gint logind_fd; + #endif +@@ -256,7 +256,7 @@ pk_engine_emit_offline_property_changed (PkEngine *engine, + static void + pk_engine_inhibit (PkEngine *engine) + { +-#ifdef HAVE_SYSTEMD ++#ifdef HAVE_SYSTEMD_SD_LOGIN_H + g_autoptr(GError) error = NULL; + g_autoptr(GUnixFDList) out_fd_list = NULL; + g_autoptr(GVariant) res = NULL; +@@ -303,7 +303,7 @@ pk_engine_inhibit (PkEngine *engine) + static void + pk_engine_uninhibit (PkEngine *engine) + { +-#ifdef HAVE_SYSTEMD ++#ifdef HAVE_SYSTEMD_SD_LOGIN_H + if (engine->priv->logind_fd == 0) + return; + g_debug ("closed logind fd %i", engine->priv->logind_fd); +@@ -1701,7 +1701,7 @@ pk_engine_offline_method_call (GDBusConnection *connection_, const gchar *sender + } + } + +-#ifdef HAVE_SYSTEMD ++#ifdef HAVE_SYSTEMD_SD_LOGIN_H + static void + pk_engine_proxy_logind_cb (GObject *source_object, + GAsyncResult *res, +@@ -1737,7 +1737,7 @@ pk_engine_on_bus_acquired_cb (GDBusConnection *connection, + /* save copy for emitting signals */ + engine->priv->connection = g_object_ref (connection); + +-#ifdef HAVE_SYSTEMD ++#ifdef HAVE_SYSTEMD_SD_LOGIN_H + /* connect to logind */ + g_dbus_proxy_new (connection, + G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, +@@ -1883,7 +1883,7 @@ pk_engine_finalize (GObject *object) + if (engine->priv->connection != NULL) + g_object_unref (engine->priv->connection); + +-#ifdef HAVE_SYSTEMD ++#ifdef HAVE_SYSTEMD_SD_LOGIN_H + /* uninhibit */ + if (engine->priv->logind_fd != 0) + close (engine->priv->logind_fd); +-- +2.19.2 + diff --git a/app-admin/packagekit-base/files/1.1.12-use-autotool-python.patch b/app-admin/packagekit-base/files/1.1.12-use-autotool-python.patch new file mode 100644 index 000000000000..542abd5e566c --- /dev/null +++ b/app-admin/packagekit-base/files/1.1.12-use-autotool-python.patch @@ -0,0 +1,28 @@ +From f664bbc43d12f4b30431dfe2ecee4c9ebfaf00e5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Javier=20Jard=C3=B3n?= <jjardon@gnome.org> +Date: Sat, 1 Dec 2018 18:55:37 +0000 +Subject: [PATCH 1/2] lib/python/packagekit/Makefile.am: Use the detected + PYTHON version + +This will fix compilation in system where only the "python3" +executable exists +--- + lib/python/packagekit/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/python/packagekit/Makefile.am b/lib/python/packagekit/Makefile.am +index 617006647..a589cde17 100644 +--- a/lib/python/packagekit/Makefile.am ++++ b/lib/python/packagekit/Makefile.am +@@ -1,7 +1,7 @@ + BUILT_SOURCES = enums.py + + enums.py: $(top_srcdir)/lib/python/enum-convertor.py $(top_srcdir)/lib/packagekit-glib2/pk-enum.c +- python $(top_srcdir)/lib/python/enum-convertor.py $(top_srcdir)/lib/packagekit-glib2/pk-enum.c > enums.py ++ $(PYTHON) $(top_srcdir)/lib/python/enum-convertor.py $(top_srcdir)/lib/packagekit-glib2/pk-enum.c > enums.py + + if HAVE_PYTHON_BACKEND + packagekitpythondir = ${PYTHON_PACKAGE_DIR} +-- +2.19.2 + diff --git a/app-admin/packagekit-base/packagekit-base-1.1.12.ebuild b/app-admin/packagekit-base/packagekit-base-1.1.12.ebuild new file mode 100644 index 000000000000..e2b3295f8a72 --- /dev/null +++ b/app-admin/packagekit-base/packagekit-base-1.1.12.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +# PackageKit supports 3.2+, but entropy and portage backends are untested +PYTHON_COMPAT=( python2_7 ) +VALA_USE_DEPEND="vapigen" + +inherit autotools bash-completion-r1 multilib python-single-r1 systemd vala xdg + +MY_PN="PackageKit" +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Manage packages in a secure way using a cross-distro and cross-architecture API" +HOMEPAGE="https://www.freedesktop.org/software/PackageKit/" +SRC_URI="https://www.freedesktop.org/software/${MY_PN}/releases/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0/18" +KEYWORDS="~alpha ~amd64 ~arm ~mips ~ppc ~ppc64 ~x86" +IUSE="cron command-not-found elogind +introspection entropy systemd test vala" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + ?? ( elogind systemd ) + vala? ( introspection ) + entropy? ( $(python_gen_useflags 'python2*' ) ) +" + +# While not strictly needed, consolekit is the alternative to systemd-login +# or elogind to get current session's user. +COMMON_DEPEND=" + >=app-shells/bash-completion-2 + dev-db/sqlite:3 + >=dev-libs/dbus-glib-0.74 + >=dev-libs/glib-2.54.0:2 + >=sys-auth/polkit-0.114 + >=sys-apps/dbus-1.3.0 + ${PYTHON_DEPS} + elogind? ( >=sys-auth/elogind-229.4 ) + introspection? ( >=dev-libs/gobject-introspection-0.9.9:= ) + systemd? ( >=sys-apps/systemd-213 ) +" +# vala-common needed for eautoreconf +DEPEND="${COMMON_DEPEND} + app-text/docbook-xsl-stylesheets + >=dev-cpp/glibmm-2.4 + dev-libs/libxml2:2 + dev-libs/libxslt + dev-libs/vala-common + dev-util/glib-utils + >=dev-util/gtk-doc-am-1.11 + >=dev-util/intltool-0.35.0 + sys-devel/gettext + virtual/pkgconfig + vala? ( $(vala_depend) ) +" +RDEPEND="${COMMON_DEPEND} + >=app-portage/layman-2[${PYTHON_USEDEP}] + || ( + >=sys-apps/portage-2.2[${PYTHON_USEDEP}] + sys-apps/portage-mgorny[${PYTHON_USEDEP}] + ) + entropy? ( >=sys-apps/entropy-234[${PYTHON_USEDEP}] ) + !systemd? ( !elogind? ( sys-auth/consolekit ) ) +" + +PATCHES=( + # Fixes QA Notices: + # - https://github.com/gentoo/gentoo/pull/1760 + # - https://github.com/hughsie/PackageKit/issues/143 + "${FILESDIR}"/${PV}-cache-qafix.patch + + # Adds elogind support: + # - https://bugs.gentoo.org/show_bug.cgi?id=620948 + # - https://github.com/hughsie/PackageKit/pull/299 + "${FILESDIR}"/${PV}-elogind-support.patch + + # From master + "${FILESDIR}"/${PV}-use-autotool-python.patch + "${FILESDIR}"/${PV}-add-missing-config.h.patch +) + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + # Disable unittests not working with portage backend + # console: requires terminal input + sed -e 's:^\(.*/packagekit-glib2/control\)://\1:' \ + -e 's:^\(.*/packagekit-glib2/transaction-list\)://\1:' \ + -e 's:^\(.*/packagekit-glib2/client"\)://\1:' \ + -e 's:^\(.*/packagekit-glib2/package-sack\)://\1:' \ + -e 's:^\(.*/packagekit-glib2/task\)://\1:' \ + -e 's:^\(.*/packagekit-glib2/console\)://\1:' \ + -i lib/packagekit-glib2/pk-test-daemon.c || die + sed -e 's:^\(.*/packagekit/spawn\)://\1:' \ + -e 's:^\(.*/packagekit/transaction-db\)://\1:' \ + -e 's:^\(.*/packagekit/backend\)://\1:' \ + -i src/pk-self-test.c || die + + eapply_user + use vala && vala_src_prepare + xdg_src_prepare + + # Needed by elogind patch + eautoreconf +} + +src_configure() { + econf \ + --disable-gstreamer-plugin \ + --disable-gtk-doc \ + --disable-gtk-module \ + --disable-schemas-compile \ + --disable-static \ + --enable-bash-completion \ + --enable-man-pages \ + --enable-nls \ + --enable-portage \ + --localstatedir=/var \ + $(use_enable command-not-found) \ + $(use_enable cron) \ + $(use_enable elogind) \ + $(use_enable entropy) \ + $(use_enable introspection) \ + $(use_enable systemd) \ + $(use_enable test daemon-tests) \ + $(use_enable test local) \ + $(use_enable vala) \ + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" +} + +src_install() { + python_fix_shebang backends/portage/portageBackend.py + + emake DESTDIR="${D}" install + find "${D}" -name '*.la' -delete || die + + dodoc AUTHORS ChangeLog MAINTAINERS NEWS README +} |