autodist-no-duplicate.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #! /bin/sh
  2. # Copyright (C) 2011-2017 Free Software Foundation, Inc.
  3. #
  4. # This program is free software; you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation; either version 2, or (at your option)
  7. # any later version.
  8. #
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. # GNU General Public License for more details.
  13. #
  14. # You should have received a copy of the GNU General Public License
  15. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. # Check that there are no duplicates in the list of files automatically
  17. # distributed by automake.
  18. . test-init.sh
  19. re='Files .*automatically distributed.*if found'
  20. # The automake manual states that the list of automatically-distributed
  21. # files should be given by 'automake --help'.
  22. list1=$($AUTOMAKE --help \
  23. | sed -n "/^$re.*always/,/^ *$/p" \
  24. | sed 1d)
  25. list1=$(echo $list1)
  26. list2=$($AUTOMAKE --help \
  27. | sed -n "/^$re.*under certain conditions/,/^ *$/p" \
  28. | sed 1d)
  29. list2=$(echo $list2)
  30. test -n "$list1"
  31. test -n "$list2"
  32. st=0
  33. for i in 1 2; do
  34. eval list=\${list$i}
  35. for f in $list; do echo $f; done | sort > files$i.lst
  36. uniq files$i.lst > files$i.uniq
  37. cat files$i.lst
  38. cat files$i.uniq
  39. diff files$i.lst files$i.uniq || st=1
  40. done
  41. exit $st