mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-23 06:41:42 +08:00
2a06c72113
This commit hooks the Makefile up to generate a FISH_BUILD_VERSION symbol and kills off PACKAGE_VERSION in .cpp files. It also modifies the tarball generation script to add the necessary version file for releases.
52 lines
1.4 KiB
Bash
Executable File
52 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Script to generate a tarball
|
|
# We use git to output a tree. But we also want to build the user documentation
|
|
# and put that in the tarball, so that nobody needs to have doxygen installed
|
|
# to build it.
|
|
|
|
# Exit on error
|
|
set -e
|
|
|
|
# We wil generate a tarball with a prefix "fish"
|
|
# git can do that automatically for us via git-archive
|
|
# but to get the documentation in, we need to make a symlink called "fish"
|
|
# and tar from that, so that the documentation gets the right prefix
|
|
|
|
# Get the current directory, which we'll use for symlinks
|
|
wd="$PWD"
|
|
|
|
# The name of the prefix, which is the directory that you get when you untar
|
|
prefix="fish"
|
|
|
|
# Get the version from git-describe
|
|
VERSION=`git describe --tags --dirty 2>/dev/null`
|
|
|
|
# The path where we will output the tar file
|
|
path=~/fish_built/fish-$VERSION.tar
|
|
|
|
# Clean up stuff we've written before
|
|
rm -f "$path" "$path".gz
|
|
|
|
# git starts the archive
|
|
git archive --format=tar --prefix="$prefix"/ master > "$path"
|
|
|
|
# tarball out the documentation
|
|
make user_doc
|
|
make share/man
|
|
echo $VERSION > version
|
|
cd /tmp
|
|
rm -f "$prefix"
|
|
ln -s "$wd" "$prefix"
|
|
gnutar --append --file="$path" "$prefix"/user_doc/html
|
|
gnutar --append --file="$path" "$prefix"/share/man
|
|
gnutar --append --file="$path" "$prefix"/version
|
|
rm -f "$prefix"
|
|
|
|
# gzip it
|
|
gzip "$path"
|
|
|
|
# Output what we did, and the sha1 hash
|
|
echo "Tarball written to $path".gz
|
|
openssl sha1 "$path".gz
|