-
Notifications
You must be signed in to change notification settings - Fork 8
/
make-relocatable-tarball.sh
executable file
·29 lines (28 loc) · 1.43 KB
/
make-relocatable-tarball.sh
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
#!/bin/sh
set -e
NAME=cakeml-$1
HOLDIR=$(cat ${NAME}/HOLDIR)
tar --create --file ${NAME}.tar --exclude-from="${HOLDIR}/tools-poly/rebuild-excludes.txt" --exclude="${HOLDIR}/.git" --exclude="${HOLDIR}/help/Docfiles" --exclude="${HOLDIR}/help/theorygraph" --transform="s|^${HOLDIR}|${NAME}/HOL|r" ${HOLDIR}
tar --append --file ${NAME}.tar --exclude-from="${NAME}/developers/rebuild-excludes" --exclude="${NAME}/.git" --transform="s|^${NAME}|${NAME}/cakeml|r" ${NAME}
gzip ${NAME}.tar
rsync -Pvz ${NAME}.tar.gz [email protected]:/strongspace/xrchz/public/
# Developer Recipe
#
# 1. Download http://strongspace.com/xrchz/public/cakeml-XXX.tar.gz
# 2. tar -xzf cakeml-XXX.tar.gz && cd cakeml-XXX
# 3. rebuild
# - HOL:
# 1. poly --script tools/smart-configure.sml
# 2. bin/build --relocbuild --nograph
# This will eventually fail complaining about
# missing help/Docfiles/HTML - that is OK
# - CakeML:
# 1. Manually build some heaps (until https://github.com/CakeML/cakeml/issues/389 is solved):
# cd cakeml/semantics/proofs
# /path/to/the/above/HOL/bin/Holmake --relocbuild heap
# cd ../..
# 2. cd $(cat resume)
# 3. /path/to/the/above/HOL/bin/Holmake --relocbuild
# 4. After hacking, you could copy your .git into the cakeml directory
# (from a working directory checked out to the the correct branch)
# to make commits.