Hello community, here is the log from the commit of package i3lock for openSUSE:Factory checked in at 2020-06-07 21:37:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/i3lock (Old) and /work/SRC/openSUSE:Factory/.i3lock.new.3606 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "i3lock" Sun Jun 7 21:37:15 2020 rev:17 rq:812068 version:2.12 Changes: -------- --- /work/SRC/openSUSE:Factory/i3lock/i3lock.changes 2020-02-04 19:56:04.621416918 +0100 +++ /work/SRC/openSUSE:Factory/.i3lock.new.3606/i3lock.changes 2020-06-07 21:37:54.005370550 +0200 @@ -1,0 +2,14 @@ +Sat Jun 6 11:57:02 UTC 2020 - Matthias Eliasson <eli...@opensuse.org> + +- update to 2.12 + * remove stray \n from error messages + * capitalize unlock indicator contents + * set WM_CLASS property + * reference modifier as “Super”, not “Win” + * add --raw option to read image as raw bytes +- run spec-cleaner + * Remove Gropus +- add patch 0001-unlock_indicator.c-fix-build-failure-against-gcc-10.patch + to fix builds with gcc10 + +------------------------------------------------------------------- Old: ---- i3lock-2.11.1.tar.bz2 New: ---- 0001-unlock_indicator.c-fix-build-failure-against-gcc-10.patch i3lock-2.12.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ i3lock.spec ++++++ --- /var/tmp/diff_new_pack.Mg80Oa/_old 2020-06-07 21:37:54.809373099 +0200 +++ /var/tmp/diff_new_pack.Mg80Oa/_new 2020-06-07 21:37:54.809373099 +0200 @@ -20,16 +20,17 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ Name: i3lock -Version: 2.11.1 +Version: 2.12 Release: 0 Summary: Screen Locker for the i3 Window Manager License: BSD-3-Clause -Group: System/GUI/Other URL: https://i3wm.org/i3lock/ Source: https://i3wm.org/i3lock/%{name}-%{version}.tar.bz2 # borrowed from gnome-icon-theme Source2: i3lock-icon.png Source3: xlock.sh +# PATCH-FIX-UPSTREAM 0001-unlock_indicator.c-fix-build-failure-against-gcc-10.patch gh#i3/i3lock#259 +Patch0: 0001-unlock_indicator.c-fix-build-failure-against-gcc-10.patch BuildRequires: gcc BuildRequires: glibc-devel BuildRequires: make @@ -50,7 +51,6 @@ %package xlock-compat Summary: Xlock-compatibility script which calls i3lock -Group: System/GUI/Other Requires: ImageMagick Requires: xdpyinfo Conflicts: xlockmore @@ -61,12 +61,12 @@ i3lock instead of xlock with them. %prep -%setup -q +%autosetup -p 1 %build %configure export CFLAGS="%{optflags}" -make %{?_smp_mflags} +%make_build %install %make_install ++++++ 0001-unlock_indicator.c-fix-build-failure-against-gcc-10.patch ++++++ >From 3daf34bb03841f8e201ceb14b7124945d4c18bb8 Mon Sep 17 00:00:00 2001 From: Jeroen Roovers <j...@gentoo.org> Date: Sat, 25 Jan 2020 11:28:36 +0000 Subject: [PATCH] unlock_indicator.c: fix build failure against gcc-10 On gcc-10 (and gcc-9 -fno-common) build fails as: ``` CCLD i3lock ld: i3lock-unlock_indicator.o:i3lock/unlock_indicator.c:38: multiple definition of `input_position'; i3lock-i3lock.o:i3lock/i3lock.c:69: first defined here ld: i3lock-unlock_indicator.o:(.bss+0x102): multiple definition of `__odr_asan.input_position'; i3lock-i3lock.o:(.bss+0x92b): first defined here ``` gcc-10 will change the default from -fcommon to fno-common: https://gcc.gnu.org/PR85678. The error also happens if CFLAGS=-fno-common passed explicitly. Reported-by: Hans de Graaff Bug: https://bugs.gentoo.org/706286 Signed-off-by: Sergei Trofimovich <sly...@gentoo.org> --- unlock_indicator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unlock_indicator.c b/unlock_indicator.c index 8ff8173..d6237ed 100644 --- a/unlock_indicator.c +++ b/unlock_indicator.c @@ -35,7 +35,7 @@ extern bool debug_mode; /* The current position in the input buffer. Useful to determine if any * characters of the password have already been entered or not. */ -int input_position; +extern int input_position; /* The lock window. */ extern xcb_window_t win; ++++++ i3lock-2.11.1.tar.bz2 -> i3lock-2.12.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/CHANGELOG new/i3lock-2.12/CHANGELOG --- old/i3lock-2.11.1/CHANGELOG 2018-10-18 08:27:19.000000000 +0200 +++ new/i3lock-2.12/CHANGELOG 2019-07-21 11:14:54.000000000 +0200 @@ -1,3 +1,11 @@ +2019-07-21 i3lock 2.12 + + • remove stray \n from error messages + • capitalize unlock indicator contents + • set WM_CLASS property + • reference modifier as “Super”, not “Win” + • add --raw option to read image as raw bytes + 2018-10-18 i3lock 2.11.1 • Fix dist tarball by including I3LOCK_VERSION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/I3LOCK_VERSION new/i3lock-2.12/I3LOCK_VERSION --- old/i3lock-2.11.1/I3LOCK_VERSION 2018-10-18 08:36:58.000000000 +0200 +++ new/i3lock-2.12/I3LOCK_VERSION 2019-07-21 11:15:20.000000000 +0200 @@ -1 +1 @@ -2.11.1 +2.12 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/Makefile.in new/i3lock-2.12/Makefile.in --- old/i3lock-2.11.1/Makefile.in 2018-10-18 08:37:05.000000000 +0200 +++ new/i3lock-2.12/Makefile.in 2019-07-21 11:15:25.000000000 +0200 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -143,7 +143,11 @@ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/i3lock-dpi.Po \ + ./$(DEPDIR)/i3lock-i3lock.Po ./$(DEPDIR)/i3lock-randr.Po \ + ./$(DEPDIR)/i3lock-unlock_indicator.Po \ + ./$(DEPDIR)/i3lock-xcb.Po am__mv = mv -f AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -451,8 +455,8 @@ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -531,11 +535,17 @@ distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i3lock-dpi.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i3lock-i3lock.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i3lock-randr.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i3lock-unlock_indicator.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i3lock-xcb.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i3lock-dpi.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i3lock-i3lock.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i3lock-randr.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i3lock-unlock_indicator.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i3lock-xcb.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @@ -744,7 +754,10 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @@ -949,7 +962,11 @@ distclean: distclean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/i3lock-dpi.Po + -rm -f ./$(DEPDIR)/i3lock-i3lock.Po + -rm -f ./$(DEPDIR)/i3lock-randr.Po + -rm -f ./$(DEPDIR)/i3lock-unlock_indicator.Po + -rm -f ./$(DEPDIR)/i3lock-xcb.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-tags @@ -997,7 +1014,11 @@ maintainer-clean: maintainer-clean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/i3lock-dpi.Po + -rm -f ./$(DEPDIR)/i3lock-i3lock.Po + -rm -f ./$(DEPDIR)/i3lock-randr.Po + -rm -f ./$(DEPDIR)/i3lock-unlock_indicator.Po + -rm -f ./$(DEPDIR)/i3lock-xcb.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -1019,9 +1040,9 @@ .MAKE: all install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am am--refresh check check-am clean \ - clean-binPROGRAMS clean-cscope clean-generic cscope \ - cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles am--refresh check \ + check-am clean clean-binPROGRAMS clean-cscope clean-generic \ + cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ distcheck distclean distclean-compile distclean-generic \ distclean-hdr distclean-tags distcleancheck distdir \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/README.md new/i3lock-2.12/README.md --- old/i3lock-2.11.1/README.md 2018-01-10 09:36:42.000000000 +0100 +++ new/i3lock-2.12/README.md 2019-05-11 09:55:23.000000000 +0200 @@ -1,8 +1,8 @@ i3lock - improved screen locker =============================== -i3lock is a simple screen locker like slock. After starting it, you will -see a white screen (you can configure the color/an image). You can return -to your screen by entering your password. +[i3lock](https://i3wm.org/i3lock/)> is a simple screen locker like slock. +After starting it, you will see a white screen (you can configure the +color/an image). You can return to your screen by entering your password. Many little improvements have been made to i3lock over time: @@ -18,6 +18,11 @@ - i3lock uses PAM and therefore is compatible with LDAP etc. On OpenBSD i3lock uses the bsd_auth(3) framework. +Install +------- + +See [the i3lock home page](https://i3wm.org/i3lock/). + Requirements ------------ - pkg-config @@ -41,6 +46,27 @@ On OpenBSD the `i3lock` binary needs to be setgid `auth` to call the authentication helpers, e.g. `/usr/libexec/auth/login_passwd`. +Building i3lock +--------------- +We recommend you use the provided package from your distribution. Do not build +i3lock unless you have a reason to do so. + +First install the dependencies listed in requirements section, then run these +commands (might need to be adapted to your OS): +``` +autoreconf --force --install + +rm -rf build/ +mkdir -p build && cd build/ + +../configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-sanitizers + +make +``` + Upstream -------- Please submit pull requests to https://github.com/i3/i3lock diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/aclocal.m4 new/i3lock-2.12/aclocal.m4 --- old/i3lock-2.11.1/aclocal.m4 2018-10-18 08:37:04.000000000 +0200 +++ new/i3lock-2.12/aclocal.m4 2019-07-21 11:15:24.000000000 +0200 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15.1 -*- Autoconf -*- +# generated automatically by aclocal 1.16.1 -*- Autoconf -*- -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -296,7 +296,7 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR -# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -308,10 +308,10 @@ # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.15' +[am__api_version='1.16' 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.15.1], [], +m4_if([$1], [1.16.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -327,12 +327,12 @@ # 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.15.1])dnl +[AM_AUTOMAKE_VERSION([1.16.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -# Copyright (C) 2011-2017 Free Software Foundation, Inc. +# Copyright (C) 2011-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -394,7 +394,7 @@ # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -446,7 +446,7 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2017 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -477,7 +477,7 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -668,13 +668,12 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 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. - # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], @@ -682,49 +681,41 @@ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + AS_CASE([$CONFIG_FILES], + [*\'*], [eval set x "$CONFIG_FILES"], + [*], [set x $CONFIG_FILES]) shift - for mf + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf do # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line + am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`AS_DIRNAME(["$am_mf"])` + am_filepart=`AS_BASENAME(["$am_mf"])` + AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) || am_rc=$? done + if test $am_rc -ne 0; then + AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking).]) + fi + AS_UNSET([am_dirpart]) + AS_UNSET([am_filepart]) + AS_UNSET([am_mf]) + AS_UNSET([am_rc]) + rm -f conftest-deps.mk } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS @@ -733,18 +724,17 @@ # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. +# This code is only required when automatic dependency tracking is enabled. +# This creates each '.Po' and '.Plo' makefile fragment that we'll need in +# order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) + [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -831,8 +821,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: -# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> -# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. @@ -899,7 +889,7 @@ Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: <http://www.gnu.org/software/coreutils/>. +that behaves properly: <https://www.gnu.org/software/coreutils/>. If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM @@ -941,7 +931,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -962,7 +952,7 @@ fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2017 Free Software Foundation, Inc. +# Copyright (C) 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -984,7 +974,7 @@ # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1019,7 +1009,7 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1027,49 +1017,42 @@ # AM_MAKE_INCLUDE() # ----------------- -# Check to see how make treats includes. +# Check whether make has an 'include' directive that can support all +# the idioms we need for our automatic dependency tracking code. AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' +[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) +cat > confinc.mk << 'END' am__doit: - @echo this is the am__doit target + @echo this is the am__doit target >confinc.out .PHONY: am__doit END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) + AS_CASE([$?:`cat confinc.out 2>/dev/null`], + ['0:this is the am__doit target'], + [AS_CASE([$s], + [BSD], [am__include='.include' am__quote='"'], + [am__include='include' am__quote=''])]) + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +AC_MSG_RESULT([${_am_result}]) +AC_SUBST([am__include])]) +AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2017 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1108,7 +1091,7 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1137,7 +1120,7 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1184,7 +1167,7 @@ # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1203,7 +1186,7 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1284,7 +1267,7 @@ rm -f conftest.file ]) -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1344,7 +1327,7 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1372,7 +1355,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2017 Free Software Foundation, Inc. +# Copyright (C) 2006-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1391,7 +1374,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2017 Free Software Foundation, Inc. +# Copyright (C) 2004-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/ar-lib new/i3lock-2.12/ar-lib --- old/i3lock-2.11.1/ar-lib 2018-10-18 08:37:05.000000000 +0200 +++ new/i3lock-2.12/ar-lib 2019-07-21 11:15:25.000000000 +0200 @@ -4,7 +4,7 @@ me=ar-lib scriptversion=2012-03-01.08; # UTC -# Copyright (C) 2010-2017 Free Software Foundation, Inc. +# Copyright (C) 2010-2018 Free Software Foundation, Inc. # Written by Peter Rosin <p...@lysator.liu.se>. # # This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/compile new/i3lock-2.12/compile --- old/i3lock-2.11.1/compile 2018-10-18 08:37:05.000000000 +0200 +++ new/i3lock-2.12/compile 2019-07-21 11:15:25.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -255,7 +255,8 @@ echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -339,9 +340,9 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/configure new/i3lock-2.12/configure --- old/i3lock-2.11.1/configure 2018-10-18 08:37:04.000000000 +0200 +++ new/i3lock-2.12/configure 2019-07-21 11:15:25.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for i3lock 2.10. +# Generated by GNU Autoconf 2.69 for i3lock 2.12. # # Report bugs to <https://github.com/i3/i3lock/issues>. # @@ -580,8 +580,8 @@ # Identity of this package. PACKAGE_NAME='i3lock' PACKAGE_TARNAME='i3lock' -PACKAGE_VERSION='2.10' -PACKAGE_STRING='i3lock 2.10' +PACKAGE_VERSION='2.12' +PACKAGE_STRING='i3lock 2.12' PACKAGE_BUGREPORT='https://github.com/i3/i3lock/issues' PACKAGE_URL='' @@ -656,7 +656,6 @@ AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE -am__quote am__include DEPDIR OBJEXT @@ -762,7 +761,8 @@ PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR -SHELL' +SHELL +am__quote' ac_subst_files='' ac_user_opts=' enable_option_checking @@ -1352,7 +1352,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 i3lock 2.10 to adapt to many kinds of systems. +\`configure' configures i3lock 2.12 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1424,7 +1424,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of i3lock 2.10:";; + short | recursive ) echo "Configuration of i3lock 2.12:";; esac cat <<\_ACEOF @@ -1561,7 +1561,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -i3lock configure 2.10 +i3lock configure 2.12 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1984,7 +1984,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by i3lock $as_me 2.10, which was +It was created by i3lock $as_me 2.12, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2576,7 +2576,7 @@ ax_enable_builddir_auxdir="$am_aux_dir" ac_config_commands="$ac_config_commands buildir" -am__api_version='1.15' +am__api_version='1.16' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -3059,7 +3059,7 @@ # Define the identity of the package. PACKAGE='i3lock' - VERSION='2.10' + VERSION='2.12' cat >>confdefs.h <<_ACEOF @@ -3089,8 +3089,8 @@ # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: -# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> -# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The @@ -3141,7 +3141,7 @@ Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: <http://www.gnu.org/software/coreutils/>. +that behaves properly: <https://www.gnu.org/software/coreutils/>. If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM @@ -3919,45 +3919,45 @@ ac_config_commands="$ac_config_commands depfiles" - -am_make=${MAKE-make} -cat > confinc << 'END' +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' am__doit: - @echo this is the am__doit target + @echo this is the am__doit target >confinc.out .PHONY: am__doit END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in #( + '0:this is the am__doit target') : + case $s in #( + BSD) : + am__include='.include' am__quote='"' ;; #( + *) : + am__include='include' am__quote='' ;; +esac ;; #( + *) : ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +$as_echo "${_am_result}" >&6; } # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : @@ -9013,7 +9013,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by i3lock $as_me 2.10, which was +This file was extended by i3lock $as_me 2.12, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -9079,7 +9079,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -i3lock config.status 2.10 +i3lock config.status 2.12 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -9206,7 +9206,7 @@ ax_enable_builddir_sed="$ax_enable_builddir_sed" # $SED ax_enable_builddir="$ax_enable_builddir" # $SUB -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" _ACEOF @@ -9963,29 +9963,35 @@ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + case $CONFIG_FILES in #( + *\'*) : + eval set x "$CONFIG_FILES" ;; #( + *) : + set x $CONFIG_FILES ;; #( + *) : + ;; +esac shift - for mf + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf do # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line + am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -10003,53 +10009,48 @@ q } s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } - /^X\(\/\/\)$/{ + /^X\/\(\/\/\)$/{ s//\1/ q } - /^X\(\/\).*/{ + /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? done + if test $am_rc -ne 0; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk } ;; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/configure.ac new/i3lock-2.12/configure.ac --- old/i3lock-2.11.1/configure.ac 2018-10-10 18:11:44.000000000 +0200 +++ new/i3lock-2.12/configure.ac 2019-07-21 11:14:54.000000000 +0200 @@ -2,7 +2,7 @@ # Run autoreconf -fi to generate a configure script from this file. AC_PREREQ([2.69]) -AC_INIT([i3lock], [2.10], [https://github.com/i3/i3lock/issues]) +AC_INIT([i3lock], [2.12], [https://github.com/i3/i3lock/issues]) # For AX_EXTEND_SRCDIR AX_ENABLE_BUILDDIR AM_INIT_AUTOMAKE([foreign subdir-objects -Wall no-dist-gzip dist-bzip2]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/depcomp new/i3lock-2.12/depcomp --- old/i3lock-2.11.1/depcomp 2018-10-18 08:37:05.000000000 +0200 +++ new/i3lock-2.12/depcomp 2019-07-21 11:15:25.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 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 @@ -16,7 +16,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -783,7 +783,7 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/i3lock.1 new/i3lock-2.12/i3lock.1 --- old/i3lock-2.11.1/i3lock.1 2016-09-04 22:06:07.000000000 +0200 +++ new/i3lock-2.12/i3lock.1 2019-07-21 11:14:54.000000000 +0200 @@ -74,6 +74,33 @@ Display the given PNG image instead of a blank screen. .TP +.BI \fB\-\-raw= format +Read the image given by \-\-image as a raw image instead of PNG. The argument is the image's format +as <width>x<height>:<pixfmt>. The supported pixel formats are: +\'native', 'rgb', 'xrgb', 'rgbx', 'bgr', 'xbgr', and 'bgrx'. +The "native" pixel format expects a pixel as a 32-bit (4-byte) integer in +the machine's native endianness, with the upper 8 bits unused. Red, green and blue are stored in +the remaining bits, in that order. + +.BR Example: +.Vb 6 +\& --raw=1920x1080:rgb +.Ve + +.BR +You can use ImageMagick’s +.IR convert(1) +program to feed raw images into i3lock: + +.BR +.Vb 6 +\& convert wallpaper.jpg RGB:- | i3lock --raw 3840x2160:rgb --image /dev/stdin +.Ve + +This allows you to load a variety of image formats without i3lock having to +support each one explicitly. + +.TP .BI \-c\ rrggbb \fR,\ \fB\-\-color= rrggbb Turn the screen into the given color instead of white. Color must be given in 3-byte format: rrggbb (i.e. ff0000 is red). @@ -137,6 +164,9 @@ .IR xautolock(1) \- use i3lock as your screen saver +.IR convert(1) +\- feed a wide variety of image formats to i3lock + .SH AUTHOR Michael Stapelberg <michael+i3lock at stapelberg dot de> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/i3lock.c new/i3lock-2.12/i3lock.c --- old/i3lock-2.11.1/i3lock.c 2018-10-10 18:11:44.000000000 +0200 +++ new/i3lock-2.12/i3lock.c 2019-07-21 10:26:39.000000000 +0200 @@ -331,7 +331,7 @@ else if (strcmp(mod_name, XKB_MOD_NAME_NUM) == 0) mod_name = "Num Lock"; else if (strcmp(mod_name, XKB_MOD_NAME_LOGO) == 0) - mod_name = "Win"; + mod_name = "Super"; char *tmp; if (modifier_string == NULL) { @@ -640,6 +640,152 @@ redraw_screen(); } +static ssize_t read_raw_image_native(uint32_t *dest, FILE *src, size_t width, size_t height, int pixstride) { + ssize_t count = 0; + for (size_t y = 0; y < height; y++) { + size_t n = fread(&dest[y * pixstride], 1, width * 4, src); + count += n; + if (n < (size_t)(width * 4)) + break; + } + + return count; +} + +struct raw_pixel_format { + int bpp; + int red; + int green; + int blue; +}; + +static ssize_t read_raw_image_fmt(uint32_t *dest, FILE *src, size_t width, size_t height, int pixstride, + struct raw_pixel_format fmt) { + unsigned char *buf = malloc(width * fmt.bpp); + if (buf == NULL) + return -1; + + ssize_t count = 0; + for (size_t y = 0; y < height; y++) { + size_t n = fread(buf, 1, width * fmt.bpp, src); + count += n; + if (n < (size_t)(width * fmt.bpp)) + break; + + for (size_t x = 0; x < width; ++x) { + int idx = x * fmt.bpp; + dest[y * pixstride + x] = 0 | + (buf[idx + fmt.red]) << 16 | + (buf[idx + fmt.green]) << 8 | + (buf[idx + fmt.blue]); + } + } + + free(buf); + return count; +} + +// Pre-defind pixel formats (<bytes per pixel>, <red pixel>, <green pixel>, <blue pixel>) +static const struct raw_pixel_format raw_fmt_rgb = {3, 0, 1, 2}; +static const struct raw_pixel_format raw_fmt_rgbx = {4, 0, 1, 2}; +static const struct raw_pixel_format raw_fmt_xrgb = {4, 1, 2, 3}; +static const struct raw_pixel_format raw_fmt_bgr = {3, 2, 1, 0}; +static const struct raw_pixel_format raw_fmt_bgrx = {4, 2, 1, 0}; +static const struct raw_pixel_format raw_fmt_xbgr = {4, 3, 2, 1}; + +static cairo_surface_t *read_raw_image(const char *image_path, const char *image_raw_format) { + cairo_surface_t *img; + +#define RAW_PIXFMT_MAXLEN 6 +#define STRINGIFY1(x) #x +#define STRINGIFY(x) STRINGIFY1(x) + /* Parse format as <width>x<height>:<pixfmt> */ + char pixfmt[RAW_PIXFMT_MAXLEN + 1]; + size_t w, h; + const char *fmt = "%zux%zu:%" STRINGIFY(RAW_PIXFMT_MAXLEN) "s"; + if (sscanf(image_raw_format, fmt, &w, &h, pixfmt) != 3) { + fprintf(stderr, "Invalid image format: \"%s\"\n", image_raw_format); + return NULL; + } +#undef RAW_PIXFMT_MAXLEN +#undef STRINGIFY1 +#undef STRINGIFY + + /* Create image surface */ + img = cairo_image_surface_create(CAIRO_FORMAT_RGB24, w, h); + if (cairo_surface_status(img) != CAIRO_STATUS_SUCCESS) { + fprintf(stderr, "Could not create surface: %s\n", + cairo_status_to_string(cairo_surface_status(img))); + return NULL; + } + cairo_surface_flush(img); + + /* Use uint32_t* because cairo uses native endianness */ + uint32_t *data = (uint32_t *)cairo_image_surface_get_data(img); + const int pixstride = cairo_image_surface_get_stride(img) / 4; + + FILE *f = fopen(image_path, "r"); + if (f == NULL) { + fprintf(stderr, "Could not open image \"%s\": %s\n", + image_path, strerror(errno)); + cairo_surface_destroy(img); + return NULL; + } + + /* Read the image, respecting cairo's stride, according to the pixfmt */ + ssize_t size, count; + if (strcmp(pixfmt, "native") == 0) { + /* If the pixfmt is 'native', just read each line directly into the buffer */ + size = w * h * 4; + count = read_raw_image_native(data, f, w, h, pixstride); + } else { + const struct raw_pixel_format *fmt = NULL; + + if (strcmp(pixfmt, "rgb") == 0) + fmt = &raw_fmt_rgb; + else if (strcmp(pixfmt, "rgbx") == 0) + fmt = &raw_fmt_rgbx; + else if (strcmp(pixfmt, "xrgb") == 0) + fmt = &raw_fmt_xrgb; + else if (strcmp(pixfmt, "bgr") == 0) + fmt = &raw_fmt_bgr; + else if (strcmp(pixfmt, "bgrx") == 0) + fmt = &raw_fmt_bgrx; + else if (strcmp(pixfmt, "xbgr") == 0) + fmt = &raw_fmt_xbgr; + + if (fmt == NULL) { + fprintf(stderr, "Unknown raw pixel format: %s\n", pixfmt); + fclose(f); + cairo_surface_destroy(img); + return NULL; + } + + size = w * h * fmt->bpp; + count = read_raw_image_fmt(data, f, w, h, pixstride, *fmt); + } + + cairo_surface_mark_dirty(img); + + if (count < size) { + if (count < 0 || ferror(f)) { + fprintf(stderr, "Failed to read image \"%s\": %s\n", + image_path, strerror(errno)); + fclose(f); + cairo_surface_destroy(img); + return NULL; + } else { + /* Print a warning if the file contains less data than expected, + * but don't abort. It's useful to see how the image looks even if it's wrong. */ + fprintf(stderr, "Warning: expected to read %zi bytes from \"%s\", read %zi\n", + size, image_path, count); + } + } + + fclose(f); + return img; +} + static bool verify_png_image(const char *image_path) { if (!image_path) { return false; @@ -745,7 +891,7 @@ xcb_generic_event_t *event; if (xcb_connection_has_error(conn)) - errx(EXIT_FAILURE, "X11 connection broke, did your server terminate?\n"); + errx(EXIT_FAILURE, "X11 connection broke, did your server terminate?"); while ((event = xcb_poll_for_event(conn)) != NULL) { if (event->response_type == 0) { @@ -815,7 +961,7 @@ int screens; if (xcb_connection_has_error((conn = xcb_connect(NULL, &screens))) > 0) - errx(EXIT_FAILURE, "Cannot open display\n"); + errx(EXIT_FAILURE, "Cannot open display"); /* We need to know about the window being obscured or getting destroyed. */ xcb_change_window_attributes(conn, window, XCB_CW_EVENT_MASK, @@ -862,6 +1008,7 @@ struct passwd *pw; char *username; char *image_path = NULL; + char *image_raw_format = NULL; #ifndef __OpenBSD__ int ret; struct pam_conv conv = {conv_callback, NULL}; @@ -880,6 +1027,7 @@ {"help", no_argument, NULL, 'h'}, {"no-unlock-indicator", no_argument, NULL, 'u'}, {"image", required_argument, NULL, 'i'}, + {"raw", required_argument, NULL, 0}, {"tiling", no_argument, NULL, 't'}, {"ignore-empty-password", no_argument, NULL, 'e'}, {"inactivity-timeout", required_argument, NULL, 'I'}, @@ -889,7 +1037,7 @@ if ((pw = getpwuid(getuid())) == NULL) err(EXIT_FAILURE, "getpwuid() failed"); if ((username = pw->pw_name) == NULL) - errx(EXIT_FAILURE, "pw->pw_name is NULL.\n"); + errx(EXIT_FAILURE, "pw->pw_name is NULL."); char *optstring = "hvnbdc:p:ui:teI:f"; while ((o = getopt_long(argc, argv, optstring, longopts, &longoptind)) != -1) { @@ -917,7 +1065,7 @@ arg++; if (strlen(arg) != 6 || sscanf(arg, "%06[0-9a-fA-F]", color) != 1) - errx(EXIT_FAILURE, "color is invalid, it must be given in 3-byte hexadecimal format: rrggbb\n"); + errx(EXIT_FAILURE, "color is invalid, it must be given in 3-byte hexadecimal format: rrggbb"); break; } @@ -936,7 +1084,7 @@ } else if (!strcmp(optarg, "default")) { curs_choice = CURS_DEFAULT; } else { - errx(EXIT_FAILURE, "i3lock: Invalid pointer type given. Expected one of \"win\" or \"default\".\n"); + errx(EXIT_FAILURE, "i3lock: Invalid pointer type given. Expected one of \"win\" or \"default\"."); } break; case 'e': @@ -945,6 +1093,8 @@ case 0: if (strcmp(longopts[longoptind].name, "debug") == 0) debug_mode = true; + else if (strcmp(longopts[longoptind].name, "raw") == 0) + image_raw_format = strdup(optarg); break; case 'f': show_failed_attempts = true; @@ -1051,7 +1201,11 @@ xcb_change_window_attributes(conn, screen->root, XCB_CW_EVENT_MASK, (uint32_t[]){XCB_EVENT_MASK_STRUCTURE_NOTIFY}); - if (verify_png_image(image_path)) { + if (image_raw_format != NULL && image_path != NULL) { + /* Read image. 'read_raw_image' returns NULL on error, + * so we don't have to handle errors here. */ + img = read_raw_image(image_path, image_raw_format); + } else if (verify_png_image(image_path)) { /* Create a pixmap to render on, fill it with the background color */ img = cairo_image_surface_create_from_png(image_path); /* In case loading failed, we just pretend no -i was specified. */ @@ -1061,7 +1215,9 @@ img = NULL; } } + free(image_path); + free(image_raw_format); /* Pixmap on which the image is rendered to (if any) */ xcb_pixmap_t bg_pixmap = draw_image(last_resolution); @@ -1115,7 +1271,7 @@ /* Initialize the libev event loop. */ main_loop = EV_DEFAULT; if (main_loop == NULL) - errx(EXIT_FAILURE, "Could not initialize libev. Bad LIBEV_FLAGS?\n"); + errx(EXIT_FAILURE, "Could not initialize libev. Bad LIBEV_FLAGS?"); /* Explicitly call the screen redraw in case "locking…" message was displayed */ auth_state = STATE_AUTH_IDLE; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/install-sh new/i3lock-2.12/install-sh --- old/i3lock-2.11.1/install-sh 2018-10-18 08:37:05.000000000 +0200 +++ new/i3lock-2.12/install-sh 2019-07-21 11:15:25.000000000 +0200 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2014-09-12.12; # UTC +scriptversion=2018-03-11.20; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -271,15 +271,18 @@ fi dst=$dst_arg - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. + # If destination is a directory, append the input filename. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst - dst=$dstdir/`basename "$src"` + dstbase=`basename "$src"` + case $dst in + */) dst=$dst$dstbase;; + *) dst=$dst/$dstbase;; + esac dstdir_status=0 else dstdir=`dirname "$dst"` @@ -288,6 +291,11 @@ fi fi + case $dstdir in + */) dstdirslash=$dstdir;; + *) dstdirslash=$dstdir/;; + esac + obsolete_mkdir_used=false if test $dstdir_status != 0; then @@ -324,14 +332,16 @@ # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) - # $RANDOM is not portable (e.g. dash); use it when possible to - # lower collision chance + # Note that $RANDOM variable is not portable (e.g. dash); Use it + # here however when possible just to lower collision chance. tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 - # As "mkdir -p" follows symlinks and we work in /tmp possibly; so - # create the $tmpdir first (and fail if unsuccessful) to make sure - # that nobody tries to guess the $tmpdir name. + # Because "mkdir -p" follows existing symlinks and we likely work + # directly in world-writeable /tmp, make sure that the '$tmpdir' + # directory is successfully created first before we actually test + # 'mkdir -p' feature. if (umask $mkdir_umask && $mkdirprog $mkdir_mode "$tmpdir" && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 @@ -434,8 +444,8 @@ else # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ + dsttmp=${dstdirslash}_inst.$$_ + rmtmp=${dstdirslash}_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 @@ -500,9 +510,9 @@ done # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/missing new/i3lock-2.12/missing --- old/i3lock-2.11.1/missing 2018-10-18 08:37:05.000000000 +0200 +++ new/i3lock-2.12/missing 2019-07-21 11:15:25.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2013-10-28.13; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -101,9 +101,9 @@ exit $st fi -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software program_details () { @@ -207,9 +207,9 @@ exit $st # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/unlock_indicator.c new/i3lock-2.12/unlock_indicator.c --- old/i3lock-2.11.1/unlock_indicator.c 2018-10-10 18:11:44.000000000 +0200 +++ new/i3lock-2.12/unlock_indicator.c 2019-05-11 09:55:23.000000000 +0200 @@ -207,20 +207,20 @@ cairo_set_font_size(ctx, 28.0); switch (auth_state) { case STATE_AUTH_VERIFY: - text = "verifying…"; + text = "Verifying…"; break; case STATE_AUTH_LOCK: - text = "locking…"; + text = "Locking…"; break; case STATE_AUTH_WRONG: - text = "wrong!"; + text = "Wrong!"; break; case STATE_I3LOCK_LOCK_FAILED: - text = "lock failed!"; + text = "Lock failed!"; break; default: if (unlock_state == STATE_NOTHING_TO_DELETE) { - text = "no input"; + text = "No input"; } if (show_failed_attempts && failed_attempts > 0) { if (failed_attempts > 999) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i3lock-2.11.1/xcb.c new/i3lock-2.12/xcb.c --- old/i3lock-2.11.1/xcb.c 2018-10-10 18:11:44.000000000 +0200 +++ new/i3lock-2.12/xcb.c 2019-05-11 09:55:23.000000000 +0200 @@ -149,6 +149,15 @@ strlen(name), name); + xcb_change_property(conn, + XCB_PROP_MODE_REPLACE, + win, + XCB_ATOM_WM_CLASS, + XCB_ATOM_STRING, + 8, + 2 * (strlen("i3lock") + 1), + "i3lock\0i3lock\0"); + /* Map the window (= make it visible) */ xcb_map_window(conn, win);