Hello community, here is the log from the commit of package fprintd for openSUSE:Factory checked in at 2015-02-10 20:22:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fprintd (Old) and /work/SRC/openSUSE:Factory/.fprintd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "fprintd" Changes: -------- --- /work/SRC/openSUSE:Factory/fprintd/fprintd.changes 2014-11-14 09:18:57.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.fprintd.new/fprintd.changes 2015-02-10 20:22:04.000000000 +0100 @@ -1,0 +2,13 @@ +Sun Feb 8 17:07:18 UTC 2015 - zaitor@opensuse.org + +- Update to version 0.6.0: + + Fix warning in fprintd.pod file. + + Reduce logging during normal operation. + + Fix eventfd leak in PAM module. + + List possible values for finger when enrolling. + + Fix possible crash in fprintd-verify. + + Fix listing and deleting fingerprints when there's more than + one reader available. +- Drop fprintd.pod-syntax.patch: fixed upstream. + +------------------------------------------------------------------- Old: ---- fprintd-0.5.1.tar.xz fprintd.pod-syntax.patch New: ---- fprintd-0.6.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fprintd.spec ++++++ --- /var/tmp/diff_new_pack.zdyEiO/_old 2015-02-10 20:22:06.000000000 +0100 +++ /var/tmp/diff_new_pack.zdyEiO/_new 2015-02-10 20:22:06.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package fprintd # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: fprintd -Version: 0.5.1 +Version: 0.6.0 Release: 0 Summary: D-Bus service for Fingerprint reader access License: GPL-2.0+ @@ -25,8 +25,6 @@ Url: http://www.reactivated.net/fprint/wiki/Fprintd Source0: http://freedesktop.org/~hadess/%{name}-%{version}.tar.xz Source1: baselibs.conf -# PATCH-FIX-UPSTREAM http://cgit.freedesktop.org/libfprint/fprintd/patch/?id=7710040ea723def69dde... -Patch0: fprintd.pod-syntax.patch BuildRequires: gtk-doc >= 1.3 BuildRequires: intltool BuildRequires: pam-devel @@ -91,7 +89,6 @@ %lang_package %prep %setup -q -%patch0 -p1 %build %configure \ ++++++ fprintd-0.5.1.tar.xz -> fprintd-0.6.0.tar.xz ++++++ ++++ 3184 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/NEWS new/fprintd-0.6.0/NEWS --- old/fprintd-0.5.1/NEWS 2013-08-11 17:58:34.000000000 +0200 +++ new/fprintd-0.6.0/NEWS 2015-02-03 17:07:15.000000000 +0100 @@ -1,6 +1,15 @@ This file lists notable changes in each release. For the full history of all changes, see ChangeLog. +version 0.6.0: +- Fix warning in fprintd.pod file +- Reduce logging during normal operation +- Fix eventfd leak in PAM module +- List possible values for finger when enrolling +- Fix possible crash in fprintd-verify +- Fix listing and deleting fingerprints when there's more than + one reader available + version 0.5.1: - Add max_tries and timeout arguments to PAM module - Add ability to require the fingerprint for enrolled users diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/README new/fprintd-0.6.0/README --- old/fprintd-0.5.1/README 2013-06-26 13:09:41.000000000 +0200 +++ new/fprintd-0.6.0/README 2013-09-30 09:43:41.000000000 +0200 @@ -4,14 +4,13 @@ http://www.reactivated.net/fprint/wiki/Fprintd Daemon to offer libfprint functionality over D-Bus -Currently in early stages. Might eat your kangaroo. +Might eat your kangaroo. -Written in C. Requires bleeding edge libfprint (libusb-1.0 port). +Written in C. Licensed under the GPL version 2 or any later version (see COPYING). -An experimental PAM login module is included in the 'pam' directory. -This will be moved to a separate package once the system has matured. +A PAM login module is included in the 'pam' directory. API use cases ============= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/config.h.in new/fprintd-0.6.0/config.h.in --- old/fprintd-0.5.1/config.h.in 2013-08-11 18:21:35.000000000 +0200 +++ new/fprintd-0.6.0/config.h.in 2015-02-03 17:39:21.000000000 +0100 @@ -58,9 +58,6 @@ */ #undef LT_OBJDIR -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - /* Name of package */ #undef PACKAGE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/configure.ac new/fprintd-0.6.0/configure.ac --- old/fprintd-0.5.1/configure.ac 2013-08-11 18:20:34.000000000 +0200 +++ new/fprintd-0.6.0/configure.ac 2015-02-03 17:07:15.000000000 +0100 @@ -1,4 +1,4 @@ -AC_INIT([fprintd], [0.5.1]) +AC_INIT([fprintd], [0.6.0]) AM_INIT_AUTOMAKE([1.11 dist-xz no-dist-gzip check-news]) AC_CONFIG_SRCDIR([src/main.c]) AC_CONFIG_HEADERS([config.h]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/data/fprintd.pod new/fprintd-0.6.0/data/fprintd.pod --- old/fprintd-0.5.1/data/fprintd.pod 2013-06-26 13:10:17.000000000 +0200 +++ new/fprintd-0.6.0/data/fprintd.pod 2013-08-11 18:56:55.000000000 +0200 @@ -100,3 +100,6 @@ =over 8 =item B<dbus-daemon>, B<gnome-about-me> + +=back + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/gtk-doc.make new/fprintd-0.6.0/gtk-doc.make --- old/fprintd-0.5.1/gtk-doc.make 2013-08-11 17:56:10.000000000 +0200 +++ new/fprintd-0.6.0/gtk-doc.make 2015-02-03 16:36:33.000000000 +0100 @@ -49,9 +49,13 @@ $(DOC_MODULE)-undeclared.txt \ $(DOC_MODULE)-unused.txt -CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) +gtkdoc-check.test: Makefile + $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \ + echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \ + chmod +x $@ + +CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test -if ENABLE_GTK_DOC if GTK_DOC_BUILD_HTML HTML_BUILD_STAMP=html-build.stamp else @@ -63,9 +67,11 @@ PDF_BUILD_STAMP= endif -all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) -else -all-local: +all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) +.PHONY: all-gtk-doc + +if ENABLE_GTK_DOC +all-local: all-gtk-doc endif docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) @@ -74,33 +80,44 @@ #### setup #### +GTK_DOC_V_SETUP=$(GTK_DOC_V_SETUP_$(V)) +GTK_DOC_V_SETUP_=$(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_SETUP_0=@echo " DOC Preparing build"; + setup-build.stamp: - -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ - echo ' DOC Preparing build'; \ + -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \ if test "x$$files" != "x" ; then \ for file in $$files ; do \ + destdir=`dirname $(abs_builddir)/$$file` ;\ + test -d "$$destdir" || mkdir -p "$$destdir"; \ test -f $(abs_srcdir)/$$file && \ - cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \ + cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \ done; \ fi; \ test -d $(abs_srcdir)/tmpl && \ - { cp -rp $(abs_srcdir)/tmpl $(abs_builddir)/; \ + { cp -pR $(abs_srcdir)/tmpl $(abs_builddir)/; \ chmod -R u+w $(abs_builddir)/tmpl; } \ fi - @touch setup-build.stamp + $(AM_V_at)touch setup-build.stamp #### scan #### -scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) - @echo ' DOC Scanning header files' - @_source_dir='' ; \ +GTK_DOC_V_SCAN=$(GTK_DOC_V_SCAN_$(V)) +GTK_DOC_V_SCAN_=$(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_SCAN_0=@echo " DOC Scanning header files"; + +GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_$(V)) +GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_INTROSPECT_0=@echo " DOC Introspecting gobjects"; + +scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB) + $(GTK_DOC_V_SCAN)_source_dir='' ; \ for i in $(DOC_SOURCE_DIR) ; do \ _source_dir="$${_source_dir} --source-dir=$$i" ; \ done ; \ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) - @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \ - echo " DOC Introspecting gobjects"; \ + $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \ scanobj_options=""; \ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \ if test "$(?)" = "0"; then \ @@ -115,22 +132,25 @@ test -f $$i || touch $$i ; \ done \ fi - @touch scan-build.stamp + $(AM_V_at)touch scan-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp @true #### templates #### +GTK_DOC_V_TMPL=$(GTK_DOC_V_TMPL_$(V)) +GTK_DOC_V_TMPL_=$(GTK_DOC_V_TMPL_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_TMPL_0=@echo " DOC Rebuilding template files"; + tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt - @echo ' DOC Rebuilding template files' - @gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) - @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ + $(GTK_DOC_V_TMPL)gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) + $(AM_V_at)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ if test -w $(abs_srcdir) ; then \ - cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \ + cp -pR $(abs_builddir)/tmpl $(abs_srcdir)/; \ fi \ fi - @touch tmpl-build.stamp + $(AM_V_at)touch tmpl-build.stamp tmpl.stamp: tmpl-build.stamp @true @@ -140,26 +160,34 @@ #### xml #### +GTK_DOC_V_XML=$(GTK_DOC_V_XML_$(V)) +GTK_DOC_V_XML_=$(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_XML_0=@echo " DOC Building XML"; + sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files) - @echo ' DOC Building XML' - @-chmod -R u+w $(srcdir) - @_source_dir='' ; \ + -$(GTK_DOC_V_XML)chmod -R u+w $(srcdir) && _source_dir='' ; \ for i in $(DOC_SOURCE_DIR) ; do \ _source_dir="$${_source_dir} --source-dir=$$i" ; \ done ; \ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) - @touch sgml-build.stamp + $(AM_V_at)touch sgml-build.stamp sgml.stamp: sgml-build.stamp @true #### html #### +GTK_DOC_V_HTML=$(GTK_DOC_V_HTML_$(V)) +GTK_DOC_V_HTML_=$(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_HTML_0=@echo " DOC Building HTML"; + +GTK_DOC_V_XREF=$(GTK_DOC_V_XREF_$(V)) +GTK_DOC_V_XREF_=$(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_XREF_0=@echo " DOC Fixing cross-references"; + html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - @echo ' DOC Building HTML' - @rm -rf html - @mkdir html - @mkhtml_options=""; \ + $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \ + mkhtml_options=""; \ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \ if test "$(?)" = "0"; then \ if test "x$(V)" = "x1"; then \ @@ -180,16 +208,18 @@ cp $(abs_builddir)/$$file $(abs_builddir)/html; \ fi; \ done; - @echo ' DOC Fixing cross-references' - @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - @touch html-build.stamp + $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) + $(AM_V_at)touch html-build.stamp #### pdf #### +GTK_DOC_V_PDF=$(GTK_DOC_V_PDF_$(V)) +GTK_DOC_V_PDF_=$(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_PDF_0=@echo " DOC Building PDF"; + pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - @echo ' DOC Building PDF' - @rm -f $(DOC_MODULE).pdf - @mkpdf_options=""; \ + $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \ + mkpdf_options=""; \ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \ if test "$(?)" = "0"; then \ if test "x$(V)" = "x1"; then \ @@ -206,13 +236,16 @@ done; \ fi; \ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) - @touch pdf-build.stamp + $(AM_V_at)touch pdf-build.stamp ############## clean-local: @rm -f *~ *.bak @rm -rf .libs + @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \ + rm -f $(DOC_MODULE).types; \ + fi distclean-local: @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \ @@ -258,15 +291,17 @@ # # Require gtk-doc when making dist # -if ENABLE_GTK_DOC +if HAVE_GTK_DOC dist-check-gtkdoc: docs else dist-check-gtkdoc: - @echo "*** gtk-doc must be installed and enabled in order to make dist" + @echo "*** gtk-doc is needed to run 'make dist'. ***" + @echo "*** gtk-doc was not found when 'configure' ran. ***" + @echo "*** please install gtk-doc and rerun 'configure'. ***" @false endif -dist-hook: dist-check-gtkdoc dist-hook-local +dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local @mkdir $(distdir)/tmpl @mkdir $(distdir)/html @-cp ./tmpl/*.sgml $(distdir)/tmpl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/pam/pam_fprintd.c new/fprintd-0.6.0/pam/pam_fprintd.c --- old/fprintd-0.5.1/pam/pam_fprintd.c 2013-06-26 13:09:41.000000000 +0200 +++ new/fprintd-0.6.0/pam/pam_fprintd.c 2014-01-27 12:25:57.000000000 +0100 @@ -170,6 +170,17 @@ dbus_g_connection_unref (connection); } +static void unref_loop (GMainLoop *loop) +{ + GMainContext *ctx; + + /* The main context was created separately, so + * we'll need to unref it ourselves */ + ctx = g_main_loop_get_context (loop); + g_main_loop_unref (loop); + g_main_context_unref (ctx); +} + #define DBUS_TYPE_G_OBJECT_PATH_ARRAY (dbus_g_type_get_collection ("GPtrArray", DBUS_TYPE_G_OBJECT_PATH)) static DBusGProxy *open_device(pam_handle_t *pamh, DBusGConnection *connection, DBusGProxy *manager, const char *username, gboolean *has_multiple_devices) @@ -397,13 +408,13 @@ dev = open_device(pamh, connection, manager, username, &has_multiple_devices); g_object_unref (manager); if (!dev) { - g_main_loop_unref (loop); + unref_loop (loop); close_and_unref (connection); return PAM_AUTHINFO_UNAVAIL; } ret = do_verify(loop, pamh, dev, has_multiple_devices); - g_main_loop_unref (loop); + unref_loop (loop); release_device(pamh, dev); g_object_unref (dev); close_and_unref (connection); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/src/main.c new/fprintd-0.6.0/src/main.c --- old/fprintd-0.5.1/src/main.c 2013-06-26 13:09:41.000000000 +0200 +++ new/fprintd-0.6.0/src/main.c 2014-04-25 11:28:20.000000000 +0200 @@ -358,17 +358,17 @@ goto err; } - g_print("Launching FprintObject\n"); + g_debug("Launching FprintObject"); /* create the one instance of the Manager object to be shared between * all fprintd users */ manager = fprint_manager_new(no_timeout); - g_message("D-Bus service launched with name: %s", FPRINT_SERVICE_NAME); + g_debug("D-Bus service launched with name: %s", FPRINT_SERVICE_NAME); - g_message("entering main loop"); + g_debug("entering main loop"); g_main_loop_run(loop); - g_message("main loop completed"); + g_debug("main loop completed"); g_object_unref (manager); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/src/manager.c new/fprintd-0.6.0/src/manager.c --- old/fprintd-0.5.1/src/manager.c 2013-06-26 13:09:41.000000000 +0200 +++ new/fprintd-0.6.0/src/manager.c 2015-02-03 17:07:15.000000000 +0100 @@ -79,7 +79,6 @@ static gboolean fprint_manager_timeout_cb (FprintManager *manager) { - g_message ("No devices in use, exit"); //FIXME kill all the devices exit(0); return FALSE; @@ -160,15 +159,19 @@ GPtrArray **devices, GError **error) { FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (manager); - GSList *elem = priv->dev_registry; + GSList *elem = g_slist_reverse(g_slist_copy(priv->dev_registry)); + GSList *l; int num_open = g_slist_length(elem); GPtrArray *devs = g_ptr_array_sized_new(num_open); - if (num_open > 0) - do { - FprintDevice *rdev = elem->data; + if (num_open > 0) { + for (l = elem; l != NULL; l = l->next) { + FprintDevice *rdev = l->data; g_ptr_array_add(devs, get_device_path(rdev)); - } while ((elem = g_slist_next(elem)) != NULL); + } + } + + g_slist_free(elem); *devices = devs; return TRUE; @@ -182,7 +185,7 @@ int num_open = g_slist_length(elem); if (num_open > 0) { - *device = get_device_path (elem->data); + *device = get_device_path (g_slist_last (elem)->data); return TRUE; } else { g_set_error (error, FPRINT_ERROR, FPRINT_ERROR_NO_SUCH_DEVICE, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/tests/Makefile.am new/fprintd-0.6.0/tests/Makefile.am --- old/fprintd-0.5.1/tests/Makefile.am 2013-06-26 13:09:41.000000000 +0200 +++ new/fprintd-0.6.0/tests/Makefile.am 2014-02-18 18:24:14.000000000 +0100 @@ -9,7 +9,7 @@ fprintd_verify_LDADD = $(GLIB_LIBS) fprintd_enroll_SOURCES = enroll.c $(MARSHALFILES) -fprintd_enroll_CFLAGS = $(WARN_CFLAGS) $(GLIB_CFLAGS) +fprintd_enroll_CFLAGS = $(WARN_CFLAGS) $(GLIB_CFLAGS) -I$(top_srcdir)/pam fprintd_enroll_LDADD = $(GLIB_LIBS) fprintd_list_SOURCES = list.c diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/tests/delete.c new/fprintd-0.6.0/tests/delete.c --- old/fprintd-0.5.1/tests/delete.c 2013-06-26 13:09:41.000000000 +0200 +++ new/fprintd-0.6.0/tests/delete.c 2015-02-03 16:44:31.000000000 +0100 @@ -95,7 +95,7 @@ guint j; DBusGProxy *dev; - path = g_ptr_array_index(devices, 0); + path = g_ptr_array_index(devices, i); g_print("Using device %s\n", path); /* FIXME use for_name_owner?? */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/tests/enroll.c new/fprintd-0.6.0/tests/enroll.c --- old/fprintd-0.5.1/tests/enroll.c 2013-06-26 13:10:17.000000000 +0200 +++ new/fprintd-0.6.0/tests/enroll.c 2014-02-18 18:28:22.000000000 +0100 @@ -24,6 +24,10 @@ #include "device-dbus-glue.h" #include "marshal.h" +#define N_(x) x +#define TR(x) x +#include "fingerprint-strings.h" + static DBusGProxy *manager = NULL; static DBusGConnection *connection = NULL; static char *finger_name = "right-index-finger"; @@ -87,11 +91,35 @@ { GError *error = NULL; gboolean enroll_completed = FALSE; + gboolean found; + guint i; dbus_g_proxy_add_signal(dev, "EnrollStatus", G_TYPE_STRING, G_TYPE_BOOLEAN, NULL); dbus_g_proxy_connect_signal(dev, "EnrollStatus", G_CALLBACK(enroll_result), &enroll_completed, NULL); + found = FALSE; + for (i = 0; fingers[i].dbus_name != NULL; i++) { + if (g_strcmp0 (fingers[i].dbus_name, finger_name) == 0) { + found = TRUE; + break; + } + } + if (!found) { + GString *s; + + s = g_string_new (NULL); + g_string_append_printf (s, "Invalid finger name '%s'. Name must be one of ", finger_name); + for (i = 0; fingers[i].dbus_name != NULL; i++) { + g_string_append_printf (s, "%s", fingers[i].dbus_name); + if (fingers[i + 1].dbus_name != NULL) + g_string_append (s, ", "); + } + g_warning ("%s", s->str); + g_string_free (s, TRUE); + exit (1); + } + g_print("Enrolling %s finger.\n", finger_name); if (!net_reactivated_Fprint_Device_enroll_start(dev, finger_name, &error)) { g_print("EnrollStart failed: %s\n", error->message); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/tests/list.c new/fprintd-0.6.0/tests/list.c --- old/fprintd-0.5.1/tests/list.c 2013-06-26 13:09:41.000000000 +0200 +++ new/fprintd-0.6.0/tests/list.c 2015-02-03 16:44:31.000000000 +0100 @@ -111,7 +111,7 @@ guint j; DBusGProxy *dev; - path = g_ptr_array_index(devices, 0); + path = g_ptr_array_index(devices, i); g_print("Using device %s\n", path); /* FIXME use for_name_owner?? */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.5.1/tests/verify.c new/fprintd-0.6.0/tests/verify.c --- old/fprintd-0.5.1/tests/verify.c 2013-06-26 13:09:41.000000000 +0200 +++ new/fprintd-0.6.0/tests/verify.c 2014-11-02 16:33:29.000000000 +0100 @@ -27,7 +27,7 @@ static DBusGProxy *manager = NULL; static DBusGConnection *connection = NULL; -static char *finger_name = "any"; +static char *finger_name = NULL; static gboolean g_fatal_warnings = FALSE; static char **usernames = NULL; @@ -99,8 +99,10 @@ g_print(" - #%d: %s\n", i, fingers[i]); } - if (strcmp (finger_name, "any") == 0) - finger_name = fingers[0]; + if (finger_name == NULL || strcmp (finger_name, "any") == 0) { + g_free (finger_name); + finger_name = g_strdup (fingers[0]); + } g_strfreev (fingers); } -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org