File: check-makefile-file-listing.sh

package info (click to toggle)
pcs 0.12.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 16,148 kB
  • sloc: python: 238,810; xml: 20,833; ruby: 13,203; makefile: 1,595; sh: 484
file content (46 lines) | stat: -rwxr-xr-x 875 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/sh

makefile_list="\
Makefile.am
pcs/Makefile.am
pcs_test/Makefile.am
pcsd/Makefile.am
data/Makefile.am
"

get_mentioned_files() {
  for makefile in $1; do
    [ -n "$makefile" ] || continue
    "$(dirname "$0")"/extract-extra-dist.sh "$makefile"
  done
}

get_unlisted_files() {
  makefiles=$1
  added_files=$2

  mentioned_files=$(get_mentioned_files "$makefiles")

  for file in $added_files; do
    if ! echo "$mentioned_files" |
      grep --quiet --fixed-strings --line-regexp "$file" 2> /dev/null; then
      echo "$file"
    fi
  done
}

git_added="$(git diff --cached --name-only --diff-filter=A)"

if [ -z "$git_added" ]; then
  exit 0
fi

unlisted_files="$(get_unlisted_files "$makefile_list" "$git_added")"

if [ -z "$unlisted_files" ]; then
  exit 0
fi

echo "Warning: The following files are not listed in any Makefile.am:"
echo "$unlisted_files"
exit 1