diff -Nru fbautostart-2.71828182/aclocal.m4 fbautostart-2.718281828/aclocal.m4 --- fbautostart-2.71828182/aclocal.m4 2012-04-06 10:00:19.000000000 +0000 +++ fbautostart-2.718281828/aclocal.m4 2012-06-17 20:00:04.000000000 +0000 @@ -1,7 +1,8 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- +# generated automatically by aclocal 1.11.5 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, +# Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,18 +14,21 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, -[m4_warning([this file was generated for autoconf 2.68. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software +# Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been @@ -34,7 +38,7 @@ [am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.1], [], +m4_if([$1], [1.11.5], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -50,19 +54,21 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.1])dnl +[AM_AUTOMAKE_VERSION([1.11.5])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. @@ -144,14 +150,14 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -# Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, +# 2010, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 10 +# serial 12 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, @@ -191,6 +197,7 @@ # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -255,7 +262,7 @@ break fi ;; - msvisualcpp | msvcmsys) + msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. @@ -320,10 +327,13 @@ if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- @@ -545,12 +555,15 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation, +# Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. @@ -682,12 +695,15 @@ fi ]) -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, +# Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. @@ -710,13 +726,14 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software +# Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 4 +# serial 5 # _AM_MANGLE_OPTION(NAME) # ----------------------- @@ -724,13 +741,13 @@ [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) -# ------------------------------ +# -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- +# ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) @@ -806,12 +823,14 @@ fi AC_MSG_RESULT(yes)]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't @@ -834,13 +853,13 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. +# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 +# serial 3 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- @@ -849,13 +868,13 @@ AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- +# -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -877,10 +896,11 @@ # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) diff -Nru fbautostart-2.71828182/ChangeLog fbautostart-2.718281828/ChangeLog --- fbautostart-2.71828182/ChangeLog 2012-04-06 10:00:19.000000000 +0000 +++ fbautostart-2.718281828/ChangeLog 2012-06-17 19:59:15.000000000 +0000 @@ -1,3 +1,16 @@ +2012-06-17 Paul Tagliamonte + +* ERRATTUM: The fix was for gcc-4.7, not 2.7. + +* src/main.cc: Properly handle paths with a ":" in them (thanks for the +report, confluence!) - Related to bug #2 on GitHub. +* maintainer/*: New directory. This contains a properly set up XDG root to +use for some basic testing. Might come in handy later, so I've included it in +the git tree. +* src/xdg_parse.cc: Check for the key before attempting to insert - std::map +will fail to insert if the key already exists, we want to overwrite. +* Version bump to 2.718281828 + 2012-04-03 Paul Tagliamonte * src/main.cc: Including unistd.h, since we use both fork and execl diff -Nru fbautostart-2.71828182/config.h.in~ fbautostart-2.718281828/config.h.in~ --- fbautostart-2.71828182/config.h.in~ 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/config.h.in~ 2012-06-17 19:59:53.000000000 +0000 @@ -0,0 +1,25 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Version number of package */ +#undef VERSION diff -Nru fbautostart-2.71828182/configure fbautostart-2.718281828/configure --- fbautostart-2.71828182/configure 2012-04-06 10:00:19.000000000 +0000 +++ fbautostart-2.718281828/configure 2012-06-17 20:00:05.000000000 +0000 @@ -1,11 +1,9 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for fbautostart 2.71828182. +# Generated by GNU Autoconf 2.69 for fbautostart 2.718281828. # # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software -# Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -134,6 +132,31 @@ # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh @@ -167,7 +190,8 @@ else exitcode=1; echo positional parameters were not saved. fi -test x\$exitcode = x0 || exit 1" +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && @@ -211,21 +235,25 @@ if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - # Preserve -v and -x to the replacement shell. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; - esac - exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi if test x$as_have_required = xno; then : @@ -327,6 +355,14 @@ } # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -448,6 +484,10 @@ chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -482,16 +522,16 @@ # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -503,28 +543,8 @@ as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -556,8 +576,8 @@ # Identity of this package. PACKAGE_NAME='fbautostart' PACKAGE_TARNAME='fbautostart' -PACKAGE_VERSION='2.71828182' -PACKAGE_STRING='fbautostart 2.71828182' +PACKAGE_VERSION='2.718281828' +PACKAGE_STRING='fbautostart 2.718281828' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -570,6 +590,7 @@ am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE +am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE @@ -1113,8 +1134,6 @@ if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1200,7 +1219,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures fbautostart 2.71828182 to adapt to many kinds of systems. +\`configure' configures fbautostart 2.718281828 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1266,7 +1285,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of fbautostart 2.71828182:";; + short | recursive ) echo "Configuration of fbautostart 2.718281828:";; esac cat <<\_ACEOF @@ -1352,10 +1371,10 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -fbautostart configure 2.71828182 -generated by GNU Autoconf 2.68 +fbautostart configure 2.718281828 +generated by GNU Autoconf 2.69 -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1407,8 +1426,8 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by fbautostart $as_me 2.71828182, which was -generated by GNU Autoconf 2.68. Invocation command line was +It was created by fbautostart $as_me 2.718281828, which was +generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -1823,7 +1842,7 @@ # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. @@ -1992,7 +2011,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2032,7 +2051,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2083,7 +2102,7 @@ test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ @@ -2136,7 +2155,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2222,7 +2241,7 @@ # Define the identity of the package. PACKAGE='fbautostart' - VERSION='2.71828182' + VERSION='2.718281828' cat >>confdefs.h <<_ACEOF @@ -2252,11 +2271,11 @@ # We need awk for the "check" target. The system "awk" is bad on # some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' @@ -2293,7 +2312,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2337,7 +2356,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2823,6 +2842,7 @@ if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= @@ -2847,6 +2867,7 @@ # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -2906,7 +2927,7 @@ break fi ;; - msvisualcpp | msvcmsys) + msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. @@ -2980,7 +3001,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_regex_cmd="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3433,16 +3454,16 @@ # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -3502,28 +3523,16 @@ as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -3544,8 +3553,8 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by fbautostart $as_me 2.71828182, which was -generated by GNU Autoconf 2.68. Invocation command line was +This file was extended by fbautostart $as_me 2.718281828, which was +generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -3610,11 +3619,11 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -fbautostart config.status 2.71828182 -configured by $0, generated by GNU Autoconf 2.68, +fbautostart config.status 2.718281828 +configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -3705,7 +3714,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' diff -Nru fbautostart-2.71828182/configure.ac fbautostart-2.718281828/configure.ac --- fbautostart-2.71828182/configure.ac 2012-04-06 10:00:19.000000000 +0000 +++ fbautostart-2.718281828/configure.ac 2012-06-17 19:59:15.000000000 +0000 @@ -1,4 +1,4 @@ -AC_INIT([fbautostart], [2.71828182]) +AC_INIT([fbautostart], [2.718281828]) AM_INIT_AUTOMAKE([foreign subdir-objects]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_HEADERS([config.h]) # not even really needed diff -Nru fbautostart-2.71828182/debian/changelog fbautostart-2.718281828/debian/changelog --- fbautostart-2.71828182/debian/changelog 2012-04-06 18:20:42.000000000 +0000 +++ fbautostart-2.718281828/debian/changelog 2012-06-17 21:26:14.000000000 +0000 @@ -1,3 +1,14 @@ +fbautostart (2.718281828-1) UNRELEASED; urgency=low + + * New upstrem release fixes some bugs regarding paths with ":"s in them. + * Bump to compat 9, which adds in build-flag hardening. + * debian/copyright changes + - Fix a typo in the source URL + - Upstream has been using the Expat license. Correcting the d/copyright to + correctly note this. + + -- Paul Tagliamonte Sun, 17 Jun 2012 16:11:50 -0400 + fbautostart (2.71828182-1) unstable; urgency=low * New upstream release. Solves the FTBFS with gcc-4.7. Thanks, doko. diff -Nru fbautostart-2.71828182/debian/compat fbautostart-2.718281828/debian/compat --- fbautostart-2.71828182/debian/compat 2012-04-06 18:20:30.000000000 +0000 +++ fbautostart-2.718281828/debian/compat 2012-06-17 20:10:20.000000000 +0000 @@ -1 +1 @@ -7 +9 diff -Nru fbautostart-2.71828182/debian/control fbautostart-2.718281828/debian/control --- fbautostart-2.71828182/debian/control 2012-04-06 18:20:30.000000000 +0000 +++ fbautostart-2.718281828/debian/control 2012-06-17 20:10:20.000000000 +0000 @@ -2,7 +2,7 @@ Section: misc Priority: optional Maintainer: Paul Tagliamonte -Build-Depends: debhelper (>= 7.0.50~) +Build-Depends: debhelper (>= 9) Standards-Version: 3.9.3 Homepage: https://launchpad.net/fbautostart Vcs-Git: git://git.debian.org/collab-maint/fbautostart.git diff -Nru fbautostart-2.71828182/debian/copyright fbautostart-2.718281828/debian/copyright --- fbautostart-2.71828182/debian/copyright 2012-04-06 18:20:30.000000000 +0000 +++ fbautostart-2.718281828/debian/copyright 2012-06-17 20:10:20.000000000 +0000 @@ -1,32 +1,25 @@ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0 Upstream-Name: fbautostart Upstream-Contact: fluxbox maintainers -Source: hhttps://launchpad.net/fbautostart +Source: https://launchpad.net/fbautostart Files: * Copyright: 2010-2012, Paul Tagliamonte -License: BSD-3 - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - . - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - . - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. +License: Expat + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. diff -Nru fbautostart-2.71828182/debian/rules fbautostart-2.718281828/debian/rules --- fbautostart-2.71828182/debian/rules 2012-04-06 18:20:30.000000000 +0000 +++ fbautostart-2.718281828/debian/rules 2012-06-17 20:10:20.000000000 +0000 @@ -1,3 +1,4 @@ #!/usr/bin/make -f + %: dh $@ diff -Nru fbautostart-2.71828182/depcomp fbautostart-2.718281828/depcomp --- fbautostart-2.71828182/depcomp 2012-04-06 10:00:19.000000000 +0000 +++ fbautostart-2.718281828/depcomp 2012-06-17 20:00:05.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-03-27.16; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free -# Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, +# 2011, 2012 Free Software Foundation, Inc. # 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 @@ -28,7 +28,7 @@ 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*) @@ -40,11 +40,11 @@ Environment variables: depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. + tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . @@ -57,6 +57,12 @@ ;; esac +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' + if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 @@ -90,10 +96,24 @@ # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 - cygpath_u="sed s,\\\\\\\\,/,g" + cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations. + gccflag=-qmakedep=gcc,-MF + depmode=gcc +fi + case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what @@ -148,20 +168,21 @@ ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. +## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory + tr ' ' "$nl" < "$tmpdepfile" | +## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as -## well. +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -193,18 +214,15 @@ # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the + # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ + tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> "$depfile" + tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ + tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else @@ -216,10 +234,17 @@ rm -f "$tmpdepfile" ;; +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the + # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` @@ -249,12 +274,11 @@ test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then - # Each line is of the form `foo.o: dependent.h'. + # Each line is of the form 'foo.o: dependent.h'. # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. + # '$object: dependent.h' and one to simply 'dependent.h:'. sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile @@ -265,23 +289,26 @@ ;; icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'. + # However on + # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h - # which is wrong. We want: + # which is wrong. We want # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : + # and will wrap long lines using '\': # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... - + # tcc 0.9.26 (FIXME still under development at the moment of writing) + # will emit a similar output, but also prepend the continuation lines + # with horizontal tabulation characters. "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : @@ -290,15 +317,21 @@ exit $stat fi rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Each line is of the form 'foo.o: dependent.h', + # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'. # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" + # '$object: dependent.h' and one to simply 'dependent.h:'. + sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \ + < "$tmpdepfile" > "$depfile" + sed ' + s/[ '"$tab"'][ '"$tab"']*/ /g + s/^ *// + s/ *\\*$// + s/^[^:]*: *// + /^$/d + /:$/d + s/$/ :/ + ' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; @@ -334,7 +367,7 @@ done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. + # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// @@ -349,9 +382,9 @@ tru64) # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. + # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= @@ -397,14 +430,59 @@ done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test "$stat" = 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. @@ -422,7 +500,7 @@ shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -442,15 +520,14 @@ done test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' + # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ + tr ' ' "$nl" < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" @@ -503,9 +580,10 @@ touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" @@ -525,7 +603,7 @@ shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -594,8 +672,8 @@ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; diff -Nru fbautostart-2.71828182/doc/Makefile.am fbautostart-2.718281828/doc/Makefile.am --- fbautostart-2.71828182/doc/Makefile.am 2012-04-06 10:00:19.000000000 +0000 +++ fbautostart-2.718281828/doc/Makefile.am 2012-06-17 19:59:15.000000000 +0000 @@ -1,7 +1,7 @@ # doc/Makefile.am for Fluxbox 0.9 - an X11 Window manager # Makefile.am for fluxbox/doc -CLEANFILES = fbautostart.1 +CLEANFILES = fbautostart.1 man_MANS = fbautostart.1 EXTRA_DIST = fbautostart.1.in diff -Nru fbautostart-2.71828182/doc/Makefile.in fbautostart-2.718281828/doc/Makefile.in --- fbautostart-2.71828182/doc/Makefile.in 2012-04-06 10:00:19.000000000 +0000 +++ fbautostart-2.718281828/doc/Makefile.in 2012-06-17 20:00:05.000000000 +0000 @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.11.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -18,6 +18,23 @@ # doc/Makefile.am for Fluxbox 0.9 - an X11 Window manager # Makefile.am for fluxbox/doc VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -46,6 +63,11 @@ CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -67,6 +89,12 @@ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" NROFF = nroff @@ -156,7 +184,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -CLEANFILES = fbautostart.1 +CLEANFILES = fbautostart.1 man_MANS = fbautostart.1 EXTRA_DIST = fbautostart.1.in all: all-am @@ -194,11 +222,18 @@ $(am__aclocal_m4_deps): install-man1: $(man_MANS) @$(NORMAL_INSTALL) - test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" - @list=''; test -n "$(man1dir)" || exit 0; \ - { for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ + @list1=''; \ + list2='$(man_MANS)'; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ @@ -227,9 +262,7 @@ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - test -z "$$files" || { \ - echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } + dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) tags: TAGS TAGS: @@ -297,10 +330,15 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: diff -Nru fbautostart-2.71828182/HACKING fbautostart-2.718281828/HACKING --- fbautostart-2.71828182/HACKING 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/HACKING 2012-06-17 19:59:15.000000000 +0000 @@ -0,0 +1,233 @@ + + +Howdy, interested contributor, + +My name's Paul, and I've done some of the work designing and implementing this +particular bit of software. Since you're interested in hacking on this code, +I'd like to make a few things clear up front, so you don't end up hating me. + +Perhaps you'll still end up hating me, but at least it'll be informed hate. + +How it works +============ + +OK, so this code is actually a pretty novel class-based state machine. The code +may look to some like it's too spread-out (e.g. using "include magic" to drive +the logic), and perhaps that critisism has some merit, but the code's here, and +it's very maintainable. + +Why did I rebuild a state machine? + +You know, it's a good question. I'd not mind re-considering this, provided that +the new implementation is better. + +I don't see some of the other stuff maintainable or readable, so this was mostly +just a rejection of what I found. It's a CS101 topic, so I figured I'd be +able to implement something workable that's clean, clear and maintainable +without too much issue. + +If you think this is wrong, email me and let me know why. I'm seriously +interested. + +Alright, enough. So, how does it work? + +The code processes a stream of bytes, one char at a time. + + +-------+ +-------+ +---------+ +--------------+ + | bytes | ----> | logic | ----> | machine | ----> | (some state) | + +-------+ +-------+ +---------+ +--------------+ + +This means (to be clear) under *no* situations I've seen so far will accessing +a state directly from the logic be OK. All state interactions must pass through +the machine, since we must not depend on a state by name in the logic. That +logic is defined in the states themselves. + +State UML class diagram: + + +---------------------------+ + | state | + +---------------------------+ + | +leave_state(void) : void | + | +enter_state(void) : void | + | +process(char) : void | + +---------------------------+ + +`leave_state` is called when process has returned a state other then the current + state. This is a chance for you to finalize the logic without + having sloppy process code. + +`enter_state` is called when another state has triggered an entry to this state. + This is where you would init old data structures, etc. + +`process` handle a char, and deal with as one should. By raising an + exception (incomplete_process), you can "redirect" the char. + By changing the "xdg_machine_next_state" pointer, you will + trigger the enter / leave functions. + +Basic guideliens: + +States must only be aware of states that it transitions to (not even where +it's transitioning from), and must only interact with those states by setting +the correct machine pointer. + +The exception here is accessing another state's data structure. For instance, +in "value", we know that we must have only come from "key", and we really, +really need "key"'s data structure. In this case, using the symbols exported +in that state's .hh def is allowed. Try to keep this to a minimum, it makes +it very hard to keep some of it up to date, or swap out state implementations. + +Current impl: + + +-------------------------------------------------------------+ + | | + | +------------------------------------+-----+ | + | v | | | + | (entry) ---- "#" ----> (comment) ---- "\n" | | + | | \ ^ \ | | + | | \ \ + ---- "[" ----> (group) ---- "]" ---+ | + | | \ \ \------------------ "\n" --+ + | | \ +---------------------------------------- "\n" ------+ + | | \ | + | | + ---- [anything else] ----> (key) ---- "=" ----> (value) + | "=" | + | | "\n" + | | | + +-> (invalid) <------------------------------| + + +Yes, I relize this is *VERY* messy. It's not really something that lends it's +self to ascii art. Just start at "entry" and work from there. + +Code Style +========== + +My style is fairly straight forward. Just try to make code look like the rest +of the code. I know I sometimes violate my own rules, but the big stuff is +consistant. Try to maintain that, if you can. I'd be more then happy to help +give a bit of help if it's unclear. + +| +| int f = 1; +| int longvar = 2; +| std::string bar = "baz"; +| +| if ( f ) +| baz(); +| +| if ( foo == baz ) { /* This is a comment about this unclear bit +| of code, which should help with something */ +| baz_foo(); +| foo_baz(); +| } else { +| groble(); +| } +| + +"XXX:", "TODO:" and "FIXME:" are all valid task tags. Please use these when you +find something in the code that's not critical, not really worth a bug, but +should be fixed at some point. I tend to use "XXX:". + +Submitting code for review +========================== + +Gudelienes (I will always reject code because one of these is not right) +These are in no particular order. + + (1): Write a helpful git changelog entry. + + (2): Provide the code under terms compatable with the COPYRIGHT file. I prefer + Expat (since it's the license in the COPYRIGHT), but compatable licenses + are OK too. + + (3): Add yourself to AUTHORS on the *FIRST* commit. This is for my protection + and records as well as being a nice way for contributors to see their + name in the project. + + (4): Add yourself to the license header of each file you modify, along with + the date and a *valid* email. Do not change the license copyright block, + since the license you've choosen will be Expat compatable (see point 2), + since I'm not re-licensing my code. + + (5): If you add a change to the binary's invocation or logic that the user is + exposed to, please note the change in the manual page. + + (6): If you see you're out of date, please rebase rather then merge. It's a + few seconds of your time, and it helps keep the history clean. + + (7): Use a valid email throughout all the copyrights, etc. + +GitHub Pull Request + This method makes it really easy for me to keep track of incoming code in the + same tracker I use to maintain this project. As such, this is the way I + prefer to see code come in. Some advice (purely advice, this won't cause + me to kick code back) + + - Consider using branches to help break features and bugfixes into easy + to review and merge blocks. If some pull requests "depend" on others, + that's OK. Just let me know, and I'll do the dependency resolution. + + - File bugs early, if you mention you're working on a fix, I'll wait for + you to send your code in. I'd rather have a bug then not. + +Format Patch Series + This method is 100% fine, as it's the way we do patches in Fluxbox it's self. + This may also be helpful if you're not using GitHub for reasons such as it's + status as a free software project. Some advice (only advice, I won't reject + code that breaks the following rules) + + - Consider attaching format-patches as attachments to a "Hello!" email + where you describe what the series does, why it's something that's + important and any other feedback you have for me. If you decide to GPG + sign any of the mails, this is the one to do it on. + + - If you don't care for the above advice, git-send-email works fine too. + Just make sure you have extra-descriptive commit messages. + +General diff + I would rather not get a raw diff, but if you must, it's OK. With this, + please include your full name and email (or, rather, *a* full name & working + email) for me to commit the code as. If you'd rather not expose your email, + that's OK. Just let me know. I won't assume the mail address you sent me mail + with is that one that you'd like to make public (perhaps you use tags, public + accounts, etc), so I will ask if you don't include it. + + Some additional (and more strictly enforced) tips: + + - Be sure the patch applies aginst git head. + - Be sure the patch applies with -p1 + - Unified diff, please (try passing -Nuarp to diff) + + Some nice to do advice: + + - Feel free to add email (or http) style headers to the top of a patch + to serve as a "commit message" (see the exampe[1]) + + - Most of the time, this *will* be more complex then using git. Think really + hard about using git format-patch. It makes it a little harder on me, and + much harder for you. + +[1]: + From: Joe Hacker + Subject: Adding in "this is a test" to foo1. + + Adding in a little message :) + + diff -Nuarp bar/foo1 foo/foo1 + --- bar/foo1 1970-01-01 00:00:00.000000000 +0000 + +++ foo/foo1 2012-03-16 02:07:12.131507334 +0000 + @@ -0,0 +1 @@ + +This is a test + + +Thanks for reading, and thanks for considering contributing to fbautostart. +Feel free to get in touch with me by email, irc, jabber, reddit, twitter, +identi.ca, github, launchpad, or any other protocol you might happen to find +me on. + +Anyway, I know there's a lot here. Treat it like a ref-doc throughout +contributing to fbautostart. + +Hope this helps, + -- Paul + + diff -Nru fbautostart-2.71828182/install-sh fbautostart-2.718281828/install-sh --- fbautostart-2.71828182/install-sh 2012-04-06 10:00:19.000000000 +0000 +++ fbautostart-2.718281828/install-sh 2012-06-17 20:00:05.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2009-04-28.21; # UTC +scriptversion=2011-01-19.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -156,6 +156,10 @@ -s) stripcmd=$stripprog;; -t) dst_arg=$2 + # Protect names problematic for `test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac shift;; -T) no_target_directory=true;; @@ -186,6 +190,10 @@ fi shift # arg dst_arg=$arg + # Protect names problematic for `test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac done fi @@ -200,7 +208,11 @@ fi if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. @@ -228,9 +240,9 @@ for src do - # Protect names starting with `-'. + # Protect names problematic for `test' and other utilities. case $src in - -*) src=./$src;; + -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then @@ -252,12 +264,7 @@ echo "$0: no destination specified." >&2 exit 1 fi - dst=$dst_arg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst;; - esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. @@ -385,7 +392,7 @@ case $dstdir in /*) prefix='/';; - -*) prefix='./';; + [-=\(\)!]*) prefix='./';; *) prefix='';; esac @@ -403,7 +410,7 @@ for d do - test -z "$d" && continue + test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then diff -Nru fbautostart-2.71828182/maintainer/runtests fbautostart-2.718281828/maintainer/runtests --- fbautostart-2.71828182/maintainer/runtests 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/maintainer/runtests 2012-06-17 19:59:15.000000000 +0000 @@ -0,0 +1,53 @@ +#!/bin/bash + +CWD=`pwd` +TESTROOT=$CWD/testdirs +RUNROOT=$CWD/runroot + +if [ ! -d $RUNROOT ]; then + mkdir -p $RUNROOT +fi + +function assert { + if [ ! -e $1 ]; then + echo "ERROR! FILE DNE: $1" + exit 1 + fi + echo "$1 OK" +} +function assert_not { + if [ -e $1 ]; then + echo "ERROR! FILE EXISTS: $1" + exit 1 + fi + echo "$1 OK (DNE)" +} + +export XDG_CONFIG_HOME=$TESTROOT/testdirl1 +export XDG_CONFIG_DIRS=$TESTROOT/testdirg1:$TESTROOT/testdirg2:$TESTROOT/testdirg3 + +rm $RUNROOT/* +cd $RUNROOT + +fbautostart >/dev/null +sleep 1 + +for x in tdg1.1 tdg1.2 tdg2.1 tdg2.2 tdg3.1 tdg3.2 tdl1.1 tdl1.2; do + assert $x +done + +echo "Stage one OK" + +cd - + +rm $RUNROOT/* +cd $RUNROOT + +export XDG_CONFIG_HOME=$XDG_CONFIG_HOME:$TESTROOT/testdirl2 +fbautostart >/dev/null +sleep 1 + +assert_not tdg1.1 +assert_not tdg1.2 + +cd - diff -Nru fbautostart-2.71828182/maintainer/testdirs/testdirg1/autostart/tdl1-1.desktop fbautostart-2.718281828/maintainer/testdirs/testdirg1/autostart/tdl1-1.desktop --- fbautostart-2.71828182/maintainer/testdirs/testdirg1/autostart/tdl1-1.desktop 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/maintainer/testdirs/testdirg1/autostart/tdl1-1.desktop 2012-06-17 19:59:15.000000000 +0000 @@ -0,0 +1,3 @@ +[Desktop Entry] +Name=tdl1.1 +Exec=touch tdl1.1 diff -Nru fbautostart-2.71828182/maintainer/testdirs/testdirg1/autostart/tdl1-2.desktop fbautostart-2.718281828/maintainer/testdirs/testdirg1/autostart/tdl1-2.desktop --- fbautostart-2.71828182/maintainer/testdirs/testdirg1/autostart/tdl1-2.desktop 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/maintainer/testdirs/testdirg1/autostart/tdl1-2.desktop 2012-06-17 19:59:15.000000000 +0000 @@ -0,0 +1,3 @@ +[Desktop Entry] +Name=tdl1.2 +Exec=touch tdl1.2 diff -Nru fbautostart-2.71828182/maintainer/testdirs/testdirg2/autostart/tdg2-1.desktop fbautostart-2.718281828/maintainer/testdirs/testdirg2/autostart/tdg2-1.desktop --- fbautostart-2.71828182/maintainer/testdirs/testdirg2/autostart/tdg2-1.desktop 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/maintainer/testdirs/testdirg2/autostart/tdg2-1.desktop 2012-06-17 19:59:15.000000000 +0000 @@ -0,0 +1,3 @@ +[Desktop Entry] +Name=tdg2.1 +Exec=touch tdg2.1 diff -Nru fbautostart-2.71828182/maintainer/testdirs/testdirg2/autostart/tdg2-2.desktop fbautostart-2.718281828/maintainer/testdirs/testdirg2/autostart/tdg2-2.desktop --- fbautostart-2.71828182/maintainer/testdirs/testdirg2/autostart/tdg2-2.desktop 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/maintainer/testdirs/testdirg2/autostart/tdg2-2.desktop 2012-06-17 19:59:15.000000000 +0000 @@ -0,0 +1,3 @@ +[Desktop Entry] +Name=tdg2.2 +Exec=touch tdg2.2 diff -Nru fbautostart-2.71828182/maintainer/testdirs/testdirg3/autostart/tdg3-1.desktop fbautostart-2.718281828/maintainer/testdirs/testdirg3/autostart/tdg3-1.desktop --- fbautostart-2.71828182/maintainer/testdirs/testdirg3/autostart/tdg3-1.desktop 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/maintainer/testdirs/testdirg3/autostart/tdg3-1.desktop 2012-06-17 19:59:15.000000000 +0000 @@ -0,0 +1,3 @@ +[Desktop Entry] +Name=tdg3.1 +Exec=touch tdg3.1 diff -Nru fbautostart-2.71828182/maintainer/testdirs/testdirg3/autostart/tdg3-2.desktop fbautostart-2.718281828/maintainer/testdirs/testdirg3/autostart/tdg3-2.desktop --- fbautostart-2.71828182/maintainer/testdirs/testdirg3/autostart/tdg3-2.desktop 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/maintainer/testdirs/testdirg3/autostart/tdg3-2.desktop 2012-06-17 19:59:15.000000000 +0000 @@ -0,0 +1,3 @@ +[Desktop Entry] +Name=tdg3.2 +Exec=touch tdg3.2 diff -Nru fbautostart-2.71828182/maintainer/testdirs/testdirl1/autostart/tdg1-1.desktop fbautostart-2.718281828/maintainer/testdirs/testdirl1/autostart/tdg1-1.desktop --- fbautostart-2.71828182/maintainer/testdirs/testdirl1/autostart/tdg1-1.desktop 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/maintainer/testdirs/testdirl1/autostart/tdg1-1.desktop 2012-06-17 19:59:15.000000000 +0000 @@ -0,0 +1,3 @@ +[Desktop Entry] +Name=tdg1.1 +Exec=touch tdg1.1 diff -Nru fbautostart-2.71828182/maintainer/testdirs/testdirl1/autostart/tdg1-2.desktop fbautostart-2.718281828/maintainer/testdirs/testdirl1/autostart/tdg1-2.desktop --- fbautostart-2.71828182/maintainer/testdirs/testdirl1/autostart/tdg1-2.desktop 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/maintainer/testdirs/testdirl1/autostart/tdg1-2.desktop 2012-06-17 19:59:15.000000000 +0000 @@ -0,0 +1,3 @@ +[Desktop Entry] +Name=tdg1.2 +Exec=touch tdg1.2 diff -Nru fbautostart-2.71828182/maintainer/testdirs/testdirl2/autostart/tdg1-1.desktop fbautostart-2.718281828/maintainer/testdirs/testdirl2/autostart/tdg1-1.desktop --- fbautostart-2.71828182/maintainer/testdirs/testdirl2/autostart/tdg1-1.desktop 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/maintainer/testdirs/testdirl2/autostart/tdg1-1.desktop 2012-06-17 19:59:15.000000000 +0000 @@ -0,0 +1,3 @@ +[Desktop Entry] +Name=tdg1.1 +Exec=touch tdg1.1-fake diff -Nru fbautostart-2.71828182/maintainer/testdirs/testdirl2/autostart/tdg1-2.desktop fbautostart-2.718281828/maintainer/testdirs/testdirl2/autostart/tdg1-2.desktop --- fbautostart-2.71828182/maintainer/testdirs/testdirl2/autostart/tdg1-2.desktop 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/maintainer/testdirs/testdirl2/autostart/tdg1-2.desktop 2012-06-17 19:59:15.000000000 +0000 @@ -0,0 +1,3 @@ +[Desktop Entry] +Name=tdg1.2 +Exec=touch tdg1.2-fake diff -Nru fbautostart-2.71828182/maintainer/testdirs/testdirl2/autostart/tdl2-1.desktop fbautostart-2.718281828/maintainer/testdirs/testdirl2/autostart/tdl2-1.desktop --- fbautostart-2.71828182/maintainer/testdirs/testdirl2/autostart/tdl2-1.desktop 1970-01-01 00:00:00.000000000 +0000 +++ fbautostart-2.718281828/maintainer/testdirs/testdirl2/autostart/tdl2-1.desktop 2012-06-17 19:59:15.000000000 +0000 @@ -0,0 +1,3 @@ +[Desktop Entry] +Name=tdl2.1 +Exec=touch tdl2.1 diff -Nru fbautostart-2.71828182/Makefile.in fbautostart-2.718281828/Makefile.in --- fbautostart-2.71828182/Makefile.in 2012-04-06 10:00:19.000000000 +0000 +++ fbautostart-2.718281828/Makefile.in 2012-06-17 20:00:06.000000000 +0000 @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.11.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,6 +16,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -77,6 +94,11 @@ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ @@ -89,9 +111,11 @@ distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ @@ -120,6 +144,8 @@ DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -219,7 +245,7 @@ .SUFFIXES: .SUFFIXES: .cc .o .obj -am--refresh: +am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ @@ -255,10 +281,8 @@ $(am__aclocal_m4_deps): config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi + @if test ! -f $@; then rm -f stamp-h1; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 @@ -272,8 +296,11 @@ -rm -f config.h stamp-h1 install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ @@ -333,7 +360,7 @@ src/$(DEPDIR)/$(am__dirstamp) src/xdg_spec.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) -fbautostart$(EXEEXT): $(fbautostart_OBJECTS) $(fbautostart_DEPENDENCIES) +fbautostart$(EXEEXT): $(fbautostart_OBJECTS) $(fbautostart_DEPENDENCIES) $(EXTRA_fbautostart_DEPENDENCIES) @rm -f fbautostart$(EXEEXT) $(CXXLINK) $(fbautostart_OBJECTS) $(fbautostart_LDADD) $(LIBS) @@ -555,13 +582,10 @@ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ @@ -593,7 +617,11 @@ $(am__remove_distdir) dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__remove_distdir) dist-lzma: distdir @@ -601,7 +629,7 @@ $(am__remove_distdir) dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__remove_distdir) dist-tarZ: distdir @@ -632,6 +660,8 @@ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ @@ -651,6 +681,7 @@ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ @@ -679,8 +710,16 @@ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ @@ -714,10 +753,15 @@ installcheck: installcheck-recursive install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -809,11 +853,11 @@ .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-binPROGRAMS \ clean-generic ctags ctags-recursive dist dist-all dist-bzip2 \ - dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ - distcheck distclean distclean-compile distclean-generic \ - distclean-hdr distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-data \ + dist-gzip dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \ + dist-zip distcheck distclean distclean-compile \ + distclean-generic distclean-hdr distclean-tags distcleancheck \ + distdir distuninstallcheck dvi dvi-am html html-am info \ + info-am install install-am install-binPROGRAMS install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ diff -Nru fbautostart-2.71828182/missing fbautostart-2.718281828/missing --- fbautostart-2.71828182/missing 2012-04-06 10:00:19.000000000 +0000 +++ fbautostart-2.718281828/missing 2012-06-17 20:00:05.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-01-06.13; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. +# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -84,7 +84,6 @@ 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] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and @@ -122,15 +121,6 @@ # 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 - ;; - *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. @@ -226,7 +216,7 @@ \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` @@ -256,7 +246,7 @@ \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` @@ -318,41 +308,6 @@ 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. diff -Nru fbautostart-2.71828182/src/main.cc fbautostart-2.718281828/src/main.cc --- fbautostart-2.71828182/src/main.cc 2012-04-06 10:00:19.000000000 +0000 +++ fbautostart-2.718281828/src/main.cc 2012-06-17 19:59:15.000000000 +0000 @@ -21,11 +21,13 @@ */ #include -#include -#include +#include #include #include #include +#include +#include +#include #include #include @@ -85,6 +87,20 @@ } /** + * + */ +std::vector split_path( std::string input ) { + std::vector ret; + std::stringstream ss(input); + std::string word; + char delim = ':'; + while ( std::getline( ss, word, delim ) ) { + ret.push_back(word); + } + return ret; +} + +/** * pre exec routines, such as setup, setting the internal state and checks * * all of these should be safe to run more then once, and it should *always* @@ -96,7 +112,6 @@ void pre_exec() { const char * home = getenv("XDG_CONFIG_HOME"); const char * dirs = getenv("XDG_CONFIG_DIRS"); - const char * userhome = getenv("HOME"); const char * desktopenv = getenv("FBXDG_DE"); const char * execmodel = getenv("FBXDG_EXEC"); @@ -126,29 +141,22 @@ _xdg_default_global = dirs == blank ? _xdg_default_global : dirs; _xdg_default_local = home == blank ? _xdg_default_local : home; - _xdg_window_manager = desktopenv == blank ? _xdg_window_manager : desktopenv; + _xdg_window_manager = desktopenv == blank ? _xdg_window_manager : desktopenv; /* * If we have a env var, set them to the global prefs. */ - if ( strcmp(execmodel,"0") == 0 ) + if ( strcmp(execmodel,"0") == 0 ) { noexec = false; - else if ( strcmp(execmodel,"1") == 0 ) + } else if ( strcmp(execmodel,"1") == 0 ) { noexec = true; + } /* * Fuck this mess. Someone needs to clean this up to use true/false * and have it relate in a sane way. * XXX: Fixme */ - _xdg_default_global = fix_home_pathing( _xdg_default_global, userhome ); - _xdg_default_local = fix_home_pathing( _xdg_default_local, userhome ); - /* - * If the luser gives us (or we default to) a path with tlde in it, - * let's expand it to use $HOME to figure out where the real path actually - * is. - */ - std::cout << "" << std::endl; std::cout << "Hello! I'll be your friendly XDG Autostarter today." << std::endl; std::cout << "Here's what's on the menu:" << std::endl; @@ -203,15 +211,26 @@ } int main ( int argc, char ** argv ) { + const char * userhome = getenv("HOME"); + pre_exec(); /* pre_exec allows us to read goodies and set up the env for us. */ xdg_autostart_map binaries; /* the map of what stuff to start up or ignore or whatever. */ - parse_folder( &binaries, _xdg_default_global + "/autostart/" ); - parse_folder( &binaries, _xdg_default_local + "/autostart/" ); - /* Let's kick off the parse routines on the directories. */ + + std::vector global = split_path(_xdg_default_global); + std::vector local = split_path(_xdg_default_local); + + for ( unsigned int i = 0; i < global.size(); ++i ) { + std::string path = fix_home_pathing(global.at(i), userhome); + parse_folder( &binaries, path + "/autostart/" ); + } + for ( unsigned int i = 0; i < local.size(); ++i ) { + std::string path = fix_home_pathing(local.at(i), userhome); + parse_folder( &binaries, path + "/autostart/" ); + } std::cout << "" << std::endl; std::cout << "Finished parsing all files." << std::endl; diff -Nru fbautostart-2.71828182/src/xdg_parse.cc fbautostart-2.718281828/src/xdg_parse.cc --- fbautostart-2.71828182/src/xdg_parse.cc 2012-04-06 10:00:19.000000000 +0000 +++ fbautostart-2.718281828/src/xdg_parse.cc 2012-06-17 19:59:15.000000000 +0000 @@ -121,6 +121,10 @@ parse_file(folder + "/" + ent->d_name); xdg_autostart_pair r = xdg_autostart_last_parsed(); xdg_parsed_file.clear(); + xdg_autostart_map::iterator it = binaries->find(ent->d_name); + if ( it != binaries->end() ) { + binaries->erase(it); + } binaries->insert(xdg_autostart_pair(ent->d_name, r.second)); } catch ( parser_exception * ex ) { std::cerr << "Exception parsing " << ent->d_name << std::endl;