| #! /bin/sh |
| # Copyright (C) 2012-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 |
| # 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 <https://www.gnu.org/licenses/>. |
| |
| # Usage: is_newest FILE FILES |
| # Fail if any file in FILES is newer than FILE, and print the list of |
| # such files on the standard error. Resolve ties in favor of FILE. |
| |
| # NOTE: keep this file Bourne-compatible, for the sake of systems with |
| # non-POSIX /bin/sh (like Solaris). |
| |
| set -u |
| |
| me=is_newest |
| |
| if test $# -lt 2; then |
| echo "$me: too few arguments" >&2 |
| exit 2 |
| fi |
| |
| file=$1; shift |
| newer_files=`find "$@" -prune -newer "$file"` || exit $? |
| |
| if test -n "$newer_files"; then |
| echo "$me: these files are newer than '$file':" >&2 |
| for f in $newer_files; do echo "* $f" >&2; done |
| exit 1 |
| fi |
| |
| exit 0 |