Hello community, here is the log from the commit of package geoclue2 for openSUSE:Factory checked in at 2013-09-11 11:35:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/geoclue2 (Old) and /work/SRC/openSUSE:Factory/.geoclue2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "geoclue2" Changes: -------- --- /work/SRC/openSUSE:Factory/geoclue2/geoclue2.changes 2013-08-19 11:14:11.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.geoclue2.new/geoclue2.changes 2013-09-11 11:35:56.000000000 +0200 @@ -2 +2,58 @@ -Mon Aug 5 18:51:34 UTC 2013 - [email protected] +Tue Sep 10 08:41:47 UTC 2013 - [email protected] + +- Add COPYING to the package as %doc. + +------------------------------------------------------------------- +Mon Sep 9 08:58:12 UTC 2013 - [email protected] + +- Do not package the D-Bus service for now. This makes the package + 'broken', but allows us to build against the D-Bus interface and + not block inclusion of other packages any furhter (bnc#838360). + +------------------------------------------------------------------- +Tue Sep 3 20:37:16 UTC 2013 - [email protected] + +- Update to version 1.99.3: + + All D-Bus prop names capitalized as per general conventions. + + Expose D-Bus specification XML file in pkg-config file. + + Fix some potential crashes in error handling code. + + Remove unused build-time yelp dependency. + + Correct the libsoup dependency in pkg-config (although it + doesn't affect any applications at the moment). + + Fix some compiler warnings. +- Changes from version 1.99.2: + + Drop client-side library. + + Add COPYING file. + + Install geoip-lookup with make install. This makes life easier + for binary distributions that can then ship geoip-lookup in a + package. + + Distribute server documentation. + + Distribute & install interface XML file. + + Add/update forgotten copyright headers. +- Changes from version 1.99.1: + + Move to system D-Bus. + + Import geoip code from geocode-glib. + + Add option to automatically exit on inactivity. By default it: + - Runs indefinitely when launched manually. + - Exits after 5 seconds of inactivity when (auto)launched by + D-Bus. + + Relicense from LGPLv2+ to GPLv2+. + + Some build/installation related fixes. + + Correctly version pkg-config file. + + Fix crash on error. + + Add --version cmdline option. +- Changes from version 1.99.0: + + Bump the version number. +- Drop typelib-1_0-GeoClue-1_0 and libgeoclue-1_0-0 subpackages: + the client-side library was dropped with version 1.99.2. +- Add geoclue2-no-root.patch: Add configure option to specify + service user. +- Add call to autoreconf in build phase, as above patch touches + the buildsystem. +- Define dbus_user: srvGeoClue. +- Pass --with-dbus-service-user=%{dbus_user} to configure. +- Create %dbus_user during pre phase if the user does not yet + exist. + +------------------------------------------------------------------- +Mon Aug 5 20:51:34 UTC 2013 - [email protected] Old: ---- geoclue-0.0.1.tar.xz New: ---- geoclue-1.99.3.tar.xz geoclue2-no-root.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ geoclue2.spec ++++++ --- /var/tmp/diff_new_pack.uK6K8S/_old 2013-09-11 11:35:58.000000000 +0200 +++ /var/tmp/diff_new_pack.uK6K8S/_new 2013-09-11 11:35:58.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package +# spec file for package geoclue2 # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -15,25 +15,29 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + Name: geoclue2 %define _name geoclue -Version: 0.0.1 +%define dbus_user srvGeoClue +Version: 1.99.3 Release: 0 -License: LGPL-2.1+ Summary: GeoLocation Framework -Url: http://people.freedesktop.org/~zeenix/releases/ +License: GPL-2.0+ Group: System/Libraries -BuildRequires: libtool +Url: http://people.freedesktop.org/~zeenix/releases/ +Source: http://people.freedesktop.org/~zeenix/releases/%{_name}-%{version}.tar.xz +Patch0: geoclue2-no-root.patch BuildRequires: intltool >= 0.40.0 -BuildRequires: gobject-introspection-devel >= 0.9.6 -BuildRequires: yelp-tools -BuildRequires: pkgconfig(glib-2.0) >= 2.32.0 -BuildRequires: pkgconfig(gio-2.0) >= 2.32.0 -BuildRequires: pkgconfig(gio-unix-2.0) >= 2.32.0 -BuildRequires: pkgconfig(geocode-glib-1.0) >= 0.99.1 +BuildRequires: libtool +BuildRequires: pkgconfig(gio-2.0) >= 2.34.0 +BuildRequires: pkgconfig(gio-unix-2.0) >= 2.34.0 +BuildRequires: pkgconfig(glib-2.0) >= 2.34.0 +BuildRequires: pkgconfig(json-glib-1.0) >= 0.14 +BuildRequires: pkgconfig(libsoup-2.4) # Virtual provides for the dbus service Provides: dbus(GeoClue2) = %{version} -Source: http://people.freedesktop.org/~zeenix/releases/%{_name}-%{version}.tar.xz +# we require shadow for useradd +Requires(pre): shadow BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -41,31 +45,10 @@ awareness in applications. GeoClue uses the D-Bus inter-process communication mechanism to provide location information -%package -n libgeoclue-1_0-0 -Summary: GeoLocation Framework -Group: System/Libraries -# The main functionality is in the dbus service -Requires: dbus(GeoClue2) >= %{version} - -%description -n libgeoclue-1_0-0 -GeoClue is a software framework which can be used to enable geospatial -awareness in applications. GeoClue uses the D-Bus inter-process -communication mechanism to provide location information - -%package -n typelib-1_0-GeoClue-1_0 -Group: System/Libraries -summary: GeoLocation Framework -- Introspection bindings - -%description -n typelib-1_0-GeoClue-1_0 -GeoClue is a software framework which can be used to enable geospatial -awareness in applications. GeoClue uses the D-Bus inter-process -communication mechanism to provide location information - %package devel Summary: GeoLocation Framework -- Development files Group: Development/Languages/C and C++ -Requires: libgeoclue-1_0-0 = %{version} -Requires: typelib-1_0-GeoClue-1_0 = %{version} +Requires: %{name} = %{version} %description devel GeoClue is a software framework which can be used to enable geospatial @@ -74,42 +57,43 @@ %prep %setup -q -n %{_name}-%{version} +# seems patch does not rename files... so let's do what the patch should do +%patch0 -p1 +mv data/org.freedesktop.GeoClue2.conf data/org.freedesktop.GeoClue2.conf.in +# patching completed %build -%configure +autoreconf -fiv +%configure \ + --disable-geoip-server \ + --with-dbus-service-user=%{dbus_user} make %{?_smp_mflags} %install %make_install find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print +# hack around the missing security review bnc#838360 - The geoclue service will not work, but we can build against it +rm %{buildroot}%{_datadir}/dbus-1/system-services/org.freedesktop.GeoClue2.service +rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/org.freedesktop.GeoClue2.conf +# End security workaround hack -%post -n libgeoclue-1_0-0 -p /sbin/ldconfig - -%postun -n libgeoclue-1_0-0 -p /sbin/ldconfig +%pre +getent passwd %{dbus_user} > /dev/null || useradd -r -g nogroup -d /var/lib/%{dbus_user} -s /sbin/nologin -c "User for GeoClue D-Bus service" %{dbus_user} %files %defattr(-,root,root) -%doc README +%doc README COPYING %{_libexecdir}/geoclue %dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%{_datadir}/dbus-1/services/org.freedesktop.GeoClue2.service - -%files -n libgeoclue-1_0-0 -%defattr(-,root,root) -%{_libdir}/libgeoclue-1.0.so.0 -%{_libdir}/libgeoclue-1.0.so.0.0.0 - -%files -n typelib-1_0-GeoClue-1_0 -%defattr(-,root,root) -%{_libdir}/girepository-1.0/Geoclue-1.0.typelib +%dir %{_datadir}/dbus-1/system-services +#{_datadir}/dbus-1/system-services/org.freedesktop.GeoClue2.service +%{_datadir}/geoclue-2.0/ +%dir %{_sysconfdir}/dbus-1 +%dir %{_sysconfdir}/dbus-1/system.d +#config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.GeoClue2.conf %files devel %defattr(-,root,root) -%{_includedir}/geoclue-1.0/ -%{_libdir}/libgeoclue-1.0.so -%{_libdir}/pkgconfig/geoclue-1.0.pc -%{_datadir}/gir-1.0/Geoclue-1.0.gir - +%{_libdir}/pkgconfig/geoclue-2.0.pc %changelog ++++++ geoclue-0.0.1.tar.xz -> geoclue-1.99.3.tar.xz ++++++ ++++ 11959 lines of diff (skipped) ++++++ geoclue2-no-root.patch ++++++ >From cb074265bbf0274990b5cc2da084c21d34a38853 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger <[email protected]> Date: Wed, 04 Sep 2013 17:56:49 +0000 Subject: build: Add configure option to specify service user This is the user as which the service will run as. https://bugs.freedesktop.org/show_bug.cgi?id=68947 Co-Author: Zeeshan Ali (Khattak) <[email protected]> --- diff --git a/configure.ac b/configure.ac index b64550c..a2c04e7 100644 --- a/configure.ac +++ b/configure.ac @@ -119,12 +119,20 @@ else fi AC_SUBST(DBUS_SYS_DIR) +AC_ARG_WITH(dbus-service-user, + AS_HELP_STRING([--with-dbus-service-user=USER], + [The USER (existing) as which the service will run (default: root)]), + dbus_srv_user="$with_dbus_service_user", + dbus_srv_user="root") +AC_SUBST(dbus_srv_user) + AC_CONFIG_FILES([ Makefile src/Makefile src/geoclue-2.0.pc src/geoip-server/Makefile po/Makefile.in + data/org.freedesktop.GeoClue2.conf data/Makefile demo/Makefile ]) diff --git a/data/Makefile.am b/data/Makefile.am index 348ca42..1c46d0e 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -3,12 +3,11 @@ service_in_files = org.freedesktop.GeoClue2.service.in service_DATA = $(service_in_files:.service.in=.service) $(service_DATA): $(service_in_files) Makefile - @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ + @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< | \ + sed -e "s|\@dbus_srv_user\@|$(dbus_srv_user)|" > $@ # DBus Service policy file dbusservicedir = $(DBUS_SYS_DIR) dbusservice_DATA = org.freedesktop.GeoClue2.conf -EXTRA_DIST = $(service_in_files) \ - $(dbusservice_DATA) DISTCLEANFILES = $(service_DATA) diff --git a/data/org.freedesktop.GeoClue2.conf b/data/org.freedesktop.GeoClue2.conf.in index 3b3292f..79b2f5f 100644 --- a/data/org.freedesktop.GeoClue2.conf +++ b/data/org.freedesktop.GeoClue2.conf.in @@ -8,8 +8,8 @@ <allow send_destination="org.freedesktop.GeoClue2"/> </policy> - <policy user="root"> - <!-- Only allow root to own the name on the bus --> + <policy user="@dbus_srv_user@"> + <!-- Only allow @dbus_srv_user@ to own the name on the bus --> <allow own="org.freedesktop.GeoClue2"/> </policy> </busconfig> diff --git a/data/org.freedesktop.GeoClue2.service.in b/data/org.freedesktop.GeoClue2.service.in index 948c644..51cbdb2 100644 --- a/data/org.freedesktop.GeoClue2.service.in +++ b/data/org.freedesktop.GeoClue2.service.in @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.freedesktop.GeoClue2 Exec=@libexecdir@/geoclue -t 5 -User=root +User=@dbus_srv_user@ -- cgit v0.9.0.2-2-gbebe -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
