summaryrefslogtreecommitdiff
path: root/app-admin/packagekit-base
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/packagekit-base')
-rw-r--r--app-admin/packagekit-base/Manifest5
-rw-r--r--app-admin/packagekit-base/files/packagekit-base-1.1.1-cache-qafix.patch15
-rw-r--r--app-admin/packagekit-base/files/packagekit-base-1.1.7-elogind-support.patch184
-rw-r--r--app-admin/packagekit-base/metadata.xml18
-rw-r--r--app-admin/packagekit-base/packagekit-base-1.1.7-r1.ebuild130
5 files changed, 352 insertions, 0 deletions
diff --git a/app-admin/packagekit-base/Manifest b/app-admin/packagekit-base/Manifest
new file mode 100644
index 000000000000..68f5e5c125d7
--- /dev/null
+++ b/app-admin/packagekit-base/Manifest
@@ -0,0 +1,5 @@
+AUX packagekit-base-1.1.1-cache-qafix.patch 469 BLAKE2B fb0666e27d2908236a0adf31adcc9dbcaab94bdb1d4b253369b2bf92e18279e289ea8b486285ce9b19abfc79c81e308675019777f49b98ce6aca1e341695cfb6 SHA512 7efb79f5b25f4b1b3db22247c695e13d748908c6802667bd8dc322c247881bd133aa8787192598b384ce8080ac986031e5fee64201f17e4e8af7e15fc7d18424
+AUX packagekit-base-1.1.7-elogind-support.patch 5872 BLAKE2B a18f2e6016781b043d34cc82e76970a8fd18a4e08fb5516b2f332f6a3213e4fbb90311d6bd54a11b82b98e84d90598648562473aa497c8c4c69ad99a4cbd474e SHA512 26b6f163e44a1a837e8c9ac43b8f6ec9733962d746d0081e05d1691099c953e16055d530e7de5558aacd985b1690dcbea9c6087755d037d8029f34b158d74a45
+DIST PackageKit-1.1.7.tar.xz 1431648 BLAKE2B 0cc64e7ac38d6641a1fbd98ffad2e7920eb7b3c86ea36d3ad036541886191c38deeeb7241f81ec3d29f8268b1c84ec500511895312c29c706403607215117d5e SHA512 0d0277e24feb63e94aeb5fec2c4306ccdf5935c2f62d5eef3be8db9f534eb302eff09ea0e020db48b2dd0af9ba6b31f7960d661d1040774dccf650ebf04c4f83
+EBUILD packagekit-base-1.1.7-r1.ebuild 3676 BLAKE2B 33081996cac6656b7aa0cc729ff60de69263a710d35c37e01b2eb37e8ffc72e5b39ce14ba105e08c52105cc6716546dd6380bea8d96c3d40899eeccb41158d5a SHA512 3d104fe8464249496c2bc001b907d3f36533abc50643d6b002e03ce9e2b4c08c9b13b9a3eb68923d655c5933b5b6a04f82be870882ade4c2a2b2a5dd29dcb7fa
+MISC metadata.xml 664 BLAKE2B 4dcdb79a089d9ec0734d9af4c2b6206ad1add7b17f8c8984b2e7763672fc334000749b4332e92224d11b0382fe22a2ca0f83ced4da218fbd1e85d8b101fd3e1f SHA512 9b80a98e97af44ab81b497b2c71c73db41da7f250734d6b032e80151719a0a82e2c1e295b068a5e3657a509dbd74d1f65f6e49fc211f77d0623eb7bdcd32b323
diff --git a/app-admin/packagekit-base/files/packagekit-base-1.1.1-cache-qafix.patch b/app-admin/packagekit-base/files/packagekit-base-1.1.1-cache-qafix.patch
new file mode 100644
index 000000000000..d7ec4b268c84
--- /dev/null
+++ b/app-admin/packagekit-base/files/packagekit-base-1.1.1-cache-qafix.patch
@@ -0,0 +1,15 @@
+--- a/src/~Makefile.am 2016-06-29 10:59:14.178918032 +0200
++++ b/src/Makefile.am 2016-06-29 11:02:50.739929627 +0200
+@@ -175,11 +175,7 @@ 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 *~
diff --git a/app-admin/packagekit-base/files/packagekit-base-1.1.7-elogind-support.patch b/app-admin/packagekit-base/files/packagekit-base-1.1.7-elogind-support.patch
new file mode 100644
index 000000000000..bb6b6103dde2
--- /dev/null
+++ b/app-admin/packagekit-base/files/packagekit-base-1.1.7-elogind-support.patch
@@ -0,0 +1,184 @@
+--- a/config.h.in 2017-06-07 16:38:45.046910693 +0200
++++ b/config.h.in 2017-06-07 16:39:06.973911120 +0200
+@@ -78,8 +78,8 @@
+ /* Define to 1 if you have the <string.h> header file. */
+ #undef HAVE_STRING_H
+
+-/* Build systemd code */
+-#undef HAVE_SYSTEMD
++/* Build systemd-login code */
++#undef HAVE_SYSTEMD_SD_LOGIN_H
+
+ /* Define to 1 if you have the <sys/stat.h> header file. */
+ #undef HAVE_SYS_STAT_H
+--- a/configure.ac 2017-06-06 09:03:57.171355965 +0200
++++ b/configure.ac 2017-06-06 09:55:11.242384458 +0200
+@@ -254,7 +254,6 @@
+ 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"])
+@@ -267,6 +266,24 @@
+ 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 ---------------------------------------------------------------------------
+ AC_ARG_ENABLE(man_pages, AS_HELP_STRING([--disable-man-pages],[Disable man pages generation]), enable_man_pages=$enableval)
+@@ -629,6 +644,7 @@
+ cflags: ${CFLAGS}
+ cppflags: ${CPPFLAGS}
+ Able to run locally: ${enable_local}
++ Use elogind: ${enable_elogind}
+ Use systemd: ${enable_systemd}
+ Enable offline update: ${enable_offline_update}
+ Networking stacks: ${networking_apis}
+--- 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 = \
+--- a/src/pk-engine.c 2017-06-06 09:12:23.828371176 +0200
++++ b/src/pk-engine.c 2017-06-06 09:55:47.426385545 +0200
+@@ -98,7 +98,7 @@
+ guint owner_id;
+ GDBusNodeInfo *introspection;
+ GDBusConnection *connection;
+-#ifdef HAVE_SYSTEMD
++#ifdef HAVE_SYSTEMD_SD_LOGIN_H
+ GDBusProxy *logind_proxy;
+ gint logind_fd;
+ #endif
+@@ -281,7 +281,7 @@
+ 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;
+@@ -331,7 +331,7 @@
+ 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);
+@@ -1830,7 +1830,7 @@
+ }
+ }
+
+-#ifdef HAVE_SYSTEMD
++#ifdef HAVE_SYSTEMD_SD_LOGIN_H
+ /**
+ * pk_engine_proxy_logind_cb:
+ **/
+@@ -1872,7 +1872,7 @@
+ /* 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,
+@@ -2031,7 +2031,7 @@
+ 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);
+--- a/src/pk-dbus.c 2017-06-06 09:12:13.254370858 +0200
++++ b/src/pk-dbus.c 2017-06-06 10:09:17.249409857 +0200
+@@ -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 @@
+ return cmdline;
+ }
+
+-#ifdef HAVE_SYSTEMD
++#ifdef HAVE_SYSTEMD_SD_LOGIN_H
+ /**
+ * pk_dbus_get_session_systemd:
+ **/
+@@ -220,7 +220,7 @@
+ 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;
+@@ -250,7 +250,7 @@
+ }
+
+ /* get session from systemd or ConsoleKit */
+-#ifdef HAVE_SYSTEMD
++#ifdef HAVE_SYSTEMD_SD_LOGIN_H
+ session = pk_dbus_get_session_systemd (pid);
+ #else
+ /* get session from ConsoleKit */
diff --git a/app-admin/packagekit-base/metadata.xml b/app-admin/packagekit-base/metadata.xml
new file mode 100644
index 000000000000..1036ab84868f
--- /dev/null
+++ b/app-admin/packagekit-base/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mudler@gentoo.org</email>
+ <name>Ettore Di Giacinto</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="command-not-found">Enable packagekit support on shell "command not found"</flag>
+ <flag name="cron">Install cron script for auto-update</flag>
+ <flag name="elogind">Enable elogind support to get user session</flag>
+ <flag name="entropy">Enable Entropy backend</flag>
+ </use>
+</pkgmetadata>
diff --git a/app-admin/packagekit-base/packagekit-base-1.1.7-r1.ebuild b/app-admin/packagekit-base/packagekit-base-1.1.7-r1.ebuild
new file mode 100644
index 000000000000..4281826ad53c
--- /dev/null
+++ b/app-admin/packagekit-base/packagekit-base-1.1.7-r1.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+# PackageKit supports 3.2+, but entropy and portage backends are untested
+# Future note: use --enable-python3
+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 )
+"
+
+# 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.46.0:2[${PYTHON_USEDEP}]
+ >=sys-auth/polkit-0.98
+ >=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-204 )
+"
+# vala-common needed for eautoreconf
+DEPEND="${COMMON_DEPEND}
+ >=dev-cpp/glibmm-2.4
+ dev-libs/libxslt[${PYTHON_USEDEP}]
+ dev-libs/vala-common
+ >=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}"/${PN}-1.1.1-cache-qafix.patch
+
+ # Adds elogind support:
+ # - https://bugs.gentoo.org/show_bug.cgi?id=620948
+ "${FILESDIR}"/${P}-elogind-support.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() {
+ emake DESTDIR="${D}" install
+ prune_libtool_files --all
+
+ dodoc AUTHORS ChangeLog MAINTAINERS NEWS README
+}