Hello community,
here is the log from the commit of package sessreg for openSUSE:Factory checked in at 2015-02-01 12:28:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sessreg (Old)
and /work/SRC/openSUSE:Factory/.sessreg.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sessreg"
Changes:
--------
--- /work/SRC/openSUSE:Factory/sessreg/sessreg.changes 2013-03-01 09:01:02.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.sessreg.new/sessreg.changes 2015-02-01 12:28:25.000000000 +0100
@@ -1,0 +2,16 @@
+Fri Jan 30 15:18:48 UTC 2015 - zaitor@opensuse.org
+
+- Update to version 1.1.0:
+ + Include utmp.h if present, even if we're using utmpx
+ interfaces.
+ + Attempt to modernize and better disentangle utmp vs. utmpx in
+ the man page.
+ + Stop disabling utmpx & wtmpx calls when -u & -w arguments are
+ passed.
+ + If both utmp & utmpx interfaces are available, just use utmpx.
+ + Zero initialize struct utmpx, as we already do for struct utmp.
+ + Print which option was in error along with usage message.
+ + autogen.sh: Honor NOCONFIGURE=1.
+ + configure: Drop AM_MAINTAINER_MODE.
+
+-------------------------------------------------------------------
Old:
----
sessreg-1.0.8.tar.bz2
New:
----
sessreg-1.1.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sessreg.spec ++++++
--- /var/tmp/diff_new_pack.LjKWY9/_old 2015-02-01 12:28:26.000000000 +0100
+++ /var/tmp/diff_new_pack.LjKWY9/_new 2015-02-01 12:28:26.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package sessreg
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: sessreg
-Version: 1.0.8
+Version: 1.1.0
Release: 0
Summary: Utility to manage utmp/wtmp entries for X sessions
License: MIT
@@ -26,7 +26,7 @@
Source0: http://xorg.freedesktop.org/releases/individual/app/%{name}-%{version}.tar.bz2
BuildRequires: pkg-config
BuildRequires: pkgconfig(xorg-macros) >= 1.4
-BuildRequires: pkgconfig(xproto)
+BuildRequires: pkgconfig(xproto) >= 7.0.25
# This was part of the xorg-x11 package up to version 7.6
Conflicts: xorg-x11 <= 7.6
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ sessreg-1.0.8.tar.bz2 -> sessreg-1.1.0.tar.bz2 ++++++
++++ 8392 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sessreg-1.0.8/ChangeLog new/sessreg-1.1.0/ChangeLog
--- old/sessreg-1.0.8/ChangeLog 2013-02-11 03:44:50.000000000 +0100
+++ new/sessreg-1.1.0/ChangeLog 2015-01-20 06:01:50.000000000 +0100
@@ -1,3 +1,96 @@
+commit 0f904e33d53b0102e53685184bb59005be40fcf7
+Author: Alan Coopersmith
+Date: Mon Jan 19 21:00:17 2015 -0800
+
+ sessreg 1.1.0
+
+ Signed-off-by: Alan Coopersmith
+
+commit 53ad5afe30a75c27604648912c57e5beeb77cca7
+Author: Alan Coopersmith
+Date: Fri Nov 14 15:22:25 2014 -0800
+
+ Include utmp.h if present, even if we're using utmpx interfaces
+
+ For platforms which require type or structure definitions from utmp.h
+ when using lastlog or utmpx/wtmpx interfaces.
+
+ Signed-off-by: Alan Coopersmith
+
+commit 8fb21bdf15185e18e44b5dab6740720a50b9f0c9
+Author: Alan Coopersmith
+Date: Tue Nov 4 18:32:07 2014 -0800
+
+ Attempt to modernize and better disentangle utmp vs. utmpx in the man page
+
+ Also reduces the number of references to BSD vs. System V differences
+ from the early 90's which are no longer relevant today.
+
+ Signed-off-by: Alan Coopersmith
+
+commit e9d23df81ae6e5beb79237cb13b555ed689b1a76
+Author: Alan Coopersmith
+Date: Tue Nov 4 16:31:31 2014 -0800
+
+ Stop disabling utmpx & wtmpx calls when -u & -w arguments are passed
+
+ The handling of the -u & -w flags would only set utmp_file & wtmp_file,
+ leaving utmpx_file & wtmpx_file set to NULL, disabling the calls to the
+ code to update those files.
+
+ Signed-off-by: Alan Coopersmith
+
+commit 929b2f60c36b80b7a8e6237d5e8ccc981a3a1e0d
+Author: Alan Coopersmith
+Date: Tue Nov 4 16:27:57 2014 -0800
+
+ If both utmp & utmpx interfaces are available, just use utmpx
+
+ As we already do with wtmp & wtmpx, where only one of the interface sets
+ is compiled in at a time, stop building & potentially calling both the
+ utmp & utmpx interfaces, which could lead to confusion and corruption,
+ especially when xdm passed -u /.../utmpx and sessreg wrote utmp format
+ records to the file instead.
+
+ Signed-off-by: Alan Coopersmith
+
+commit 0a234ecc502b3e08d8f81d51fb724d97e8045504
+Author: Alan Coopersmith
+Date: Mon Nov 3 20:04:31 2014 -0800
+
+ Zero initialize struct utmpx, as we already do for struct utmp
+
+ Signed-off-by: Alan Coopersmith
+
+commit 1dacc4b5554f794f8219356a0d2bd2dc6a499160
+Author: Alan Coopersmith
+Date: Mon Nov 3 18:57:20 2014 -0800
+
+ Print which option was in error along with usage message
+
+ In the process, try to make the code a little less painful to read.
+ Still, no love to whomever came up with (*++*a) style coding.
+
+ Signed-off-by: Alan Coopersmith
+
+commit e73a94da99c25dc705be814fb18c306e9301a135
+Author: Alan Coopersmith
+Date: Mon Jun 2 21:14:21 2014 -0700
+
+ autogen.sh: Honor NOCONFIGURE=1
+
+ See http://people.gnome.org/~walters/docs/build-api.txt
+
+ Signed-off-by: Alan Coopersmith
+
+commit 5f54e23a2adf7342c50a0d910760698b95fd2b97
+Author: Alan Coopersmith
+Date: Mon Jun 2 21:14:21 2014 -0700
+
+ configure: Drop AM_MAINTAINER_MODE
+
+ Signed-off-by: Alan Coopersmith
+
commit 1d9c8df5bea05c2c4923fd985ce274104b42efeb
Author: Alan Coopersmith
Date: Sun Feb 10 18:43:41 2013 -0800
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sessreg-1.0.8/INSTALL new/sessreg-1.1.0/INSTALL
--- old/sessreg-1.0.8/INSTALL 2013-02-11 03:44:50.000000000 +0100
+++ new/sessreg-1.1.0/INSTALL 2015-01-20 06:01:50.000000000 +0100
@@ -1,11 +1,13 @@
Installation Instructions
*************************
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Inc.
- This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
Basic Installation
==================
@@ -13,7 +15,11 @@
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
@@ -42,7 +48,7 @@
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
-The simplest way to compile this package is:
+ The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
@@ -53,12 +59,22 @@
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
- the package.
+ the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
- documentation.
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
- 5. You can remove the program binaries and object files from the
+ 6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
@@ -67,8 +83,15 @@
all sorts of other programs in order to regenerate files that came
with the distribution.
- 6. Often, you can also type `make uninstall' to remove the installed
- files again.
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
Compilers and Options
=====================
@@ -93,7 +116,8 @@
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
@@ -120,7 +144,8 @@
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX'.
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
@@ -131,15 +156,46 @@
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
+you can set and what kinds of files go in them. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-Optional Features
-=================
-
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
@@ -152,6 +208,13 @@
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
Particular systems
==================
@@ -159,10 +222,15 @@
CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
- ./configure CC="cc -Ae"
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+ HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved. Use GNU `make'
+instead.
+
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
@@ -174,6 +242,16 @@
./configure CC="cc -nodtk"
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+ On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
Specifying the System Type
==========================
@@ -189,7 +267,8 @@
where SYSTEM can have one of these forms:
- OS KERNEL-OS
+ OS
+ KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
@@ -277,7 +356,7 @@
`configure' can determine that directory automatically.
`--prefix=DIR'
- Use DIR as the installation prefix. *Note Installation Names::
+ Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sessreg-1.0.8/compile new/sessreg-1.1.0/compile
--- old/sessreg-1.0.8/compile 1970-01-01 01:00:00.000000000 +0100
+++ new/sessreg-1.1.0/compile 2015-01-20 06:01:38.000000000 +0100
@@ -0,0 +1,347 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2012-10-14.11; # UTC
+
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Written by Tom Tromey .
+#
+# 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
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# 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/.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to or send patches to
+# .
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to .
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no '-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # '.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sessreg-1.0.8/config.h.in new/sessreg-1.1.0/config.h.in
--- old/sessreg-1.0.8/config.h.in 2013-02-11 03:43:57.000000000 +0100
+++ new/sessreg-1.1.0/config.h.in 2015-01-20 06:01:37.000000000 +0100
@@ -127,6 +127,11 @@
/* Version number of package */
#undef VERSION
+/* Enable large inode numbers on Mac OS X 10.5. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sessreg-1.0.8/configure.ac new/sessreg-1.1.0/configure.ac
--- old/sessreg-1.0.8/configure.ac 2013-02-11 03:43:50.000000000 +0100
+++ new/sessreg-1.1.0/configure.ac 2015-01-20 06:00:27.000000000 +0100
@@ -22,7 +22,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
-AC_INIT([sessreg], [1.0.8],
+AC_INIT([sessreg], [1.1.0],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [sessreg])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])
@@ -31,7 +31,6 @@
# Initialize Automake
AM_INIT_AUTOMAKE([foreign dist-bzip2])
-AM_MAINTAINER_MODE
# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
m4_ifndef([XORG_MACROS_VERSION],
@@ -68,7 +67,7 @@
AC_CHECK_FUNCS([pututline updwtmpx utmpxname])
# Obtain compiler/linker options for depedencies
-PKG_CHECK_MODULES(SESSREG, xproto)
+PKG_CHECK_MODULES(SESSREG, [xproto >= 7.0.25])
AC_CONFIG_FILES([
Makefile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sessreg-1.0.8/man/Makefile.am new/sessreg-1.1.0/man/Makefile.am
--- old/sessreg-1.0.8/man/Makefile.am 2013-02-11 03:43:50.000000000 +0100
+++ new/sessreg-1.1.0/man/Makefile.am 2015-01-20 06:00:27.000000000 +0100
@@ -11,7 +11,7 @@
filenames.sed: filenames.sed.c
$(AM_V_GEN)$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(srcdir)/filenames.sed.c | \
- grep 's|__' > $@
+ $(SED) -n -e '/s|__/ p' -e '/^\/__/ p' > $@
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
MAN_SUBSTS += -f filenames.sed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sessreg-1.0.8/man/filenames.sed.c new/sessreg-1.1.0/man/filenames.sed.c
--- old/sessreg-1.0.8/man/filenames.sed.c 2013-02-11 03:43:50.000000000 +0100
+++ new/sessreg-1.1.0/man/filenames.sed.c 2015-01-20 06:00:27.000000000 +0100
@@ -3,15 +3,21 @@
#ifdef UTMPX_FILE
# define UTF UTMPX_FILE
# define UTM utmpx
+/* delete utmp-only content */
+/__BEGIN_UTMP_ONLY__/,/__END_UTMP_ONLY__/ d
#else
# define UTF UTMP_FILE
# define UTM utmp
+/* delete utmpx-only content */
+/__BEGIN_UTMPX_ONLY__/,/__END_UTMPX_ONLY__/ d
#endif
#ifdef WTMPX_FILE
# define WTF WTMPX_FILE
+# define WTM wtmpx
#else
# define WTF WTMP_FILE
+# define WTM wtmp
#endif
#ifndef TTYS_FILE
@@ -24,6 +30,7 @@
s|__utmp_manpage__|UTM|g
s|__utmp_file__|UTF|g
+s|__wtmp_manpage__|WTM|g
s|__wtmp_file__|WTF|g
s|__ttys_file__|TTYS_FILE|g
s|__lastlog_file__|LLOG_FILE|g
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sessreg-1.0.8/man/sessreg.man new/sessreg-1.1.0/man/sessreg.man
--- old/sessreg-1.0.8/man/sessreg.man 2013-02-11 03:43:50.000000000 +0100
+++ new/sessreg-1.1.0/man/sessreg.man 2015-01-20 06:00:27.000000000 +0100
@@ -1,4 +1,3 @@
-.\" $Xorg: sessreg.man,v 1.4 2001/02/09 02:05:40 xorgcvs Exp $
.\" Copyright 1994, 1998 The Open Group
.\"
.\" Permission to use, copy, modify, distribute, and sell this software and its
@@ -23,15 +22,13 @@
.\" other dealings in this Software without prior written authorization
.\" from The Open Group.
.\"
-.\" $XFree86: xc/programs/xdm/sessreg.man,v 1.7 2001/04/23 20:31:09 dawes Exp $
-.\"
.TH SESSREG __appmansuffix__ __xorgversion__
.SH NAME
-sessreg \- manage utmp/wtmp entries for non-init clients
+sessreg \- manage __utmp_manpage__/__wtmp_manpage__ entries for non-init clients
.SH SYNOPSIS
.B sessreg
-[-w \fIwtmp-file\fP]
-[-u \fIutmp-file\fP]
+[-w \fI__wtmp_manpage__-file\fP]
+[-u \fI__utmp_manpage__-file\fP]
[-L \fIlastlog-file\fP]
[-l \fIline-name\fP]
[-h \fIhost-name\fP]
@@ -44,8 +41,9 @@
\fIuser-name\fP
.SH DESCRIPTION
.PP
-\fISessreg\fP is a simple program for managing utmp/wtmp and lastlog
+\fISessreg\fP is a simple program for managing __utmp_manpage__/__wtmp_manpage__ and lastlog
entries for xdm sessions.
+.\" __BEGIN_UTMP_ONLY__
.PP
System V has a better interface to utmp than BSD; it
dynamically allocates entries in the file, instead of writing them at fixed
@@ -73,6 +71,16 @@
BSD and Linux also have a host-name field in the utmp file which doesn't
exist in System V. This option is also ignored by the System V version of
\fIsessreg\fP.
+.\" __END_UTMP_ONLY__
+.\" __BEGIN_UTMPX_ONLY__
+.PP
+This version of \fIsessreg\fP is built using the modern POSIX
+.BR pututxline (3c)
+interfaces, which no longer require the slot-number, ttys-file, or
+Xservers-file mappings. For compatibility with older versions and other
+operating systems, the \fB-s\fP, \fB-t\fP, and \fB-x\fP flags are accepted,
+but ignored.
+.\" __END_UTMPX_ONLY__
.SH USAGE
.PP
In Xstartup, place a call like:
@@ -87,14 +95,14 @@
sessreg -d -l $DISPLAY -x /etc/X11/xdm/Xservers $USER
.fi
.SH OPTIONS
-.IP "\fB-w\fP \fIwtmp-file\fP"
-This specifies an alternate wtmp file, instead of
+.IP "\fB-w\fP \fI__wtmp_manpage__-file\fP"
+This specifies an alternate __wtmp_manpage__ file, instead of
.BR __wtmp_file__ .
-The special name "none" disables writing records to the wtmp file.
-.IP "\fB-u\fP \fIutmp-file\fP"
-This specifies an alternate utmp file, instead of
+The special name "none" disables writing records to the __wtmp_manpage__ file.
+.IP "\fB-u\fP \fI__utmp_manpage__-file\fP"
+This specifies an alternate __utmp_manpage__ file, instead of
.BR __utmp_file__ .
-The special name "none" disables writing records to the utmp file.
+The special name "none" disables writing records to the __utmp_manpage__ file.
.IP "\fB-L\fP \fIlastlog-file\fP"
This specifies an alternate lastlog file, instead of
.BR __lastlog_file__ ,
@@ -108,31 +116,50 @@
terminal name will be determined with ttyname(__libmansuffix__) and stripped of leading
components.
.IP "\fB-h\fP \fIhost-name\fP"
-This is set for BSD hosts to indicate that the session was initiated from
+This is set to indicate that the session was initiated from
a remote host. In typical xdm usage, this options is not used.
.IP "\fB-s\fP \fIslot-number\fP"
+.\" __BEGIN_UTMP_ONLY__
Each potential session has a unique slot number in BSD systems, most are
identified by the position of the \fIline-name\fP in the
.BR __ttys_file__ file.
This option overrides the default position determined with ttyslot(__libmansuffix__).
This option is inappropriate for use with xdm, the -x option is more useful.
+.\" __END_UTMP_ONLY__
+.\" __BEGIN_UTMPX_ONLY__
+This option is accepted for compatibility, but does nothing in
+this version of \fIsessreg\fP.
+.\" __END_UTMPX_ONLY__
.IP "\fB-x\fP \fIXservers-file\fP"
+.\" __BEGIN_UTMP_ONLY__
As X sessions are one-per-display, and each display is entered in this file,
this options sets the \fIslot-number\fP to be the number of lines in
the \fIttys-file\fP plus the index into this file that the \fIline-name\fP
is found.
+.\" __END_UTMP_ONLY__
+.\" __BEGIN_UTMPX_ONLY__
+This option is accepted for compatibility, but does nothing in
+this version of \fIsessreg\fP.
+.\" __END_UTMPX_ONLY__
.IP "\fB-t\fP \fIttys-file\fP"
+.\" __BEGIN_UTMP_ONLY__
This specifies an alternate file which the \fI-x\fP option will use to count
the number of terminal sessions on a host.
+.\" __END_UTMP_ONLY__
+.\" __BEGIN_UTMPX_ONLY__
+This option is accepted for compatibility, but does nothing in
+this version of \fIsessreg\fP.
+.\" __END_UTMPX_ONLY__
.IP "\fB-V\fP"
This option causes the command to print its version and exit.
.IP "\fB-a\fP"
-This session should be added to utmp/wtmp.
+This session should be added to __utmp_manpage__/__wtmp_manpage__.
.IP "\fB-d\fP"
-This session should be deleted from utmp/wtmp. One of -a/-d must
+This session should be deleted from __utmp_manpage__/__wtmp_manpage__. One of -a/-d must
be specified.
.SH "SEE ALSO"
.BR xdm (__appmansuffix__),
-.BR __utmp_manpage__ (__filemansuffix__)
+.BR __utmp_manpage__ (__filemansuffix__),
+.BR __wtmp_manpage__ (__filemansuffix__)
.SH AUTHOR
Keith Packard, MIT X Consortium
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sessreg-1.0.8/missing new/sessreg-1.1.0/missing
--- old/sessreg-1.0.8/missing 2013-02-11 03:43:58.000000000 +0100
+++ new/sessreg-1.1.0/missing 2015-01-20 06:01:38.000000000 +0100
@@ -1,11 +1,10 @@
#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard , 1996.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard , 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -26,69 +25,40 @@
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
+case $1 in
-msg="missing on your system"
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
Send bug reports to ."
exit $?
@@ -100,272 +70,141 @@
;;
-*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "$0: unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
-# normalize program name to check for.
-program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program). This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
- lex*|yacc*)
- # Not GNU programs, they don't have --version.
- ;;
-
- tar*)
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- exit 1
- fi
- ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running `$TOOL --version' or `$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
- aclocal*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
- autom4te*)
- echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison*|yacc*)
- echo 1>&2 "\
-WARNING: \`$1' $msg. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex*|flex*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit $?
- fi
- ;;
-
- makeinfo*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
-
- tar*)
- shift
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case $firstarg in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case $firstarg in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
- ;;
-esac
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
-exit 0
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'autom4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
+ ;;
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sessreg-1.0.8/sessreg.c new/sessreg-1.1.0/sessreg.c
--- old/sessreg-1.0.8/sessreg.c 2013-02-11 03:43:50.000000000 +0100
+++ new/sessreg-1.1.0/sessreg.c 2015-01-20 06:00:27.000000000 +0100
@@ -74,6 +74,7 @@
#include
#include
+#include
#include
#include
#include
@@ -126,34 +127,45 @@
char *host_name, int addp);
#endif
-static int
+static void _X_NORETURN _X_COLD
usage (int x)
{
- if (x) {
- fprintf (stderr,
- "%s: usage %s {-a -d} [-w wtmp-file] [-u utmp-file]"
+ fprintf (stderr,
+ "%s: usage %s {-a -d} [-w wtmp-file] [-u utmp-file]"
#ifdef USE_LASTLOG
- " [-L lastlog-file]"
+ " [-L lastlog-file]"
#endif
- "\n"
- " [-t ttys-file] [-l line-name] [-h host-name] [-V]\n"
- " [-s slot-number] [-x servers-file] user-name\n",
- program_name, program_name);
- exit (1);
- }
- return x;
+ "\n"
+ " [-t ttys-file] [-l line-name] [-h host-name] [-V]\n"
+ " [-s slot-number] [-x servers-file] user-name\n",
+ program_name, program_name);
+ exit (x);
}
static char *
getstring (char ***avp, int *flagp)
{
char **a = *avp;
+ char *flag = *a;
- usage ((*flagp)++);
+ if (*flagp != 0) {
+ fprintf (stderr, "%s: cannot give more than one -%s option\n",
+ program_name, flag);
+ usage (1);
+ }
+ *flagp = 1;
+ /* if the argument is given immediately following the flag,
+ i.e. "sessreg -hfoo ...", not "sessreg -h foo ...",
+ then return the rest of the string as the argument value */
if (*++*a)
return *a;
+ /* else use the next pointer in the argv list as the argument value */
++a;
- usage (!*a);
+ if (!*a) {
+ fprintf (stderr, "%s: -%s requires an argument\n",
+ program_name, flag);
+ usage (1);
+ }
*avp = a;
return *a;
}
@@ -205,11 +217,19 @@
wtmp_file = getstring (&argv, &wflag);
if (!strcmp (wtmp_file, "none"))
wtmp_none = 1;
+#if defined(USE_UTMPX) && defined(HAVE_UPDWTMPX)
+ else
+ wtmpx_file = wtmp_file;
+#endif
break;
case 'u':
utmp_file = getstring (&argv, &uflag);
if (!strcmp (utmp_file, "none"))
utmp_none = 1;
+#if defined(USE_UTMPX) && defined(HAVE_UTMPXNAME)
+ else
+ utmpx_file = utmp_file;
+#endif
break;
#ifdef USE_LASTLOG
case 'L':
@@ -245,17 +265,36 @@
printf("%s\n", PACKAGE_STRING);
exit (0);
default:
+ fprintf (stderr, "%s: unrecognized option '%s'\n",
+ program_name, argv[0]);
usage (1);
}
}
- usage (!(user_name = *argv++));
- usage (*argv != NULL);
+ user_name = *argv++;
+ if (user_name == NULL) {
+ fprintf (stderr, "%s: missing required user-name argument\n",
+ program_name);
+ usage (1);
+ }
+ if (*argv != NULL) {
+ fprintf (stderr, "%s: unrecognized argument '%s'\n",
+ program_name, argv[0]);
+ usage (1);
+ }
/*
* complain if neither aflag nor dflag are set,
* or if both are set.
*/
- usage (!(aflag ^ dflag));
- usage (xflag && !lflag);
+ if (!(aflag ^ dflag)) {
+ fprintf (stderr, "%s: must specify exactly one of -a or -d\n",
+ program_name);
+ usage (1);
+ }
+ if (xflag && !lflag) {
+ fprintf (stderr, "%s: must specify -l when -x is used\n",
+ program_name);
+ usage (1);
+ }
/* set up default file names */
if (!wflag) {
wtmp_file = WTMP_FILE;
@@ -468,6 +507,7 @@
static const char letters[] =
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ memset (u, 0, sizeof (*u));
if (line)
{
if(strcmp(line, ":0") == 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sessreg-1.0.8/sessreg.h new/sessreg-1.1.0/sessreg.h
--- old/sessreg-1.0.8/sessreg.h 2013-02-11 03:43:50.000000000 +0100
+++ new/sessreg-1.1.0/sessreg.h 2015-01-20 06:00:27.000000000 +0100
@@ -53,9 +53,12 @@
#include
#include
+/* Prefer POSIX standard utmpx interfaces if present, otherwise use utmp */
#ifdef HAVE_UTMP_H
# include
-# define USE_UTMP
+# ifndef HAVE_UTMPX_H
+# define USE_UTMP
+# endif
#endif
#ifdef HAVE_UTMPX_H
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org