commit:     07bdf34d44f4414410f79d275a1be4e9a905ac40
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 12 14:05:57 2018 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Wed Dec 12 14:17:30 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=07bdf34d

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 <AT> gentoo.org>

 app-admin/packagekit-base/Manifest                 |   1 +
 .../files/1.1.12-add-missing-config.h.patch        |  25 +++
 .../packagekit-base/files/1.1.12-cache-qafix.patch |  38 ++++
 .../files/1.1.12-elogind-support.patch             | 196 +++++++++++++++++++++
 .../files/1.1.12-use-autotool-python.patch         |  28 +++
 .../packagekit-base/packagekit-base-1.1.12.ebuild  | 140 +++++++++++++++
 6 files changed, 428 insertions(+)

diff --git a/app-admin/packagekit-base/Manifest 
b/app-admin/packagekit-base/Manifest
index f4cb2740e6b..f6a17578381 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 00000000000..eb8c192e882
--- /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 <[email protected]>
+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 00000000000..4e747616c06
--- /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 <[email protected]>
+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 00000000000..8be115bbc71
--- /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 <[email protected]>
+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 <[email protected]>
+---
+ 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 00000000000..542abd5e566
--- /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?= <[email protected]>
+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 00000000000..e2b3295f8a7
--- /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
+}

Reply via email to