diff options
| author | Werner Koch <[email protected]> | 2013-02-26 15:14:52 +0000 | 
|---|---|---|
| committer | Werner Koch <[email protected]> | 2013-02-26 15:14:52 +0000 | 
| commit | fdcd5736e610cd64e47da73dcafe8bc4a6a67666 (patch) | |
| tree | 4d523b11e4ea00cf85388a273a056ad90adf67b1 /build-aux/mdate-sh | |
| parent | Remove included gitlog-to-changelog. (diff) | |
| download | gpgme-fdcd5736e610cd64e47da73dcafe8bc4a6a67666.tar.gz gpgme-fdcd5736e610cd64e47da73dcafe8bc4a6a67666.zip | |
Update helper scripts.
* configure.ac: Use AC_CONFIG_AUX_DIR.  Remove args from
AM_INIT_AUTOMAKE.  Replace AM_CONFIG_HEADER by AC_CONFIG_HEADER.
* compile, config.guess, config.sub, depcomp, install-sh, ltmain.sh
* mkinstalldirs, texinfo.texi: Move to build-aux/ and update from
gnulib (c042abf).
* build-aux/mdate-sh, build-aux/missing: Install via automake -a -c.
Update autogen.sh for changed config dir.
* autogen.sh: Adjust for scripts dir change.  Update W32 toolprefix
list.
Diffstat (limited to 'build-aux/mdate-sh')
| -rwxr-xr-x | build-aux/mdate-sh | 225 | 
1 files changed, 225 insertions, 0 deletions
| diff --git a/build-aux/mdate-sh b/build-aux/mdate-sh new file mode 100755 index 00000000..60dc485a --- /dev/null +++ b/build-aux/mdate-sh @@ -0,0 +1,225 @@ +#!/bin/sh +# Get modification time of a file or directory and pretty-print it. + +scriptversion=2010-08-21.06; # UTC + +# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009, 2010 +# Free Software Foundation, Inc. +# written by Ulrich Drepper <[email protected]>, June 1995 +# +# 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 <[email protected]> or send patches to +# <[email protected]>. + +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +  emulate sh +  NULLCMD=: +  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which +  # is contrary to our usage.  Disable this feature. +  alias -g '${1+"$@"}'='"$@"' +  setopt NO_GLOB_SUBST +fi + +case $1 in +  '') +     echo "$0: No file.  Try \`$0 --help' for more information." 1>&2 +     exit 1; +     ;; +  -h | --h*) +    cat <<\EOF +Usage: mdate-sh [--help] [--version] FILE + +Pretty-print the modification day of FILE, in the format: +1 January 1970 + +Report bugs to <[email protected]>. +EOF +    exit $? +    ;; +  -v | --v*) +    echo "mdate-sh $scriptversion" +    exit $? +    ;; +esac + +error () +{ +  echo "$0: $1" >&2 +  exit 1 +} + + +# Prevent date giving response in another language. +LANG=C +export LANG +LC_ALL=C +export LC_ALL +LC_TIME=C +export LC_TIME + +# GNU ls changes its time format in response to the TIME_STYLE +# variable.  Since we cannot assume `unset' works, revert this +# variable to its documented default. +if test "${TIME_STYLE+set}" = set; then +  TIME_STYLE=posix-long-iso +  export TIME_STYLE +fi + +save_arg1=$1 + +# Find out how to get the extended ls output of a file or directory. +if ls -L /dev/null 1>/dev/null 2>&1; then +  ls_command='ls -L -l -d' +else +  ls_command='ls -l -d' +fi +# Avoid user/group names that might have spaces, when possible. +if ls -n /dev/null 1>/dev/null 2>&1; then +  ls_command="$ls_command -n" +fi + +# A `ls -l' line looks as follows on OS/2. +#  drwxrwx---        0 Aug 11  2001 foo +# This differs from Unix, which adds ownership information. +#  drwxrwx---   2 root  root      4096 Aug 11  2001 foo +# +# To find the date, we split the line on spaces and iterate on words +# until we find a month.  This cannot work with files whose owner is a +# user named `Jan', or `Feb', etc.  However, it's unlikely that `/' +# will be owned by a user whose name is a month.  So we first look at +# the extended ls output of the root directory to decide how many +# words should be skipped to get the date. + +# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. +set x`$ls_command /` + +# Find which argument is the month. +month= +command= +until test $month +do +  test $# -gt 0 || error "failed parsing \`$ls_command /' output" +  shift +  # Add another shift to the command. +  command="$command shift;" +  case $1 in +    Jan) month=January; nummonth=1;; +    Feb) month=February; nummonth=2;; +    Mar) month=March; nummonth=3;; +    Apr) month=April; nummonth=4;; +    May) month=May; nummonth=5;; +    Jun) month=June; nummonth=6;; +    Jul) month=July; nummonth=7;; +    Aug) month=August; nummonth=8;; +    Sep) month=September; nummonth=9;; +    Oct) month=October; nummonth=10;; +    Nov) month=November; nummonth=11;; +    Dec) month=December; nummonth=12;; +  esac +done + +test -n "$month" || error "failed parsing \`$ls_command /' output" + +# Get the extended ls output of the file or directory. +set dummy x`eval "$ls_command \"\\\$save_arg1\""` + +# Remove all preceding arguments +eval $command + +# Because of the dummy argument above, month is in $2. +# +# On a POSIX system, we should have +# +# $# = 5 +# $1 = file size +# $2 = month +# $3 = day +# $4 = year or time +# $5 = filename +# +# On Darwin 7.7.0 and 7.6.0, we have +# +# $# = 4 +# $1 = day +# $2 = month +# $3 = year or time +# $4 = filename + +# Get the month. +case $2 in +  Jan) month=January; nummonth=1;; +  Feb) month=February; nummonth=2;; +  Mar) month=March; nummonth=3;; +  Apr) month=April; nummonth=4;; +  May) month=May; nummonth=5;; +  Jun) month=June; nummonth=6;; +  Jul) month=July; nummonth=7;; +  Aug) month=August; nummonth=8;; +  Sep) month=September; nummonth=9;; +  Oct) month=October; nummonth=10;; +  Nov) month=November; nummonth=11;; +  Dec) month=December; nummonth=12;; +esac + +case $3 in +  ???*) day=$1;; +  *) day=$3; shift;; +esac + +# Here we have to deal with the problem that the ls output gives either +# the time of day or the year. +case $3 in +  *:*) set `date`; eval year=\$$# +       case $2 in +	 Jan) nummonthtod=1;; +	 Feb) nummonthtod=2;; +	 Mar) nummonthtod=3;; +	 Apr) nummonthtod=4;; +	 May) nummonthtod=5;; +	 Jun) nummonthtod=6;; +	 Jul) nummonthtod=7;; +	 Aug) nummonthtod=8;; +	 Sep) nummonthtod=9;; +	 Oct) nummonthtod=10;; +	 Nov) nummonthtod=11;; +	 Dec) nummonthtod=12;; +       esac +       # For the first six month of the year the time notation can also +       # be used for files modified in the last year. +       if (expr $nummonth \> $nummonthtod) > /dev/null; +       then +	 year=`expr $year - 1` +       fi;; +  *) year=$3;; +esac + +# The result. +echo $day $month $year + +# 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: | 
