poikilos
5 years ago
2 changed files with 93 additions and 0 deletions
@ -0,0 +1,38 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
customDie() { |
||||
|
echo |
||||
|
echo |
||||
|
echo "ERROR:" |
||||
|
echo "$1" |
||||
|
echo "You'll need to manually install:" |
||||
|
echo "libgd sqlite3 LevelDB hiredis Postgres" |
||||
|
echo |
||||
|
echo |
||||
|
exit 1 |
||||
|
} |
||||
|
|
||||
|
|
||||
|
PACKAGE_TYPE= |
||||
|
if [ -f "`command -v apt`" ]; then |
||||
|
INSTALL_CMD="apt -y install" |
||||
|
PACKAGE_TYPE="deb" |
||||
|
elif [ -f "`command -v apt-get`" ]; then |
||||
|
INSTALL_CMD="apt-get -y install" |
||||
|
PACKAGE_TYPE="deb" |
||||
|
elif [ -f "`command -v dnf`" ]; then |
||||
|
INSTALL_CMD="dnf -y install" |
||||
|
PACKAGE_TYPE="rpm" |
||||
|
elif [ -f "`command -v yum`" ]; then |
||||
|
INSTALL_CMD="yum -y install" |
||||
|
PACKAGE_TYPE="rpm" |
||||
|
else |
||||
|
customDie "Your package system is not implemented in this script." |
||||
|
fi |
||||
|
if [ "@$PACKAGE_TYPE" = "@deb" ]; then |
||||
|
sudo $INSTALL_CMD libgd-dev libsqlite3-dev libleveldb-dev libhiredis-dev libpq-dev |
||||
|
elif [ "@$PACKAGE_TYPE" = "@rpm" ]; then |
||||
|
sudo $INSTALL_CMD gd-devel sqlite-devel leveldb-devel hiredis-devel libpq-devel |
||||
|
else |
||||
|
customDie "The package names for your OS are unknown." |
||||
|
fi |
@ -0,0 +1,55 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
customDie() { |
||||
|
echo |
||||
|
echo |
||||
|
echo "ERROR:" |
||||
|
echo "$1" |
||||
|
echo |
||||
|
echo |
||||
|
exit 1 |
||||
|
} |
||||
|
|
||||
|
_REPO_NAME=minetestmapper |
||||
|
if [ -z "$_INSTALL_PATH" ]; then |
||||
|
_INSTALL_PATH="$HOME/$_REPO_NAME" |
||||
|
fi |
||||
|
_EXE_NAME=minetestmapper |
||||
|
_REPO_URL="https://github.com/minetest/$_REPO_NAME.git" |
||||
|
if [ -z "$REPOS_PATH" ]; then |
||||
|
REPOS_PATH=~/Downloads/git |
||||
|
fi |
||||
|
mkdir -p $REPOS_PATH |
||||
|
|
||||
|
REPO_PATH="$REPOS_PATH/$_REPO_NAME" |
||||
|
|
||||
|
if [ ! -d "$REPOS_PATH" ]; then |
||||
|
mkdir -p "$REPOS_PATH" || customDie "mkdir -p \"$REPOS_PATH\" failed." |
||||
|
fi |
||||
|
|
||||
|
cd "$REPOS_PATH" || customDie "cd \"$REPOS_PATH\" failed." |
||||
|
if [ -d "$REPO_PATH" ]; then |
||||
|
cd "$REPO_PATH" || customDie "cd \"$REPO_PATH\" failed." |
||||
|
git pull || customDie "git pull failed in `pwd`." |
||||
|
else |
||||
|
git clone "$_REPO_URL" "$REPO_PATH" || customDie "git clone \"$_REPO_URL\" \"$REPO_PATH\" failed." |
||||
|
fi |
||||
|
echo "* compiling in `pwd`..." |
||||
|
cmake . -DENABLE_LEVELDB=1 -DENABLE_POSTGRES=1 -DENABLE_REDIS=1 || customDie "cmake . failed in `pwd`." |
||||
|
make -j$(nproc) || customDie "make failed in `pwd`." |
||||
|
_EXE_PATH="`pwd`/$_EXE_NAME" |
||||
|
if [ -f "$_EXE_PATH" ]; then |
||||
|
echo "* finished compiling \"$_EXE_PATH\"" |
||||
|
mkdir -p "$_INSTALL_PATH" || "mkdir -p \"$_INSTALL_PATH\" failed." |
||||
|
#cp "$_EXE_PATH" "$_INSTALL_PATH" || "cp \"$_EXE_PATH\" \"$_INSTALL_PATH\" failed." |
||||
|
rsync -rtu "`pwd`/" "$_INSTALL_PATH" || "rsync -rtu \"`pwd`/\" \"$_INSTALL_PATH\" failed." |
||||
|
# -u: skip files that are newer on the receiver |
||||
|
EXE_DEST_PATH="$_INSTALL_PATH/$_EXE_NAME" |
||||
|
if [ -f "$EXE_DEST_PATH" ]; then |
||||
|
echo "* installed \"$EXE_DEST_PATH\"" |
||||
|
else |
||||
|
customDie "* installing \"$EXE_DEST_PATH\" failed." |
||||
|
fi |
||||
|
else |
||||
|
echo "* finished compiling in `pwd` (but $_EXE_PATH was not detected)" |
||||
|
fi |
Loading…
Reference in new issue