guix-describe.sh 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # GNU Guix --- Functional package management for GNU
  2. # Copyright © 2018, 2022 Ludovic Courtès <ludo@gnu.org>
  3. #
  4. # This file is part of GNU Guix.
  5. #
  6. # GNU Guix is free software; you can redistribute it and/or modify it
  7. # under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 3 of the License, or (at
  9. # your option) any later version.
  10. #
  11. # GNU Guix is distributed in the hope that it will be useful, but
  12. # WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. # GNU General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU General Public License
  17. # along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  18. #
  19. # Test 'guix describe'.
  20. #
  21. guix describe --version
  22. tmpfile="t-guix-describe-$$"
  23. trap "rm -f $tmpfile" EXIT
  24. rm -f "$tmpfile"
  25. if [ -d "$abs_top_srcdir/.git" ]
  26. then
  27. # Since we're in a Git checkout, we can at least check that these things
  28. # work.
  29. guix describe | grep -i "checkout"
  30. if git --version > /dev/null 2>&1
  31. then
  32. result="`guix describe | grep commit: | cut -d : -f 2-`"
  33. commit="`git log | head -1 | cut -c 7-`"
  34. test "x$result" = "x$commit"
  35. fi
  36. guix describe -f channels
  37. case "`guix describe -f channels | grep url`" in
  38. *"(url \"$abs_top_srcdir/\")") true;;
  39. *) false;;
  40. esac
  41. else
  42. exit 77
  43. fi