Hello community, here is the log from the commit of package libfprint for openSUSE:Factory checked in at 2013-10-07 08:31:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libfprint (Old) and /work/SRC/openSUSE:Factory/.libfprint.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libfprint" Changes: -------- --- /work/SRC/openSUSE:Factory/libfprint/libfprint.changes 2013-05-27 09:51:58.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libfprint.new/libfprint.changes 2013-10-07 08:31:22.000000000 +0200 @@ -1,0 +2,12 @@ +Sat Sep 21 08:15:27 UTC 2013 - [email protected] + +- Update to version 0.5.1: + + Add support for 147e:2020 to upeke2 driver + + Fix possible race condition, and cancellation in uru4000 driver + + Add Microsoft keyboard to the suspend blacklist + + Plenty of build fixes +- Adhere to https://en.opensuse.org/SourceUrls +- Rebased libfprint-install_examples.patch +- Removed libfprint-upeke2_add_147e_2020_id_support.patch as it is included now. + +------------------------------------------------------------------- @@ -19 +30,0 @@ - @@ -108,0 +120 @@ +------------------------------------------------------------------- Old: ---- libfprint-0.5.0.tar.xz libfprint-upeke2_add_147e_2020_id_support.patch New: ---- _service libfprint-0.5.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libfprint.spec ++++++ --- /var/tmp/diff_new_pack.8Vso6v/_old 2013-10-07 08:31:24.000000000 +0200 +++ /var/tmp/diff_new_pack.8Vso6v/_new 2013-10-07 08:31:24.000000000 +0200 @@ -18,15 +18,14 @@ Name: libfprint -Version: 0.5.0 +Version: 0.5.1 Release: 0 Summary: Library for fingerprint reader support License: LGPL-2.1+ Group: Development/Libraries/C and C++ Url: http://www.freedesktop.org/wiki/Software/fprint -Source0: %{name}-%{version}.tar.xz +Source0: http://freedesktop.org/~hadess/%{name}-%{version}.tar.xz Patch17: libfprint-upeke2_6stage.diff -Patch18: libfprint-upeke2_add_147e_2020_id_support.patch Patch21: libfprint-install_examples.patch Source99: baselibs.conf BuildRequires: automake @@ -34,6 +33,7 @@ # Needed for patch21 BuildRequires: libtool BuildRequires: pkg-config +BuildRequires: xz BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(libusb-1.0) @@ -82,11 +82,10 @@ %prep %setup -q %patch17 -%patch18 -p1 %patch21 %build -# Needed for patch21 +# Needed for patches autoreconf -fi %configure \ --enable-static=no \ ++++++ _service ++++++ <services> <service mode="localonly" name="download_files"/> </services>++++++ libfprint-0.5.0.tar.xz -> libfprint-0.5.1.tar.xz ++++++ ++++ 5441 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/libfprint-0.5.0/AUTHORS new/libfprint-0.5.1/AUTHORS --- old/libfprint-0.5.0/AUTHORS 2012-11-29 09:59:52.000000000 +0100 +++ new/libfprint-0.5.1/AUTHORS 2013-06-26 14:13:00.000000000 +0200 @@ -8,3 +8,4 @@ Copyright (C) 2007 Jan-Michael Brummer <[email protected]> Copyright (C) 2007 Anthony Bretaudeau <[email protected]> Copyright (C) 2010 Hugo Grostabussiat <[email protected]> +Copyright (C) 2012 Timo Teräs <[email protected]> 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/libfprint-0.5.0/ChangeLog new/libfprint-0.5.1/ChangeLog --- old/libfprint-0.5.0/ChangeLog 2012-12-03 16:28:33.000000000 +0100 +++ new/libfprint-0.5.1/ChangeLog 2013-08-11 17:53:53.000000000 +0200 @@ -1,3 +1,149 @@ +commit 9e2f8b5e754bf57fe0379428e7a382dacda165fe +Author: Bastien Nocera <[email protected]> +Date: Sun Aug 11 17:53:21 2013 +0200 + + 0.5.1 + +commit c14ebd8b636574cbe74aa05db0d0c1f6da9e2410 +Author: Bastien Nocera <[email protected]> +Date: Thu Jul 25 12:29:53 2013 +0200 + + Add MS keyboard to the suspend blacklist + + 045e:00bb isn't a stand-alone fingerprint reader, but a keyboard + with a reader integrated. + + https://bugs.freedesktop.org/show_bug.cgi?id=66659 + +commit a6339a30ef8abea6c4dc90acbc04c49c07906abe +Author: Bastien Nocera <[email protected]> +Date: Thu Jul 25 12:27:53 2013 +0200 + + Fix udev rules printing + + The blacklisted devices weren't correctly checked for past the first + item, as we weren't using the right index to get the product ID + from the ID table. + +commit f3dd55815ec1ef357e343ae1a810c6728d3ffd9a +Author: Bastien Nocera <[email protected]> +Date: Wed Jun 26 14:21:33 2013 +0200 + + lib: Use g_malloc0 instead of g_malloc+memset + +commit 6d65bfcf809d9b9be08027472ab1884c709d65c0 +Author: Patrick Marlier <[email protected]> +Date: Tue Dec 4 09:06:06 2012 +0100 + + lib: g_malloc never fails + + Or rather, it never returns errors and aborts instead if + memory cannot be allocated, so remove code that handled + failures. + + https://bugs.freedesktop.org/show_bug.cgi?id=57869 + +commit 1acd647b29c50b73d147ccb8c3530198ba44db70 +Author: Jeremy Bicha <[email protected]> +Date: Sat Apr 20 11:33:17 2013 -0400 + + build: Fix underlinking against glib + + https://bugs.freedesktop.org/show_bug.cgi?id=63755 + +commit 0e843ad6b36e370f9b7150a285a901075657cc8d +Author: Vasily Khoruzhick <[email protected]> +Date: Mon Feb 18 12:58:28 2013 +0300 + + build: fix autoreconf warnings + + Replace AC_LANG_PROGRAM with AC_LANG_SOURCE and INCLUDES with AM_CFLAGS to fix + autoreconf warnings + + https://bugs.freedesktop.org/show_bug.cgi?id=62748 + +commit 7eafca7babe40bc7dddd27ce9051b13b90ada021 +Author: Vasily Khoruzhick <[email protected]> +Date: Thu Jan 24 12:05:36 2013 +0300 + + build: glib-2.28 or newer is a requirement + + We're using g_slist_free_full which was introduced in glib-2.28 + + https://bugs.freedesktop.org/show_bug.cgi?id=59790 + +commit 3b3679c900f6739f7067f8d720e15d548bb39be9 +Author: Vasily Khoruzhick <[email protected]> +Date: Sun Jan 13 16:43:38 2013 +0300 + + upeke2: Add support for 147e:2020 ID + + https://bugs.freedesktop.org/show_bug.cgi?id=59320 + +commit 43eca622cd49b58c87157e1ff1a2fcfdfba0934e +Author: Vasily Khoruzhick <[email protected]> +Date: Sun Jan 13 16:42:13 2013 +0300 + + configure.ac: Use AC_CONFIG_HEADERS + + AM_CONFIG_HEADER is obsolete, use AC_CONFIG_HEADERS instead of it. + + https://bugs.freedesktop.org/show_bug.cgi?id=59320 + +commit 02509e10731b503b88ce0896ba6bb4c6c9e38679 +Author: Bastien Nocera <[email protected]> +Date: Mon Jan 7 12:36:45 2013 +0100 + + build: udev rules must be created when building from git + + https://bugs.freedesktop.org/show_bug.cgi?id=59076 + +commit 0b2d33c712d6917ed71068188788a258a4dce61e +Author: Timo Teräs <[email protected]> +Date: Mon Dec 3 09:57:25 2012 +0200 + + imgdev: fix cancelling of enrollment from stage_completed callback + + Re-check device state after fpi_drvcb_enroll_stage_completed(). + If enrollment was cancelled after non-completing stage, we must + not restart acquire as it would confuse the internal state machine. + + https://bugs.freedesktop.org/show_bug.cgi?id=57829 + +commit 7751fcb375f81796473074763625e7e948417b4e +Author: Timo Teräs <[email protected]> +Date: Mon Dec 3 09:59:30 2012 +0200 + + AUTHORS: Update + + https://bugs.freedesktop.org/show_bug.cgi?id=57829 + +commit 8a87ba448c62eb14fa51d70ce870dd10b67ba76b +Author: Timo Teräs <[email protected]> +Date: Mon Dec 3 09:51:27 2012 +0200 + + uru4000: fix cancelling of imaging from error callback + + Call error callback before resetting img_transfer to NULL. This + variable is internally used to detect if we are still in imaging + loop and the call to execute_state_change() needs to be postponed. + Since this is the final thing imaging_complete() we can't reset + img_transfer until just before this call. + + https://bugs.freedesktop.org/show_bug.cgi?id=57829 + +commit 7e1646c382bbd6dc21a167bf7f0e45afa5ea217e +Author: Timo Teräs <[email protected]> +Date: Tue Dec 4 10:50:30 2012 +0200 + + uru4000: fix race condition on waiting power up irq + + It can come before we finish reading the status register on some + cases. Arm the irq handler early, and fix the state machine to + handle early irq properly. + + https://bugs.freedesktop.org/show_bug.cgi?id=57834 + commit a5ec0b30e18275a4fae632c9382d01d5493d5dc6 Author: Bastien Nocera <[email protected]> Date: Mon Dec 3 16:16:41 2012 +0100 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/libfprint-0.5.0/NEWS new/libfprint-0.5.1/NEWS --- old/libfprint-0.5.0/NEWS 2012-12-03 16:28:00.000000000 +0100 +++ new/libfprint-0.5.1/NEWS 2013-08-11 17:53:10.000000000 +0200 @@ -1,6 +1,17 @@ This file lists notable changes in each release. For the full history of all changes, see ChangeLog. +2013-08-11: v0.5.1 release + +* Drivers + - Add support for 147e:2020 to upeke2 driver + - Fix possible race condition, and cancellation in uru4000 driver + +* Udev rules: + - Add Microsoft keyboard to the suspend blacklist + +* Plenty of build fixes + 2012-12-03: v0.5.0 release * Drivers: 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/libfprint-0.5.0/compile new/libfprint-0.5.1/compile --- old/libfprint-0.5.0/compile 2010-08-17 20:32:15.000000000 +0200 +++ new/libfprint-0.5.1/compile 2013-06-26 14:13:13.000000000 +0200 @@ -1,10 +1,9 @@ #! /bin/sh -# Wrapper for compilers which do not understand `-c -o'. +# Wrapper for compilers which do not understand '-c -o'. -scriptversion=2009-10-06.20; # UTC +scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software -# Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # Written by Tom Tromey <[email protected]>. # # This program is free software; you can redistribute it and/or modify @@ -29,21 +28,224 @@ # bugs to <[email protected]> or send patches to # <[email protected]>. +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + case $1 in '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] -Wrapper for compilers which do not understand `-c -o'. -Remove `-o dest.o' from ARGS, run PROGRAM with the remaining +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the -right script to run: please start by reading the file `INSTALL'. +right script to run: please start by reading the file 'INSTALL'. Report bugs to <[email protected]>. EOF @@ -53,11 +255,13 @@ echo "compile $scriptversion" exit $? ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; esac ofile= cfile= -eat= for arg do @@ -66,8 +270,8 @@ else case $1 in -o) - # configure might choose to run compile as `compile cc -o foo foo.c'. - # So we strip `-o arg' only if arg is an object. + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) @@ -94,10 +298,10 @@ done if test -z "$ofile" || test -z "$cfile"; then - # If no `-o' option was seen then we might have been invoked from a + # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no - # `.c' file was seen then we are probably linking. That is also + # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi @@ -106,7 +310,7 @@ cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. -# Note: use `[/\\:.-]' here to ensure that we don't use the same name +# Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d 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/libfprint-0.5.0/configure.ac new/libfprint-0.5.1/configure.ac --- old/libfprint-0.5.0/configure.ac 2012-12-03 16:28:00.000000000 +0100 +++ new/libfprint-0.5.1/configure.ac 2013-08-11 17:53:17.000000000 +0200 @@ -1,8 +1,8 @@ -AC_INIT([libfprint], [0.5.0]) +AC_INIT([libfprint], [0.5.1]) AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz check-news]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR([libfprint/core.c]) -AM_CONFIG_HEADER([config.h]) +AC_CONFIG_HEADERS([config.h]) # Enable silent build when available (Automake 1.11) m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) @@ -156,7 +156,7 @@ AC_SUBST(CRYPTO_CFLAGS) AC_SUBST(CRYPTO_LIBS) -PKG_CHECK_MODULES(GLIB, "glib-2.0") +PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.28]) AC_SUBST(GLIB_CFLAGS) AC_SUBST(GLIB_LIBS) @@ -173,6 +173,10 @@ [ENABLE_UDEV_RULES=yes]) dnl Default value AM_CONDITIONAL(ENABLE_UDEV_RULES, test x$ENABLE_UDEV_RULES = "xyes") +if test $ENABLE_UDEV_RULES = no && test -d .git/ ; then + AC_MSG_ERROR(--disable-udev-rules can only be used when building from tarballs) +fi + AC_ARG_WITH(udev-rules-dir, AS_HELP_STRING([--with-udev-rules-dir=DIR],[Installation path for udev rules @<:@auto@:>@]), [ac_with_udev_rules_dir=$withval], @@ -260,7 +264,7 @@ # Restore gnu89 inline semantics on gcc 4.3 and newer saved_cflags="$CFLAGS" CFLAGS="$CFLAGS -fgnu89-inline" -AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]), inline_cflags="-fgnu89-inline", inline_cflags="") +AC_COMPILE_IFELSE([AC_LANG_SOURCE([[]])], inline_cflags="-fgnu89-inline", inline_cflags="") CFLAGS="$saved_cflags" AC_DEFINE([API_EXPORTED], [__attribute__((visibility("default")))], [Default visibility]) 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/libfprint-0.5.0/examples/Makefile.am new/libfprint-0.5.1/examples/Makefile.am --- old/libfprint-0.5.0/examples/Makefile.am 2010-09-08 12:02:36.000000000 +0200 +++ new/libfprint-0.5.1/examples/Makefile.am 2013-06-26 14:13:21.000000000 +0200 @@ -1,4 +1,4 @@ -INCLUDES = -I$(top_srcdir) +AM_CFLAGS = -I$(top_srcdir) noinst_PROGRAMS = verify_live enroll verify img_capture cpp-test verify_live_SOURCES = verify_live.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/libfprint-0.5.0/libfprint/60-fprint-autosuspend.rules new/libfprint-0.5.1/libfprint/60-fprint-autosuspend.rules --- old/libfprint-0.5.0/libfprint/60-fprint-autosuspend.rules 2012-12-03 16:17:05.000000000 +0100 +++ new/libfprint-0.5.1/libfprint/60-fprint-autosuspend.rules 2013-08-11 17:54:01.000000000 +0200 @@ -1,5 +1,6 @@ # UPEK Eikon 2 SUBSYSTEM=="usb", ATTRS{idVendor}=="147e", ATTRS{idProduct}=="2016", ATTRS{dev}=="*", ATTR{power/control}="auto" +SUBSYSTEM=="usb", ATTRS{idVendor}=="147e", ATTRS{idProduct}=="2020", ATTRS{dev}=="*", ATTR{power/control}="auto" # AuthenTec AES4000 SUBSYSTEM=="usb", ATTRS{idVendor}=="08ff", ATTRS{idProduct}=="5501", ATTRS{dev}=="*", ATTR{power/control}="auto" @@ -13,7 +14,6 @@ SUBSYSTEM=="usb", ATTRS{idVendor}=="08ff", ATTRS{idProduct}=="2810", ATTRS{dev}=="*", ATTR{power/control}="auto" # Digital Persona U.are.U 4000/4000B/4500 -SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="00bb", ATTRS{dev}=="*", ATTR{power/control}="auto" SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="00bc", ATTRS{dev}=="*", ATTR{power/control}="auto" SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="00bd", ATTRS{dev}=="*", ATTR{power/control}="auto" SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="00ca", ATTRS{dev}=="*", ATTR{power/control}="auto" 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/libfprint-0.5.0/libfprint/Makefile.am new/libfprint-0.5.1/libfprint/Makefile.am --- old/libfprint-0.5.0/libfprint/Makefile.am 2012-12-03 15:36:25.000000000 +0100 +++ new/libfprint-0.5.1/libfprint/Makefile.am 2013-06-26 14:14:49.000000000 +0200 @@ -88,7 +88,7 @@ fprint_list_udev_rules_SOURCES = fprint-list-udev-rules.c fprint_list_udev_rules_CFLAGS = -fvisibility=hidden -I$(srcdir)/nbis/include $(LIBUSB_CFLAGS) $(GLIB_CFLAGS) $(IMAGEMAGICK_CFLAGS) $(CRYPTO_CFLAGS) $(AM_CFLAGS) -fprint_list_udev_rules_LDADD = $(builddir)/libfprint.la +fprint_list_udev_rules_LDADD = $(builddir)/libfprint.la $(GLIB_LIBS) udev_rules_DATA = 60-fprint-autosuspend.rules 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/libfprint-0.5.0/libfprint/data.c new/libfprint-0.5.1/libfprint/data.c --- old/libfprint-0.5.0/libfprint/data.c 2010-08-17 12:19:35.000000000 +0200 +++ new/libfprint-0.5.1/libfprint/data.c 2013-06-26 14:20:18.000000000 +0200 @@ -97,9 +97,8 @@ static struct fp_print_data *print_data_new(uint16_t driver_id, uint32_t devtype, enum fp_print_data_type type, size_t length) { - struct fp_print_data *data = g_malloc(sizeof(*data) + length); + struct fp_print_data *data = g_malloc0(sizeof(*data) + length); fp_dbg("length=%zd driver=%02x devtype=%04x", length, driver_id, devtype); - memset(data, 0, sizeof(*data)); data->driver_id = driver_id; data->devtype = devtype; data->type = type; 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/libfprint-0.5.0/libfprint/drivers/aes1660.c new/libfprint-0.5.1/libfprint/drivers/aes1660.c --- old/libfprint-0.5.0/libfprint/drivers/aes1660.c 2012-11-29 09:59:52.000000000 +0100 +++ new/libfprint-0.5.1/libfprint/drivers/aes1660.c 2013-06-26 14:18:24.000000000 +0200 @@ -48,16 +48,7 @@ } dev->priv = aesdev = g_malloc0(sizeof(struct aesX660_dev)); - if (!aesdev) - return -ENOMEM; - aesdev->buffer = g_malloc0(AES1660_FRAME_SIZE + AESX660_HEADER_SIZE); - if (!aesdev->buffer) { - g_free(aesdev); - dev->priv = NULL; - return -ENOMEM; - } - aesdev->h_scale_factor = SCALE_FACTOR; aesdev->init_seqs[0] = aes1660_init_1; aesdev->init_seqs_len[0] = array_n_elements(aes1660_init_1); 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/libfprint-0.5.0/libfprint/drivers/aes2550.c new/libfprint-0.5.1/libfprint/drivers/aes2550.c --- old/libfprint-0.5.0/libfprint/drivers/aes2550.c 2012-11-29 15:32:14.000000000 +0100 +++ new/libfprint-0.5.1/libfprint/drivers/aes2550.c 2013-06-26 14:18:24.000000000 +0200 @@ -215,10 +215,6 @@ fp_dbg("Bogus frame len: %.4x\n", len); } stripdata = g_malloc(FRAME_WIDTH * FRAME_HEIGHT / 2); /* 4 bits per pixel */ - if (!stripdata) { - fpi_ssm_mark_aborted(ssm, -ENOMEM); - return -ENOMEM; - } memcpy(stripdata, data + 33, FRAME_WIDTH * FRAME_HEIGHT / 2); aesdev->strips = g_slist_prepend(aesdev->strips, stripdata); aesdev->strips_len++; 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/libfprint-0.5.0/libfprint/drivers/aes2660.c new/libfprint-0.5.1/libfprint/drivers/aes2660.c --- old/libfprint-0.5.0/libfprint/drivers/aes2660.c 2012-11-29 09:59:52.000000000 +0100 +++ new/libfprint-0.5.1/libfprint/drivers/aes2660.c 2013-06-26 14:18:24.000000000 +0200 @@ -47,16 +47,7 @@ } dev->priv = aesdev = g_malloc0(sizeof(struct aesX660_dev)); - if (!aesdev) - return -ENOMEM; - aesdev->buffer = g_malloc0(AES2660_FRAME_SIZE + AESX660_HEADER_SIZE); - if (!aesdev->buffer) { - g_free(aesdev); - dev->priv = NULL; - return -ENOMEM; - } - /* No scaling for AES2660 */ aesdev->h_scale_factor = 1; aesdev->init_seqs[0] = aes2660_init_1; 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/libfprint-0.5.0/libfprint/drivers/aesx660.c new/libfprint-0.5.1/libfprint/drivers/aesx660.c --- old/libfprint-0.5.0/libfprint/drivers/aesx660.c 2012-11-29 09:59:52.000000000 +0100 +++ new/libfprint-0.5.1/libfprint/drivers/aesx660.c 2013-06-26 14:18:24.000000000 +0200 @@ -278,10 +278,6 @@ struct aesX660_dev *aesdev = dev->priv; stripdata = g_malloc(aesdev->frame_width * FRAME_HEIGHT / 2); /* 4 bits per pixel */ - if (!stripdata) { - fpi_ssm_mark_aborted(ssm, -ENOMEM); - return 1; - } fp_dbg("Processing frame %.2x %.2x", data[AESX660_IMAGE_OK_OFFSET], data[AESX660_LAST_FRAME_OFFSET]); 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/libfprint-0.5.0/libfprint/drivers/upeke2.c new/libfprint-0.5.1/libfprint/drivers/upeke2.c --- old/libfprint-0.5.0/libfprint/drivers/upeke2.c 2012-11-16 17:57:47.000000000 +0100 +++ new/libfprint-0.5.1/libfprint/drivers/upeke2.c 2013-06-26 14:13:00.000000000 +0200 @@ -46,6 +46,11 @@ #define MSG_READ_BUF_SIZE 0x40 #define MAX_DATA_IN_READ_BUF (MSG_READ_BUF_SIZE - 9) +enum { + UPEKE2_2016, + UPEKE2_2020, +}; + struct upeke2_dev { gboolean enroll_passed; gboolean first_verify_iteration; @@ -848,8 +853,10 @@ static int discover(struct libusb_device_descriptor *dsc, uint32_t *devtype) { - /* Revision 2 is what we're interested in */ - if (dsc->bcdDevice == 2) + if (dsc->idProduct == 0x2016 && dsc->bcdDevice == 2) + return 1; + + if (dsc->idProduct == 0x2020 && dsc->bcdDevice == 1) return 1; return 0; @@ -1453,7 +1460,8 @@ } static const struct usb_id id_table[] = { - { .vendor = 0x147e, .product = 0x2016 }, + { .vendor = 0x147e, .product = 0x2016, .driver_data = UPEKE2_2016 }, + { .vendor = 0x147e, .product = 0x2020, .driver_data = UPEKE2_2020 }, { 0, 0, 0, }, /* terminating entry */ }; 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/libfprint-0.5.0/libfprint/drivers/uru4000.c new/libfprint-0.5.1/libfprint/drivers/uru4000.c --- old/libfprint-0.5.0/libfprint/drivers/uru4000.c 2012-11-16 18:38:12.000000000 +0100 +++ new/libfprint-0.5.1/libfprint/drivers/uru4000.c 2013-06-26 14:13:00.000000000 +0200 @@ -789,15 +789,18 @@ int r = ssm->error; fpi_ssm_free(ssm); + /* Report error before exiting imaging loop - the error handler + * can request state change, which needs to be postponed to end of + * this function. */ + if (r) + fpi_imgdev_session_error(dev, r); + g_free(urudev->img_data); urudev->img_data = NULL; libusb_free_transfer(urudev->img_transfer); urudev->img_transfer = NULL; - if (r) - fpi_imgdev_session_error(dev, r); - r = execute_state_change(dev); if (r) fpi_imgdev_session_error(dev, r); @@ -994,16 +997,19 @@ uint16_t type, void *user_data) { struct fpi_ssm *ssm = user_data; + struct uru4k_dev *urudev = dev->priv; if (status) fpi_ssm_mark_aborted(ssm, status); else if (type != IRQDATA_SCANPWR_ON) fp_dbg("ignoring interrupt"); - else if (ssm->cur_state != INIT_AWAIT_SCAN_POWER) - fp_err("ignoring scanpwr interrupt due to being in wrong state %d", - ssm->cur_state); - else + else if (ssm->cur_state != INIT_AWAIT_SCAN_POWER) { + fp_dbg("early scanpwr interrupt"); + urudev->scanpwr_irq_timeouts = -1; + } else { + fp_dbg("late scanpwr interrupt"); fpi_ssm_next_state(ssm); + } } static void init_scanpwr_timeout(void *user_data) @@ -1053,14 +1059,21 @@ fpi_ssm_next_state(ssm); break; case INIT_POWERUP: ; + if (!IRQ_HANDLER_IS_RUNNING(urudev)) { + fpi_ssm_mark_aborted(ssm, -EIO); + break; + } + urudev->irq_cb_data = ssm; + urudev->irq_cb = init_scanpwr_irq_cb; + struct fpi_ssm *powerupsm = fpi_ssm_new(dev->dev, powerup_run_state, POWERUP_NUM_STATES); powerupsm->priv = dev; fpi_ssm_start_subsm(ssm, powerupsm); break; case INIT_AWAIT_SCAN_POWER: - if (!IRQ_HANDLER_IS_RUNNING(urudev)) { - fpi_ssm_mark_aborted(ssm, -EIO); + if (urudev->scanpwr_irq_timeouts < 0) { + fpi_ssm_next_state(ssm); break; } @@ -1073,13 +1086,12 @@ fpi_ssm_mark_aborted(ssm, -ETIME); break; } - - urudev->irq_cb_data = ssm; - urudev->irq_cb = init_scanpwr_irq_cb; break; case INIT_DONE: - fpi_timeout_cancel(urudev->scanpwr_irq_timeout); - urudev->scanpwr_irq_timeout = NULL; + if (urudev->scanpwr_irq_timeout) { + fpi_timeout_cancel(urudev->scanpwr_irq_timeout); + urudev->scanpwr_irq_timeout = NULL; + } urudev->irq_cb_data = NULL; urudev->irq_cb = NULL; fpi_ssm_next_state(ssm); 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/libfprint-0.5.0/libfprint/fprint-list-udev-rules.c new/libfprint-0.5.1/libfprint/fprint-list-udev-rules.c --- old/libfprint-0.5.0/libfprint/fprint-list-udev-rules.c 2012-08-28 21:01:58.000000000 +0200 +++ new/libfprint-0.5.1/libfprint/fprint-list-udev-rules.c 2013-07-25 12:29:47.000000000 +0200 @@ -30,6 +30,8 @@ static const struct usb_id blacklist_id_table[] = { { .vendor = 0x0483, .product = 0x2016 }, + /* https://bugs.freedesktop.org/show_bug.cgi?id=66659 */ + { .vendor = 0x045e, .product = 0x00bb }, { 0, 0, 0 }, }; @@ -52,7 +54,7 @@ blacklist = 0; for (j = 0; blacklist_id_table[j].vendor != 0; j++) { if (driver->id_table[i].vendor == blacklist_id_table[j].vendor && - driver->id_table[j].product == blacklist_id_table[j].product) { + driver->id_table[i].product == blacklist_id_table[j].product) { blacklist = 1; break; } 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/libfprint-0.5.0/libfprint/img.c new/libfprint-0.5.1/libfprint/img.c --- old/libfprint-0.5.0/libfprint/img.c 2012-11-06 09:26:17.000000000 +0100 +++ new/libfprint-0.5.1/libfprint/img.c 2013-06-26 14:21:06.000000000 +0200 @@ -47,8 +47,7 @@ struct fp_img *fpi_img_new(size_t length) { - struct fp_img *img = g_malloc(sizeof(*img) + length); - memset(img, 0, sizeof(*img)); + struct fp_img *img = g_malloc0(sizeof(*img) + length); fp_dbg("length=%zd", length); img->length = length; return img; 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/libfprint-0.5.0/libfprint/imgdev.c new/libfprint-0.5.1/libfprint/imgdev.c --- old/libfprint-0.5.0/libfprint/imgdev.c 2012-11-29 09:56:32.000000000 +0100 +++ new/libfprint-0.5.1/libfprint/imgdev.c 2013-06-26 14:13:00.000000000 +0200 @@ -145,7 +145,10 @@ case IMG_ACTION_ENROLL: fp_dbg("reporting enroll result"); fpi_drvcb_enroll_stage_completed(imgdev->dev, r, data, img); - if (r > 0 && r != FP_ENROLL_COMPLETE && r != FP_ENROLL_FAIL) { + /* the callback can cancel enrollment, so recheck current + * action and the status to see if retry is needed */ + if (imgdev->action == IMG_ACTION_ENROLL && + r > 0 && r != FP_ENROLL_COMPLETE && r != FP_ENROLL_FAIL) { imgdev->action_result = 0; imgdev->action_state = IMG_ACQUIRE_STATE_AWAIT_FINGER_ON; dev_change_state(imgdev, IMG_ACQUIRE_STATE_AWAIT_FINGER_ON); 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/libfprint-0.5.0/missing new/libfprint-0.5.1/missing --- old/libfprint-0.5.0/missing 2010-08-17 20:32:15.000000000 +0200 +++ new/libfprint-0.5.1/missing 2013-06-26 14:13:13.000000000 +0200 @@ -1,11 +1,10 @@ #! /bin/sh -# Common stub for a few missing GNU programs while installing. +# Common wrapper for a few potentially missing GNU programs. -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-06-26.16; # UTC -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard <[email protected]>, 1996. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard <[email protected]>, 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,69 +25,40 @@ # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "Try '$0 --help' for more information" exit 1 fi -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi +case $1 in -msg="missing on your system" + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. Send bug reports to <[email protected]>." exit $? @@ -100,272 +70,141 @@ ;; -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; - - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; +# Run the given program, remember its exit status. +"$@"; st=$? - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; +# If it succeeded, we are done. +test $st -eq 0 && exit 0 - autom4te*) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison*|yacc*) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar*) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi -exit 0 +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'automa4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) ++++++ libfprint-install_examples.patch ++++++ --- /var/tmp/diff_new_pack.8Vso6v/_old 2013-10-07 08:31:25.000000000 +0200 +++ /var/tmp/diff_new_pack.8Vso6v/_new 2013-10-07 08:31:25.000000000 +0200 @@ -3,7 +3,7 @@ --- examples/Makefile.am.orig +++ examples/Makefile.am @@ -1,5 +1,6 @@ - INCLUDES = -I$(top_srcdir) + AM_CFLAGS = -I$(top_srcdir) -noinst_PROGRAMS = verify_live enroll verify img_capture cpp-test +noinst_PROGRAMS = cpp-test +bin_PROGRAMS = verify_live enroll verify img_capture -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
