aboutsummaryrefslogtreecommitdiff
path: root/tests/guix-hash.sh
blob: 190c9e7f8aa982853aeabf3f0f943eca0a61413c (about) (plain)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# GNU Guix --- Functional package management for GNU
# Copyright © 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
#
# This file is part of GNU Guix.
#
# GNU Guix 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 3 of the License, or (at
# your option) any later version.
#
# GNU Guix 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 GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

#
# Test the `guix hash' command-line utility.
#

guix hash --version

tmpdir="guix-hash-$$"
trap 'rm -rf "$tmpdir"' EXIT

test `guix hash /dev/null` = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
test `echo -n | guix hash -` = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
test `guix hash -f nix-base32 /dev/null` = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
test `guix hash -f hex /dev/null` = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
test `guix hash -f base32 /dev/null` = 4oymiquy7qobjgx36tejs35zeqt24qpemsnzgtfeswmrw6csxbkq

mkdir "$tmpdir"
echo -n executable > "$tmpdir/exe"
chmod +x "$tmpdir/exe"
( cd "$tmpdir" ; ln -s exe symlink )
mkdir "$tmpdir/subdir"

test `guix hash -r "$tmpdir"` = 10k1lw41wyrjf9mxydi0is5nkpynlsvgslinics4ppir13g7d74p

# Without '-r', this should fail.
if guix hash "$tmpdir"
then false; else true; fi

# This should fail because /dev/null is a character device, which
# the archive format doesn't support.
if guix hash -r /dev/null
then false; else true; fi

# Adding a .git directory
mkdir "$tmpdir/.git"
touch "$tmpdir/.git/foo"

# ...changes the hash
test `guix hash -r $tmpdir` = 0a50z04zyzf7pidwxv0nwbj82pgzbrhdy9562kncnvkcfvb48m59

# ...but remains the same when using `-x'
test `guix hash -r $tmpdir -x` = 10k1lw41wyrjf9mxydi0is5nkpynlsvgslinics4ppir13g7d74p

# Without '-r', this should fail.
if guix hash "$tmpdir"
then false; else true; fi

ommit/gnu/packages/storage.scm?id=67b1d9a145efa7156990cae2f9a1d91cc9df64ad'>gnu: ceph: Add XFS support....* gnu/packages/storage.scm (ceph)[arguments]: Adjust #:configure-flags. [inputs]: Add XFSPROGS. Marius Bakke 2019-03-17gnu: ceph: Install headers to the "lib" output....The previous provision for this has been defunct since version 12. * gnu/packages/storage.scm (ceph)[arguments]: Remove obsolete substitution in favor of a configure flag. Marius Bakke 2019-03-15gnu: ceph: Update to 13.2.5....* gnu/packages/storage.scm (ceph): Update to 13.2.5. Marius Bakke 2019-02-11gnu: Remove GCC < 7 workarounds....* gnu/packages/emulators.scm (dolphin-emu)[native-inputs]: Remove GCC-7. [arguments]: Adjust accordingly. * gnu/packages/games.scm (openrct2): Likewise. * gnu/packages/linux.scm (make-linux-libre): Likewise. * gnu/packages/mpd.scm (mpd): Likewise. * gnu/packages/storage.scm (ceph): Likewise. Marius Bakke 2019-01-20Merge branch 'master' into stagingLudovic Courtès 2019-01-15gnu: Separate Python core packages from the rest....* gnu/packages/python.scm: Move hundreds of package definitions from here... * gnu/packages/python-xyz.scm: ...to this new module. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/android.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/benchmark.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/calendar.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/cluster.scm, gnu/packages/compression.scm, gnu/packages/connman.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm, gnu/packages/databases.scm, gnu/packages/dav.scm, gnu/packages/direct-connect.scm, gnu/packages/disk.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/docker.scm, gnu/packages/ebook.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/enlightenment.scm, gnu/packages/finance.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/freedesktop.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/geo.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/gtk.scm, gnu/packages/ham-radio.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/kde-frameworks.scm, gnu/packages/key-mon.scm, gnu/packages/libffi.scm, gnu/packages/libreoffice.scm, gnu/packages/libusb.scm, gnu/packages/lirc.scm, gnu/packages/logging.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/medical.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/nutrition.scm, gnu/packages/openldap.scm, gnu/packages/openstack.scm, gnu/packages/package-management.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/photo.scm, gnu/packages/polkit.scm, gnu/packages/protobuf.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/qt.scm, gnu/packages/rdf.scm, gnu/packages/ruby.scm, gnu/packages/search.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/simulation.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/storage.scm, gnu/packages/sync.scm, gnu/packages/terminals.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/tryton.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/virtualization.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wicd.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: Update module references. Ricardo Wurmus 2018-12-12gnu: Remove special Boost C++14 variant....This is no longer needed since commit a7ff66998f6e0eeb5da485bab7f6e0b55a46651e. * gnu/packages/boost.scm (boost-cxx11): Remove variable. * gnu/packages/audio.scm (supercollider)[inputs]: Change BOOST-CXX11 to BOOST. * gnu/packages/compression.scm (innoextract)[inputs]: Likewise. * gnu/packages/mpd.scm (ncmpcpp)[inputs]: Likewise. * gnu/packages/storage.scm (ceph)[inputs]: Likewise. Marius Bakke 2018-12-08gnu: GCC@7: Update to 7.4.0....* gnu/packages/gcc.scm (gcc-7): Update to 7.4.0. [source](patches): Drop 'gcc-libsanitizer-ustat.patch'. * gnu/packages/storage.scm (ceph)[inputs]: Change from BOOST to BOOST-CXX14, as GCC 7.4.0 triggers <https://bugs.gnu.org/33605>. Marius Bakke 2018-11-07gnu: ceph: Update to 13.2.2....* gnu/packages/patches/ceph-skip-unittest_blockdev.patch: Adjust for 13.2.2. * gnu/packages/patches/ceph-rocksdb-compat.patch: Delete file. * gnu/packages/patches/ceph-detect-rocksdb.patch, gnu/packages/patches/ceph-volume-respect-PATH.patch: New files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/storage.scm (ceph): Update to 13.2.2. [source]: Don't remove src/dpdk, which has been moved to src/spdk/dpdk and is purged elsewhere. Drop bundled rapidjson. Adjust patch list. [arguments]: Add "-DWITH_MGR_DASHBOARD_FRONTEND=OFF" and "-DWITH_SPDK=OFF" to #:configure-flags. Drop obsolete "-DWITH_EMBEDDED". Add workaround for <https://bugs.gnu.org/30756>. Remove obsolete test substitution. Rework 'wrap-python-script' to be less verbose and wrap more scripts. [native-inputs]: Add GCC-7. [inputs]: Add OATH-TOOLKIT, RAPIDJSON and PYTHON2-SIX. Marius Bakke