openwrt/scripts/symlink-tree.sh
Daniel Dickinson c19b7aaac5 script/symlink-tree.sh: Fix missing config dir
Apparently symlink-tree has not been used in quite some time as it
fails to symlink the always required config dir

Also, if we pulled from git but .git is missing we get
many error messages on the symlinked tree without this
patch (which symlinks .git, if present)

Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
2016-05-18 22:17:28 +02:00

53 lines
826 B
Bash
Executable File

#!/usr/bin/env bash
# Create a new openwrt tree with symlinks pointing at the current tree
# Usage: ./scripts/symlink-tree.sh <destination>
FILES="
BSDmakefile
config
Config.in
LICENSE
Makefile
README
dl
docs
feeds.conf.default
include
package
rules.mk
scripts
target
toolchain
tools"
OPTIONAL_FILES="
.git"
if [ -f feeds.conf ] ; then
FILES="$FILES feeds.conf"
fi
if [ -z "$1" ]; then
echo "Syntax: $0 <destination>" >&2
exit 1
fi
if [ -e "$1" ]; then
echo "Error: $1 already exists" >&2
exit 1
fi
set -e # fail if any commands fails
mkdir -p dl "$1"
for file in $FILES; do
[ -e "$PWD/$file" ] || {
echo "ERROR: $file does not exist in the current tree" >&2
exit 1
}
ln -s "$PWD/$file" "$1/"
done
for file in $OPTIONAL_FILES; do
[ -e "$PWD/$file" ] && ln -s "$PWD/$file" "$1/"
done
exit 0