[CFT] pkgpackagekit (GSoC: PackageKit backend for pkgng)

Matthew Windsor mbw500 at york.ac.uk
Fri Sep 20 19:07:18 UTC 2013


Hi,

This is the first time I've ever done anything related to ports, so
apologies if I'm going about this in the wrong way!

I've been working on a PackageKit backend for Google Summer of Code
2013, and I'm now at a position where I'd like a call for testing on
the port that is the end result of the project.  The port currently
lives in the socsvn repository (URL below, in the /port directory); an
attempt at a directory patch containing the port is below.

PackageKit is a package abstraction layer that provides a unified
D-Bus, graphical and command-line interface for package managers
(predominantly Linux-based) like apt-get, rpm and ALPM (as well as
FreeBSD Ports).  This port adds a new PackageKit backend that targets
the FreeBSD pkgng package system.  The backend is experimental but can
be used to perform basic package management.

There are some known issues (some of which are in the README, but
include minor cosmetic issues such as poor percentage updating, some
missing switches and an inability to cancel transactions; in addition,
this port targets the current, obsolete, ported version of PackageKit
due to issues getting the newer versions to work), but I've been using
this to install and remove packages locally (and there are several
unit tests and a basic run-through test available) so I'd like other
people's eyes on it if possible.

The single distfile is currently on my university filestore; this
won't be sustainable for long, so any suggestions as to where it
should live afterwards would be greatly appreciated.  (Currently I'm
considering github as pkg; an alternative could be trying to get this
into PackageKit's distribution, but this would require the use of
Autotools as well as targeting a modern version of PackageKit)


Licence: GPL2 (due to linking against PackageKit)
Project page: https://wiki.freebsd.org/SummerOfCode2013/pkgPackagekit
(contains some basic information on how to use PackageKit from the
CLI, as well as )
PackageKit: http://www.packagekit.org/
SVN: https://socsvn.freebsd.org/socsvn/soc2013/mattbw/
Distfile: http://www-student.cs.york.ac.uk/~mbw500/pkgpackagekit-0.1.1.tar.gz

Thanks in advance, and please let me know if you need further information,
~ Matt Windsor


--- empty/Makefile      1970-01-01 01:00:00.000000000 +0100
+++ port/Makefile       2013-09-20 13:23:13.000000000 +0100
@@ -0,0 +1,19 @@
+# $FreeBSD$
+
+PORTNAME=      pkgpackagekit
+PORTVERSION=   0.1.1
+CATEGORIES=    ports-mgmt
+MASTER_SITES=  http://www-student.cs.york.ac.uk/~mbw500/
+
+MAINTAINER=    mattbw at FreeBSD.org
+COMMENT=       PackageKit backend for pkgng
+
+LIB_DEPENDS=   libpackagekit-glib2.so:${PORTSDIR}/ports-mgmt/packagekit \
+               libpkg.so:${PORTSDIR}/ports-mgmt/pkg
+
+WRKSRC=                ${WRKDIR}/backend
+
+post-install:
+       ${CAT} pkg-message | ${SED} 's,%%PREFIX%%,${PREFIX},g'
+
+.include <bsd.port.mk>
diff -rupN empty/distinfo port/distinfo
--- empty/distinfo      1970-01-01 01:00:00.000000000 +0100
+++ port/distinfo       2013-09-20 13:24:11.000000000 +0100
@@ -0,0 +1,2 @@
+SHA256 (pkgpackagekit-0.1.1.tar.gz) =
855e70060e623dbaba043753b658f23fef33a88b98c6b0113bd13439188ce354
+SIZE (pkgpackagekit-0.1.1.tar.gz) = 40960
diff -rupN empty/pkg-descr port/pkg-descr
--- empty/pkg-descr     1970-01-01 01:00:00.000000000 +0100
+++ port/pkg-descr      2013-09-19 13:16:28.000000000 +0100
@@ -0,0 +1,6 @@
+This is an experimental PackageKit backend for pkgng, the FreeBSD next
+generation package manager.  In conjunction with PackageKit frontends such as
+Apper and GPackageKit, it allows for maintenance of the pkgng system inside a
+graphical user environment.
+
+WWW: http://wiki.FreeBSD.org/SummerOfCode2013/pkgPackagekit
diff -rupN empty/pkg-message port/pkg-message
--- empty/pkg-message   1970-01-01 01:00:00.000000000 +0100
+++ port/pkg-message    2013-09-20 12:37:27.000000000 +0100
@@ -0,0 +1,11 @@
+In order to enable this backend by default, you will need to change the file
+%%PREFIX%%/etc/PackageKit/PackageKit.conf, replacing the line:
+
+< DefaultBackend=ports
+
+with:
+
+> DefaultBackend=pkgng
+
+Otherwise, PackageKit will default to using the ports backend unless you
+explicitly launch packagekitd with a different backend.
diff -rupN empty/pkg-plist port/pkg-plist
--- empty/pkg-plist     1970-01-01 01:00:00.000000000 +0100
+++ port/pkg-plist      2013-09-19 13:16:28.000000000 +0100
@@ -0,0 +1 @@
+lib/packagekit-backend/libpk_backend_pkgng.so


More information about the freebsd-ports mailing list